Rev 620 | Autoría | Ultima modificación | Ver Log |
<?phpclass block_cesa_course_rating extends block_base{public function init(){$this->title = get_string('pluginname', 'block_cesa_course_rating');}public function applicable_formats(){return ['all' => false,'my' => false,'admin' => false,'course' => false,'course-view' => true,'enrol' => true,];}function specialization(){global $CFG, $DB;if (empty($this->config)) {$this->instance->defaultregion = 'bellow-content';$this->instance->region = 'bellow-content';$DB->update_record('block_instances', $this->instance);$this->title = 'Puntuación del Curso';} else {$this->title = get_string('pluginname', 'block_cesa_course_rating');}}function instance_allow_multiple(){return false;}public function html_attributes(){global $CFG;$attributes = parent::html_attributes();return $attributes;}public function has_config(){return true;}public function get_content(){global $CFG, $COURSE;if ($this->content !== null) {return $this->content;}$this->content = new stdClass;if (!empty($this->config->title)) {$this->content->title = format_text($this->config->title, FORMAT_HTML, array('filter' => true));} else {$this->content->title = get_string('pluginname', 'block_cesa_course_rating');}$courseid = $COURSE->id;$context = get_context_instance(CONTEXT_COURSE, $courseid);$canRate = has_capability('block/cesa_course_rating:rate', $context);$canRateClass = $canRate ? 'ccn-can-rate' : 'ccn-cannot-rate';$ccnSubmitRating = $this->submit_rating();$this->content->text = '';$ccnRating = number_format($this->overall_rating($COURSE->id), 1);$ccnStar = '<li class="list-inline-item"><i class="fa fa-star"></i></li>';$ccnStarHalf = '<li class="list-inline-item"><i class="fa fa-star-half-o"></i></li>';$ccnStarVoid = '<li class="list-inline-item"><i class="fa fa-star-o"></i></li>';if ($ccnRating == 5) {$ccnStars = str_repeat($ccnStar, 5);} elseif ($ccnRating == 4.5) {$ccnStars = str_repeat($ccnStar, 4) . str_repeat($ccnStarHalf, 1);} elseif ($ccnRating == 4) {$ccnStars = str_repeat($ccnStar, 4) . str_repeat($ccnStarVoid, 1);} elseif ($ccnRating == 3.5) {$ccnStars = str_repeat($ccnStar, 3) . str_repeat($ccnStarHalf, 1) . str_repeat($ccnStarVoid, 1);} elseif ($ccnRating == 3) {$ccnStars = str_repeat($ccnStar, 3) . str_repeat($ccnStarVoid, 2);} elseif ($ccnRating == 2.5) {$ccnStars = str_repeat($ccnStar, 2) . str_repeat($ccnStarHalf, 1) . str_repeat($ccnStarVoid, 2);} elseif ($ccnRating == 2) {$ccnStars = str_repeat($ccnStar, 2) . str_repeat($ccnStarVoid, 3);} elseif ($ccnRating == 1.5) {$ccnStars = str_repeat($ccnStar, 1) . str_repeat($ccnStarHalf, 1) . str_repeat($ccnStarVoid, 3);} elseif ($ccnRating == 0.5) {$ccnStars = str_repeat($ccnStarHalf, 1) . str_repeat($ccnStarVoid, 4);} else {$ccnStars = str_repeat($ccnStarVoid, 5);}$ccnFive = $this->get_specific_average($COURSE->id, 5);$ccnFour = $this->get_specific_average($COURSE->id, 4);$ccnThree = $this->get_specific_average($COURSE->id, 3);$ccnTwo = $this->get_specific_average($COURSE->id, 2);$ccnOne = $this->get_specific_average($COURSE->id, 1);$this->content->text .= '<div class="cs_row_five"><div class="student_feedback_container"><h4 data-ccn="title" class="aii_title">' . $this->content->title . '</h4><div class="s_feeback_content"><ul class="skills"><li class="list-inline-item">5 estrellas</li><li class="list-inline-item progressbar1" data-width="' . $ccnFive . '" data-target="100">' . $ccnFive . '%</li></ul><ul class="skills"><li class="list-inline-item">4 estrellas</li><li class="list-inline-item progressbar2" data-width="' . $ccnFour . '" data-target="100">' . $ccnFour . '%</li></ul><ul class="skills"><li class="list-inline-item">3 estrellas</li><li class="list-inline-item progressbar3" data-width="' . $ccnThree . '" data-target="100">' . $ccnThree . '%</li></ul><ul class="skills"><li class="list-inline-item">2 estrellas</li><li class="list-inline-item progressbar4" data-width="' . $ccnTwo . '" data-target="100">' . $ccnTwo . '%</li></ul><ul class="skills"><li class="list-inline-item">1 estrella</li><li class="list-inline-item progressbar5" data-width="' . $ccnOne . '" data-target="100">' . $ccnOne . '%</li></ul></div><div class="aii_average_review text-center ' . $canRateClass . '"><div class="av_content"><h2>' . $ccnRating . '</h2><ul class="aii_rive_list mb0">' . $ccnStars . '</ul><p>' . $this->count_ratings($COURSE->id) . '</p>';if ($canRate == 1) {$this->content->text .= $ccnSubmitRating;}$this->content->text .= '</div></div></div></div>';return $this->content;}}