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 -&gt;'.$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.'&amp;ltdata='.$ltdata.'&amp;lmoyennes='.$lmoyennes.'&amp;lcode='.$liste_codes.'&amp;lempreinte='.$liste_empreintes.'&amp;lpoids='.$liste_poids.'&amp;affcomplet='.$affichage_complet.'&amp;titre='.$titre.'&amp;page='.$num_page.'&amp;npages='.$npages);
                echo '<div align="center"><img src="' . $CFG->wwwroot . '/mod/referentiel/graph_certificats.php?d=' . $referentiel_instance->id . '&amp;ltdata=' . $ltdata . '&amp;lmoyennes=' . $lmoyennes . '&amp;lcode=' . $liste_codes . '&amp;lempreinte=' . $liste_empreintes . '&amp;lpoids=' . $liste_poids . '&amp;affcomplet=' . $affichage_complet . '&amp;titre=' . $titre . '&amp;page=' . $num_page . '&amp;npages=' . $npages . '" border="0" title="' . get_string('statcertif', 'referentiel') . '" /></div>' . "\n";
                echo '<br />' . "\n";
            }
        }
    }
}
function referentiel_select_accompagnement_users_teachers($referentiel_instance_id, $course_id, $mode, $record_users, $record_teachers, $userid, $select_acc = 0)
{
    $s = "";
    $t_users = array();
    $t_teachers = array();
    $nb_teachers = 0;
    $nb_users = 0;
    $nb_col = 0;
    $nb_lig = 0;
    $maxcol = 8;
    $colwidth = (int) (100 / ($maxcol + 1)) . '%';
    if ($record_users) {
        foreach ($record_users as $record_u) {
            // liste d'id users
            // DEBUG
            //echo "<br />Debug :: print_lib_accompagnement.php :: 63 ::<br />\n";
            //print_object($record_u);
            $t_users[] = array('id' => $record_u->userid, 'lastname' => referentiel_get_user_nom($record_u->userid), 'firstname' => referentiel_get_user_prenom($record_u->userid));
            $t_users_id[] = $record_u->userid;
            $t_users_lastname[] = referentiel_get_user_nom($record_u->userid);
            $t_users_firstname[] = referentiel_get_user_prenom($record_u->userid);
        }
        array_multisort($t_users_lastname, SORT_ASC, $t_users_firstname, SORT_ASC, $t_users);
        $users_list = implode(',', $t_users_id);
        $nb_users = count($t_users);
        // echo "<br />Debug :: print_lib_accompagnement.php :: 79 ::<br />\n";
        // print_r($t_users);
    }
    if ($record_teachers) {
        $s .= '<div align="center">' . "\n";
        $s .= '<h3>' . get_string('aide_accompagnement', 'referentiel') . '</h3>' . "\n";
        $s .= "\n" . '<form name="form" method="post" action="accompagnement.php?d=' . $referentiel_instance_id . '&amp;action=selectaccompagnement&amp;mode=' . $mode . '">' . "\n";
        // DEBUG
        //echo "<br />Debug :: print_lib_accompagnement.php :: 63 ::<br />\n";
        //print_r($record_users);
        $s .= '<div align="center">' . "\n";
        $s .= '<input type="button" name="select_tous_enseignants" id="select_tous_enseignants" value="' . get_string('select_all', 'referentiel') . '"  onClick="return checkall()" />' . "\n";
        $s .= '&nbsp; &nbsp; &nbsp; <input type="button" name="select_aucun_enseignant" id="select_aucun_enseignant" value="' . get_string('select_not_any', 'referentiel') . '"  onClick="return uncheckall()" />' . "\n";
        $s .= '&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input type="submit" value="' . get_string('savechanges') . '" />' . "\n";
        $s .= '<input type="reset" value="' . get_string('corriger', 'referentiel') . '" />' . "\n";
        $s .= '<input type="submit" name="cancel" value="' . get_string('quit', 'referentiel') . '" />' . "\n";
        $s .= '</div>' . "\n";
        // Enseignants
        // DEBUG
        //echo "<br />Debug :: print_lib_accompagnement.php :: 39 ::<br />\n";
        //print_r($record_teachers);
        foreach ($record_teachers as $record_t) {
            // liste d'id teachers
            if ($record_t) {
                $t_teachers[] = $record_t->userid;
            }
        }
        $teachers_list = implode(',', $t_teachers);
        $nb_teachers = count($t_teachers);
        $nb_lig = $nb_teachers % $maxcol;
        $col = 0;
        $lig = 0;
        $s .= '<table class="activite">' . "\n";
        // foreach ($t_teachers as $tid) {
        $j = 0;
        $index_teacher_deb = 0;
        $index_teacher_fin = 0;
        while ($j < $nb_teachers) {
            $index_teacher_fin++;
            if ($col == 0) {
                $s .= "<tr valign='top'><th align='left' width='" . $colwidth . "'>" . get_string('eleves', 'referentiel') . ' \\ ' . get_string('referent', 'referentiel') . "</th>\n";
            }
            $s .= "<th width='" . $colwidth . "'>\n";
            $s .= "<b>" . referentiel_get_user_nom($t_teachers[$j]) . ' ' . referentiel_get_user_prenom($t_teachers[$j]) . "</b><br />\n";
            $s .= '<input type="button" name="select_enseignant" id="select_enseignant_' . $t_teachers[$j] . '" value="v"  onClick="return validerAllCheckBox(\'t_teachers[' . $t_teachers[$j] . '][]\')" />' . "\n";
            $s .= '&nbsp; &nbsp; <input type="button" name="select_enseignant" id="select_enseignant_' . $t_teachers[$j] . '" value="x"  onClick="return invaliderAllCheckBox(\'t_teachers[' . $t_teachers[$j] . '][]\')" />' . "\n";
            $s .= "</th>\n";
            // saut de ligne ?
            $col++;
            if ($col == $maxcol || $j == $nb_teachers - 1) {
                $lig++;
                $col = 0;
                $s .= "</tr>\n";
                // eleves
                for ($i = 0; $i < $nb_users; $i++) {
                    $s .= "<tr valign='top'><td width='" . $colwidth . "'>\n";
                    if ($userid == $t_users[$i]['id']) {
                        $s .= "<b>" . $t_users[$i]['lastname'] . ' ' . $t_users[$i]['firstname'] . "</b>\n";
                    } else {
                        $s .= $t_users[$i]['lastname'] . ' ' . $t_users[$i]['firstname'] . "\n";
                    }
                    $s .= "</td>";
                    $s .= referentiel_select_accompagnements_user_by_teachers($referentiel_instance_id, $course_id, $t_users[$i]['id'], $t_teachers, $index_teacher_deb, $index_teacher_fin, $colwidth);
                    $s .= "</tr>\n";
                }
                $index_teacher_deb = $index_teacher_fin;
            }
            $j++;
        }
        if ($index_teacher_deb < $nb_teachers) {
            for ($i = 0; $i < $nb_users; $i++) {
                $s .= "<tr valign='top'><td width='" . $colwidth . "'>\n";
                if ($userid == $t_users[$i]['id']) {
                    $s .= "<b>" . $t_users[$i]['lastname'] . ' ' . $t_users[$i]['firstname'] . "</b>\n";
                } else {
                    $s .= $t_users[$i]['lastname'] . ' ' . $t_users[$i]['firstname'] . "\n";
                }
                $s .= "</td>";
                $s .= referentiel_select_accompagnements_user_by_teachers($referentiel_instance_id, $course_id, $t_users[$i]['id'], $t_teachers, $index_teacher_deb, $index_teacher_fin, $colwidth);
                $s .= "</tr>\n";
            }
        }
        $nbcol = $nb_teachers > $maxcol ? $maxcol : $nb_teachers;
        $nbcol++;
        $s .= "<tr valign='top'><td align='center' colspan='" . $nbcol . "'>\n";
        $s .= '<input type="submit" value="' . get_string('savechanges') . '" />' . "\n";
        $s .= '<input type="reset" value="' . get_string('corriger', 'referentiel') . '" />' . "\n";
        $s .= '<input type="submit" name="cancel" value="' . get_string('quit', 'referentiel') . '" />' . "\n";
        $s .= '
<input type="hidden" name="select_acc" value="' . $select_acc . '" />
<input type="hidden" name="teachers_list"  value="' . $teachers_list . '" />
<input type="hidden" name="users_list"  value="' . $users_list . '" />
<input type="hidden" name="type"  value="REF" />
<!-- These hidden variables are always the same -->
<input type="hidden" name="courseid"        value="' . $course_id . '" />
<input type="hidden" name="sesskey"     value="' . sesskey() . '" />
<input type="hidden" name="mode"          value="' . $mode . '" />' . "\n";
        $s .= '</td></tr>';
        $s .= '</table>' . "\n";
        $s .= '</form>' . "\n";
        $s .= '</div>' . "\n";
    }
    return $s;
}
Example #3
0
 function write_pedago($record_asso, $record_pedago)
 {
     // initial string;
     $expout = "";
     // add comment
     // $expout .= "\npedago: $record->id  -->\n";
     if ($record_asso && $record_pedago) {
         $id = $this->writeraw(trim($record_pedago->id));
         $userid = $this->writeraw(trim($record_asso->userid));
         $username = $this->writeraw(referentiel_get_user_login($userid));
         $refrefid = $this->writeraw(trim($record_asso->refrefid));
         $date_cloture = $this->writetext(trim($record_pedago->date_cloture));
         $promotion = $this->writetext(trim($record_pedago->promotion));
         $formation = $this->writetext(trim($record_pedago->formation));
         $pedagogie = $this->writetext(trim($record_pedago->pedagogie));
         $composante = $this->writetext(trim($record_pedago->composante));
         $num_groupe = $this->writetext(trim($record_pedago->num_groupe));
         $commentaire = $this->writetext(trim($record_pedago->commentaire));
         $prenom = $this->writetext(referentiel_get_user_prenom($record_asso->userid));
         $patronyme = $this->writetext(referentiel_get_user_nom($record_asso->userid));
         $expout .= "   <pedago>\n";
         // $expout .= "    <id>$id</id>\n";
         // $expout .= "    <userid>$userid</userid>\n";
         // $expout .= "    <refrefid>$refrefid</refrefid>\n";
         $expout .= "    <username>{$username}</username>\n";
         $expout .= "    <firstname>{$prenom}</firtsname>\n";
         $expout .= "    <lastname>{$patronyme}</lastname>\n";
         $expout .= "    <date_cloture>{$date_cloture}</date_cloture>\n";
         $expout .= "    <promotion>{$promotion}</promotion>\n";
         $expout .= "    <formation>{$formation}</formation>\n";
         $expout .= "    <pedagogie>{$pedagogie}</pedagogie>\n";
         $expout .= "    <composante>{$composante}</composante>\n";
         $expout .= "    <num_groupe>{$num_groupe}</num_groupe>\n";
         $expout .= "    <commentaire>{$commentaire}</commentaire>\n";
         $expout .= "   </pedago>\n";
     }
     return $expout;
 }
