function referentiel_boites_selections($context, $mode, $cm, $course, $referentiel_instance, $initiale = 0, $userids = '', $userid_filtre = 0, $gusers = NULL, $data_f, $select_acc = 0) { global $CFG; global $DB; global $USER; static $istutor = false; static $isteacher = false; static $isadmin = false; static $iseditor = false; static $referentiel_id = NULL; global $COURSE; $records = array(); $referentiel_id = $referentiel_instance->ref_referentiel; $roles = referentiel_roles_in_instance($referentiel_instance->id); $iseditor = $roles->is_editor; $isadmin = $roles->is_admin; $isteacher = $roles->is_teacher; $istutor = $roles->is_tutor; $isstudent = $roles->is_student; $isguest = $roles->is_guest; if (isset($referentiel_id) && $referentiel_id > 0) { $referentiel_referentiel = referentiel_get_referentiel_referentiel($referentiel_id); if (!$referentiel_referentiel) { if ($iseditor) { print_error(get_string('creer_referentiel', 'referentiel'), "{$CFG->wwwroot}/mod/referentiel/edit.php?d={$referentiel_instance->id}&mode=editreferentiel&sesskey=" . sesskey()); } else { print_error(get_string('creer_referentiel', 'referentiel'), "{$CFG->wwwroot}/course/view.php?id={$course->id}&sesskey=" . sesskey()); } } // global variables for Overlib referentiel_initialise_descriptions_items_referentiel($referentiel_referentiel->id); // Users select Boxes - boite pour selectionner les utilisateurs if ($isteacher || $iseditor || $istutor) { referentiel_boites_selections_users($cm, $course, $context, $mode, $referentiel_instance, $initiale, $userids, $userid_filtre, $gusers, $select_acc); } else { $userid_filtre = $USER->id; // les étudiants ne peuvent voir que leur fiche } echo referentiel_modifie_entete_activite_complete_filtre("activite.php?id={$cm->id}&select_acc={$select_acc}&courseid={$course->id}&userid={$userid_filtre}&mode={$mode}&sesskey=" . sesskey(), $data_f, false, false); //echo referentiel_print_enqueue_activite(); echo '<br /><br />' . "\n"; } }
function referentiel_select_accompagnement($mode, $referentiel_instance, $teacherid = 0, $userid_filtre = 0, $gusers = NULL, $select_acc = 0) { global $CFG; global $DB; global $USER; static $istutor = false; static $isteacher = false; static $isadmin = false; static $isstudent = false; static $referentiel_id = NULL; // A COMPLETER $data = NULL; // contexte $cm = get_coursemodule_from_instance('referentiel', $referentiel_instance->id); $course = $DB->get_record("course", array("id" => "{$cm->course}")); if (empty($cm) or empty($course)) { print_error('REFERENTIEL_ERROR 5 :: print_lib_accompagnement.php :: You cannot call this script in that way'); } // Valable pour Moodle 2.1 et Moodle 2.2 //if ($CFG->version < 2011120100) { $context = context_module::instance($cm->id); //} else { // $context = context_module::instance($cm); //} $records = array(); $referentiel_id = $referentiel_instance->ref_referentiel; $roles = referentiel_roles_in_instance($referentiel_instance->id); $iseditor = $roles->is_editor; $isadmin = $roles->is_admin; $isteacher = $roles->is_teacher; $istutor = $roles->is_tutor; $isstudent = $roles->is_student; /* // DEBUG if ($iseditor) echo "Editor "; if ($isadmin) echo "Admin "; if ($isteacher) echo "Teacher "; if ($istutor) echo "Tutor "; if ($isstudent) echo "Student "; */ if (isset($referentiel_id) && $referentiel_id > 0) { $referentiel_referentiel = referentiel_get_referentiel_referentiel($referentiel_id); if (!$referentiel_referentiel) { if ($iseditor) { print_error(get_string('creer_referentiel', 'referentiel'), "{$CFG->wwwroot}/mod/referentiel/edit.php?d={$referentiel_instance->id}&mode=editreferentiel&sesskey=" . sesskey()); } else { print_error(get_string('creer_referentiel', 'referentiel'), "{$CFG->wwwroot}/course/view.php?id={$course->id}&sesskey=" . sesskey()); } } // boite pour selectionner les utilisateurs ? if ($isadmin || $isteacher || $istutor) { // tous les users possibles (pour la boite de selection) // Get your userids the normal way // ICI on affiche tous les utilisateurs $record_id_users = referentiel_get_students_course($course->id, 0, 0); //seulement les stagiaires if ($gusers && $record_id_users) { // liste des utilisateurs du groupe courant // echo "<br />DEBUG :: print_lib_accompagnement.php :: 740 :: GUSERS<br />\n"; // print_object($gusers); // echo "<br />\n"; // exit; $record_users = array_intersect($gusers, array_keys($record_id_users)); // echo "<br />DEBUG :: print_lib_accompagnement.php :: 745 :: RECORD_USERS<br />\n"; // print_r($record_users ); // echo "<br />\n"; // recopier $record_id_users = array(); foreach ($record_users as $record_id) { $a_obj = new stdClass(); $a_obj->userid = $record_id; $record_id_users[] = $a_obj; } } $record_teachers = referentiel_get_teachers_course($course->id); echo referentiel_select_accompagnement_users_teachers($referentiel_instance->id, $course->id, $mode, $record_id_users, $record_teachers, $userid_filtre, $select_acc); } } echo '<br /><br />' . "\n"; return true; }
function referentiel_print_graph_certificats($referentiel_instance, $referentiel_referentiel, $gusers, $currentgroup = 0) { global $DB; global $CFG; global $USER; // contexte $cm = get_coursemodule_from_instance('referentiel', $referentiel_instance->id); $course = $DB->get_record('course', array('id' => $cm->course)); if (empty($cm) or empty($course)) { print_error('REFERENTIEL_ERROR 5 :: print_lib_certificat.php :: You cannot call this script in that way'); } $context = context_module::instance($cm->id); $roles = referentiel_roles_in_instance($referentiel_instance->id); $iseditor = $roles->is_editor; $isadmin = $roles->is_admin; $isteacher = $roles->is_teacher; $istutor = $roles->is_tutor; $isstudent = $roles->is_student; $isguest = $roles->is_guest; // codes item $liste_codes = referentiel_purge_dernier_separateur($referentiel_referentiel->liste_codes_competence, '/'); // empreintes $liste_empreintes = referentiel_purge_dernier_separateur($referentiel_referentiel->liste_empreintes_competence, '/'); // poids $liste_poids = referentiel_purge_dernier_separateur($referentiel_referentiel->liste_poids_competence, '/'); // cours ? if (!empty($course)) { $course_name = $course->shortname; } else { $course_name = ""; } // groupes ? if (!empty($currentgroup)) { $group_name = groups_get_group_name($currentgroup); } else { $group_name = ""; } $titre = get_string('certification_etat', 'referentiel'); if (!empty($course_name)) { $titre .= ' (' . $course_name; if (!empty($group_name)) { $titre .= ' - ' . $group_name; } $titre .= ')'; } $titre = str_replace(' ', '_', $titre); // utilisateurs $record_id_users = referentiel_get_students_course($course->id, 0, 0); //seulement les stagiaires // groupes ? if ($gusers && $record_id_users) { $record_users = array_intersect($gusers, array_keys($record_id_users)); // recopier $record_id_users = array(); foreach ($record_users as $record_id) { $a_obj = new stdClass(); $a_obj->userid = $record_id; $record_id_users[] = $a_obj; } } if ($record_id_users) { // Afficher foreach ($record_id_users as $record_id) { // afficher la liste d'users // recupere les enregistrements de certificats ou les cree si necessaire $records_c[] = referentiel_certificat_user($record_id->userid, $referentiel_referentiel->id); } if ($records_c) { // Let's get the datas $separateur1 = '/'; $separateur2 = ':'; $separateur3 = '|'; $t_user = array(); // tableau des userid $t_code = explode($separateur1, $liste_codes); $t_empreinte = explode($separateur1, $liste_empreintes); $t_poids = explode($separateur1, $liste_poids); $moyennes = array(); $t_valides = array(array()); // $t_declarees = array(array()); $user_name_souligne = ""; foreach ($records_c as $record_c) { // pour tous les certificats if ($record_c) { $certificat_id = $record_c->id; $commentaire_certificat = stripslashes($record_c->commentaire_certificat); $synthese_certificat = stripslashes($record_c->synthese_certificat); $competences_certificat = $record_c->competences_certificat; $competences_activites = $record_c->competences_activite; $decision_jury = stripslashes($record_c->decision_jury); $date_decision = $record_c->date_decision; $ref_referentiel = $record_c->ref_referentiel; $user_id = $record_c->userid; $teacherid = $record_c->teacherid; $verrou = $record_c->verrou; $dossier_ferme = $record_c->valide; $evaluation = $record_c->evaluation; $user_name = referentiel_get_user_nom($user_id) . ' ' . referentiel_get_user_prenom($user_id); $user_info = referentiel_get_user_info($user_id); $teacher_info = referentiel_get_user_info($teacherid); // dates $date_decision_info = userdate($date_decision); //$t_user[]=$user_name; $t_user[] = $user_id; // competences validees dans le certificat $tc = array(); $lcc = referentiel_purge_dernier_separateur($competences_certificat, $separateur1); if (!empty($lcc)) { $tc = explode($separateur1, $lcc); // A.1.1:1 A.1.2:1 A.1.3:1 A.1.4:0/A.1.5:0/A.2.1:1/A.2.2:0/A.2.3:0/A.3.1:0/A.3.2:0/A.3.3:0/A.3.4:0/B.1.1:0/B.1.2:0/B.1.3:0/B.2.1:1/B.2.2:1/B.2.3:0/B.2.4:0/B.3.1:0/B.3.2:0/B.3.3:0/B.3.4:0/B.3.5:0/B.4.1:0/B.4.2:0/B.4.3:0/ $i = 0; while ($i < count($tc)) { // CODE1:N1 // DEBUG // echo "<br />".$tc[$i]." <br />\n"; if ($tc[$i] != '') { $tcc = explode($separateur2, $tc[$i]); // A.1.1 1 if (isset($tcc[1])) { // $t_valides[$userid][]=$tcc[1]; //$t_valides[$user_name][]=min($tcc[1], $t_empreinte[$i]) ; $t_valides[$user_id][] = min($tcc[1], $t_empreinte[$i]); } } $i++; } } /* // competences declarees dans les activites $tc=array(); $lcd=referentiel_purge_dernier_separateur($competences_activites, $separateur1); if (!empty($lcd)){ $tc = explode ($separateur1, $lcd); // A.1.1:1 A.1.2:1 A.1.3:1 A.1.4:0/A.1.5:0/A.2.1:1/A.2.2:0/A.2.3:0/A.3.1:0/A.3.2:0/A.3.3:0/A.3.4:0/B.1.1:0/B.1.2:0/B.1.3:0/B.2.1:1/B.2.2:1/B.2.3:0/B.2.4:0/B.3.1:0/B.3.2:0/B.3.3:0/B.3.4:0/B.3.5:0/B.4.1:0/B.4.2:0/B.4.3:0/ $i=0; while ($i<count($tc)){ // CODE1:N1 // DEBUG // echo "<br />".$tc[$i]." <br />\n"; // exit; if ($tc[$i]!=''){ $tcc=explode($separateur2, $tc[$i]); // A.1.1 1 if (isset($tcc[1])){ $t_declarees[$user_name][]=$tcc[1]; } } $i++; } } */ } } // calculer la moyenne $n = 0; for ($i = 0; $i < count($t_user); $i++) { //$valeurs=$t_valides[$t_user[$i]]; // moyenne $n++; $moyennes = referentiel_somme_valeur($moyennes, $t_valides[$t_user[$i]]); } $moyennes = referentiel_quotient_valeur($moyennes, $n); $lmoyennes = implode("/", $moyennes); // Distribuer les data sur plusieurs images // pagination $page0 = 0; $page1 = 0; $nbuser = count($t_user); $page = 0; $pagemax = min($nbuser, MAXLIGNEGRAPH); $npages = (int) ($nbuser / $pagemax); $reste = (int) ($nbuser % $pagemax); if ($reste) { $npages++; } /* // DEBUG echo "<br />DEBUG :: 1858 :: CODE<br />\n"; print_r($t_code); echo "<br /> EMPREINTES<br />\n"; print_r($t_empreinte); echo "<br /> POIDS<br />\n"; print_r($t_poids); echo "<br />DEBUG :: 1858 :: USERS<br />\n"; print_r($t_user); echo "<br />COMPETENCES VALIDES<br />\n"; for ($i=0; $i<$nbuser; $i++){ echo "<br />User:"******" <br />\n"; print_r($t_valides[$t_user[$i]]); } */ // echo "<br />NBUSER: $nbuser NBPAGES: $npages PAGEMAX: $pagemax\n"; for ($page = 0; $page < $npages; $page++) { // preparer les donnees $t_data = array(array()); $j = 0; for ($j = 0; $j < $pagemax; $j++) { if (isset($t_user[$page * $pagemax + $j])) { $user_name = referentiel_get_user_nom($t_user[$page * $pagemax + $j]) . ' ' . referentiel_get_user_prenom($t_user[$page * $pagemax + $j]); $t_data[$user_name] = $t_valides[$t_user[$page * $pagemax + $j]]; } } // DEBUG //echo "<br />DEBUG :: 1876 :: DATA<br />\n"; //print_r($t_data); //echo "<br />DEBUG :: 1885 :: DATA<br />\n"; $ltdata = ""; foreach ($t_data as $key => $data) { if ($data) { //echo "<br />$key<br />\n"; //print_r($data); $ldata = implode("/", $data); $ltdata .= "{$key}:{$ldata}|"; } } // Afficher //echo '<br />DATA ->'.$ltdata."\n"; $num_page = $page + 1; if ($isteacher || $istutor || $isadmin) { $affichage_complet = 1; } else { $affichage_complet = 0; } //echo "<br />AFFCOMPLET : $affichage_complet\n"; //redirect ($CFG->wwwroot.'/mod/referentiel/graph_certificats.php?d='.$referentiel_instance->id.'&ltdata='.$ltdata.'&lmoyennes='.$lmoyennes.'&lcode='.$liste_codes.'&lempreinte='.$liste_empreintes.'&lpoids='.$liste_poids.'&affcomplet='.$affichage_complet.'&titre='.$titre.'&page='.$num_page.'&npages='.$npages); echo '<div align="center"><img src="' . $CFG->wwwroot . '/mod/referentiel/graph_certificats.php?d=' . $referentiel_instance->id . '&ltdata=' . $ltdata . '&lmoyennes=' . $lmoyennes . '&lcode=' . $liste_codes . '&lempreinte=' . $liste_empreintes . '&lpoids=' . $liste_poids . '&affcomplet=' . $affichage_complet . '&titre=' . $titre . '&page=' . $num_page . '&npages=' . $npages . '" border="0" title="' . get_string('statcertif', 'referentiel') . '" /></div>' . "\n"; echo '<br />' . "\n"; } } } }
function display() { global $USER; global $CFG; if (!empty($this->instance) && !empty($this->course) && !empty($this->cm)) { // Rôles dans le cours $roles = referentiel_roles_in_instance($this->instance->id); //print_object($roles); //exit; $isadmin = $roles->is_admin; $isstudent = $roles->is_student; $isguest = $roles->is_guest; $isreferentielauteur = referentiel_is_author($USER->id, $this->occurrence, !($isstudent or $isguest)); // verifier si l'utilisateur peut ajouter des activites ou modifier son certificat $edition_autorisee = true; if ($isstudent) { $edition_autorisee = !referentiel_certificat_user_is_closed($USER->id, $this->occurrence->id); } $tabs = array(); $row = array(); $inactive = NULL; $activetwo = NULL; $url_param = array('id' => $this->cm->id, 'non_redirection' => '0', 'sesskey' => sesskey()); // echo "<br>DEBUG :: onglets.php :: 105\n"; // print_object($this->tfiltre); foreach ($this->tfiltre as $key => $value) { // echo '<br>'.$key.' : '.$value; $url_param[$key] = $value; } //echo "<br>DEBUG :: onglets.php :: 108\n"; //print_object($url_param); //exit; // premier onglet if (has_capability('mod/referentiel:view', $this->context)) { $url_param['non_redirection'] = 1; $row[] = new tabobject('referentiel', new moodle_url('/mod/referentiel/view.php', $url_param), get_string('referentiel', 'referentiel')); $url_param['non_redirection'] = 0; } if (isloggedin()) { // accompagnement if (has_capability('mod/referentiel:write', $this->context)) { $url_param['mode'] = 'accompagnement'; $row[] = new tabobject('menuacc', new moodle_url('/mod/referentiel/accompagnement.php', $url_param), get_string('accompagnement', 'referentiel')); } // activites if (referentiel_user_can_addactivity($this->instance)) { $url_param['mode'] = 'list'; $row[] = new tabobject('list', new moodle_url('/mod/referentiel/activite.php?id', $url_param), get_string('edit_activity', 'referentiel')); } // taches if (has_capability('mod/referentiel:addtask', $this->context) || has_capability('mod/referentiel:viewtask', $this->context)) { $url_param['mode'] = 'listtasksingle'; $row[] = new tabobject('task', new moodle_url('/mod/referentiel/task.php?', $url_param), get_string('tasks', 'referentiel')); } // gestion des certificats $certification_active = referentiel_get_certification_active($this->instance->id); if ($certification_active) { if (has_capability('mod/referentiel:write', $this->context)) { $url_param['mode'] = 'listcertif'; $row[] = new tabobject('certificat', new moodle_url('/mod/referentiel/certificat.php', $url_param), get_string('certificat', 'referentiel')); } } // archivage du dossier numerique if (has_capability('mod/referentiel:write', $this->context)) { $url_param['mode'] = 'archive'; $row[] = new tabobject('archive', new moodle_url('/mod/referentiel/archive.php', $url_param), get_string('archive', 'referentiel')); } // scolarite $scolarite_locale_visible = referentiel_get_item_configuration('scol', $this->instance->id) == 0; if ($scolarite_locale_visible && has_capability('mod/referentiel:viewscolarite', $this->context) || has_capability('mod/referentiel:managescolarite', $this->context)) { $url_param['mode'] = 'listetudiant'; $row[] = new tabobject('scolarite', new moodle_url('/mod/referentiel/etudiant.php', $url_param), get_string('scolarite', 'referentiel')); $url_param['mode'] = 'pedago'; $row[] = new tabobject('pedago', new moodle_url('/mod/referentiel/pedagogie.php', $url_param), get_string('formation', 'referentiel')); } $tabs[] = $row; // sous-onglets // ACCOMPAGNEMENT if (isset($this->currenttab) && has_capability('mod/referentiel:write', $this->context) && ($this->currenttab == 'menuacc' || $this->currenttab == 'accompagnement' || $this->currenttab == 'suivi' || $this->currenttab == 'notification')) { $row = array(); $inactive[] = 'menuacc'; $row[] = new tabobject('accompagnement', new moodle_url('/mod/referentiel/accompagnement.php', $url_param), get_string('accompagnement', 'referentiel')); $url_param['mode'] = 'suivi'; $row[] = new tabobject('suivi', new moodle_url('/mod/referentiel/accompagnement.php', $url_param), get_string('repartition', 'referentiel')); if (has_capability('mod/referentiel:managecertif', $this->context)) { // r�le enseignant $url_param['mode'] = 'notification'; $row[] = new tabobject('notification', new moodle_url('/mod/referentiel/accompagnement.php', $url_param), get_string('notification', 'referentiel')); } $tabs[] = $row; $activetwo = array('menuacc'); } // ACTIVITE if (isset($this->currenttab) && ($this->currenttab == 'list' || $this->currenttab == 'listactivity' || $this->currenttab == 'listactivityall' || $this->currenttab == 'addactivity' || $this->currenttab == 'updateactivity' || $this->currenttab == 'exportactivity')) { $row = array(); $inactive[] = 'list'; $url_param['mode'] = 'listactivity'; $row[] = new tabobject('listactivity', new moodle_url('/mod/referentiel/activite.php', $url_param), get_string('listactivity', 'referentiel')); $url_param['mode'] = 'listactivityall'; $row[] = new tabobject('listactivityall', new moodle_url('/mod/referentiel/activite.php', $url_param), get_string('listactivityall', 'referentiel')); if (has_capability('mod/referentiel:addactivity', $this->context)) { if ($edition_autorisee) { $url_param['mode'] = 'addactivity'; $row[] = new tabobject('addactivity', new moodle_url('/mod/referentiel/activite.php', $url_param), get_string('addactivity', 'referentiel')); } } if (!has_capability('mod/referentiel:managecertif', $this->context)) { // role etudiant : uniquement pour modifier une activite if ($this->mode == 'modifactivity') { $url_param['mode'] = 'modifactivity'; $row[] = new tabobject('modifactivity', new moodle_url('/mod/referentiel/activite.php', $url_param), get_string('modifactivity', 'referentiel')); } } else { $url_param['mode'] = 'updateactivity'; $row[] = new tabobject('updateactivity', new moodle_url('/mod/referentiel/activite.php', $url_param), get_string('updateactivity', 'referentiel')); } if (has_capability('mod/referentiel:export', $this->context)) { $url_param['mode'] = 'exportactivity'; $row[] = new tabobject('exportactivity', new moodle_url('/mod/referentiel/export_activite.php', $url_param), get_string('export', 'referentiel')); } $tabs[] = $row; $activetwo = array('list'); } // TACHES if (isset($this->currenttab) && ($this->currenttab == 'listtask' || $this->currenttab == 'listtasksingle' || $this->currenttab == 'selecttask' || $this->currenttab == 'imposetask' || $this->currenttab == 'addtask' || $this->currenttab == 'updatetask' || $this->currenttab == 'exporttask' || $this->currenttab == 'importtask')) { $row = array(); $inactive[] = 'task'; if (has_capability('mod/referentiel:viewtask', $this->context)) { $url_param['mode'] = 'listtask'; $row[] = new tabobject('listtask', new moodle_url('/mod/referentiel/task.php', $url_param), get_string('listtask', 'referentiel')); $url_param['mode'] = 'listtasksingle'; $row[] = new tabobject('listtasksingle', new moodle_url('/mod/referentiel/task.php', $url_param), get_string('listtasksingle', 'referentiel')); } if (has_capability('mod/referentiel:addtask', $this->context)) { $url_param['mode'] = 'addtask'; $row[] = new tabobject('addtask', new moodle_url('/mod/referentiel/task.php', $url_param), get_string('addtask', 'referentiel')); $url_param['mode'] = 'updatetask'; $row[] = new tabobject('updatetask', new moodle_url('/mod/referentiel/task.php', $url_param), get_string('updatetask', 'referentiel')); } if (has_capability('mod/referentiel:import', $this->context)) { $url_param['mode'] = 'importtask'; $row[] = new tabobject('importtask', new moodle_url('/mod/referentiel/import_task.php', $url_param), get_string('import', 'referentiel')); } if (has_capability('mod/referentiel:export', $this->context)) { $url_param['mode'] = 'exporttask'; $row[] = new tabobject('exporttask', new moodle_url('/mod/referentiel/export_task.php', $url_param), get_string('export', 'referentiel')); } $tabs[] = $row; $activetwo = array('task'); } // SCOLARITE // http://localhost/moodle25/moodle/mod/referentiel/etudiant.php?id=7&non_redirection=0&sesskey=6AeeQWDljY&select_acc=0&mode=listcertif if (isset($this->currenttab) && (has_capability('mod/referentiel:viewscolarite', $this->context) || has_capability('mod/referentiel:managescolarite', $this->context)) && ($scolarite_locale_visible && $this->currenttab == 'scolarite' || $this->currenttab == 'listetudiant' || $this->currenttab == 'manageetab' || $this->currenttab == 'addetab' || $this->currenttab == 'listeetab' || $this->currenttab == 'exportetudiant' || $this->currenttab == 'importetudiant' || $this->currenttab == 'editetudiant')) { $row = array(); $inactive[] = 'scolarite'; $url_param['mode'] = ''; $row[] = new tabobject('listetudiant', new moodle_url('/mod/referentiel/etudiant.php', $url_param), get_string('listetudiant', 'referentiel')); if (has_capability('mod/referentiel:managescolarite', $this->context)) { // import export //if ($this->currenttab == 'editetudiant'){ $url_param['mode'] = 'updateetudiant'; $row[] = new tabobject('editetudiant', new moodle_url('/mod/referentiel/etudiant.php', $url_param), get_string('editetudiant', 'referentiel')); //} $url_param['mode'] = 'exportetudiant'; $row[] = new tabobject('exportetudiant', new moodle_url('/mod/referentiel/export_etudiant.php', $url_param), get_string('exportetudiant', 'referentiel')); $url_param['mode'] = 'importetudiant'; $row[] = new tabobject('importetudiant', new moodle_url('/mod/referentiel/import_etudiant.php', $url_param), get_string('importetudiant', 'referentiel')); } if (has_capability('mod/referentiel:viewscolarite', $this->context)) { // etablissement $url_param['mode'] = 'listeetab'; $row[] = new tabobject('listeetab', new moodle_url('/mod/referentiel/etablissement.php', $url_param), get_string('etablissements', 'referentiel')); } if (has_capability('mod/referentiel:managescolarite', $this->context)) { // etablissement $url_param['mode'] = 'addetab'; $row[] = new tabobject('manageetab', new moodle_url('/mod/referentiel/etablissement.php', $url_param), get_string('manageetab', 'referentiel')); } if ($this->currenttab == '') { $this->currenttab = 'listetudiant'; $this->mode = 'listetudiant'; } $tabs[] = $row; $activetwo = array('scolarite'); } // PEDAGOGIE if (isset($this->currenttab) && (has_capability('mod/referentiel:viewscolarite', $this->context) || has_capability('mod/referentiel:managescolarite', $this->context)) && ($scolarite_locale_visible && $this->currenttab == 'pedago' || $this->currenttab == 'addpedago' || $this->currenttab == 'editpedago' || $this->currenttab == 'listpedago' || $this->currenttab == 'listasso' || $this->currenttab == 'selectasso' || $this->currenttab == 'editasso' || $this->currenttab == 'importpedago' || $this->currenttab == 'exportpedago')) { $row = array(); $inactive[] = 'pedago'; $url_param['mode'] = 'listpedago'; $row[] = new tabobject('listpedago', new moodle_url('/mod/referentiel/pedagogie.php', $url_param), get_string('listpedago', 'referentiel')); $url_param['mode'] = 'listasso'; $row[] = new tabobject('listasso', new moodle_url('/mod/referentiel/pedagogie.php', $url_param), get_string('listasso', 'referentiel')); if (has_capability('mod/referentiel:managescolarite', $this->context)) { // import export $url_param['mode'] = 'addpedago'; $row[] = new tabobject('addpedago', new moodle_url('/mod/referentiel/pedagogie.php', $url_param), get_string('addpedago', 'referentiel')); if ($this->currenttab == 'editpedago') { $url_param['mode'] = 'updatepedago'; $row[] = new tabobject('editpedago', new moodle_url('/mod/referentiel/pedagogie.php', $url_param), get_string('editpedago', 'referentiel')); } $url_param['mode'] = 'editasso'; $row[] = new tabobject('editasso', new moodle_url('/mod/referentiel/pedagogie.php', $url_param), get_string('editasso', 'referentiel')); $url_param['mode'] = 'importpedago'; $row[] = new tabobject('importpedago', new moodle_url('/mod/referentiel/import_pedagogie.php', $url_param), get_string('importpedago', 'referentiel')); $url_param['mode'] = 'exportpedago'; $row[] = new tabobject('exportpedago', new moodle_url('/mod/referentiel/export_pedagogie.php', $url_param), get_string('exportpedago', 'referentiel')); } if ($this->currenttab == '') { $this->currenttab = 'listpedago'; $this->mode = 'listpedago'; } $tabs[] = $row; $activetwo = array('pedago'); } // CERTIFICATS if (isset($this->currenttab) && ($this->currenttab == 'certificat' || $this->currenttab == 'verroucertif' || $this->currenttab == 'statcertif' || $this->currenttab == 'listcertif' || $this->currenttab == 'listcertifsingle' || $this->currenttab == 'scolarite' || $this->currenttab == 'addcertif' || $this->currenttab == 'editcertif' || $this->currenttab == 'printcertif' || $this->currenttab == 'managecertif' || $this->currenttab == 'importcertif' || $this->currenttab == 'manageobjectif')) { $row = array(); $inactive[] = 'certificat'; if (has_capability('mod/referentiel:view', $this->context)) { // afficher un certificat $url_param['mode'] = 'listcertif'; $row[] = new tabobject('listcertif', new moodle_url('/mod/referentiel/certificat.php', $url_param), get_string('listcertif', 'referentiel')); if (has_capability('mod/referentiel:rate', $this->context)) { // rediger un certificat $label_thumb = get_string('editcertif', 'referentiel'); } else { $label_thumb = get_string('synthese_certificat', 'referentiel'); } $url_param['mode'] = 'editcertif'; $row[] = new tabobject('editcertif', new moodle_url('/mod/referentiel/certificat.php', $url_param), $label_thumb); if (referentiel_site_can_print_graph($this->instance->id)) { $url_param['mode'] = 'statcertif'; $row[] = new tabobject('statcertif', new moodle_url('/mod/referentiel/certificat.php', $url_param), get_string('statcertif', 'referentiel')); } } if (has_capability('mod/referentiel:managecertif', $this->context)) { $url_param['mode'] = 'managecertif'; $row[] = new tabobject('managecertif', new moodle_url('/mod/referentiel/export_certificat.php', $url_param), get_string('managecertif', 'referentiel')); $url_param['mode'] = 'importcertif'; $row[] = new tabobject('importcertif', new moodle_url('/mod/referentiel/import_certificat.php', $url_param), get_string('importcertif', 'referentiel')); if (referentiel_site_can_print_referentiel($this->instance->id)) { $url_param['mode'] = 'printcertif'; $row[] = new tabobject('printcertif', new moodle_url('/mod/referentiel/print_certificat.php', $url_param), get_string('printcertif', 'referentiel')); } $url_param['mode'] = 'verroucertif'; $row[] = new tabobject('verroucertif', new moodle_url('/mod/referentiel/verrou_certificat.php', $url_param), get_string('verroucertif', 'referentiel')); // OUTCOMES if (!empty($CFG->enableoutcomes) && REFERENTIEL_OUTCOMES) { $url_param['mode'] = 'manageobjectif'; $row[] = new tabobject('manageobjectif', new moodle_url('/mod/referentiel/outcomes.php', $url_param), get_string('outcomes', 'referentiel')); } } $tabs[] = $row; $activetwo = array('certificat'); } // ARCHIVES if (isset($this->currenttab) && $this->currenttab == 'archive') { $row = array(); $inactive[] = 'archive'; // archiver les activites et le certificat if (has_capability('mod/referentiel:archive', $this->context)) { $url_param['mode'] = 'archive'; $row[] = new tabobject('archive', new moodle_url('/mod/referentiel/archive.php', $url_param), get_string('archive', 'referentiel')); } if ($this->currenttab == '') { $this->currenttab = $mode = 'archive'; } $tabs[] = $row; $activetwo = array('archive'); } // REFERENTIELS if (isset($this->currenttab) && ($this->currenttab == 'bareme' || $this->currenttab == 'protocole' || $this->currenttab == 'referentiel' || $this->currenttab == 'listreferentiel' || $this->currenttab == 'configref' || $this->currenttab == 'editreferentiel' || $this->currenttab == 'deletereferentiel' || $this->currenttab == 'import' || $this->currenttab == 'import_simple' || $this->currenttab == 'export')) { $row = array(); $inactive[] = 'referentiel'; if (has_capability('mod/referentiel:view', $this->context)) { $url_param['mode'] = 'listreferentiel'; $url_param['non_redirection'] = '1'; $row[] = new tabobject('listreferentiel', new moodle_url('/mod/referentiel/view.php', $url_param), get_string('listreferentiel', 'referentiel')); $url_param['non_redirection'] = 0; $url_param['mode'] = 'protocole'; $row[] = new tabobject('protocole', new moodle_url('/mod/referentiel/protocole.php', $url_param), get_string('protocole', 'referentiel')); if ($CFG->referentiel_use_scale) { $url_param['mode'] = 'bareme'; $row[] = new tabobject('bareme', new moodle_url('/mod/referentiel/bareme.php', $url_param), get_string('scale')); } } if (!empty($isadmin) || isset($isreferentielauteur) && $isreferentielauteur || referentiel_site_can_write_or_import_referentiel($this->instance->id) && empty($isstudent) && empty($isguest)) { if (!REFERENTIEL_BLOCK_REF) { if (has_capability('mod/referentiel:writereferentiel', $this->context)) { if ($CFG->referentiel_use_scale) { $url_param['mode'] = 'bareme'; $row[] = new tabobject('bareme', new moodle_url('/mod/referentiel/bareme.php', $url_param), get_string('scale')); } $url_param['mode'] = 'configref'; $row[] = new tabobject('configref', new moodle_url('/mod/referentiel/config_ref.php', $url_param), get_string('configref', 'referentiel')); $url_param['mode'] = 'editreferentiel'; $row[] = new tabobject('editreferentiel', new moodle_url('/mod/referentiel/edit.php', $url_param), get_string('editreferentiel', 'referentiel')); $url_param['mode'] = 'deleteferentiel'; $row[] = new tabobject('deletereferentiel', new moodle_url('/mod/referentiel/delete.php', $url_param), get_string('deletereferentiel', 'referentiel')); } if (has_capability('mod/referentiel:import', $this->context)) { $url_param['mode'] = 'import'; $row[] = new tabobject('import', new moodle_url('/mod/referentiel/import.php', $url_param), get_string('import', 'referentiel')); } } if (has_capability('mod/referentiel:export', $this->context)) { $url_param['mode'] = 'export'; $row[] = new tabobject('export', new moodle_url('/mod/referentiel/export.php', $url_param), get_string('export', 'referentiel')); } } $tabs[] = $row; $activetwo = array('referentiel'); } } else { // pas d'autre possibilite que l'affichage du referentiel $tabs[] = $row; $this->currenttab = 'referentiel'; } /// Print out the tabs and continue! print_tabs($tabs, $this->currenttab, $inactive, $activetwo); } }
function referentiel_print_protocole($mode, $referentiel_instance, $select_acc = 0) { global $DB; global $CFG; global $USER; static $istutor = false; static $isteacher = false; static $isadmin = false; static $iseditor = false; static $referentiel_id = NULL; // contexte $cm = get_coursemodule_from_instance('referentiel', $referentiel_instance->id); $course = $DB->get_record('course', array('id' => $cm->course)); if (empty($cm) or empty($course)) { print_error('REFERENTIEL_ERROR 5 :: print_lib_protocole.php :: 46 :: You cannot call this script in that way'); } $context = context_module::instance($cm->id); $roles = referentiel_roles_in_instance($referentiel_instance->id); $iseditor = $roles->is_editor; $isadmin = $roles->is_admin; $isteacher = $roles->is_teacher; $istutor = $roles->is_tutor; $isstudent = $roles->is_student; /* // DEBUG if ($isadmin) echo "Admin "; if ($isteacher) echo "Teacher "; if ($istutor) echo "Tutor "; if ($isstudent) echo "Student "; */ if (!empty($referentiel_instance->ref_referentiel)) { $referentiel_referentiel = referentiel_get_referentiel_referentiel($referentiel_instance->ref_referentiel); if (!$referentiel_referentiel) { if ($iseditor) { print_error(get_string('creer_referentiel', 'referentiel'), "edit.php?d={$referentiel_instance->id}&mode=editreferentiel&sesskey=" . sesskey()); } else { print_error(get_string('creer_referentiel', 'referentiel'), "../../course/view.php?id={$course->id}&sesskey=" . sesskey()); } } echo referentiel_affiche_protocole($referentiel_referentiel->id); } echo '<br /><br />' . "\n"; return true; }
if ($okbareme) { echo "\n" . '<input type="hidden" name="userbareme" value="1" />' . "\n"; echo '<input type="hidden" name="baremeid" value="' . $bareme->id . '" />' . "\n"; echo '<input type="hidden" name="threshold" value="' . $bareme->threshold . '" />' . "\n"; echo '<input type="hidden" name="competencesbareme" value="' . $competences_bareme . '" />' . "\n"; } echo '</div>' . "\n"; } else { // activite normale echo '<br /><br /><span class="bold">' . get_string('aide_saisie_competences', 'referentiel') . '</span>' . "\n"; if (isset($approved) && $approved) { echo '<div class="valide">' . "\n"; } else { echo '<div class="invalide">' . "\n"; } $roles = referentiel_roles_in_instance($referentiel->id); if ($USER->id == $userid && ($roles->is_student || $roles->is_guest)) { // c'est l'auteur qui affiche if (!referentiel_hierarchical_display($referentiel->id)) { echo referentiel_modifier_selection_liste_codes_item_competence('/', $liste_codes_competences_tache, $competences_activite, $activite_id); } else { echo referentiel_modifier_selection_codes_item_hierarchique($referentiel_referentiel->id, $competences_activite, true); } } else { // c'est un referent qui affiche //Modif bareme if ($okbareme) { $competences_bareme = referentiel_get_competences_activite($activite_id, $bareme->id); $str_a_evaluer = referentiel_affiche_liste_codes_competence('/', $competences_activite, $referentiel_referentiel->id) . "\n"; if (!empty($str_a_evaluer)) { echo '<br /><span class="bold">' . get_string('liste_competence_cochees', 'referentiel') . '</span> ' . "\n" . " " . $str_a_evaluer;
function referentiel_print_selection_user_tache($taskid, $mode, $referentiel_instance, $userid_filtre = 0, $gusers = NULL, $sql_filtre_where = '', $sql_filtre_order = '', $data_filtre = NULL) { global $CFG; global $USER; static $istutor = false; static $isteacher = false; static $isauthor = false; static $iseditor = false; static $referentiel_id = NULL; // A COMPLETER $data = NULL; // contexte global $DB; if (!empty($referentiel_instance)) { // contexte $cm = get_coursemodule_from_instance('referentiel', $referentiel_instance->id); $course = $DB->get_record('course', array("id" => "{$cm->course}")); if (empty($cm) or empty($course)) { print_error('REFERENTIEL_ERROR 5 :: print_lib_task.php :: You cannot call this script in that way'); } $context = context_module::instance($cm->id); $records = array(); $referentiel_id = $referentiel_instance->ref_referentiel; $roles = referentiel_roles_in_instance($referentiel_instance->id); $iseditor = $roles->is_editor; $isadmin = $roles->is_admin; $isteacher = $roles->is_teacher; $istutor = $roles->is_tutor; $isstudent = $roles->is_student; $isguest = $roles->is_guest; if (isset($referentiel_id) && $referentiel_id > 0) { $referentiel_referentiel = referentiel_get_referentiel_referentiel($referentiel_id); if (!$referentiel_referentiel) { if ($iseditor) { print_error(get_string('creer_referentiel', 'referentiel'), "{$CFG->wwwroot}/mod/referentiel/edit.php?d={$referentiel_instance->id}&mode=editreferentiel&sesskey=" . sesskey()); } else { print_error(get_string('creer_referentiel', 'referentiel'), "{$CFG->wwwroot}/course/view.php?id={$course->id}&sesskey=" . sesskey()); } } // boite pour selectionner les utilisateurs ? if ($isteacher || $iseditor || $istutor) { // tous les users possibles (pour la boite de selection) // Get your userids the normal way $record_id_users = referentiel_get_students_course($course->id, 0, 0); //seulement les stagiaires if ($gusers && $record_id_users) { // liste des utilisateurs du groupe courant // echo "<br />DEBUG :: print_lib_task.php :: 740 :: GUSERS<br />\n"; // print_object($gusers); // echo "<br />\n"; // exit; $record_users = array_intersect($gusers, array_keys($record_id_users)); // echo "<br />DEBUG :: print_lib_task.php :: 745 :: RECORD_USERS<br />\n"; // print_r($record_users ); // echo "<br />\n"; // recopier $record_id_users = array(); foreach ($record_users as $record_id) { $a_obj = new stdClass(); $a_obj->userid = $record_id; $record_id_users[] = $a_obj; } } echo referentiel_select_users_tache($taskid, $mode, $record_id_users, $userid_filtre); } } echo '<br /><br />' . "\n"; return true; } }
function referentiel_select_associations($mode, $referentiel_instance, $userid_filtre, $gusers) { global $DB; global $CFG; global $USER; static $referentiel_id = NULL; // A COMPLETER $data = NULL; // contexte $cm = get_coursemodule_from_instance('referentiel', $referentiel_instance->id); $course = $DB->get_record('course', array('id' => $cm->course)); if (empty($cm) or empty($course)) { print_error('REFERENTIEL_ERROR 5 :: lib_pedagogie.php :: 926 :: You cannot call this script in that way'); } $context = context_module::instance($cm->id); $records = array(); $referentiel_id = $referentiel_instance->ref_referentiel; $roles = referentiel_roles_in_instance($referentiel_instance->id); $iseditor = $roles->is_editor; $isadmin = $roles->is_admin; $isteacher = $roles->is_teacher; $istutor = $roles->is_tutor; $isstudent = $roles->is_student; if (isset($referentiel_id) && $referentiel_id > 0) { $referentiel_referentiel = referentiel_get_referentiel_referentiel($referentiel_id); if (!$referentiel_referentiel) { if ($iseditor) { print_error(get_string('creer_referentiel', 'referentiel'), "edit.php?d={$referentiel_instance->id}&mode=editreferentiel&sesskey=" . sesskey()); } else { print_error(get_string('creer_referentiel', 'referentiel'), "../../course/view.php?id={$course->id}&sesskey=" . sesskey()); } } // boite pour selectionner les utilisateurs ? if ($isteacher || $iseditor || $istutor) { if (!empty($userid_filtre)) { $record_id_users = referentiel_get_students_course($course->id, $userid_filtre, 0); } else { $record_id_users = referentiel_get_students_course($course->id, 0, 0); //seulement les stagiaires if ($gusers && $record_id_users) { // liste des utilisateurs du groupe courant $record_users = array_intersect($gusers, array_keys($record_id_users)); // recopier $record_id_users = array(); foreach ($record_users as $record_id) { $a_obj = new stdClass(); $a_obj->userid = $record_id; $record_id_users[] = $a_obj; } } } // boites de selection // echo referentiel_select_users_accompagnes("pedagogie.php", $mode, $userid_filtre); // echo referentiel_select_users_pedagogie($record_id_users, "pedagogie.php", $mode, $userid_filtre); // Afficher les pedagogies // recupere les enregistrements de pedagogies $records_pedago = referentiel_get_pedagogies(); if ($records_pedago) { /* echo referentiel_entete_pedagogie(); foreach ($records_pedago as $record_pedago) { referentiel_print_pedagogie($record_pedago, $context, $referentiel_instance->id); } echo referentiel_enqueue_pedagogie(); */ // Afficher if ($record_id_users) { if ($userid_filtre) { echo referentiel_select_asso_user_pedago($course->id, $referentiel_instance->id, $referentiel_referentiel->id, $mode, $record_id_users, $records_pedago); } else { echo referentiel_pagination_users_pedago($course->id, $referentiel_instance->id, $referentiel_referentiel->id, $mode, $record_id_users, $records_pedago); } } } } echo '<br /><br />' . "\n"; } }
function referentiel_print_liste_etudiants($initiale, $userids, $mode, $referentiel_instance, $userid_filtre = 0, $gusers = NULL, $select_acc) { global $USER, $DB; if (!empty($referentiel_instance)) { $cm = get_coursemodule_from_instance('referentiel', $referentiel_instance->id); $course = $DB->get_record("course", array("id" => "{$cm->course}")); if (empty($cm) or empty($course)) { print_error('REFERENTIEL_ERROR 5 :: print_lib_etudiant.php :: You cannot call this script in that way'); } $context = context_module::instance($cm->id); $roles = referentiel_roles_in_instance($referentiel_instance->id); $iseditor = $roles->is_editor; $isadmin = $roles->is_admin; $isteacher = $roles->is_teacher; $istutor = $roles->is_tutor; $isstudent = $roles->is_student; $record_id_users = referentiel_select_liste_etudiants($initiale, $userids, $mode, $referentiel_instance, $userid_filtre, $gusers, $select_acc); if ($record_id_users) { echo '<table class="certificat"> <tr><th>' . get_string('userid', 'referentiel') . '</th><th>' . get_string('nom_prenom', 'referentiel') . '</th><th>' . get_string('num_etudiant', 'referentiel') . '</th><th>' . get_string('ddn_etudiant', 'referentiel') . '</th><th>' . get_string('lieu_naissance', 'referentiel') . '</th><th>' . get_string('departement_naissance', 'referentiel') . '</th><th>' . get_string('adresse_etudiant', 'referentiel') . '</th><th>' . get_string('ref_etablissement', 'referentiel') . '</th></tr>' . "\n"; foreach ($record_id_users as $record) { // afficher la liste d'etudiant // Afficher // print_r($record); if ($record->userid) { $isauthor = $USER->id == $record->userid; if ($isauthor || $isteacher || $iseditor) { // echo referentiel_print_etudiant($record->userid, $CFG->wwwroot.'/mod/referentiel/etudiant.php?d='.$referentiel_instance->id.'&mode=selectetab&sesskey='.sesskey()); // echo '<tr><td colspan="7" align="center">'.referentiel_menu_etudiant($context, $referentiel_instance->id, $record->userid).'</td></tr>'."\n"; echo referentiel_print_etudiant_2($record->userid, $referentiel_instance->id, $context, "etudiant.php?d=" . $referentiel_instance->id . "&mode=selectetab"); } } } echo '</table><br /><br />' . "\n"; } } }
function referentiel_print_liste_repartitions($referentiel_instance) { // Affiche les repartitions d'affectations de competences de cette instance de referentiel global $DB; static $istutor = false; static $isteacher = false; static $isadmin = false; static $iseditor = false; static $referentiel_id = NULL; if (!empty($referentiel_instance)) { $cm = get_coursemodule_from_instance('referentiel', $referentiel_instance->id); $course = $DB->get_record('course', array('id' => $cm->course)); if (empty($cm) or empty($course)) { print_error('REFERENTIEL_ERROR :: print_lib_repartition.php :: 166 :: You cannot call this script in that way'); } // echo "<br />DEBUG :: 220 ::<br />REFERENTIEL_Instance : $referentiel_instance->id <br /> Course_id : $referentiel_instance->course\n"; $context = context_module::instance($cm->id); $referentiel_id = $referentiel_instance->ref_referentiel; $roles = referentiel_roles_in_instance($referentiel_instance->id); $iseditor = $roles->is_editor; $isadmin = $roles->is_admin; $isteacher = $roles->is_teacher; $istutor = $roles->is_tutor; $isstudent = $roles->is_student; /* // DEBUG if ($isadmin) echo "Admin "; if ($isteacher) echo "Teacher "; if ($istutor) echo "Tutor "; if ($isstudent) echo "Student "; */ if (!empty($referentiel_id)) { $referentiel_referentiel = referentiel_get_referentiel_referentiel($referentiel_id); if (!$referentiel_referentiel) { if ($iseditor) { print_error(get_string('creer_referentiel', 'referentiel'), "edit.php?d={$referentiel_instance->id}&mode=editreferentiel&sesskey=" . sesskey()); } else { print_error(get_string('creer_referentiel', 'referentiel'), "../../course/view.php?id={$course->id}&sesskey=" . sesskey()); } } $records_teacher = referentiel_get_teachers_course($course->id); // codes item $t_codes_competence = explode('/', referentiel_purge_dernier_separateur($referentiel_referentiel->liste_codes_competence, '/')); echo referentiel_print_repartition($referentiel_instance->id, $course->id, $context, $t_codes_competence, $records_teacher); } } }
/** * This function returns records of users ids * * If select_all == 1 all certificates users are displayed * Else only course's users are displayed * @param object referentiel_instance instance of referentiel * @param userid_filtre int * @param guser Object * @param mode string * @param select_all : int * @param select_acc : int * @param affiche : boolean * @return objects * @todo Finish documenting this function **/ function referentiel_get_liste_users($referentiel_instance, $course, $context, $list_userids = '', $userid_filtre = 0, $gusers, $select_acc = 0, $select_all = 0) { global $debug_special; global $USER; static $referentiel_id = NULL; $records = array(); if ($referentiel_instance) { $roles = referentiel_roles_in_instance($referentiel_instance->id); $iseditor = $roles->is_editor; $isadmin = $roles->is_admin; $isteacher = $roles->is_teacher; $istutor = $roles->is_tutor; $isstudent = $roles->is_student; // recuperer les certificats if (!empty($list_userids)) { // liste d'utilisateurs obtenus par les pedagogies $tuserids = explode(',', $list_userids); foreach ($tuserids as $userid) { // forcer la generation if ($userid) { $records[] = $userid; } } } else { if ($isadmin && $select_all) { // tous les utilisateurs ayant un certificat // tous les utilisateurs ayant un certificat if ($record_id_users = referentiel_get_certificats_id_users($referentiel_instance->ref_referentiel)) { foreach ($record_id_users as $record_id) { $records[] = $record_id->userid; } } } else { // recuperer les utilisateurs filtres if (!empty($userid_filtre)) { // un seul certificat $records[] = $userid_filtre; } else { // teachers :: les certificats du cours seulement if (!empty($select_acc)) { // eleves accompagnes $record_id_users = referentiel_get_accompagnements_teacher($referentiel_instance->id, $course->id, $USER->id); } else { $record_id_users = referentiel_get_students_course($course->id, $userid_filtre, 0); } // groupes ? if ($gusers && $record_id_users) { $record_users = array_intersect($gusers, array_keys($record_id_users)); // recopier $record_id_users = array(); foreach ($record_users as $record_id) { $a_obj = new stdClass(); $a_obj->userid = $record_id; $record_id_users[] = $a_obj; } } if ($record_id_users) { foreach ($record_id_users as $record_id) { // afficher la liste d'users $records[] = $record_id->userid; } } } } } } // if referentiel return $records; }