Files
theme_qualisaude/renderers/course_renderer.php
eduardogusmao ac035071ec Initial commit
2019-08-27 11:32:32 -03:00

154 lines
6.0 KiB
PHP

<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* 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 = "<div class='barra_progresso'>";
$content .= " <label>$completed atividades completas de $count</label>";
$content .= " <div class='progresso'>";
$content .= " <div class='andamento' style='width:$percentage%;'><label style='color:#fff; float: right; font-weight: 300; margin-right:10px; font-size: 14px;'>$percentage%</label></div>";
$content .= " </div>";
$content .= "</div>";
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;
}
}