$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]; if( preg_match('/^a:(.+)$/', $k, $m) ) // a:annee $anneeOpt = $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; $anneeOpt = ($anneeOpt == null || $anneeOpt == '*') ? null : $anneeOpt; // servira pour le dossier étudiant $semestreOptBis = $semestreOpt; /**************************************** * * * 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']; careerManager::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( $controle['publication'] == '0' || 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 encore de note'.number_format($controle['notes'][0]['valeur'], 2).' / '.$controle['base'].'".$UE['nom']." - ".$UE['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']; careerManager::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) ) if( count($verificationUIDFormations) == 0 ) // si aucune formation trouvée $formationOpt = 0; else $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']." - ".$UE['nom']." - ".$module['nom']." - ".$module['libelle']."
".$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é careerManager::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'].'
Importer les notes"; echo "
".$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['moyenneGroupe'], 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']; careerManager::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) ) if( count($verificationUIDFormations) == 0 ) // si aucune formation trouvée $formationOpt = 0; else $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 ''; /**/ // seul l'admin peut publier/cacher les notes if( permission('admin') ){ 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']." - ".$UE['nom']." - ".$module['nom']." - ".$module['libelle']."
".$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).'
caché
visible
"; // 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é careerManager::switch_level_1($request, $answer); if( $answer->request == 'success' ){ echo "
"; // bouton retour // echo "
Retour
"; // echo "
"; echo ""; echo "'; echo ''; /**/ if( permission('admin') ){ echo ""; }else{ // remplacement du "Importer notes" 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'].'
Importer les notes"; echo "
".$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['moyenneGroupe'], 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é
"; } /****************************************************************/ /*** IMPORT/EXPORT APPRÉCIATIONS JURY ***/ /* * * [1] Export modèle pour semestre * [2] Import pour semestre * */ if( permission('master') || permission('admin') ){ echo "
"; /* [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(); /**********************/ /* AFFINAGE PAR ANNEE */ /**********************/ echo "Exportation des feuilles jury d'un semestre
"; echo "(Format compatible Microsoft Office, Open Office et Libre Office)
"; /* AFFINAGE POUR LES 5 ANNEES SUIVANTES */ echo "

"; /*************************/ /* AFFINAGE PAR SEMESTRE */ /*************************/ $semestresListe = array(); foreach($answer->yearList as $annee){ if( $annee['annee'] == $anneeOpt ){ // 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), on lui donne une valeur cohérente if( !in_array($semestreOpt, $semestresListe) ) $semestreOpt = null; if( $semestreOpt == null && count($semestresListe) > 0 ) $semestreOpt = $semestresListe[0]; $count = 0; echo "
"; /* 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) ){ $count++; 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 "


"; if( $count == 0 ) // si on a trouvé aucun semestre echo "Aucun semestre pour cette année

"; else{ // 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 "
"; // l'admin peut importer un MCC 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+5 ) $anneeOpt = $currentYear; $anneeOpt = intval($anneeOpt); // on met l'année en (int) echo "
"; echo "Importation des mentions jury d'un semestre
"; echo "(Fichier .xlsx suivant le modèle : modèle de fichier)
"; /**********************/ /* AFFINAGE PAR ANNEE */ /**********************/ /* AFFINAGE POUR LES 5 ANNEES SUIVANTES */ echo "
"; /*************************/ /* AFFINAGE PAR SEMESTRE */ /*************************/ /* On récupère la liste des SEMESTRES en accord avec l'ANNEE sélectionnée */ $semestresListe = array(); foreach($answer->yearList as $annee){ if( $annee['annee'] == $anneeOpt ){ // 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; if( $semestreOpt == null && count($semestresListe) > 0 ) $semestreOpt = $semestresListe[0]; $count = 0; foreach($answer->yearList as $annee){ if( $anneeOpt == $annee['annee'] ){ $count++; echo "
"; 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 "


"; }} if( $count == 0 ) echo "Créer un semestre

