317 lines
12 KiB
PHP
317 lines
12 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/>.
|
|
|
|
/**
|
|
* Columns 2 Layout
|
|
* @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();
|
|
|
|
use core_completion\progress;
|
|
|
|
user_preference_allow_ajax_update('drawer-open-nav', PARAM_ALPHA);
|
|
require_once($CFG->libdir . '/behat/lib.php');
|
|
|
|
if (isloggedin()) {
|
|
$navdraweropen = (get_user_preferences('drawer-open-nav', 'true') == 'true');
|
|
} else {
|
|
$navdraweropen = false;
|
|
}
|
|
$show_btn_leftblock = false;
|
|
if(is_siteadmin()){
|
|
$show_btn_leftblock = true;
|
|
}else{
|
|
set_user_preference('drawer-open-nav', false);
|
|
$navdraweropen = false;
|
|
}
|
|
|
|
$extraclasses = [];
|
|
if ($navdraweropen) {
|
|
$extraclasses[] = 'drawer-open-left';
|
|
}
|
|
$bodyattributes = $OUTPUT->body_attributes($extraclasses);
|
|
$blockshtml = $OUTPUT->blocks('side-pre');
|
|
$hasblocks = strpos($blockshtml, 'data-block=') !== false;
|
|
$regionmainsettingsmenu = $OUTPUT->region_main_settings_menu();
|
|
|
|
$custommenu = $OUTPUT->custom_menu();
|
|
|
|
if ($custommenu == "") {
|
|
$navbarclass = "navbar-toggler hidden-lg-up nocontent-navbar";
|
|
} else {
|
|
$navbarclass = "navbar-toggler hidden-lg-up";
|
|
}
|
|
// Header Content.
|
|
$logourl = get_logo_url();
|
|
$phoneno = theme_qualisaude_get_setting('phoneno');
|
|
$emailid = theme_qualisaude_get_setting('emailid');
|
|
$scallus = get_string('callus', 'theme_qualisaude');
|
|
$semail = get_string('email', 'theme_qualisaude');
|
|
$username = $USER->firstname.' '.$USER->lastname;
|
|
|
|
// Footer Content.
|
|
$footlogourl = get_footer_logo_url();
|
|
$footlogourl1 = $OUTPUT->image_url('logos/logo-footer1', 'theme');
|
|
$footlogourl2 = $OUTPUT->image_url('logos/logo-footer2', 'theme');
|
|
$footlogourl3 = $OUTPUT->image_url('logos/logo-footer3', 'theme');
|
|
$footlogourl4 = $OUTPUT->image_url('logos/logo-footer4', 'theme');
|
|
$footlogo = theme_qualisaude_get_setting('footlogo');
|
|
$footlogo = (!$footlogo) ? 0 : 1;
|
|
$footnote = theme_qualisaude_get_setting('footnote', 'format_html');
|
|
$fburl = theme_qualisaude_get_setting('fburl');
|
|
$pinurl = theme_qualisaude_get_setting('pinurl');
|
|
$twurl = theme_qualisaude_get_setting('twurl');
|
|
$gpurl = theme_qualisaude_get_setting('gpurl');
|
|
$address = theme_qualisaude_get_setting('address');
|
|
$emailid = theme_qualisaude_get_setting('emailid');
|
|
$phoneno = theme_qualisaude_get_setting('phoneno');
|
|
$copyrightfooter = theme_qualisaude_get_setting('copyright_footer');
|
|
$infolink = theme_qualisaude_get_setting('infolink');
|
|
$infolink = theme_qualisaude_infolink();
|
|
|
|
$sinfo = get_string('info', 'theme_qualisaude');
|
|
$scontactus = get_string('contact_us', 'theme_qualisaude');
|
|
$phone = get_string('phone', 'theme_qualisaude');
|
|
$email = get_string('email', 'theme_qualisaude');
|
|
$sfollowus = get_string('followus', 'theme_qualisaude');
|
|
$myCourses = getMyCourses();
|
|
|
|
$url = ($fburl != '' || $pinurl != '' || $twurl != '' || $gpurl != '') ? 1 : 0;
|
|
$block3 = ($address != '' || $phoneno != '' || $emailid != '' || $url != 0) ? 1 : 0;
|
|
$footerblock1 = ($footlogo != 0 || $footnote != '' || $infolink != '' || $url != 0 || $block3 != 0) ? 1 : 0;
|
|
|
|
$footerblock = ($footlogo != 0 || $footnote != '' || $infolink != ''
|
|
|| $url != 0 || $block3 != 0 || $copyrightfooter != '') ? 1 : 0;
|
|
|
|
$block1 = ($footlogo || $footnote) ? 1 : 0;
|
|
$infoslink = ($infolink != '') ? 1 : 0;
|
|
$blockarrange = $block1 + $infoslink + $block3;
|
|
|
|
switch ($blockarrange) {
|
|
case 3:
|
|
$colclass = 'col-md-4';
|
|
break;
|
|
case 2:
|
|
$colclass = 'col-md-6';
|
|
break;
|
|
case 1:
|
|
$colclass = 'col-md-12';
|
|
break;
|
|
case 0:
|
|
$colclass = '';
|
|
break;
|
|
default:
|
|
$colclass = 'col-md-4';
|
|
break;
|
|
}
|
|
|
|
$templatecontext = [
|
|
'sitename' => format_string($SITE->shortname, true, ['context' => context_course::instance(SITEID), "escape" => false]),
|
|
'output' => $OUTPUT,
|
|
'sidepreblocks' => $blockshtml,
|
|
'hasblocks' => $hasblocks,
|
|
'bodyattributes' => $bodyattributes,
|
|
'navdraweropen' => $navdraweropen,
|
|
'regionmainsettingsmenu' => $regionmainsettingsmenu,
|
|
'hasregionmainsettingsmenu' => !empty($regionmainsettingsmenu),
|
|
"logourl" => $logourl,
|
|
"phoneno" => $phoneno,
|
|
"emailid" => $emailid,
|
|
"s_callus" => $scallus,
|
|
"s_email" => $semail,
|
|
"logourl" => $logourl,
|
|
"footlogo" => $footlogo,
|
|
"footnote" => $footnote,
|
|
"fburl" => $fburl,
|
|
"pinurl" => $pinurl,
|
|
"twurl" => $twurl,
|
|
"gpurl" => $gpurl,
|
|
"address" => $address,
|
|
"emailid" => $emailid,
|
|
"phoneno" => $phoneno,
|
|
"copyright_footer" => $copyrightfooter,
|
|
"infolink" => $infolink,
|
|
"s_info" => $sinfo,
|
|
"s_contact_us" => $scontactus,
|
|
"phone" => $phone,
|
|
"email" => $email,
|
|
"s_followus" => $sfollowus,
|
|
"url" => $url,
|
|
"infolink" => $infolink,
|
|
"navbarclass" => $navbarclass,
|
|
"block3" => $block3,
|
|
"footerblock" => $footerblock,
|
|
"footerblock1" => $footerblock1,
|
|
"colclass" => $colclass,
|
|
"block1" => $block1,
|
|
"footlogourl" => $footlogourl,
|
|
"username" => $username,
|
|
"show_btn_leftblock"=>$show_btn_leftblock,
|
|
"myCourses"=>$myCourses,
|
|
"footlogourl" => $footlogourl,
|
|
"footlogourl1" => $footlogourl1,
|
|
"footlogourl2" => $footlogourl2,
|
|
"footlogourl3" => $footlogourl3,
|
|
"footlogourl4" => $footlogourl4
|
|
];
|
|
|
|
$templatecontext['flatnavigation'] = $PAGE->flatnav;
|
|
echo $OUTPUT->render_from_template('theme_qualisaude/my', $templatecontext);
|
|
|
|
function getMyCourses(){
|
|
global $DB, $CFG, $OUTPUT;
|
|
|
|
$content = "";
|
|
|
|
// Carregamento para usuário que não são administrador
|
|
//------------- ---------------
|
|
//SET COURSE LIST MANDACARU
|
|
//------------- ---------------
|
|
$courses_list = enrol_get_my_courses(NULL,'sortorder DESC', 0, [], true);
|
|
$categories = $DB->get_records('course_categories', null, '', 'id, name');
|
|
$auxcat = 0;
|
|
$filtered_course_list = array();
|
|
foreach($courses_list as $courseobj){
|
|
|
|
if($auxcat ==0){
|
|
$change_category = 1;
|
|
$auxcat = $courseobj->category;
|
|
}elseif($auxcat != $courseobj->category){
|
|
$change_category = 1;
|
|
$auxcat = $courseobj->category;
|
|
}else{
|
|
$change_category = 0;
|
|
$auxcat = $courseobj->category;
|
|
}
|
|
$courseobj->categoryname = $categories[$courseobj->category]->name;
|
|
$courseobj->imagepath = "";
|
|
$courseobj->changecategory = $change_category;
|
|
|
|
$filtered_course_list[]= $courseobj; // Aplicação do filtro eliminando as disciplinas que não devem ser consideradas
|
|
|
|
}
|
|
|
|
//------------- ---------------
|
|
//SET COURSE LIST MANDACARU
|
|
//------------- ---------------
|
|
|
|
$content .= '<section id="list-course" class="col-lg-12 col-md-12 col-xs-12">teste';
|
|
|
|
$content .= ' <ul class="nav nav-tabs" id="myTabs" role="tablist">';
|
|
$cont = 0;
|
|
foreach($filtered_course_list as $key=>$cats){
|
|
$active = "";
|
|
if($key==0){
|
|
$active ='active';
|
|
}
|
|
if($cats->changecategory){
|
|
$content .= "<li role=\"presentation\"><a href=\"#{$cats->category}\" class=\"{$active}\" aria-controls=\"categoryname\" role=\"tab\" data-toggle=\"tab\">$cats->categoryname</a></li>";
|
|
}
|
|
}
|
|
if(count($filtered_course_list) == $cont ) {
|
|
$content .= "<li role=\"presentation\" class=\"active\"><a href=\"#\" aria-controls=\"categoryname\" role=\"tab\" data-toggle=\"tab\">Nenhuma disciplina disponível</a></li>";
|
|
}
|
|
$content .= ' </ul>';
|
|
|
|
|
|
$content .= ' <div class="tab-content card-body">';
|
|
|
|
|
|
$continue =0;
|
|
foreach($filtered_course_list as $key=>$cats){
|
|
$active = "";
|
|
if($key ==0){
|
|
$active ='active';
|
|
}
|
|
|
|
//close div
|
|
if($cats->changecategory && $key!=0){
|
|
// $content .= "</ul>\n";
|
|
$content .= " </div>\n";
|
|
}else{
|
|
$active ='active';
|
|
}
|
|
|
|
//open div
|
|
if($cats->changecategory){
|
|
$content .= "<div role=\"tabpanel\" class=\"tab-pane card-deck dashboard-card-deck fade in {$active}\" id=\"$cats->category\">\n";
|
|
// $content .= "<ul class='row'>\n";
|
|
}
|
|
|
|
//gerando a imagem do curso
|
|
$courseDetails = $DB->get_record('course', array('id'=>$cats->id));
|
|
$courseImage = \core_course\external\course_summary_exporter::get_course_image($courseDetails);
|
|
if(!$courseImage){
|
|
$courseImage = $OUTPUT->get_generated_image_for_id($cats->id);
|
|
}
|
|
|
|
//calc Progress
|
|
$progress =getProgress($courseDetails);
|
|
|
|
$course_link = $CFG->wwwroot. "/course/view.php?id={$cats->id}";
|
|
$content .= "
|
|
<div class=\"card dashboard-card\" role=\"listitem\" data-region=\"course-content\" data-course-id=\"2\">
|
|
<a href=\"{$course_link}\" tabindex=\"-1\">
|
|
<div class=\"card-img dashboard-card-img\" style=\"background-image: url({$courseImage});\">
|
|
<span class=\"sr-only\"></span>
|
|
</div>
|
|
</a>
|
|
<div class=\"p-2 course-info-container\" id=\"course-info-container-2-4\">
|
|
<div class=\"d-flex align-items-start\">
|
|
<div class=\"w-100 text-truncate\">
|
|
<a href=\"{$course_link}\" class=\"coursename mr-2\">
|
|
<span class=\"sr-only\">Nome do curso</span>
|
|
<span class=\"multiline\">{$cats->fullname}</span>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class=\"p-2\">
|
|
<div class=\"progress bg-white border\">
|
|
<div class=\"progress-bar bar\" role=\"progressbar\" aria-valuenow=\"50\" style=\"width:{$progress}%\" aria-valuemin=\"0\" aria-valuemax=\"100\"></div>
|
|
</div>
|
|
<div class=\"small\">
|
|
<span class=\"sr-only\">Progresso do curso:</span>
|
|
<strong>{$progress}</strong>% completo
|
|
</div>
|
|
</div>
|
|
</div>
|
|
";
|
|
|
|
}
|
|
$content .= " </div>\n";
|
|
|
|
$content .= ' </div>';
|
|
$content .= '</section>';
|
|
|
|
return $content;
|
|
}
|
|
|
|
function getProgress($course){
|
|
|
|
$percentage = progress::get_course_progress_percentage($course);
|
|
if(!$percentage){
|
|
$percentage=0;
|
|
}
|
|
|
|
return $percentage;
|
|
|
|
} |