$v){ if( preg_match('/^g:(.+)$/', $k, $m) ) // g:nomGroupe $groupeOpt = str_replace('%20', ' ', $m[1]); if( preg_match('/^c:(.+)$/', $k, $m) ) // c:idControle $controleOpt = $m[1]; if( preg_match('/^e:(.+)$/', $k, $m) ) // e:idEtudiant $etudiantOpt = $m[1]; 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]; } $controleOpt = ($controleOpt == null || $controleOpt == '*') ? null : $controleOpt; $groupeOpt = ($groupeOpt == null || $groupeOpt == '*') ? null : $groupeOpt; $etudiantOpt = ($etudiantOpt == null || $etudiantOpt == '*') ? null : $etudiantOpt; $ueOpt = ($ueOpt == null || $ueOpt == '*') ? null : $ueOpt; $semestreOpt = ($semestreOpt == null || $semestreOpt == '*') ? null : $semestreOpt; $formationOpt = ($formationOpt == null || $formationOpt == '*') ? null : $formationOpt; /**************************************** * * * SECTION "PARCOURS" * * * ***************************************** * * [1] Mes modules (eleves) notes * [2] Mes ue (eleves) notes * [3] Mes semestres (eleves) notes * [4] Graphiques (eleves) notes * *****************************************/ ?> level_1 = 'getNotesEtudiant'; $request->etudiant = $_SESSION['identifiant']; $request->formation = $_SESSION['formation']; $request->semestre = $_SESSION['semestre']; $request->annee = $_SESSION['annee']; career_switch_level_1($request, $answer); if( $answer->request == 'success' ){ // si on a bien récupéré les UE/notes //////////////////////////////////////////////////////////////////////////////// echo "
"; echo ""; if( $ueOpt == null ) echo ""; else echo ""; foreach($answer->UEs as $UE) if( $UE['nom'] == $ueOpt ) // si c'est le semestre séléctionné echo "'; else // sinon on affiche normalement echo "'; echo "
TousTous".$UE['nom'].'".$UE['nom'].'
"; foreach($answer->UEs as $UE){ // pour chaque UE if( $ueOpt == null || $UE['nom'] == $ueOpt ){ // on affiche l'UE en fonction du paramètre passé par l'URL echo ''; foreach($UE['modules'] as $module){ // pour chaque module echo ''; echo ''; foreach($module['controles'] as $controle){ // pour chaque contrôle echo ''; echo ''; if( count($controle['notes']) == 0 ) // si aucune note pour ce controle on affiche 'Pas de note' echo ''; else // si une note, alors on l'affiche echo ''; echo ""; echo ''; echo ''; } echo ''; } echo '
'.$UE['nom'].' - '.$module['nom'].' - '.$module['libelle'].'
'.$controle['libelle'].'Pas de note'.number_format($controle['notes'][0]['valeur'], 2).' / '.$controle['base'].'".$module['nom']." - ".$module['libelle']."Coefficient '.number_format($controle['coefficient'], 2).'
'; } } //////////////////////////////////////////////////////////////////////////////// echo '
'; }else echo "
Aucune note trouvée
"; } /******************************************/ /*** LES CONTRÔLES (version enseignant) ***/ /******************************************/ /* * * [1] Tous les contrôles * [2] Un contrôle particulier( avec ou sans groupe particulier ) * */ /* [1] Tous les contrôles ==================================================================*/ if( permission('teacher') && $controleOpt == null ){ // si c'est un enseignant et qu'aucun contrôle n'est spécifié $request = new stdClass(); $answer = new stdClass(); $request->level_1 = 'getControlesEnseignant'; $request->enseignant = $_SESSION['identifiant']; $request->annee = $_SESSION['annee']; career_switch_level_1($request, $answer); if( $answer->request == 'success' ){ // si on a bien récupéré les UE/notes //////////////////////////////////////////////////////////////////////////////// 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($answer->semestres 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) ) $formationOpt = $verificationUIDFormations[0]; /**************************/ /* AFFINAGE PAR FORMATION */ /**************************/ echo ""; foreach($answer->semestres 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($answer->semestres 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($answer->semestres 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'].'
"; if( count($answer->semestres) > 0 ){ // si au moins un UE foreach($answer->semestres as $semestre){ if( ($semestreOpt == null || $semestre['id'] == $semestreOpt) && ($formationOpt == null || $semestre['id_formation'] == $formationOpt) ){ // on affiche les semestres en fonction de l'affinage foreach($semestre['UElist'] as $UE){ // pour chaque UE if( $ueOpt == null || $UE['id'] == $ueOpt ){ // on affiche l'UE en fonction du paramètre passé par l'URL if( count($UE['modules']) > 0 ){ // s'il y a au moins un module foreach($UE['modules'] as $module){ // pour chaque module echo ""; echo ''; if( count($module['controles']) > 0 ){ // s'il y a au moins un contrôle pour ce module foreach($module['controles'] as $controle){ // pour chaque contrôle echo ''; echo ""; echo ""; echo ""; if( $controle['moyenne'] == null ) // si il y a au moins une note pour ce contrôle echo ''; else echo ''; // echo ''; echo ''; echo ''; // echo "'; } }else // si aucun contrôle pour ce module echo ""; echo ''; } } echo '
'.$semestre['nom_formation'].' - '.$semestre['nom'].'
".$controle['libelle']."".$module['nom']." - ".$module['libelle']."".$UE['nom']." - ".$UE['libelle']."Pas notéMoyenne de '.number_format($controle['moyenne'], 2).' / '.$controle['base'].''.number_format($controle['moyenne'], 2).'Coefficient '.number_format($controle['coefficient'], 2).'
"; // echo '
Aucun contrôle trouvé
'; } } } } } //////////////////////////////////////////////////////////////////////////////// echo '
'; }/*else echo "
Aucun contrôle trouvé
"; */ } /* [2] Un contrôle particulier( avec ou sans groupe particulier ) ==================================================================*/ elseif( permission('teacher') ){ // si enseignant et qu'un contrôle est spécifié $request = new stdClass(); $answer = new stdClass(); $request->level_1 = 'getNotesEnseignant'; $request->enseignant = $_SESSION['identifiant']; $request->controle = $controleOpt; if( $groupeOpt != null ) $request->groupe = $groupeOpt; // on définit le groupe s'il est spécifié career_switch_level_1($request, $answer); if( $answer->request == 'success' ){ echo "
"; // bouton retour // echo "
Retour
"; // echo "
"; echo ""; echo "'; echo ''; echo ""; echo ""; /* [1] Affichage par groupes ====================================================================================*/ if( $groupeOpt == null ){ if( $answer->controle['moyenne'] == null ) // si il y a au moins une note pour ce contrôle echo ''; else echo ''; /* [2] Affichage par élèves ====================================================================================*/ }else{ if( !isset($answer->controle['userlist']) || !is_array($answer->controle['userlist']) || count($answer->controle['userlist']) == 0 ) // si il y a au moins une note pour ce contrôle echo ''; else echo ''; } echo ''; echo ''; echo ""; /* [1] Affichage par groupes ====================================================================================*/ if( $groupeOpt == null ){ foreach($answer->controle['grouplist'] as $groupe){ // on affiche la liste des groupes avec leurs stats echo ""; echo ""; if( isset($groupe['nb_notes']) ){ // si ce groupe a des notes if( $groupe['nb_notes'] == 1 ) echo ""; else echo ""; echo ""; echo ""; }else{ // si le groupe n'a aucune note echo ""; echo ""; echo ""; } echo ""; } /* [2] Affichage par élèves ====================================================================================*/ }elseif( isset($answer->controle['userlist']) && is_array($answer->controle['userlist']) && count($answer->controle['userlist']) > 0 ){ // var_dump($answer->controle['userlist']); foreach($answer->controle['userlist'] as $user){ // on affiche la liste des élèves avec leurs notes echo ""; echo ""; echo ""; if( $user['note'] != null ) // si on a une note echo ""; else // si noté echo ""; echo ""; echo ""; } echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } echo '
".$answer->controle['nom'].' - '.$answer->controle['libelle'].'
".$answer->controle['libelle']."".$answer->controle['module']." - ".$answer->controle['modulelib']."Pas notéMoyenne de '.number_format($answer->controle['moyenne'], 2).' / '.$answer->controle['base'].'Pas notéMoyenne de '.number_format($answer->controle['moyenne'], 2).' / '.$answer->controle['base'].'Coefficient '.number_format($answer->controle['coefficient'], 2).'
".$groupe['nom']."".$groupe['nb_notes']." note".$groupe['nb_notes']." notesAllant de ".number_format($groupe['min'], 2)." à ".number_format($groupe['max'], 2)."Moyenne de ".number_format($groupe['moyenne'], 2)." / ".$answer->controle['base']."Pas de note
".$user['identifiant']."".$user['groupe']."".number_format($user['note'], 2)." / ".$answer->controle['base']."Pas noté"; if( $user['note'] != null ) // s'il a déjà une note, on la met par défaut echo ""; else // sinon on laisse le champ vide echo ""; echo "
enregistrer
"; echo "
tout enregistrer
'; echo "
"; }else echo "
Aucun contrôle trouvé
"; } /********************************************/ /*** LES CONTRÔLES (version admin/master) ***/ /********************************************/ /* * * [1] Tous les contrôles * [2] Un contrôle particulier( avec ou sans groupe particulier ) * */ /* [1] Tous les contrôles ==================================================================*/ if( (permission('master') || permission('admin')) && $controleOpt == null ){ // si c'est un enseignant et qu'aucun contrôle n'est spécifié $request = new stdClass(); $answer = new stdClass(); $request->level_1 = 'getControlesForYear'; $request->annee = $_SESSION['annee']; career_switch_level_1($request, $answer); if( $answer->request == 'success' ){ // si on a bien récupéré les UE/notes //////////////////////////////////////////////////////////////////////////////// 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($answer->semestres 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) ) $formationOpt = $verificationUIDFormations[0]; /**************************/ /* AFFINAGE PAR FORMATION */ /**************************/ echo ""; foreach($answer->semestres 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($answer->semestres 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($answer->semestres 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'].'
"; if( count($answer->semestres) > 0 ){ // si au moins un UE foreach($answer->semestres as $semestre){ if( ($semestreOpt == null || $semestre['id'] == $semestreOpt) && ($formationOpt == null || $semestre['id_formation'] == $formationOpt) ){ // on affiche les semestres en fonction de l'affinage foreach($semestre['UElist'] as $UE){ // pour chaque UE if( $ueOpt == null || $UE['id'] == $ueOpt ){ // on affiche l'UE en fonction du paramètre passé par l'URL if( count($UE['modules']) > 0 ){ // s'il y a au moins un module foreach($UE['modules'] as $module){ // pour chaque module echo ""; echo ''; if( count($module['controles']) > 0 ){ // s'il y a au moins un contrôle pour ce module foreach($module['controles'] as $controle){ // pour chaque contrôle echo ''; echo ""; echo ""; echo ""; if( $controle['moyenne'] == null ) // si il y a au moins une note pour ce contrôle echo ''; else echo ''; // echo ''; echo ''; if( $controle['publication'] == '0' ) echo ""; else echo ""; echo ''; // echo "'; } }else // si aucun contrôle pour ce module echo ""; echo ''; } } echo '
'.$semestre['nom_formation'].' - '.$semestre['nom'].'
".$controle['libelle']."".$module['nom']." - ".$module['libelle']."".$UE['nom']." - ".$UE['libelle']."Pas notéMoyenne de '.number_format($controle['moyenne'], 2).' / '.$controle['base'].''.number_format($controle['moyenne'], 2).'Coefficient '.number_format($controle['coefficient'], 2).'
publier
cacher
"; // echo '
Aucun contrôle trouvé
'; } } } } } //////////////////////////////////////////////////////////////////////////////// echo '
'; }else echo "
Aucun contrôle trouvé
"; } /* [2] Un contrôle particulier( avec ou sans groupe particulier ) ==================================================================*/ elseif( permission('master') || permission('admin') ){ // si enseignant et qu'un contrôle est spécifié $request = new stdClass(); $answer = new stdClass(); $request->level_1 = 'getNotesForYear'; $request->controle = $controleOpt; if( $groupeOpt != null ) $request->groupe = $groupeOpt; // on définit le groupe s'il est spécifié career_switch_level_1($request, $answer); if( $answer->request == 'success' ){ echo "
"; // bouton retour // echo "
Retour
"; // echo "
"; echo ""; echo "'; echo ''; echo ""; echo ""; /* [1] Affichage par groupes ====================================================================================*/ if( $groupeOpt == null ){ if( $answer->controle['moyenne'] == null ) // si il y a au moins une note pour ce contrôle echo ''; else echo ''; /* [2] Affichage par élèves ====================================================================================*/ }else{ if( count($answer->controle['userlist']) == 0 ) // si il y a au moins une note pour ce contrôle echo ''; else echo ''; } echo ''; echo ''; echo ""; /* [1] Affichage par groupes ====================================================================================*/ if( $groupeOpt == null ){ foreach($answer->controle['grouplist'] as $groupe){ // on affiche la liste des groupes avec leurs stats echo ""; echo ""; if( isset($groupe['nb_notes']) ){ // si ce groupe a des notes if( $groupe['nb_notes'] == 1 ) echo ""; else echo ""; echo ""; echo ""; }else{ // si le groupe n'a aucune note echo ""; echo ""; echo ""; } echo ""; } /* [2] Affichage par élèves ====================================================================================*/ }else{ foreach($answer->controle['userlist'] as $user){ // on affiche la liste des élèves avec leurs notes echo ""; echo ""; echo ""; if( $user['note'] != null ) // si on a une note echo ""; else // si noté echo ""; if( permission('admin') ){ echo ""; }else // si 'master' echo ""; echo ""; } echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } echo '
".$answer->controle['nom'].' - '.$answer->controle['libelle'].'
".$answer->controle['libelle']."".$answer->controle['module']." - ".$answer->controle['modulelib']."Pas notéMoyenne de '.number_format($answer->controle['moyenne'], 2).' / '.$answer->controle['base'].'Pas notéMoyenne de '.number_format($answer->controle['moyenne'], 2).' / '.$answer->controle['base'].'Coefficient '.number_format($answer->controle['coefficient'], 2).'
".$groupe['nom']."".$groupe['nb_notes']." note".$groupe['nb_notes']." notesAllant de ".number_format($groupe['min'], 2)." à ".number_format($groupe['max'], 2)."Moyenne de ".number_format($groupe['moyenne'], 2)." / ".$answer->controle['base']."Pas de note
".$user['identifiant']."".$user['groupe']."".number_format($user['note'], 2)." / ".$answer->controle['base']."Pas noté"; if( $user['note'] != null ) // s'il a déjà une note, on la met par défaut echo ""; else // sinon on laisse le champ vide echo ""; echo "
enregistrer
"; echo "
tout enregistrer
'; echo "
"; }else echo "
Aucun contrôle trouvé
"; } /****************************************************************/ /*** LES DOSSIERS ETUDIANTS (version enseignant/admin/master) ***/ /****************************************************************/ /* * * [1] Toutes les notes d'un enseignant * */ if( (permission('master') || permission('admin')) && $etudiantOpt != null ){ include __ROOT__.'/svg.php'; $request = new stdClass(); $answer = new stdClass(); $request->level_1 = 'studentcase'; $request->etudiant = $etudiantOpt; career_switch_level_1($request, $answer); if( $answer->request == 'success' ){ // si on a bien récupéré les UE/notes //////////////////////////////////////////////////////////////////////////////// echo "
"; $parcoursChart = array(); foreach($answer->parcours as $semestre) array_push($parcoursChart, array('id'=>$semestre['id'], 'nom' => $semestre['formation'].' '.$semestre['semestre']) ); // $parcoursChart = array( // array('id' => 1, 'nom' => 'ITINN1 - S1' ), // array('id' => 2, 'nom' => 'ITINN1 - S2' ), // array('id' => 1, 'nom' => 'ITINN1 - S1' ), // array('id' => 2, 'nom' => 'ITINN1 - S2' ), // array('id' => 1, 'nom' => 'ITINN2 - S3' ), // array('id' => 1, 'nom' => 'ITINN2 - S4' ), // array('id' => 1, 'nom' => 'ITINN2 - S3' ), // array('id' => 1, 'nom' => 'ITINN2 - S4' ) // ); displayParcours( $parcoursChart ); // pour chaque semestres (tous si aucun semestreOpt, sinon uniquement le selectionné) foreach($answer->parcours as $semestre){ if( $semestreOpt == null || $semestreOpt == $semestre['id'] ){ foreach($semestre['UEs'] as $UE){ // pour chaque UE echo ""; echo "'; echo '
".$UE['nom'].' - '.$UE['libelle'].'
'; foreach($UE['modules'] as $module){ // pour chaque module echo ''; echo ''; foreach($module['controles'] as $controle){ // pour chaque contrôle echo ''; echo ''; if( count($controle['notes']) == 0 ) // si aucune note pour ce controle on affiche 'Pas de note' echo ''; else // si une note, alors on l'affiche echo ''; echo ""; echo ''; echo ''; } // moyenne du module // echo ""; echo ""; if( is_bool($module['moyenne']) ) // si aucune note pour ce controle on affiche 'Pas de note' echo ""; else // si une note, alors on l'affiche echo ""; echo ''; echo ''; } echo '
'.$module['nom'].' - '.$module['libelle'].'
'.$controle['libelle'].'Pas de note'.number_format($controle['notes'][0]['valeur'], 2).' / '.$controle['base'].'".$module['nom']." - ".$module['libelle']."Coefficient '.number_format($controle['coefficient'], 2).'
Moyenne du module
Pas de moyennemoyenne de ".number_format($module['moyenne']['moyenne'], 2)." / ".$module['moyenne']['base']."
'; } }} //////////////////////////////////////////////////////////////////////////////// echo '
'; }else echo "
Aucune note trouvée
"; } ?>