. /** * 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(); $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 ]; $templatecontext['flatnavigation'] = $PAGE->flatnav; echo $OUTPUT->render_from_template('theme_qualisaude/my', $templatecontext); function getMyCourses(){ global $DB, $OUTPUT; $content = ""; if(is_siteadmin()) { $content .= "
"; $content .= "
"; $content .= "
"; $content .= "
"; $content .= "
"; $content .= "

Página acessada como administrador

"; //listagem completa dos cursos abre apenas para admins $categories = array_values($DB->get_records('course_categories', null, 'id desc', 'id, name, visible')); $SELECT = ""; $content .= "
"; $content .= "
\n"; $content .= $SELECT; $content .= "
";//$btn_rel_coord imprime botao para acesso a relatorio de coordenadores $content .= "
"; $content .= "
"; $content .= "
"; $content .= "
"; $content .= "
"; $content .= "
"; $request = optional_param_array('categorias', '', PARAM_INT); if(!$request){//caso não tenha dados para requisição, carrego o primeiro da lista $request = $categories[0]->id; } $request_result = ""; if(is_array($request)){//caso seja um array transformo em string para filtro $request = implode(',', $request); $request_result = $request; }else{ $request_result = $request; } $query = "SELECT c.id, c.fullname, c.shortname,cc.id as catid, cc.name FROM {course} as c INNER JOIN {course_categories} as cc on c.category = cc.id WHERE cc.id in ($request_result) ORDER BY cc.id DESC"; $courses_list = $DB->get_records_sql($query); $content .= "
\n"; $content .= "
\n"; $content .= "
\n"; $content .= "
\n"; // $content .= "
    \n"; //print_object($courses_list); foreach($courses_list as $course){ $professores_list = array_values($DB->get_records_sql("SELECT U.id, U.firstname, U.lastname, RA.roleid FROM {user} AS U INNER JOIN {role_assignments} AS RA ON U.id = RA.userid INNER JOIN {context} AS C ON RA.contextid = C.id WHERE C.instanceid = $course->id AND RA.roleid in (3) ORDER BY RA.roleid ASC")); $html_profs = ''; $lastKey =count($professores_list); foreach($professores_list as $key =>$prof){ //echo $key." == ".$lastKey."
    "; // if($key != $lastKey-1){ // $html_profs.=$prof->firstname.' '.$prof->lastname.' / '; // }else{ // $html_profs.=$prof->firstname.' '.$prof->lastname; // } $html_profs.= $OUTPUT->user_picture($prof, array('size'=>30, 'class'=>'userpicture foto')); } $image_name = explode('_',$course->shortname)[0]; if(file_exists($imagedir.$image_name.$mimetipe_image)) { $image_caminho = $imagepath . $image_name . $mimetipe_image; }else{ $image_caminho = $imagepath .'notfound'.$mimetipe_image; } $content .= '
    Imagem do curso
    Progresso do curso: '.getProgress($course).'% completo
    '; } // $content .= "
\n"; $content .= "
"; $content .= "
"; $content .= "
"; $content .= "
\n"; }else{// Carregamento para usuário que não são administrador //------------- --------------- //SET COURSE LIST MANDACARU //------------- --------------- $courses_list = enrol_get_my_courses(NULL,'sortorder DESC'); $listcourse = array(); $categories = $DB->get_records('course_categories', null, '', 'id, name'); $auxcat = 0; $filtered_course_list = array(); foreach($courses_list as $courseobj){ if($courseobj->category ==5 || $courseobj->category ==1){//Filtro que elimina as disciplinas de categorias que não devem ser consideradas continue; } //pegando docentes $professores_list = $DB->get_records_sql("SELECT U.id, U.firstname, U.lastname, RA.roleid FROM {user} AS U INNER JOIN {role_assignments} AS RA ON U.id = RA.userid INNER JOIN {context} AS C ON RA.contextid = C.id WHERE C.instanceid = $courseobj->id AND RA.roleid in (3) ORDER BY RA.roleid ASC"); 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; $image_name = explode('_',$courseobj->shortname)[0]; if(file_exists($imagedir.$image_name.$mimetipe_image)) { $courseobj->imagepath = $imagepath . $image_name . $mimetipe_image; $courseobj->changecategory = $change_category; $courseobj->courselink = $course_link; if($courseobj->category != 5){//tem que pular $courseobj->proflist =array_values($professores_list); } }else{ $courseobj->imagepath = $imagepath .'notfound'.$mimetipe_image; $courseobj->changecategory = $change_category; $courseobj->courselink = $course_link; if($courseobj->category != 5){ $courseobj->proflist =array_values($professores_list); } } $filtered_course_list[]= $courseobj; // Aplicação do filtro eliminando as disciplinas que não devem ser consideradas } // print_object($courses_list); //------------- --------------- //SET COURSE LIST MANDACARU //------------- --------------- $content .= '
'; $content .= ' '; $content .= '
'; $continue =0; foreach($filtered_course_list as $key=>$cats){ $active = ""; if($key ==0){ $active ='active'; } //close div if($cats->changecategory && $key!=0){ // $content .= "\n"; $content .= "
\n"; }else{ $active ='active'; } //open div if($cats->changecategory){ $content .= "
category\">\n"; // $content .= "\n"; echo "
\n"; }*/ } // $content .= "\n"; $content .= " \n"; /* if(count($courses_list) == $continue){ }else { echo "\n"; echo " \n"; }*/ $content .= ' '; $content .= '
'; } return $content; } 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 $percentage; }