$v){ if( preg_match('/^u:(.+)$/', $k, $m) ) // u:nomUe $ueOpt = $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:codeFormation $anneeOpt = $m[1]; } $ueOpt = ($ueOpt == null || $ueOpt == '*') ? null : $ueOpt; $semestreOpt = ($semestreOpt == null || $semestreOpt == '*') ? null : $semestreOpt; $formationOpt = ($formationOpt == null || $formationOpt == '*') ? null : $formationOpt; $anneeOpt = ($anneeOpt == null || $anneeOpt == '*') ? null : $anneeOpt; /**************/ /*** PROFIL ***/ /**************/ if( connected() ){ // si l'utilisateur est connecté $infos = userRepo::info($_SESSION['identifiant']); $droits = explode(',', $infos['droits']); echo "
"; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
Identifiant'.$infos['identifiant'] .'
Prénom' .ucfirst($infos['prenom']).'
Nom' .strtoupper($infos['nom']).'
Statut'; $count = 0; foreach ($droits as $droit) { if( $count > 0 ) echo ', '; switch($droit){ case 'admin' : echo 'administrateur'; break; case 'master' : echo 'référent'; break; case 'teacher': echo 'enseignant'; break; case 'student': echo 'étudiant'; break; default: echo 'inconnu'; break; } $count++; } echo '
Mail'.$infos['mail'].'
'; echo '
'; } /*****************************/ /*** ATTRIBUTION DES RÔLES ***/ /*****************************/ if( permission('admin') ){ // on récupère tous les modules de l'année pour l'affinage $rAffinage = new stdClass(); $aAffinage = new stdClass(); $rAffinage->level_1 = 'getByYear'; $rAffinage->annee = (String) $_SESSION['annee']; modulesManager::switch_level_1($rAffinage, $aAffinage); // création de la requête d'affichage des utilisateurs à rôles $request = new stdClass(); $answer = new stdClass(); $request->level_1 = 'getListeEnseignantsModules'; // gestion de la requête userManager::switch_level_1($request, $answer); if( $answer->request == 'success' && $aAffinage->request == 'success' ){ // si aucune erreur $allSemestres = $aAffinage->semestres; // liste du programme de l'année courante echo "
"; /* ON RECUPERE UNE LISTE UNIQUE DES SEMESTRES */ $ListeUIDFormations = array(); $ListeUIDSemestres = array(); $ListeUIDUE = array(); // Vérification de la formation si elle est définie $verificationUIDFormations = array(); foreach($allSemestres as $semestre) // on récupère la liste des UID de FORMATIONS if( !in_array($semestre['id_formation'], $verificationUIDFormations) ) array_push($verificationUIDFormations, $semestre['id_formation']); // si la formation optionnelle n'est pas définie ou incohérente, on le fait (première valeur trouvée) if( $formationOpt == null || !in_array($formationOpt, $verificationUIDFormations) ) if( count($verificationUIDFormations) == 0 ) // si aucune formation trouvée $formationOpt = 0; else $formationOpt = $verificationUIDFormations[0]; /**************************/ /* AFFINAGE PAR FORMATION */ /**************************/ echo ""; foreach($allSemestres as $semestre){ if( !in_array($semestre['id_formation'], $ListeUIDFormations) ){ if( $semestre['id_formation'] == $formationOpt ) // 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, $semestre['id_formation']); }} echo "
".$semestre['formation'].'".$semestre['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($allSemestres as $semestre){ if( $semestre['id_formation'] == $formationOpt && !in_array($semestre['id'], $ListeUIDSemestres) ){ if( $semestre['id'] == $semestreOpt ) // si c'est le semestre 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, $semestre['id']); }} echo "
TousTous".$semestre['nom'].'".$semestre['nom'].'
"; /*******************/ /* AFFINAGE PAR UE */ /*******************/ echo ""; if( $ueOpt == null ) echo ""; else echo ""; /* On récupère la liste des UEs en accord avec la FORMATION et le SEMESTRE sélectionnés */ foreach($allSemestres as $semestre){ if( $semestre['id_formation'] == $formationOpt && in_array($semestre['id'], $ListeUIDSemestres) ){ foreach($semestre['UElist'] as $UE){ if( !in_array($UE['id'], $ListeUIDUE) ){ if( $UE['id'] == $ueOpt ) // si c'est l'UE séléctionnée echo "'; else // sinon on affiche normalement echo "'; // on ajoute l'UE à la liste pour ne pas le répéter array_push($ListeUIDUE, $UE['id']); }} }} echo "
TousTous".$UE['nom'].'".$UE['nom'].'
"; /**************************************************************/ /* ON DEFINIT LA LISTE DES MODULES EN FONCTION DE L'AFFINNAGE */ /**************************************************************/ $completeModuleList = array(); // contiendra la liste des modules // on affiche les semestres en fonction de l'affinage foreach($allSemestres as $semestre){ if( ($semestreOpt == null || $semestre['id'] == $semestreOpt) && ($formationOpt == null || $semestre['id_formation'] == $formationOpt) ){ // on affiche les semestres en fonction de l'affinage // on afficha les UE en fonction de l'affinage foreach($semestre['UElist'] as $UE){ if( $ueOpt == null || $UE['id'] == $ueOpt ){ // on définit la liste des modules en fonction de ça foreach($UE['modules'] as $mod) array_push( $completeModuleList, array_merge($mod, ['id_semestre'=>$semestre['id']]) ); }} }} echo ""; foreach($answer->userlist as $user){ echo ""; echo ""; echo ""; echo ""; // si l'utilisateur est admin if( in_array('admin', $user['role']) ) echo ""; else echo ""; // si l'utilisateur est référent if( in_array('master', $user['role']) ) echo ""; else echo ""; echo ""; /* LISTE DES MODULES CORRIGEABLES */ $userModulesUID = array(); echo ""; } echo "
".$user['id']."".$user['prenom']."".$user['nom']." administrateur administrateur référent référent
"; echo ""; if( $user['semestreList'] != null ){ foreach($user['semestreList'] as $semestre){ foreach($semestre['UElist'] as $ue){ foreach($ue['modules'] as $module){ echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; array_push($userModulesUID, $module['id'].'-'.$semestre['id']); } } } } /* AJOUT DE MODULES */ echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo "
".$module['nom']." - ".$module['libelle']."".$ue['nom']." - ".$ue['libelle']."".$semestre['formation']." - ".$semestre['nom']."
Supprimer
"; foreach($module['groupes'] as $groupe){ if( $groupe['enseigne'] === true ) echo "   ".$groupe['nom']." / "; else echo "   ".$groupe['nom']." / "; } echo "
Définir comme correcteur
"; echo "
"; } } /***********************/ /*** CHANGER L'ANNEE ***/ /***********************/ if( permission('master') || permission('admin') ){ $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 "
"; echo "
"; echo "Changement de l'année de visualisation
"; echo "(uniquement les années référencées dans la base)
"; $anneesListe = array(); /* CHOIX DANS LES ANNEES EXISTANTES */ echo "
"; echo "
Changer l'année
"; echo "
"; echo "
"; } }