. /** * renderers/course_renderer.php * @package theme_qualisaude * @copyright 2015 onwards LMSACE Dev Team (http://www.lmsace.com) * @author LMSACE Dev Team * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); require_once($CFG->dirroot . "/course/renderer.php"); use core_completion\progress; /** * qualisaude core course renderer renderer from the moodle core course renderer * @copyright 2015 onwards LMSACE Dev Team (http://www.lmsace.com) * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class theme_qualisaude_core_course_renderer extends core_course_renderer { public function getProgress($course){ global $USER; if (empty($userid)) { $userid = $USER->id; } $percentage = progress::get_course_progress_percentage($course); if(!$percentage){ $percentage=0; } $completion = new \completion_info($course); $modules = $completion->get_activities(); $count = count($modules); if (!$count) { $count=0; } $completed = 0; foreach ($modules as $module) { $data = $completion->get_data($module, false, $userid); $completed += $data->completionstate == COMPLETION_INCOMPLETE ? 0 : 1; } $content = "
"; $content .= " "; $content .= "
"; $content .= "
"; $content .= "
"; $content .= "
"; return $content; } /** * Overrite the course box. * @param coursecat_helper $chelper * @param type|array $course * @param type|string $additionalclasses * @return type */ protected function coursecat_coursebox(coursecat_helper $chelper, $course, $additionalclasses = '') { global $CFG; if (!isset($this->strings->summary)) { $this->strings->summary = get_string('summary'); } if ($chelper->get_show_courses() <= self::COURSECAT_SHOW_COURSES_COUNT) { return ''; } if ($course instanceof stdClass) { require_once($CFG->libdir. '/coursecatlib.php'); $course = new course_in_list($course); } $content = ''; $classes = trim('coursebox clearfix '. $additionalclasses); if ($chelper->get_show_courses() >= self::COURSECAT_SHOW_COURSES_EXPANDED) { $nametag = 'h3'; } else { $classes .= ' collapsed'; $nametag = 'div'; } // Coursebox. $content .= html_writer::start_tag('div', array( 'class' => $classes, 'data-courseid' => $course->id, 'data-type' => self::COURSECAT_TYPE_COURSE, )); $content .= html_writer::start_tag('div', array('class' => 'info')); // Course name. $coursename = $chelper->get_course_formatted_name($course); $coursenamelink = html_writer::link(new moodle_url('/course/view.php', array('id' => $course->id)), $coursename, array('class' => $course->visible ? '' : 'dimmed')); $content .= html_writer::tag($nametag, $coursenamelink, array('class' => 'coursename')); // If we display course in collapsed form but the course has summary or course contacts, display the link to the info page. $content .= html_writer::start_tag('div', array('class' => 'moreinfo')); if ($chelper->get_show_courses() < self::COURSECAT_SHOW_COURSES_EXPANDED) { if ($course->has_summary() || $course->has_course_contacts() || $course->has_course_overviewfiles()) { $url = new moodle_url('/course/info.php', array('id' => $course->id)); $image = html_writer::empty_tag('img', array('src' => $this->output->image_url('i/info'), 'alt' => $this->strings->summary)); $content .= html_writer::link($url, $image, array('title' => $this->strings->summary)); // Make sure JS file to expand course content is included. $this->coursecat_include_js(); } } $content .= html_writer::end_tag('div'); // Moreinfo. // Print enrolmenticons. if ($icons = enrol_get_course_info_icons($course)) { $content .= html_writer::start_tag('div', array('class' => 'enrolmenticons')); foreach ($icons as $pixicon) { $content .= $this->render($pixicon); } $content .= html_writer::end_tag('div'); // Enrolmenticons. } $content .= html_writer::end_tag('div'); // Info. if (empty($course->get_course_overviewfiles())) { $class = "content-block"; } else { $class = ""; } $content .= html_writer::start_tag('div', array('class' => 'content '.$class)); $content .= $this->coursecat_coursebox_content($chelper, $course); $content .= html_writer::end_tag('div'); // Content. $content .= html_writer::end_tag('div'); // Coursebox. return $content; } }