$v){ if( preg_match('/^g:(.+)$/', $k, $m) ) // g:nomGroupe $groupeOpt = $m[1]; if( preg_match('/^s:(.+)$/', $k, $m) ) // s:nomSemestre $semestreOpt = $m[1]; if( preg_match('/^f:(.+)$/', $k, $m) ) // f:codeFormation $formationOpt = $m[1]; if( preg_match('/^a:(.+)$/', $k, $m) ) // a:annee $anneeOpt = $m[1]; } $groupeOpt = ($groupeOpt == null || $groupeOpt == '*') ? null : $groupeOpt; $semestreOpt = ($semestreOpt == null || $semestreOpt == '*') ? null : $semestreOpt; $formationOpt = ($formationOpt == null || $formationOpt == '*') ? null : $formationOpt; $anneeOpt = ($anneeOpt == null || $anneeOpt == '*') ? null : $anneeOpt; /************************/ /*** TOUS LES GROUPES ***/ /************************/ /* * UTILISATEUR -> affichage du même semestre * */ if( permission('student') ){ // si connecté && utilisateur $request = new stdClass(); $answer = new stdClass(); $request->level_1 = 'grouplist'; // $request->formation = $_SESSION['formation']; $request->semestre = $_SESSION['semestre']; // $request->annee = $_SESSION['annee']; groupsManager::switch_level_1($request, $answer); if( $answer->request == 'success' ){ // si pas d'erreur ////////////////////////////////////////////////////////////// echo "
"; echo ""; echo '
Identifiant'; echo 'Prenom'; echo 'Nom'; echo 'Semestre'; echo 'Groupe'; echo '
'; foreach($answer->grouplist as $group){ // pour chaque groupe if( count($group['userlist']) > 0 ){ // s'il y a des utilisateurs echo ""; echo ''; // pour chaque utilisateur foreach($group['userlist'] as $user){ echo ''; echo "'; echo ''; echo ''; echo ''; echo ''; echo ''; } // echo ''; echo ''; echo '
".$user['identifiant'].''.$user['prenom'].''.$user['nom'].''.$group['semestre'].'Groupe '.$group['nom'].'
'; } } echo '
'; //////////////////////////////////////////////////////// }else echo "
Aucun groupe trouvé
"; } /******************/ /*** MON GROUPE ***/ /******************/ /* * * ETUDIANT -> son groupe de son semestre * */ if( permission('student') ){ // si l'utilisateur est connecté et que c'est un élève $request = new stdClass(); $answer = new stdClass(); $request->level_1 = 'userlist'; $request->etudiant = $_SESSION['identifiant']; // $request->formation = $_SESSION['formation']; $request->semestre = $_SESSION['semestre']; // $request->annee = $_SESSION['annee']; groupsManager::switch_level_1($request, $answer); if( $answer->request == 'success' ){ // si on a bien récupéré les membres du groupe //////////////////////////////////////////////////////////////////////////////// echo "
"; echo ""; echo ''; echo ''; echo ''; echo '
'; echo 'Groupe '.$answer->userlist['groupe']; echo '
'; echo ""; // pour chaque utilisateur foreach($answer->userlist as $user){ if( $user != $answer->userlist['groupe'] ){ echo ''; echo "'; echo ''; echo ''; echo ''; echo ''; echo ''; }} echo '
".$user['identifiant'].''.$user['prenom'].''.$user['nom'].''.$user['semestre'].'Groupe '.$answer->userlist['groupe'].'
'; echo '
'; //////////////////////////////////////////////////////////////////////////////// }else echo "
Aucun groupe trouvé
"; echo ''; } ?> les groupes inscrits aux modules qu'il enseigne * */ if( permission('teacher') ){ // si l'utilisateur est connecté et que c'est un élève $request = new stdClass(); $answer = new stdClass(); $request->level_1 = 'grouplistForTeacher'; $request->enseignant = $_SESSION['identifiant']; $request->annee = $_SESSION['annee']; groupsManager::switch_level_1($request, $answer); // var_dump( $answer ); if( $answer->request == 'success' && $answer->request == 'success' && count($answer->grouplist) > 0 ){ // si on a bien récupéré les membres du groupe //////////////////////////////////////////////////////////////////////////////// echo "
"; /* ON RECUPERE UNE LISTE UNIQUE DES SEMESTRES */ $ListeUIDFormations = array(); $ListeUIDSemestres = array(); $ListeUIDGroupes = array(); // Vérification de la formation si elle est définie $verificationUIDFormations = array(); foreach($answer->grouplist as $groupe) // on récupère la liste des UID de FORMATIONS if( !in_array($groupe['id_formation'], $verificationUIDFormations) ) array_push($verificationUIDFormations, $groupe['id_formation']); // si la formation optionnelle n'est pas définie ou incohérente, on le fait (première valeur trouvée) $MyGroupsFormationOpt = $formationOpt; if( $MyGroupsFormationOpt == null || !in_array($MyGroupsFormationOpt, $verificationUIDFormations) ) $MyGroupsFormationOpt = $verificationUIDFormations[0]; /**************************/ /* AFFINAGE PAR FORMATION */ /**************************/ echo ""; foreach($answer->grouplist as $groupe){ if( !in_array($groupe['id_formation'], $ListeUIDFormations) ){ if( $groupe['id_formation'] == $MyGroupsFormationOpt ) // si c'est la formation séléctionnée echo "'; else // sinon on affiche normalement echo "'; // on ajoute la formation à la liste pour ne pas la répéter array_push($ListeUIDFormations, $groupe['id_formation']); }} echo "
".$groupe['formation'].'".$groupe['formation'].'
"; /*************************/ /* AFFINAGE PAR SEMESTRE */ /*************************/ echo ""; if( $semestreOpt == null ) echo ""; else echo ""; /* On récupère la liste des SEMESTRES en accord avec la FORMATION sélectionnée */ foreach($answer->grouplist as $groupe){ if( $groupe['id_formation'] == $MyGroupsFormationOpt && !in_array($groupe['id_semestre'], $ListeUIDSemestres) ){ if( $groupe['id_semestre'] == $semestreOpt ) // si c'est le groupe séléctionné echo "'; else // sinon on affiche normalement echo "'; // on ajoute le semestre à la liste pour ne pas le répéter array_push($ListeUIDSemestres, $groupe['id_semestre']); }} echo "
TousTous".$groupe['semestre'].'".$groupe['semestre'].'
"; /***********************/ /* AFFINAGE PAR GROUPE */ /***********************/ echo ""; echo ""; echo '
Identifiant'; echo 'Prenom'; echo 'Nom'; echo 'Semestre'; echo 'Groupe'; echo '
'; foreach($answer->grouplist as $group){ // pour chaque groupe if( $group['id_formation'] == $MyGroupsFormationOpt && ($semestreOpt==null || $semestreOpt==$group['id_semestre']) && ($groupeOpt==null || $groupeOpt==$group['id']) ){ if( count($group['userlist']) > 0 ){ // s'il y a des utilisateurs echo ""; echo ''; // pour chaque utilisateur foreach($group['userlist'] as $user){ echo ''; echo "'; echo ''; echo ''; echo ''; echo ''; echo ''; } // echo ''; echo '
".$user['identifiant'].''.$user['prenom'].''.$user['nom'].''.$group['semestre'].'Groupe '.$group['nom'].'
'; } } } echo '
'; //////////////////////////////////////////////////////////////////////////////// }/*else echo "
Aucun groupe trouvé
"; */ } ?> level_1 = 'exhaustiveList'; groupsManager::switch_level_1($requestAllGroups, $answerAllGroups); // on récupère les groupes affichés sur la page $request = new stdClass(); $answer = new stdClass(); $request->level_1 = 'grouplistForYear'; $request->annee = $_SESSION['annee']; groupsManager::switch_level_1($request, $answer); // on fait la requête pour les groupes en fonction des filtres si définis if( $answer->request == 'success' && $answerAllGroups->request == 'success' ){ // si pas d'erreur ////////////////////////////////////////////////////////////// echo "
"; /* ON RECUPERE UNE LISTE UNIQUE DES SEMESTRES */ $ListeUIDFormations = array(); $ListeUIDSemestres = array(); $ListeUIDGroupes = array(); // Vérification de la formation si elle est définie $verificationUIDFormations = array(); foreach($answer->grouplist as $groupe) // on récupère la liste des UID de FORMATIONS if( !in_array($groupe['id_formation'], $verificationUIDFormations) ) array_push($verificationUIDFormations, $groupe['id_formation']); $moveStudentsFormationOpt = $formationOpt; // si la formation optionnelle n'est pas définie ou incohérente et si au moins 1 choix, on le fait (première valeur trouvée) if( ($moveStudentsFormationOpt == null || !in_array($moveStudentsFormationOpt, $verificationUIDFormations)) && count($verificationUIDFormations) > 0 ) $moveStudentsFormationOpt = $verificationUIDFormations[0]; /**************************/ /* AFFINAGE PAR FORMATION */ /**************************/ echo ""; foreach($answer->grouplist as $groupe){ if( !in_array($groupe['id_formation'], $ListeUIDFormations) ){ // si c'est la formation séléctionnée if( $groupe['id_formation'] == $moveStudentsFormationOpt ) echo "'; else echo "'; // on ajoute la formation à la liste pour ne pas la répéter array_push($ListeUIDFormations, $groupe['id_formation']); }} echo "
".$groupe['formation'].'".$groupe['formation'].'
"; /*************************/ /* AFFINAGE PAR SEMESTRE */ /*************************/ echo ""; if( $semestreOpt == null ) echo ""; else echo ""; /* On récupère la liste des SEMESTRES en accord avec la FORMATION sélectionnée */ foreach($answer->grouplist as $groupe){ if( $groupe['id_formation'] == $moveStudentsFormationOpt && !in_array($groupe['id_semestre'], $ListeUIDSemestres) ){ // si c'est le semestre séléctionné if( $groupe['id_semestre'] == $semestreOpt ) echo "'; else echo "'; // on ajoute le semestre à la liste pour ne pas le répéter array_push($ListeUIDSemestres, $groupe['id_semestre']); }} echo "
TousTous".$groupe['semestre'].'".$groupe['semestre'].'
"; /***********************/ /* AFFINAGE PAR GROUPE */ /***********************/ echo ""; foreach($answer->grouplist as $group){ // pour chaque groupe if( $group['id_formation'] == $moveStudentsFormationOpt && ($semestreOpt==null || $semestreOpt==$group['id_semestre']) && ($groupeOpt==null || $groupeOpt==$group['id']) ){ if( count($group['userlist']) > 0 ){ // s'il y a des utilisateurs if( permission('admin') ) echo ""; else echo "
"; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; // pour chaque utilisateur foreach($group['userlist'] as $user){ echo ''; echo "'; echo ''; echo ''; echo ''; echo ''; echo ''; } /* après chaque groupe on propose de déplacer les élèves cochés */ // l'admin uniquement peut déplacer les étudiants /**/ if( permission('admin') ){ echo ""; echo ""; echo ""; echo ""; } // echo ''; echo ''; echo '
'; echo 'Groupe '.$group['nom'].''; echo '
".$user['identifiant'].''.$user['prenom'].''.$user['nom'].''.$group['nom'].''; // l'admin uniquement peut déplacer les étudiants /**/ if( permission('admin') ){ /* CHANGEMENT DE GROUPE */ echo " déplacer"; } echo '
Déplacer les élèves selectionnés vers: "; echo "'; echo "
déplacer les étudiants
"; echo "
'; } } } echo '
'; //////////////////////////////////////////////////////// }else echo "
Aucun groupe trouvé
"; } ?> "; /* [1] Exportation ==========================================*/ // si annéeOpt n'est pas définie, on le fait if( $anneeOpt == null ) $anneeOpt = $_SESSION['annee']; /* ON RÉCUPÈRE LA LISTE DES SEMESTRES EN FONCTION DE L'ANNEE */ $request = new stdClass(); $answer = new stdClass(); $request->level_1 = 'getSemestres'; groupsManager::switch_level_1($request, $answer); // on fait la requête pour les groupes en fonction des filtres si définis if( $answer->request == 'success' ){ // si pas d'erreur echo "
"; $anneesListe = array(); $semestresListe = array(); /**********************/ /* AFFINAGE PAR ANNEE */ /**********************/ echo "Exportation des listes d'étudiants
"; echo "(Format compatible Microsoft Office, Open Office et Libre Office)
"; /* AFFINAGE POUR LES 5 ANNEES SUIVANTES */ echo "