function referentiel_select_users_tache($taskid, $mode, $record_users, $userid = 0)
{
    // Selection d'une liste d'utilisateurs a associer a une tache
    global $cm;
    global $course;
    $maxcol = 8;
    $s = "";
    $t_users = array();
    if ($record_users) {
        foreach ($record_users as $record_u) {
            // liste d'id users
            //
            $t_users[] = array('id' => $record_u->userid, 'lastname' => referentiel_get_user_nom($record_u->userid), 'firstname' => referentiel_get_user_prenom($record_u->userid));
            $t_users_id[] = $record_u->userid;
            $t_users_lastname[] = referentiel_get_user_nom($record_u->userid);
            $t_users_firstname[] = referentiel_get_user_prenom($record_u->userid);
        }
        array_multisort($t_users_lastname, SORT_ASC, $t_users_firstname, SORT_ASC, $t_users);
        //
        // echo "<br />Debug :: print_lib_task.php :: 1419 ::<br />\n";
        // print_r($t_users);
        // exit;
        $n = count($t_users);
        /*
        		if ($n>=100){
        			$l=$maxcol;
        			$c=(int) ($n / $l);
        		}
        		else if ($n>=50){
        			$l=$maxcol-2;
        			$c=(int) ($n / $l);
        		}
        		else if ($n>=10){
        			$l=$maxcol-4;
        			$c=(int) ($n / $l);
        		}
        		else{
        			$l=1;
        			$c=(int) ($n);		
        		}
        */
        $i = 0;
        $s .= "\n" . '<form name="form" method="post" action="souscription.php?id=' . $cm->id . '&amp;action=selectuser">' . "\n";
        $s .= '<div align="center">' . "\n";
        $s .= "\n" . '<h3>' . get_string('aide_souscription', 'referentiel') . '</h3>' . "\n";
        // MODIF JF 2012/10/09
        // DEBUG
        //echo "<br />Debug :: print_lib_task.php :: 1128 ::<br />\n";
        //print_r($record_users);
        $s .= '<input type="button" name="select_tous" id="select_tous" value="' . get_string('select_all', 'referentiel') . '"  onClick="return checkall()" />' . "\n";
        $s .= '&nbsp; &nbsp; &nbsp; <input type="button" name="select_aucun" id="select_aucun" value="' . get_string('select_not_any', 'referentiel') . '"  onClick="return uncheckall()" />' . "\n";
        $s .= '<table class="selection">' . "\n";
        $s .= '<tr valign="top">';
        // $s.='<option value="0" selected="selected">'.get_string('choisir', 'referentiel').'</option>'."\n";
        $s .= '<td>';
        // $s.='<input type="checkbox" name="select_all" id="select_all" value="1" /> '.get_string('tous', 'referentiel')."\n";
        $s .= "\n<br />\n";
        for ($j = 0; $j < $n; $j++) {
            if ($userid == $t_users[$i]['id']) {
                $s .= '<input type="checkbox" name="tuserid[]" id="tuserid_' . $t_users[$i]['id'] . '" value="' . $t_users[$i]['id'] . '" checked="checked" /> ' . $t_users[$i]['lastname'] . ' ' . $t_users[$i]['firstname'] . "\n";
            } else {
                $s .= '<input type="checkbox" name="tuserid[]" id="tuserid_' . $t_users[$i]['id'] . '" value="' . $t_users[$i]['id'] . '" /> ' . $t_users[$i]['lastname'] . ' ' . $t_users[$i]['firstname'] . "\n";
            }
            $i++;
        }
        if (NOTIFICATION_ACTIVITES) {
            $s .= '<br /><br /><span class="bold">' . get_string('notification_tache', 'referentiel') . '</span>';
            if (NOTIFICATION_AUTEUR_ACTIVITE) {
                $s .= ' (<i>' . get_string('not_activite_tache_3', 'referentiel') . '</i>)';
            } else {
                $s .= ' (<i>' . get_string('not_activite_tache_1', 'referentiel') . '</i>)';
            }
            $s .= '<br />
    <input type="radio" name="mailnow" value="1" />' . get_string('yes') . ' &nbsp; <input type="radio" name="mailnow" value="0" checked="checked" />' . get_string('no') . ' &nbsp; &nbsp;
';
        }
        $s .= '
<!-- These hidden variables are always the same -->
<input type="hidden" name="taskid"        value="' . $taskid . '" />
<input type="hidden" name="courseid"        value="' . $course->id . '" />
<input type="hidden" name="sesskey"     value="' . sesskey() . '" />
<input type="hidden" name="mode"          value="' . $mode . '" />
</form>' . "\n";
        $s .= '</td>';
        $s .= '</tr></table>' . "\n";
        $s .= '<input type="submit" value="' . get_string('select', 'referentiel') . '" />' . "\n";
        $s .= '<input type="reset" value="' . get_string('corriger', 'referentiel') . '" />' . "\n";
        $s .= '<input type="submit" value="' . get_string('cancel') . '" />' . "\n";
        $s .= '</div>' . "\n";
    }
    return $s;
}
} else {
    // print_error('You cannot call this script in that way');
    print_error(get_string('erreurscript', 'referentiel', 'Erreur01 : certificat.php'), 'referentiel');
}
// 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);
//}
require_login($course->id, false, $cm);
// pas d'autologin guest
if (!isloggedin() or isguestuser()) {
    redirect($CFG->wwwroot . '/mod/referentiel/view.php?id=' . $cm->id . '&amp;non_redirection=1');
}
$username = referentiel_get_user_nom($USER->id) . ' ' . referentiel_get_user_prenom($USER->id);
if ($titre) {
    // hack
    $titre = str_replace('_', ' ', $titre);
}
if ($page) {
    // hack
    $titre = $titre . ' (Page ' . $page . '/' . $npages . ' - ' . date("Y/m/d") . ')';
}
$t_datas = NULL;
$moyennes = NULL;
$t_code = NULL;
$t_empreinte = NULL;
$t_poids = NULL;
if (isset($_POST['lcode'])) {
    $lcode = $_POST['lcode'];
 /**
  * Turns referentiel instance into an xml segment
  * @param referentiel instanceobject
  * @return string xml segment
  */
 function write_archive()
 {
     global $CFG;
     // initial string;
     $expout = "";
     // REFERENTIEL
     if (!empty($this->rreferentiel)) {
         $expout .= $this->write_referentiel();
         // recuperer les instances associées à ce référentiel  pour l'affichage ultérieur
         $records_instance = referentiel_referentiel_get_instances($this->rreferentiel->id);
         foreach ($records_instance as $record_i) {
             $this->t_instances[$record_i->id] = $record_i;
         }
         // recuperer les etablissement associées à ce référentiel  pour l'affichage ultérieur
         $records_etablissement = referentiel_get_etablissements();
         foreach ($records_etablissement as $record_e) {
             $this->t_etablissements[$record_e->id] = $record_e;
         }
         if (!empty($this->records_users)) {
             //echo "<br />DEBUG .format/html/archive_format.php :: LIGNE 910<br />\n";
             //print_r($this->records_users);
             //echo "<br />\n";
             //exit;
             //
             // $expout .= "<users>\n";
             $u = 0;
             foreach ($this->records_users as $userid) {
                 // $expout .= "<user>\n";
                 if (is_object($userid)) {
                     $userid = $userid->userid;
                 }
                 //echo "<br />\n";
                 //echo($userid);
                 // exit;
                 $this->tab_users[$u][0] = $userid;
                 // id certificat
                 $lastname = referentiel_get_user_nom($userid);
                 $firstname = referentiel_get_user_prenom($userid);
                 //                        $this->tab_users[$u][1]=mb_strtoupper($lastname,'UTF-8').' '.mb_convert_case($firstname, MB_CASE_TITLE, 'UTF-8');
                 $this->tab_users[$u][1] = $this->m_special_case($lastname, true) . ' ' . $this->m_special_case($firstname, false);
                 $u++;
                 $expout .= '<a name="' . $userid . '"></a>' . "\n";
                 $expout .= '<p>&nbsp;</p><h3 align="center">' . mb_strtoupper($lastname, 'UTF-8') . ' ' . mb_convert_case($firstname, MB_CASE_TITLE, 'UTF-8') . '</h3>' . "\n";
                 //
                 $record_certificat = referentiel_get_certificat_user($userid, $this->rreferentiel->id);
                 if (!empty($record_certificat)) {
                     $expout .= $this->write_certificat($record_certificat);
                 } else {
                     $expout .= '<p align="center">' . get_string('nocertificat', 'referentiel') . '</p>' . "\n";
                 }
                 foreach ($this->t_instances as $record_i) {
                     //$expout .= "<activites>\n";
                     $recs = referentiel_get_activites_users_from_instance($record_i->id, $userid, '', 'userid ASC, date_creation ASC ');
                     //echo "<br />DEBUG .format/html/archive_format.php :: LIGNE 936<br />\n";
                     //print_r($recs);
                     //echo "<br />\n";
                     //exit;
                     if (!empty($recs)) {
                         $expout .= $this->write_instance($record_i);
                         $expout .= $this->write_liste_activites($recs);
                     }
                     //$expout .= "</activites>\n";
                 }
                 //$expout .= "</user>\n";
             }
             //$expout .= "</users>\n\n";
         }
     }
     return $expout;
 }
Example #7
0
 function write_etudiant($record, $nbchamps_referentiel)
 {
     // initial string;
     $s1 = '';
     $s2 = '';
     $nbchamps = 0;
     $expout = "";
     // add comment
     if ($record) {
         // DEBUG
         // echo "<br />\n";
         // print_r($record);
         // add header
         //
         $id = trim($record->id);
         $userid = trim($record->userid);
         $login = trim(referentiel_get_user_login($record->userid));
         $ref_etablissement = trim($record->ref_etablissement);
         $num_etudiant = trim($record->num_etudiant);
         $ddn_etudiant = trim($record->ddn_etudiant);
         $lieu_naissance = trim($record->lieu_naissance);
         $departement_naissance = trim($record->departement_naissance);
         $adresse_etudiant = trim($record->adresse_etudiant);
         if ($num_etudiant == $login) {
             $texte = $num_etudiant;
         } elseif ($num_etudiant == '') {
             $texte = $login;
         } else {
             $texte = $num_etudiant . " (" . $login . ")";
         }
         $s2 = '';
         $s2 .= $id . ';';
         if ($this->certificat_sel_param->certificat_sel_etudiant_nom_prenom) {
             $s2 .= $this->output_codage_caractere(trim($this->purge_sep(stripslashes(referentiel_get_user_nom($record->userid))) . ";" . $this->purge_sep(stripslashes(referentiel_get_user_prenom($record->userid))))) . ";";
         }
         if ($this->certificat_sel_param->certificat_sel_etudiant_numero) {
             $s2 .= $this->output_codage_caractere(trim($this->purge_sep(stripslashes($texte)))) . ";";
         }
         if ($this->certificat_sel_param->certificat_sel_etudiant_ddn) {
             $s2 .= $this->output_codage_caractere(trim($this->purge_sep(stripslashes($ddn_etudiant)))) . ";";
         }
         if ($this->certificat_sel_param->certificat_sel_etudiant_lieu_naissance) {
             $s2 .= $this->output_codage_caractere(trim($this->purge_sep(stripslashes($lieu_naissance)))) . ";";
             $s2 .= $this->output_codage_caractere(trim($this->purge_sep(stripslashes($departement_naissance)))) . ";";
         }
         if ($this->certificat_sel_param->certificat_sel_etudiant_adresse) {
             $s2 .= $this->output_codage_caractere(trim($this->purge_sep(stripslashes($adresse_etudiant)))) . ";";
         }
         $s1 .= $s2;
         $s1 .= " \n";
         // Etablissement
         $record_etablissement = referentiel_get_etablissement($record->ref_etablissement);
         if ($record_etablissement) {
             if ($this->certificat_sel_param->certificat_sel_etudiant_etablissement) {
                 $s1 .= $this->write_etablissement($record_etablissement, $nbchamps_referentiel);
             }
         }
         $expout .= $s1;
     }
     return $expout;
 }
function referentiel_select_users_activite_2_tab($record_users, $userid = 0, $select_acc = 0, $mode = 'listactivity', $initiales = '', $data_f = NULL)
{
    // SELECT INPUT  ALPHABETIQUE
    global $CFG;
    global $cm;
    global $course;
    $maxcol = MAXBOITESSELECTION;
    $s = "";
    $t_users = array();
    $t_users_id = array();
    $t_users_firstname = array();
    $t_users_lastname = array();
    if ($record_users) {
        // $s.='<option value="0" selected="selected">'.get_string('choisir', 'referentiel').'</option>'."\n";
        foreach ($record_users as $record_u) {
            // liste d'id users
            //
            if (!empty($record_u->userid)) {
                $firstname = referentiel_get_user_prenom($record_u->userid);
                $lastname = referentiel_get_user_nom($record_u->userid);
                $initiale = mb_strtoupper(substr($lastname, 0, 1), 'UTF-8');
                $t_users[] = array('id' => $record_u->userid, 'lastname' => $lastname, 'firstname' => $firstname, 'initiale' => $initiale);
                $t_users_id[] = $record_u->userid;
                $t_users_lastname[] = $lastname;
                $t_users_firstname[] = $firstname;
            }
        }
        array_multisort($t_users_lastname, SORT_ASC, $t_users_firstname, SORT_ASC, $t_users);
        $alpha = explode(',', get_string('alphabet', 'referentiel'));
        foreach ($t_users as $an_user) {
            if (!empty($an_user)) {
                // print_object($an_user);
                $t_alphabetique[$an_user['initiale']][] = $an_user['id'] . "," . $an_user['firstname'] . "," . $an_user['lastname'];
                if (!isset($t_id_alphabetique[$an_user['initiale']])) {
                    $t_id_alphabetique[$an_user['initiale']] = $an_user['id'];
                } else {
                    $t_id_alphabetique[$an_user['initiale']] .= '_' . $an_user['id'];
                }
            }
        }
        // Should use this variable so that we don't break stuff every time a variable is added or changed.
        $baseurl = $CFG->wwwroot . '/mod/referentiel/activite.php?id=' . $cm->id . '&amp;action=selectuser&amp;initiale=';
        $baseurl1 = '&amp;userids=';
        $baseurl2 = '&amp;select_acc=' . $select_acc . '&amp;mode=' . $mode . '&amp;courseid=' . $course->id . '&amp;sesskey=' . sesskey();
        if (!empty($data_f)) {
            $baseurl3 = '&amp;f_auteur=' . $data_f->f_auteur . '&amp;f_referent=' . $data_f->f_referent . '&amp;f_validation=' . $data_f->f_validation . '&amp;f_date_modif=' . $data_f->f_date_modif . '&amp;f_date_modif_student=' . $data_f->f_date_modif_student;
        } else {
            $baseurl3 = '';
        }
        // alphabetic selection alphabetique
        $s .= '<div align="center">' . "\n";
        $s .= '<a class="select" href="' . $baseurl . $baseurl1 . $baseurl2 . $baseurl3 . '">' . get_string('tous', 'referentiel') . '</a> ' . "\n";
        foreach ($alpha as $letter) {
            if (!empty($t_alphabetique[$letter])) {
                $s .= '<a class="select" href="' . $baseurl . $letter . $baseurl1 . $t_id_alphabetique[$letter] . $baseurl2 . $baseurl3 . '">' . $letter . '</a> ' . "\n";
            } else {
                $s .= '' . $letter . ' ' . "\n";
            }
        }
        $s .= '</div><br />' . "\n";
        $s .= '<div align="center">' . "\n";
        // How many boxes ?
        $size = 4;
        $n = count($t_users);
        if ($n >= 48) {
            $l = $maxcol;
            $c = (int) ($n / $l);
            $size = 8;
        } elseif ($n >= 18) {
            $l = $maxcol;
            $c = (int) ($n / $l);
            $size = 6;
        } elseif ($n >= 6) {
            $l = $maxcol - 2;
            $c = (int) ($n / $l);
        } else {
            $l = 1;
            $c = (int) $n;
        }
        if ($c * $l == $n) {
            $reste = false;
        } else {
            $reste = true;
        }
        $i = 0;
        $s .= '<table class="selection">' . "\n";
        $s .= '<tr valign="top">' . "\n";
        for ($j = 0; $j < $l; $j++) {
            $s .= '<td>' . "\n";
            $s .= "\n" . '<form name="form" method="post" action="activite.php?id=' . $cm->id . '&amp;action=selectuser">' . "\n";
            $s .= '<select name="userid" id="userid" size="' . $size . '">' . "\n";
            if ($j < $l - 1) {
                if ($userid == '' || $userid == 0) {
                    $s .= '<option value="0" selected="selected">' . get_string('choisir', 'referentiel') . '</option>' . "\n";
                } else {
                    $s .= '<option value="0">' . get_string('choisir', 'referentiel') . '</option>' . "\n";
                }
            } else {
                if ($reste) {
                    if ($userid == '' || $userid == 0) {
                        $s .= '<option value="0" selected="selected">' . get_string('choisir', 'referentiel') . '</option>' . "\n";
                    } else {
                        $s .= '<option value="0">' . get_string('choisir', 'referentiel') . '</option>' . "\n";
                    }
                } else {
                    if ($userid == '' || $userid == 0) {
                        $s .= '<option value="0" selected="selected">' . get_string('tous', 'referentiel') . '</option>' . "\n";
                    } else {
                        $s .= '<option value="0">' . get_string('tous', 'referentiel') . '</option>' . "\n";
                    }
                }
            }
            for ($k = 0; $k < $c; $k++) {
                if ($userid == $t_users[$i]['id']) {
                    $s .= '<option value="' . $t_users[$i]['id'] . '" selected="selected">' . referentiel_nom_prenom($t_users[$i]['lastname'], $t_users[$i]['firstname']) . '</option>' . "\n";
                } else {
                    $s .= '<option value="' . $t_users[$i]['id'] . '">' . referentiel_nom_prenom($t_users[$i]['lastname'], $t_users[$i]['firstname']) . '</option>' . "\n";
                }
                $i++;
            }
            $s .= '</select>' . "\n";
            if (!empty($data_f)) {
                $s .= '
<input type="hidden" name="f_auteur" value="' . $data_f->f_auteur . '" />
<input type="hidden" name="f_validation" value="' . $data_f->f_validation . '" />
<input type="hidden" name="f_referent" value="' . $data_f->f_referent . '" />
<input type="hidden" name="f_date_modif" value="' . $data_f->f_date_modif . '" />
<input type="hidden" name="f_date_modif_student" value="' . $data_f->f_date_modif_student . '" />
';
            }
            $s .= '<br /><input type="submit" value="' . get_string('select', 'referentiel') . '" />' . "\n";
            $s .= '
<!-- accompagnement -->
<input type="hidden" name="select_acc"        value="' . $select_acc . '" />
<!-- These hidden variables are always the same -->
<input type="hidden" name="courseid"        value="' . $course->id . '" />
<input type="hidden" name="sesskey"     value="' . sesskey() . '" />
<input type="hidden" name="mode"          value="' . $mode . '" />' . "\n";
            $s .= '</form>' . "\n";
            $s .= '</td>' . "\n";
        }
        if ($i < $n) {
            $s .= '<td>';
            $s .= '<form name="form" method="post" action="activite.php?id=' . $cm->id . '&amp;action=selectuser">' . "\n";
            $s .= '<select name="userid" id="userid" size="' . $size . '">' . "\n";
            if ($userid == '' || $userid == 0) {
                $s .= '<option value="0" selected="selected">' . get_string('tous', 'referentiel') . '</option>' . "\n";
            } else {
                $s .= '<option value="0">' . get_string('tous', 'referentiel') . '</option>' . "\n";
            }
            while ($i < $n) {
                if ($userid == $t_users[$i]['id']) {
                    $s .= '<option value="' . $t_users[$i]['id'] . '" selected="selected">' . referentiel_nom_prenom($t_users[$i]['lastname'], $t_users[$i]['firstname']) . '</option>' . "\n";
                } else {
                    $s .= '<option value="' . $t_users[$i]['id'] . '">' . referentiel_nom_prenom($t_users[$i]['lastname'], $t_users[$i]['firstname']) . '</option>' . "\n";
                }
                $i++;
            }
            $s .= '</select>' . "\n";
            if (!empty($data_f)) {
                $s .= '
<input type="hidden" name="f_auteur" value="' . $data_f->f_auteur . '" />
<input type="hidden" name="f_validation" value="' . $data_f->f_validation . '" />
<input type="hidden" name="f_referent" value="' . $data_f->f_referent . '" />
<input type="hidden" name="f_date_modif" value="' . $data_f->f_date_modif . '" />
<input type="hidden" name="f_date_modif_student" value="' . $data_f->f_date_modif_student . '" />
';
            }
            $s .= '<br /><input type="submit" value="' . get_string('select', 'referentiel') . '" />' . "\n";
            $s .= '
<!-- accompagnement -->
<input type="hidden" name="select_acc" value="' . $select_acc . '" />
<!-- These hidden variables are always the same -->
<input type="hidden" name="select_acc" value="' . $select_acc . '" />
<input type="hidden" name="courseid"        value="' . $course->id . '" />
<input type="hidden" name="sesskey"     value="' . sesskey() . '" />
<input type="hidden" name="mode"          value="' . $mode . '" />' . "\n";
            $s .= '</form>' . "\n";
            $s .= '</td>';
        }
        $s .= '</tr></table>' . "\n";
        $s .= '</div>' . "\n";
    }
    return $s;
}
function referentiel_order_users($recs_activity, $order = 0)
{
    // retourne une liste d'activit‚s ordonn‚e par utilisateur
    $t_users = array();
    $t_users_firstname = array();
    $t_users_lastname = array();
    if ($recs_activity) {
        foreach ($recs_activity as $record_a) {
            // liste d'activites
            //print_objcet($record_a);
            if (!empty($record_a->userid)) {
                $firstname = referentiel_get_user_prenom($record_a->userid);
                $lastname = referentiel_get_user_nom($record_a->userid);
                //$t_activity[]=$record_a;
                $t_users[] = array('id' => $record_a->userid, 'lastname' => $lastname, 'firstname' => $firstname, 'activity' => $record_a);
                $t_users_lastname[] = $lastname;
                $t_users_firstname[] = $firstname;
            }
        }
        if ($order == -1) {
            array_multisort($t_users_lastname, SORT_DESC, $t_users_firstname, SORT_ASC, $t_users);
        } else {
            array_multisort($t_users_lastname, SORT_ASC, $t_users_firstname, SORT_ASC, $t_users);
        }
        $recs_activity = array();
        for ($i = 0; $i < count($t_users); $i++) {
            $recs_activity[] = $t_users[$i]['activity'];
        }
    }
    return $recs_activity;
}
 function presave_process($content, $userid = 0, $filename = '')
 {
     // override method to allow us to add xml headers and footers
     $lastname = referentiel_get_user_nom($userid);
     $firstname = referentiel_get_user_prenom($userid);
     // add the xml headers and footers
     $content = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" . "<referentiel>\n" . $content . "</referentiel>\n\n";
     // make the xml look nice
     $content = $this->xmltidy($content);
     return $content;
 }
function referentiel_pagination_users_pedago($course_id, $referentiel_instance_id, $referentiel_referentiel_id, $mode, $record_users, $record_pedagos)
{
    // tableau U x 1 ou 1 x P
    $s = '';
    $MAXUSERPARPAGE = 20;
    // tableau N x M
    $s = "";
    $t_users = array();
    $t_pedagos = array();
    $nb_pedagos = 0;
    $nb_users = 0;
    $t_initiales = array('A' => -1, 'B' => -1, 'C' => -1, 'D' => -1, 'E' => -1, 'F' => -1, 'G' => -1, 'H' => -1, 'I' => -1, 'J' => -1, 'K' => -1, 'L' => -1, 'M' => -1, 'N' => -1, 'O' => -1, 'P' => -1, 'Q' => -1, 'R' => -1, 'S' => -1, 'T' => -1, 'U' => -1, 'V' => -1, 'W' => -1, 'X' => -1, 'Y' => -1, 'Z' => -1);
    if ($record_users) {
        // DEBUG
        //echo "<br />Debug :: lib_pedagogie.php :: 1015 ::<br />\n";
        //print_object($record_users);
        foreach ($record_users as $record_u) {
            // liste d'id users
            // DEBUG
            //echo "<br />Debug :: lib_pedagogie.php :: 1015 ::<br />\n";
            //print_object($record_u);
            $t_users[] = array('id' => $record_u->userid, 'lastname' => referentiel_get_user_nom($record_u->userid), 'firstname' => referentiel_get_user_prenom($record_u->userid));
            $t_users_id[] = $record_u->userid;
            $t_users_lastname[] = referentiel_get_user_nom($record_u->userid);
            $t_users_firstname[] = referentiel_get_user_prenom($record_u->userid);
        }
        array_multisort($t_users_lastname, SORT_ASC, $t_users_firstname, SORT_ASC, $t_users);
        $users_list = implode(',', $t_users_id);
        $nb_users = count($t_users);
    }
    if ($record_pedagos) {
        foreach ($record_pedagos as $record_t) {
            // liste d'id pedagos
            if ($record_t) {
                $t_pedagos[] = $record_t->id;
            }
        }
    }
    if ($t_users && $t_pedagos) {
        // calculer l'indes par initiales
        for ($i = 0; $i < count($t_users); $i++) {
            $lastname = $t_users[$i]['lastname'];
            $initiale = mb_strtoupper(substr($lastname, 0, 1), 'UTF-8');
            // echo "<br />$lastname : $initiale\n";
            if ($t_initiales[$initiale] == -1) {
                $t_initiales[$initiale] = $i;
            }
        }
        // DEBUG
        // print_r($t_initiales);
        /*
        foreach ($t_initiales as $key => $value){
            if ($value!= -1) echo " $key: $value \n";
        }
        */
        // sauvegarder les resultats dans le cache
        referentiel_enregistrer_cache($referentiel_referentiel_id, $course_id, serialize($t_users), serialize($t_initiales), serialize($t_pedagos));
        $ligmin = 0;
        $ligmax = min($nb_users, $MAXUSERPARPAGE);
        return referentiel_select_users_pedago_cache($course_id, $referentiel_instance_id, $referentiel_referentiel_id, $mode, $ligmin, $ligmax);
    }
    return '';
}
Example #12
0
 function write_etudiant($record)
 {
     // initial string;
     $expout = "";
     // add comment
     if ($record) {
         // DEBUG
         // echo "<br />\n";
         // print_r($record);
         $id = trim($record->id);
         $userid = trim($record->userid);
         $ref_etablissement = trim($record->ref_etablissement);
         $num_etudiant = trim($record->num_etudiant);
         $ddn_etudiant = trim($record->ddn_etudiant);
         $lieu_naissance = trim($record->lieu_naissance);
         $departement_naissance = trim($record->departement_naissance);
         $adresse_etudiant = trim($record->adresse_etudiant);
         $login = trim(referentiel_get_user_login($record->userid));
         if ($num_etudiant == $login) {
             $texte = $num_etudiant;
         } elseif ($num_etudiant == '') {
             $texte = $login;
         } else {
             $texte = $num_etudiant . " (" . $login . ")";
         }
         if (!$this->format_condense) {
             $expout .= "\n\n<!-- record etudiant: {$id}  -->\n";
             $expout .= "<table class=\"referentiel\">\n";
             $expout .= "<tr><td colspan='9'><b>Etudiant</b></td></tr>\n";
             $expout .= "<tr><td><b>" . get_string('id', 'referentiel') . "</b></td>\n<td><b>" . get_string('userid', 'referentiel') . "</b></td>\n<td><b>" . get_string('nom_prenom', 'referentiel') . "</b></td>\n<td><b>" . get_string('num_etudiant', 'referentiel') . "</b></td>\n<td><b>" . get_string('ddn_etudiant', 'referentiel') . "</b></td>\n<td><b>" . get_string('lieu_naissance', 'referentiel') . "</b></td\n<td><b>" . get_string('departement_naissance', 'referentiel') . "</b></td>\n<td><b>" . get_string('adresse_etudiant', 'referentiel') . "</b></td>\n<td><b>" . get_string('ref_etablissement', 'referentiel') . "</b></td>\n</td>\n<tr>\n";
             $expout .= " <td> {$id}</td><td> {$userid}</td><td> " . referentiel_get_user_info($record->userid) . "</td>\n<td> {$texte}</td><td> {$ddn_etudiant}</td><td> {$lieu_naissance}</td><td> {$departement_naissance}</td>\n<td> {$adresse_etudiant}</td><td> {$ref_etablissement}</td>\n";
             // Etablissement
             $record_etablissement = referentiel_get_etablissement($record->ref_etablissement);
             if ($record_etablissement) {
                 $expout .= $this->write_etablissement($record_etablissement);
             }
             $expout .= "</table>\n\n";
         } else {
             if ($this->format_condense == 1) {
                 $expout .= "<tr><td> {$userid}</td><td>" . referentiel_get_user_login($userid) . "</td><td> " . referentiel_get_user_info($record->userid) . "</td><td> {$num_etudiant}</td>";
             } else {
                 $expout .= "<tr><td>{$login}</td><td>{$num_etudiant}</td><td>" . referentiel_get_user_nom($userid) . "</td><td> " . referentiel_get_user_prenom($record->userid) . "</td>";
             }
         }
     }
     return $expout;
 }
function referentiel_select_users_etudiant($record_users, $mode, $userid = 0, $initiales = '', $select_acc = 0, $select_all = 0)
{
    global $cm;
    global $course;
    $maxcol = MAXBOITESSELECTION;
    $s = "";
    $t_users = array();
    $appli = "etudiant.php";
    if ($record_users) {
        // $s.='<option value="0" selected="selected">'.get_string('choisir', 'referentiel').'</option>'."\n";
        foreach ($record_users as $record_u) {
            // liste d'id users
            //
            $firstname = referentiel_get_user_prenom($record_u->userid);
            $lastname = referentiel_get_user_nom($record_u->userid);
            $initiale = mb_strtoupper(mb_substr($lastname, 0, 1), 'UTF-8');
            $t_users[] = array('id' => $record_u->userid, 'lastname' => $lastname, 'firstname' => $firstname, 'initiale' => $initiale);
            $t_users_id[] = $record_u->userid;
            $t_users_lastname[] = $lastname;
            $t_users_firstname[] = $firstname;
        }
        array_multisort($t_users_lastname, SORT_ASC, $t_users_firstname, SORT_ASC, $t_users);
        //
        // echo "<br />Debug :: print_lib_etudiant.php :: 1419 ::<br />\n";
        // print_r($t_users);
        // exit;
        $alpha = explode(',', get_string('alphabet', 'referentiel'));
        /*
        print_r($alpha);
        		echo "<br /><br />\n";
        */
        foreach ($t_users as $an_user) {
            if (!empty($an_user)) {
                // print_object($an_user);
                $t_alphabetique[$an_user['initiale']][] = $an_user['id'] . "," . $an_user['firstname'] . "," . $an_user['lastname'];
                if (!isset($t_id_alphabetique[$an_user['initiale']])) {
                    $t_id_alphabetique[$an_user['initiale']] = $an_user['id'];
                } else {
                    $t_id_alphabetique[$an_user['initiale']] .= '_' . $an_user['id'];
                }
            }
        }
        // Should use this variable so that we don't break stuff every time a variable is added or changed.
        //http://localhost/moodle/mod/referentiel/certificat.php?d=1&amp;mode=editcertif&amp;sesskey=yvj43gJOTd?id=2&amp;userid=6&amp;select_acc=0&amp;action=selectuser&amp;initiale=D&amp;userids=7&amp;select_all=0&amp;mode=editcertif&amp;course=2&amp;sesskey=yvj43gJOTd
        $baseurl = $appli . '?id=' . $cm->id . '&amp;select_acc=' . $select_acc . '&amp;action=selectuser&amp;initiale=';
        $baseurl1 = '&amp;userids=';
        $baseurl2 = '&amp;select_all=' . $select_all . '&amp;mode=' . $mode . '&amp;course=' . $course->id . '&amp;sesskey=' . sesskey();
        if (!empty($userid)) {
            $baseurl3 = '&amp;userid=' . $userid;
        } else {
            $baseurl3 = '';
        }
        // http://localhost/moodle/mod/referentiel/certificat.php?id=2&amp;select_acc=0&amp;action=selectuser&amp;initiale=A&amp;userids=6&amp;select_all=0&amp;mode=listcertif&amp;course=2&amp;sesskey=yvj43gJOTd
        // http://localhost/moodle/mod/referentiel/certificat.php?d=1&amp;mode=editcertif&amp;sesskey=yvj43gJOTd?id=2&amp;select_acc=0&amp;action=selectuser&amp;initiale=A&amp;userids=6&amp;select_all=0&amp;mode=editcertif&amp;course=2&amp;sesskey=yvj43gJOTd
        // http://localhost/moodle/mod/referentiel/certificat.php?d=1&amp;mode=editcertif&amp;sesskey=yvj43gJOTd?id=2&amp;select_acc=0&amp;action=selectuser&amp;initiale=&amp;userids=&amp;select_all=0&amp;mode=editcertif&amp;course=2&amp;sesskey=yvj43gJOTd
        // selection alphabetique
        $s .= '<div align="center">' . "\n";
        $s .= '<a class="select" href="' . $baseurl . '' . $baseurl1 . '' . $baseurl2 . $baseurl3 . '">' . get_string('tous', 'referentiel') . '</a> ' . "\n";
        foreach ($alpha as $letter) {
            if (!empty($t_alphabetique[$letter])) {
                $s .= '<a class="select" href="' . $baseurl . $letter . $baseurl1 . $t_id_alphabetique[$letter] . $baseurl2 . $baseurl3 . '">' . $letter . '</a> ' . "\n";
            } else {
                $s .= $letter . ' ' . "\n";
            }
        }
        $s .= '</div><br />' . "\n";
        // Formulaire de selection individuelle
        $n = count($t_users);
        // How many boxes ?
        $size = 4;
        $n = count($t_users);
        if ($n >= 48) {
            $l = $maxcol;
            $c = (int) ($n / $l);
            $size = 8;
        } elseif ($n >= 18) {
            $l = $maxcol;
            $c = (int) ($n / $l);
            $size = 6;
        } elseif ($n >= 6) {
            $l = $maxcol - 2;
            $c = (int) ($n / $l);
        } else {
            $l = 1;
            $c = (int) $n;
        }
        if ($c * $l == $n) {
            $reste = false;
        } else {
            $reste = true;
        }
        $i = 0;
        $s .= '<table class="selection"><tr valign="top"><td>' . "\n";
        for ($j = 0; $j < $l; $j++) {
            $s .= '<div style="max-width:250px;padding: 2px 2px 2px 2px;float:left;">' . "\n";
            if (!empty($userid)) {
                $s .= "\n" . '<form name="form" method="post" action="' . $appli . '?id=' . $cm->id . '&amp;userid=' . $userid . '&amp;select_acc=' . $select_acc . '&amp;action=selectuser">' . "\n";
            } else {
                $s .= "\n" . '<form name="form" method="post" action="' . $appli . '?id=' . $cm->id . '&amp;select_acc=' . $select_acc . '&amp;action=selectuser">' . "\n";
            }
            $s .= '<select name="userid" id="userid" size="' . $size . '">' . "\n";
            if ($j < $l - 1) {
                if ($userid == '' || $userid == 0) {
                    $s .= '<option value="0" selected="selected">' . get_string('choisir', 'referentiel') . '</option>' . "\n";
                } else {
                    $s .= '<option value="0">' . get_string('choisir', 'referentiel') . '</option>' . "\n";
                }
            } else {
                if ($reste) {
                    if ($userid == '' || $userid == 0) {
                        $s .= '<option value="0" selected="selected">' . get_string('choisir', 'referentiel') . '</option>' . "\n";
                    } else {
                        $s .= '<option value="0">' . get_string('choisir', 'referentiel') . '</option>' . "\n";
                    }
                } else {
                    if ($userid == '' || $userid == 0) {
                        $s .= '<option value="0" selected="selected">' . get_string('tous', 'referentiel') . '</option>' . "\n";
                    } else {
                        $s .= '<option value="0">' . get_string('tous', 'referentiel') . '</option>' . "\n";
                    }
                }
            }
            for ($k = 0; $k < $c; $k++) {
                if ($userid == $t_users[$i]['id']) {
                    $s .= '<option value="' . $t_users[$i]['id'] . '" selected="selected">' . referentiel_nom_prenom($t_users[$i]['lastname'], $t_users[$i]['firstname']) . '</option>' . "\n";
                } else {
                    $s .= '<option value="' . $t_users[$i]['id'] . '">' . referentiel_nom_prenom($t_users[$i]['lastname'], $t_users[$i]['firstname']) . '</option>' . "\n";
                }
                $i++;
            }
            $s .= '</select>' . "\n";
            $s .= '<br /><input type="submit" value="' . get_string('select', 'referentiel') . '" />' . "\n";
            $s .= '
<!-- tous les certificats -->
<input type="hidden" name="select_all" value="' . $select_all . '" />
<!-- accompagnement -->
<input type="hidden" name="select_acc" value="' . $select_acc . '" />
<!-- These hidden variables are always the same -->
<input type="hidden" name="courseid"        value="' . $course->id . '" />
<input type="hidden" name="sesskey"     value="' . sesskey() . '" />
<input type="hidden" name="mode"          value="' . $mode . '" />
</form>' . "\n";
            $s .= '</div>';
        }
        if ($i < $n) {
            $s .= '<div style="max-width:250px;padding: 2px 2px 2px 2px;float:left;">' . "\n";
            if (!empty($userid)) {
                $s .= "\n" . '<form name="form" method="post" action="' . $appli . '?id=' . $cm->id . '&amp;userid=' . $userid . '&amp;select_acc=' . $select_acc . '&amp;action=selectuser">' . "\n";
            } else {
                $s .= "\n" . '<form name="form" method="post" action="' . $appli . '?id=' . $cm->id . '&amp;select_acc=' . $select_acc . '&amp;action=selectuser">' . "\n";
            }
            $s .= '<select name="userid" id="userid" size="' . $size . '">' . "\n";
            if ($userid == '' || $userid == 0) {
                $s .= '<option value="0" selected="selected">' . get_string('tous', 'referentiel') . '</option>' . "\n";
            } else {
                $s .= '<option value="0">' . get_string('tous', 'referentiel') . '</option>' . "\n";
            }
            while ($i < $n) {
                if ($userid == $t_users[$i]['id']) {
                    $s .= '<option value="' . $t_users[$i]['id'] . '" selected="selected">' . referentiel_nom_prenom($t_users[$i]['lastname'], $t_users[$i]['firstname']) . '</option>' . "\n";
                } else {
                    $s .= '<option value="' . $t_users[$i]['id'] . '">' . referentiel_nom_prenom($t_users[$i]['lastname'], $t_users[$i]['firstname']) . '</option>' . "\n";
                }
                $i++;
            }
            $s .= '</select>' . "\n";
            $s .= '<br /><input type="submit" value="' . get_string('select', 'referentiel') . '" />' . "\n";
            $s .= '
<!-- tous les certificats -->
<input type="hidden" name="select_all" value="' . $select_all . '" />
<!-- accompagnement -->
<input type="hidden" name="select_acc" value="' . $select_acc . '" />
<!-- These hidden variables are always the same -->
<input type="hidden" name="select_acc" value="' . $select_acc . '" />
<input type="hidden" name="courseid"        value="' . $course->id . '" />
<input type="hidden" name="sesskey"     value="' . sesskey() . '" />
<input type="hidden" name="mode"          value="' . $mode . '" />
</form>' . "\n";
            $s .= '</div>';
        }
        $s .= '</td></tr></table>' . "\n";
    }
    return $s;
}
Example #14
0
 function write_pedago($record_asso, $record_pedago)
 {
     // initial string;
     $expout = "";
     // add comment
     // $expout .= "\npedago: $record->id  -->\n";
     if ($record_asso && $record_pedago) {
         $id = trim($record_pedago->id);
         $userid = trim($record_asso->userid);
         $username = referentiel_get_user_login($userid);
         $refrefid = trim($record_asso->refrefid);
         $date_cloture = trim($record_pedago->date_cloture);
         $promotion = $this->output_codage_caractere($this->purge_sep($record_pedago->promotion));
         $formation = $this->output_codage_caractere($this->purge_sep($record_pedago->formation));
         $pedagogie = $this->output_codage_caractere($this->purge_sep($record_pedago->pedagogie));
         $composante = $this->output_codage_caractere($this->purge_sep($record_pedago->composante));
         $num_groupe = $this->output_codage_caractere($this->purge_sep($record_pedago->num_groupe));
         $commentaire = $this->output_codage_caractere($this->purge_sep($record_pedago->commentaire));
         $expout .= "{$username};" . $this->output_codage_caractere(referentiel_get_user_prenom($record_asso->userid)) . ";" . $this->output_codage_caractere(referentiel_get_user_nom($record_asso->userid)) . ";{$date_cloture};{$promotion};{$formation};{$pedagogie};{$composante};{$num_groupe};{$commentaire};" . $this->output_codage_caractere($this->rreferentiel->code_referentiel) . ";\n";
     }
     return $expout;
 }
function referentiel_select_users_2($record_users, $userid = 0, $select_acc = 0, $mode = 'notification')
{
    global $cm;
    global $course;
    $maxcol = MAXBOITESSELECTION;
    $s = "";
    $t_users = array();
    if ($record_users) {
        $s .= '<div align="center">' . "\n";
        // $s.='<option value="0" selected="selected">'.get_string('choisir', 'referentiel').'</option>'."\n";
        foreach ($record_users as $record_u) {
            // liste d'id users
            //
            $t_users[] = array('id' => $record_u->userid, 'lastname' => referentiel_get_user_nom($record_u->userid), 'firstname' => referentiel_get_user_prenom($record_u->userid));
            $t_users_id[] = $record_u->userid;
            $t_users_lastname[] = referentiel_get_user_nom($record_u->userid);
            $t_users_firstname[] = referentiel_get_user_prenom($record_u->userid);
        }
        array_multisort($t_users_lastname, SORT_ASC, $t_users_firstname, SORT_ASC, $t_users);
        //
        // echo "<br />Debug :: print_lib_repartition.php :: 1419 ::<br />\n";
        // print_r($t_users);
        // exit;
        $n = count($t_users);
        // How many boxes ?
        $size = 4;
        $n = count($t_users);
        if ($n >= 48) {
            $l = $maxcol;
            $c = (int) ($n / $l);
            $size = 8;
        } elseif ($n >= 18) {
            $l = $maxcol;
            $c = (int) ($n / $l);
            $size = 6;
        } elseif ($n >= 6) {
            $l = $maxcol - 2;
            $c = (int) ($n / $l);
        } else {
            $l = 1;
            $c = (int) $n;
        }
        if ($c * $l == $n) {
            $reste = false;
        } else {
            $reste = true;
        }
        $i = 0;
        $s .= '<table class="selection"><tr valign="top"><td>' . "\n";
        for ($j = 0; $j < $l; $j++) {
            $s .= '<div style="max-width:250px;padding: 2px 2px 2px 2px;float:left;">' . "\n";
            $s .= "\n" . '<form name="form" method="post" action="accompagnement.php?id=' . $cm->id . '&amp;action=selectuser">' . "\n";
            $s .= '<select name="userid" id="userid" size="' . $size . '">' . "\n";
            if ($j < $l - 1) {
                if ($userid == '' || $userid == 0) {
                    $s .= '<option value="0" selected="selected">' . get_string('choisir', 'referentiel') . '</option>' . "\n";
                } else {
                    $s .= '<option value="0">' . get_string('choisir', 'referentiel') . '</option>' . "\n";
                }
            } else {
                if ($reste) {
                    if ($userid == '' || $userid == 0) {
                        $s .= '<option value="0" selected="selected">' . get_string('choisir', 'referentiel') . '</option>' . "\n";
                    } else {
                        $s .= '<option value="0">' . get_string('choisir', 'referentiel') . '</option>' . "\n";
                    }
                } else {
                    if ($userid == '' || $userid == 0) {
                        $s .= '<option value="0" selected="selected">' . get_string('choisir', 'referentiel') . '</option>' . "\n";
                        //                        $s.='<option value="0" selected="selected">'.get_string('tous', 'referentiel').'</option>'."\n";
                    } else {
                        // $s.='<option value="0">'.get_string('tous', 'referentiel').'</option>'."\n";
                        $s .= '<option value="0" selected="selected">' . get_string('choisir', 'referentiel') . '</option>' . "\n";
                    }
                }
            }
            for ($k = 0; $k < $c; $k++) {
                if ($userid == $t_users[$i]['id']) {
                    $s .= '<option value="' . $t_users[$i]['id'] . '" selected="selected">' . referentiel_nom_prenom($t_users[$i]['lastname'], $t_users[$i]['firstname']) . '</option>' . "\n";
                } else {
                    $s .= '<option value="' . $t_users[$i]['id'] . '">' . referentiel_nom_prenom($t_users[$i]['lastname'], $t_users[$i]['firstname']) . '</option>' . "\n";
                }
                $i++;
            }
            $s .= '</select>' . "\n";
            $s .= '<br /><input type="submit" value="' . get_string('select', 'referentiel') . '" />' . "\n";
            $s .= '
<!-- accompagnement -->
<input type="hidden" name="select_acc"        value="' . $select_acc . '" />
<!-- These hidden variables are always the same -->
<input type="hidden" name="course"        value="' . $course->id . '" />
<input type="hidden" name="sesskey"     value="' . sesskey() . '" />
<input type="hidden" name="mode"          value="' . $mode . '" />' . "\n";
            $s .= '</form>' . "\n";
            $s .= '</div>' . "\n";
        }
        if ($i < $n) {
            $s .= '<div style="max-width:250px;padding: 2px 2px 2px 2px;float:left;">' . "\n";
            $s .= '<form name="form" method="post" action="accompagnement.php?id=' . $cm->id . '&amp;action=selectuser">' . "\n";
            $s .= '<select name="userid" id="userid" size="' . $size . '">' . "\n";
            if ($userid == '' || $userid == 0) {
                $s .= '<option value="0" selected="selected">' . get_string('choisir', 'referentiel') . '</option>' . "\n";
                // $s.='<option value="0" selected="selected">'.get_string('tous', 'referentiel').'</option>'."\n";
            } else {
                $s .= '<option value="0" selected="selected">' . get_string('choisir', 'referentiel') . '</option>' . "\n";
                // $s.='<option value="0">'.get_string('tous', 'referentiel').'</option>'."\n";
            }
            while ($i < $n) {
                if ($userid == $t_users[$i]['id']) {
                    $s .= '<option value="' . $t_users[$i]['id'] . '" selected="selected">' . referentiel_nom_prenom($t_users[$i]['lastname'], $t_users[$i]['firstname']) . '</option>' . "\n";
                } else {
                    $s .= '<option value="' . $t_users[$i]['id'] . '">' . referentiel_nom_prenom($t_users[$i]['lastname'], $t_users[$i]['firstname']) . '</option>' . "\n";
                }
                $i++;
            }
            $s .= '</select>' . "\n";
            $s .= '<br /><input type="submit" value="' . get_string('select', 'referentiel') . '" />' . "\n";
            $s .= '
<!-- accompagnement -->
<input type="hidden" name="select_acc" value="' . $select_acc . '" />
<!-- These hidden variables are always the same -->
<input type="hidden" name="select_acc" value="' . $select_acc . '" />
<input type="hidden" name="course"        value="' . $course->id . '" />
<input type="hidden" name="sesskey"     value="' . sesskey() . '" />
<input type="hidden" name="mode"          value="' . $mode . '" />' . "\n";
            $s .= '</form>' . "\n";
            $s .= '</div>';
        }
        $s .= '</td></tr></table>' . "\n";
    }
    return $s;
}