/** * This function returns records of teachers from table referentiel_repartition * * @param id reference instance * @param id course * @param activite list of code item of competences * @return object * @todo Finish documenting this function **/ function referentiel_get_repartition_competences($instanceid, $courseid, $liste_competences, $teachersids) { global $CFG; if (!empty($instanceid) && !empty($courseid) && !empty($liste_competences)) { $t_codes_competence = explode('/', referentiel_purge_dernier_separateur($liste_competences, '/')); foreach ($t_codes_competence as $code_item) { // rechercher les referents associes a cette competence // DEBUG // mtrace("lib_repartitions.php :: referentiel_get_repartition_competences() :: 83\nCODE :$code_item\n"); $t_userids = referentiel_get_repartitions_teacher_by_competence($instanceid, $courseid, $code_item); if ($t_userids) { // DEBUG // mtrace("88 :: COMPARER TEACHERSIDS \n"); // print_r($teachersids); // mtrace("\nAVEC T_USERIDS\n"); // print_r($t_userids); foreach ($t_userids as $teacher) { if (in_array($teacher, $teachersids) == false) { // mtrace("\nAJOUTER $teacher->userid"); $a = new stdClass(); $a->userid = $teacher->userid; $teachersids[] = $a; } } } } } // mtrace("\n101 :: RENVOYER \n"); // print_r($teachersids); return $teachersids; }
function referentiel_get_repartition_notification($instanceid, $courseid, $t_codes_competence, $t_teacherids_accompagnement, $t_teacherids) { // affiche une liste de cases cochées // global $CFG; // DEBUG /* echo("print_lib_repartition.php :: 34 ::<br />TEACHERS ACCOMPAGNANTS<br />\n"); print_object($t_teacherids_accompagnement); echo("<br /><br />TEACHERS du COURS : TEACHERIDS <br />\n"); print_object($t_teacherids); echo("<br />\n"); */ $nb_teachers = 0; $t_repartition_teachers = array(array()); foreach ($t_codes_competence as $code_item) { if (!empty($instanceid) && !empty($courseid) && !empty($code_item)) { $teachers_repartition = referentiel_get_repartitions_teacher_by_competence($instanceid, $courseid, $code_item); // DEBUG /* echo("print_lib_repartition.php :: 49 ::<br />TEACHERS REPARTITION pour la COMPETENCE $code_item<br />\n"); print_object($teachers_repartition); echo("<br />\n"); */ // verifier si intersection au sens large // a savoir si l'un des deux est vide l'autre est retourne $t_teacherids_intersect = referentiel_intersection_teachers($teachers_repartition, $t_teacherids_accompagnement); // DEBUG /* echo("print_lib_repartition.php :: 57 ::<br />INTERSECTION<br />\n"); print_object($t_teacherids_intersect); echo("<br />\n"); */ foreach ($t_teacherids as $a_teacher) { if (!empty($t_teacherids_intersect)) { // COLLECTER if (array_key_exists($a_teacher->userid, $t_teacherids_intersect) == true) { $t_repartition_teachers[$code_item][] = 'X'; } else { $t_repartition_teachers[$code_item][] = ' '; } } else { $t_repartition_teachers[$code_item][] = '+'; } } } } /* echo("<br />\n"); print_object($t_repartition_teachers); echo("<br />EXIT\n"); exit; */ return $t_repartition_teachers; }