"; /*************************/ /* AFFINAGE PAR SEMESTRE */ /*************************/ foreach($answer->yearList as $annee){ if( $anneeOpt == $annee['annee'] ){ // on récupère la liste des ids foreach($annee['semestres'] as $semestre){ if( !in_array($semestre['id'], $semestresListe) ){ array_push($semestresListe, $semestre['id']); }} }} // si semestreOpt n'est pas cohérent (pas pour cette année) if( !in_array($semestreOpt, $semestresListe) ) $semestreOpt = null; echo "
"; if( $semestreOpt == null ) echo "Tous"; else echo "Tous"; /* On récupère la liste des SEMESTRES en accord avec l'ANNEE sélectionnée */ foreach($answer->yearList as $annee){ if( $anneeOpt == $annee['annee'] ){ foreach($annee['semestres'] as $semestre){ if( in_array($semestre['id'], $semestresListe) ){ if( $semestre['id'] == $semestreOpt ) // si c'est le semestre séléctionné echo "".$semestre['formation']." - ".$semestre['nom'].''; else // sinon on affiche normalement echo "".$semestre['formation']." - ".$semestre['nom'].''; }} }} echo "


"; // si on a selectionné un semestre if( $semestreOpt != null ) foreach($answer->yearList as $annee){ if( $anneeOpt == $annee['annee'] ){ foreach($annee['semestres'] as $semestre){ if( $semestreOpt == $semestre['id'] ){ echo "".$semestre['nb_etudiants']." étudiants