"; if( $semestreOpt != null ) echo "
Importer les décisions du jury
"; echo "
"; } } echo "
"; } /****************************************************************/ /*** LES DOSSIERS ETUDIANTS (version enseignant/admin/master) ***/ /****************************************************************/ /* * * [1] Toutes les notes d'un enseignant * */ // retourne la classe correspondant à une valeur de note function noteToClass($valeur, $base){ $note = 20 * $valeur/$base; if( $note < 8 ) return 'low'; // Ne peut pas compenser elseif( $note < 10 ) return 'med'; // Peut compenser else return 'hig'; // A la moyenne } // retourne la classe correspondant à une couleur pour un semestre function noteToClassSemestre($valeur, $base, $compensable, $compensation){ $class = null; $val = 20 * $valeur/$base; if( $compensation ) // on a le semestre, avec aucun UE en dessous de 8 (ORANGE) $class = 'med'; if( !$compensable ) // non compensable (au moins un UE en dessous de 8), on a pas le semestre (ROUGE) $class = 'low'; // si rien de spécial, on définit avec les valeurs par défaut if( $class == null ){ if( $val < 10 ) $class = 'low'; // si en-dessous de 10, on a pas le semestre (ROUGE) else $class = 'hig'; // si sup/egal à 10, on a le semestre (VERT) } return $class; } if( (permission('master') || permission('admin')) && $etudiantOpt != null ){ include __ROOT__.'/src/svg_v2.php'; $request = new stdClass(); $answer = new stdClass(); $request->level_1 = 'studentcase'; $request->etudiant = $etudiantOpt; careerManager::switch_level_1($request, $answer); if( $answer->request == 'success' ){ // si on a bien récupéré les UE/notes //////////////////////////////////////////////////////////////////////////////// echo "
"; // on récupère $semestreOpt original $semestreOpt = $semestreOptBis; // selection du semestre par défaut if( $semestreOpt == null ) $semestreOpt = $answer->parcours[0]['id']; $parcoursChart = array(); /* ON CREE LE JEU DE DONNEES POUR LA GENERATION DU */ foreach($answer->parcours as $semestre){ $index = count($parcoursChart); $parcoursChart[$index] = array( 'id' => $semestre['id'], 'nom' => $semestre['code'].' '.$semestre['semestre'], 'mention' => $semestre['mention'], 'moyenne' => $semestre['moyenne'], 'compensable' => $semestre['compensable'], 'compensation' => $semestre['compensation'] ); // on spécifie les moyennes des UEs $parcoursChart[$index]['UEs'] = array(); foreach($semestre['UEs'] as $UE){ array_push( $parcoursChart[$index]['UEs'], array( 'id' => $UE['id'], 'moyenne' => $UE['moyenne'], 'capitalisation' => !in_array($UE['id'], $semestre['inactive']) ) ); } } /* ON GENERE LE DU PARCOURS */ displayParcours( $parcoursChart, $semestreOpt); // echo "
Importer le dossier
"; // 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 ''; } echo ""; /* MOYENNE MODULE */ 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 ""; /* MOYENNE UE */ // si UE non inactif dans la capitalisation, on affiche if( !in_array($UE['id'], $semestre['inactive']) ){ if( is_bool($UE['moyenne']) ) // si aucune note pour cet UE on affiche 'Pas de moyenne' echo ""; else // si un moyenne, alors on l'affiche echo ""; // UE pas utilisé dans la capitalisation, on affiche pas }else{ // sert de lien pour l'activer dans la capitalisation echo ""; } /* MOYENNE SEMESTRE */ if( is_bool($semestre['moyenne']) ) // si aucune note pour ce semestre on affiche 'Pas de moyenne' echo ""; else // si un moyenne, alors on l'affiche echo ""; echo ''; echo ''; } echo '
".$module['nom']." - ".$module['libelle']." (coeff. ".$module['coefficient'].")
".$controle['libelle']."Pas de note'.number_format($controle['notes'][0]['valeur'], 2).' / '.$controle['base'].'".$module['nom']." - ".$module['libelle']."Coefficient '.number_format($controle['coefficient'], 2).'
Pas de moyenneMoyenne module: ".number_format($module['moyenne']['moyenne'], 2)." / ".$module['moyenne']['base']."Pas de moyenneMoyenne UE: ".number_format($UE['moyenne']['moyenne'], 2)." / ".$UE['moyenne']['base']."Non pris en comptePas de moyenneMoyenne semestre: ".number_format($semestre['moyenne']['moyenne'], 2)." / ".$semestre['moyenne']['base']."
'; } }} //////////////////////////////////////////////////////////////////////////////// echo '
'; }else echo "
Aucune note trouvée
"; } ?>