From d2e89664890ac648ff492c599bb797479c953e81 Mon Sep 17 00:00:00 2001 From: Myriam Delaruelle <myriam.delaruelle@univ-lorraine.fr> Date: Thu, 13 Oct 2022 12:08:00 +0200 Subject: [PATCH] fix student progress for 'hidden but available' activities --- entity/course_format_iena_completion.php | 8 ++++---- entity/course_format_iena_section_ressources.php | 8 +++++--- version.php | 2 +- view/view_course_header.php | 8 ++++---- 4 files changed, 14 insertions(+), 12 deletions(-) diff --git a/entity/course_format_iena_completion.php b/entity/course_format_iena_completion.php index 9df7969..5adefef 100644 --- a/entity/course_format_iena_completion.php +++ b/entity/course_format_iena_completion.php @@ -44,17 +44,17 @@ class course_format_iena_completion { $sections = []; - + $course = course_get_format($COURSE)->get_course(); $fast_modinfo = get_fast_modinfo($COURSE->id); $modinfos_cms = $fast_modinfo->get_cms(); - + $even_if_hidden_but_available = $course->allmodulesbreadcrum == 1; $modules = []; - //Il récupère les modules qui ne sont pas en cours de suppression, qui ont l'achèvement d'activité, et qui sont visibles pour l'user + //Il récupère les modules qui ne sont pas en cours de suppression, qui ont l'achèvement d'activité, qui sont visibles pour l'user, et qui dépend du paramètre "caché mais disponible" foreach ($modinfos_cms as $cm) { $module = $completion->get_data($cm, true, $USER->id, $fast_modinfo); $module->url = "$CFG->wwwroot/mod/$cm->modname/view.php?id=$cm->id"; $module->section = $cm->section; - if ( $cm->deletioninprogress == 0 && $cm->completion != 0 && $cm->uservisible) { + if ( $cm->deletioninprogress == 0 && $cm->completion != 0 && $cm->uservisible && ($cm->visibleoncoursepage==1 || $even_if_hidden_but_available)) { $module->name = $cm->name; $module->url = "$CFG->wwwroot/mod/$cm->modname/view.php?id=$cm->id"; $modules[] = $module; diff --git a/entity/course_format_iena_section_ressources.php b/entity/course_format_iena_section_ressources.php index 30e4fcd..3685ba3 100644 --- a/entity/course_format_iena_section_ressources.php +++ b/entity/course_format_iena_section_ressources.php @@ -107,7 +107,9 @@ $course = course_get_format($COURSE)->get_course(); - + if(!is_array($id_section)){ + $id_section=array($id_section); + } // search only modules by general course format parameters // count only if it is follewed by teacher // $if_followed = $course->restrictedbreadcrum == 1; @@ -117,12 +119,12 @@ if ( $even_if_hidden_but_available ) { $requete = $DB->get_records_sql('SELECT id FROM {course_modules} WHERE section = ? AND deletioninprogress = 0 AND visible = 1 - AND completion != 0', array($id_section)); + AND completion != 0', $id_section); } else { $requete = $DB->get_records_sql('SELECT id FROM {course_modules} WHERE section = ? AND deletioninprogress = 0 AND visible = 1 AND visibleoncoursepage = 1 - AND completion != 0', array($id_section)); + AND completion != 0', $id_section); } $ressources = array(); diff --git a/version.php b/version.php index 747ee57..8e43efe 100644 --- a/version.php +++ b/version.php @@ -28,7 +28,7 @@ defined('MOODLE_INTERNAL') || die(); - $plugin->version = 2022000000; + $plugin->version = 2022000001; $plugin->requires = 2014111000; $plugin->component = 'format_iena'; $plugin->release = "1.0"; diff --git a/view/view_course_header.php b/view/view_course_header.php index da8733d..b3aeaef 100644 --- a/view/view_course_header.php +++ b/view/view_course_header.php @@ -21,11 +21,11 @@ class view_course_header { * @return type */ public function create_view($progress) { - // $this->get_progress_bis($this->section_names, $this->idSection, $this->course); - $prog = $progress != false ? $progress : $this->get_progress_bis($this->section_names, $this->idSection, $this->course); - + //var_dump($prog); + + //var_dump($prog_test); $infos = [ 'progress' => $prog, 'teachers' => $this->get_teachers(), @@ -39,7 +39,7 @@ class view_course_header { private function get_progress_bis($section_names, $idSection, $course) { global $COURSE, $USER, $DB, $CFG; - + $completion = new \completion_info($COURSE); if ( $completion->is_enabled_for_site() == false || $completion->has_activities() == false || $completion->is_enabled() == 0 ) { return false; -- GitLab