"; }}}} else{ // si on a selectionné "Tous" $nbTotal = 0; foreach($answer->yearList as $annee){ if( $anneeOpt == $annee['annee'] ){ foreach($annee['semestres'] as $semestre){ $nbTotal += $semestre['nb_etudiants']; }}} echo "".$nbTotal." étudiants

"; } echo "
Télécharger le fichier
"; echo "
"; }else echo "

Erreur interne

"; // l'admin uniquement peut importer if( permission('admin') ){ /* [2] Importation ==========================================*/ $currentYear = $_SESSION['annee']; // si annéeOpt n'est pas définie, on le fait if( $anneeOpt == null || $anneeOpt < $currentYear ) $anneeOpt = $currentYear; /* ON RÉCUPÈRE LA LISTE DES SEMESTRES EN FONCTION DE L'ANNEE */ $request = new stdClass(); $answer = new stdClass(); // $request->level_1 = 'getSemestres'; // groups_switch_level_1($request, $answer); // on fait la requête pour les groupes en fonction des filtres si définis // if( $answer->request == 'success' ){ // si pas d'erreur echo "
"; $anneesListe = array(); /**********************/ /* AFFINAGE PAR ANNEE */ /**********************/ echo "Importation des listes d'étudiants
"; echo "(Fichier .xlsx suivant le modèle : modèle de fichier)
"; /* AFFINAGE POUR LES 5 ANNEES SUIVANTES */ echo "
"; // echo "
"; echo "Rang du semestre :"; echo "
"; // echo "
Importer une liste
"; echo "
Importer une liste
"; echo "
"; } echo "
"; } ?>