2015-10-29 23:01:35 +00:00
< ? php define ( '__ROOT__' , dirname ( dirname ( __FILE__ )) );
require_once __ROOT__ . '/manager/security.php' ;
2015-12-06 19:08:28 +00:00
// require_once __ROOT__.'/manager/groups.php';
// require_once __ROOT__.'/manager/modules.php';
// require_once __ROOT__.'/manager/career.php';
2015-10-29 23:01:35 +00:00
2015-11-13 23:47:11 +00:00
/*** GESTION DES PARAMETRES OPTIONNELS ***/
2015-11-15 17:12:49 +00:00
// on initialise les paramètres optionnels
2015-11-16 18:07:39 +00:00
$controleOpt = null ;
$groupeOpt = null ;
$etudiantOpt = null ;
$ueOpt = null ;
$semestreOpt = null ;
$formationOpt = null ;
2015-11-13 23:47:11 +00:00
2015-11-15 17:12:49 +00:00
// on cherche dans toutes les variables _get si on trouve des paramètres
foreach ( $_POST as $k => $v ){
2015-11-13 23:47:11 +00:00
2015-11-15 17:12:49 +00:00
if ( preg_match ( '/^g:(.+)$/' , $k , $m ) ) // g:nomGroupe
2015-11-30 18:29:12 +00:00
$groupeOpt = str_replace ( '%20' , ' ' , $m [ 1 ]);
2015-11-13 23:47:11 +00:00
2015-11-16 12:28:24 +00:00
if ( preg_match ( '/^c:(.+)$/' , $k , $m ) ) // c:idControle
2015-11-15 17:12:49 +00:00
$controleOpt = $m [ 1 ];
2015-11-13 23:47:11 +00:00
2015-11-16 12:28:24 +00:00
if ( preg_match ( '/^e:(.+)$/' , $k , $m ) ) // e:idEtudiant
2015-11-15 17:12:49 +00:00
$etudiantOpt = $m [ 1 ];
2015-11-16 12:28:24 +00:00
if ( preg_match ( '/^u:(.+)$/' , $k , $m ) ) // u:nomUe
2015-11-15 17:12:49 +00:00
$ueOpt = $m [ 1 ];
2015-11-16 12:28:24 +00:00
if ( preg_match ( '/^s:(.+)$/' , $k , $m ) ) // s:nomSemestre
$semestreOpt = $m [ 1 ];
2015-11-16 18:07:39 +00:00
if ( preg_match ( '/^f:(.+)$/' , $k , $m ) ) // f:codeFormation
$formationOpt = $m [ 1 ];
2015-11-15 17:12:49 +00:00
}
2015-11-19 13:08:40 +00:00
$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 ;
2015-11-16 18:07:39 +00:00
$formationOpt = ( $formationOpt == null || $formationOpt == '*' ) ? null : $formationOpt ;
2015-11-13 23:47:11 +00:00
2015-10-29 23:01:35 +00:00
/****************************************
* *
* SECTION " PARCOURS " *
* *
*****************************************
*
* [ 1 ] Mes modules ( eleves ) notes
* [ 2 ] Mes ue ( eleves ) notes
* [ 3 ] Mes semestres ( eleves ) notes
* [ 4 ] Graphiques ( eleves ) notes
*
*****************************************/
?>
2015-11-06 13:05:14 +00:00
2015-11-15 17:28:29 +00:00
<!-- mes contrôles -->
2015-10-29 23:01:35 +00:00
< ? php
2015-11-15 17:28:29 +00:00
/****************************************/
/*** MES CONTRÔLES (version étudiant) ***/
/****************************************/
2015-11-06 22:00:08 +00:00
if ( permission ( 'student' ) ){ // si l'utilisateur est connecté et que c'est un élève
2015-10-29 23:01:35 +00:00
$request = new stdClass (); $answer = new stdClass ();
2015-11-19 22:32:54 +00:00
$request -> level_1 = 'getNotesEtudiant' ;
$request -> etudiant = $_SESSION [ 'identifiant' ];
2016-01-02 13:21:31 +00:00
// $request->formation = $_SESSION['formation'];
2015-11-19 22:32:54 +00:00
$request -> semestre = $_SESSION [ 'semestre' ];
2016-01-02 13:21:31 +00:00
// $request->annee = $_SESSION['annee'];
2015-10-29 23:01:35 +00:00
2015-12-06 19:08:28 +00:00
careerManager :: switch_level_1 ( $request , $answer );
2015-10-29 23:01:35 +00:00
if ( $answer -> request == 'success' ){ // si on a bien récupéré les UE/notes
////////////////////////////////////////////////////////////////////////////////
2015-11-15 14:42:12 +00:00
echo " <section name='marksbyue' data-title='Mes Notes' class='basic'> " ;
2015-10-29 23:01:35 +00:00
2015-11-15 17:28:29 +00:00
echo " <table class='partlist' name='UE'><tbody><tr> " ;
if ( $ueOpt == null ) echo " <td data-value='*' class='active'>Tous</td> " ;
else echo " <td data-value='*'>Tous</td> " ;
foreach ( $answer -> UEs as $UE )
if ( $UE [ 'nom' ] == $ueOpt ) // si c'est le semestre séléctionné
echo " <td data-value=' " . $UE [ 'nom' ] . " ' class='active'> " . $UE [ 'nom' ] . '</td>' ;
else // sinon on affiche normalement
echo " <td data-value=' " . $UE [ 'nom' ] . " '> " . $UE [ 'nom' ] . '</td>' ;
echo " </tr></tbody></table> " ;
2015-11-12 10:19:58 +00:00
foreach ( $answer -> UEs as $UE ){ // pour chaque UE
2015-11-15 17:28:29 +00:00
if ( $ueOpt == null || $UE [ 'nom' ] == $ueOpt ){ // on affiche l'UE en fonction du paramètre passé par l'URL
echo '</thead></table>' ;
foreach ( $UE [ 'modules' ] as $module ){ // pour chaque module
echo '<table class=basic><thead class=normal>' ;
echo '<tr><th colspan=5><strong>' . $UE [ 'nom' ] . '</strong> - ' . $module [ 'nom' ] . ' - ' . $module [ 'libelle' ] . '</th></tr></thead><tbody>' ;
foreach ( $module [ 'controles' ] as $controle ){ // pour chaque contrôle
echo '<tr>' ;
2015-11-21 12:13:40 +00:00
echo '<td><span class=link>' . $controle [ 'libelle' ] . '</span></td>' ;
2015-11-15 17:28:29 +00:00
2015-12-01 18:07:45 +00:00
if ( $controle [ 'publication' ] == '0' || count ( $controle [ 'notes' ]) == 0 ) // si aucune note pour ce controle on affiche 'Pas de note'
2015-12-01 19:00:37 +00:00
echo '<td><span class=unstressed>Pas encore de note</span></td>' ;
2015-11-15 17:28:29 +00:00
else // si une note, alors on l'affiche
echo '<td>' . number_format ( $controle [ 'notes' ][ 0 ][ 'valeur' ], 2 ) . ' <span class=unstressed>/</span> ' . $controle [ 'base' ] . '</td>' ;
2015-12-01 19:00:37 +00:00
echo " <td> " . $UE [ 'nom' ] . " - " . $UE [ 'libelle' ] . " </td> " ;
2015-11-15 17:28:29 +00:00
echo '<td>Coefficient ' . number_format ( $controle [ 'coefficient' ], 2 ) . '</td>' ;
echo '</tr>' ;
}
echo '</tbody>' ;
2015-11-13 16:24:58 +00:00
}
2015-11-15 17:28:29 +00:00
echo '</table>' ;
2015-11-13 16:24:58 +00:00
}
2015-11-12 10:19:58 +00:00
2015-10-29 23:01:35 +00:00
}
////////////////////////////////////////////////////////////////////////////////
echo '</section>' ;
} else
2015-11-15 14:42:12 +00:00
echo " <section name='marksbyue' data-title='Mes Notes' class='basic'><table class=basic><tbody><tr><td>Aucune note trouvée</td></tr></tbody></table></section> " ;
2015-10-29 23:01:35 +00:00
2015-11-13 18:07:36 +00:00
}
2015-11-14 17:33:06 +00:00
/******************************************/
/*** LES CONTRÔLES (version enseignant) ***/
/******************************************/
/*
*
* [ 1 ] Tous les contrôles
* [ 2 ] Un contrôle particulier ( avec ou sans groupe particulier )
*
*/
2015-11-13 18:07:36 +00:00
2015-11-14 17:33:06 +00:00
/* [ 1 ] Tous les contrôles
==================================================================*/
if ( permission ( 'teacher' ) && $controleOpt == null ){ // si c'est un enseignant et qu'aucun contrôle n'est spécifié
2015-11-13 18:07:36 +00:00
$request = new stdClass (); $answer = new stdClass ();
2015-11-26 17:17:05 +00:00
2015-11-13 18:07:36 +00:00
$request -> level_1 = 'getControlesEnseignant' ;
$request -> enseignant = $_SESSION [ 'identifiant' ];
$request -> annee = $_SESSION [ 'annee' ];
2015-12-06 19:08:28 +00:00
careerManager :: switch_level_1 ( $request , $answer );
2015-11-13 18:07:36 +00:00
if ( $answer -> request == 'success' ){ // si on a bien récupéré les UE/notes
////////////////////////////////////////////////////////////////////////////////
2015-11-26 18:06:27 +00:00
echo " <section name='controlesenseignants' data-controles data-title='Mes contrôles' class='basic'> " ;
2015-11-13 18:07:36 +00:00
2015-11-15 17:12:49 +00:00
2015-11-16 12:28:24 +00:00
/* ON RECUPERE UNE LISTE UNIQUE DES SEMESTRES */
2015-11-16 20:42:00 +00:00
$ListeUIDFormations = array ();
$ListeUIDSemestres = array ();
$ListeUIDUE = array ();
2015-11-16 12:28:24 +00:00
2015-11-16 20:42:00 +00:00
// 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' ]);
2015-11-16 12:28:24 +00:00
2015-11-16 20:42:00 +00:00
// 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 ];
2015-11-16 18:07:39 +00:00
2015-11-16 20:42:00 +00:00
/**************************/
/* AFFINAGE PAR FORMATION */
/**************************/
2015-11-16 18:07:39 +00:00
echo " <table class='partlist' name='formation'><tbody><tr> " ;
2015-11-16 20:42:00 +00:00
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 " <td data-value=' " . $semestre [ 'id_formation' ] . " ' class='active'> " . $semestre [ 'formation' ] . '</td>' ;
else // sinon on affiche normalement
echo " <td data-value=' " . $semestre [ 'id_formation' ] . " '> " . $semestre [ 'formation' ] . '</td>' ;
// on ajoute la formation à la liste pour ne pas la répéter
array_push ( $ListeUIDFormations , $semestre [ 'id_formation' ]);
}}
2015-11-16 18:07:39 +00:00
echo " </tr></tbody></table> " ;
2015-11-16 20:42:00 +00:00
/*************************/
/* AFFINAGE PAR SEMESTRE */
/*************************/
2015-11-16 12:28:24 +00:00
echo " <table class='partlist' name='semestre'><tbody><tr> " ;
2015-11-16 20:42:00 +00:00
if ( $semestreOpt == null ) echo " <td data-value='*' class='active'>Tous</td> " ;
else echo " <td data-value='*'>Tous</td> " ;
/* 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 " <td data-value=' " . $semestre [ 'id' ] . " ' class='active'> " . $semestre [ 'nom' ] . '</td>' ;
else // sinon on affiche normalement
echo " <td data-value=' " . $semestre [ 'id' ] . " '> " . $semestre [ 'nom' ] . '</td>' ;
// on ajoute le semestre à la liste pour ne pas le répéter
array_push ( $ListeUIDSemestres , $semestre [ 'id' ]);
}}
2015-11-16 12:28:24 +00:00
echo " </tr></tbody></table> " ;
2015-11-16 20:42:00 +00:00
/*******************/
/* AFFINAGE PAR UE */
/*******************/
2015-11-15 17:12:49 +00:00
echo " <table class='partlist' name='UE'><tbody><tr> " ;
2015-11-15 17:28:29 +00:00
if ( $ueOpt == null ) echo " <td data-value='*' class='active'>Tous</td> " ;
else echo " <td data-value='*'>Tous</td> " ;
2015-11-16 20:42:00 +00:00
/* 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 " <td data-value=' " . $UE [ 'id' ] . " ' class='active'> " . $UE [ 'nom' ] . '</td>' ;
2015-11-15 17:28:29 +00:00
else // sinon on affiche normalement
2015-11-16 20:42:00 +00:00
echo " <td data-value=' " . $UE [ 'id' ] . " '> " . $UE [ 'nom' ] . '</td>' ;
// on ajoute l'UE à la liste pour ne pas le répéter
array_push ( $ListeUIDUE , $UE [ 'id' ]);
}}
}}
2015-11-15 17:12:49 +00:00
echo " </tr></tbody></table> " ;
2015-11-13 18:07:36 +00:00
2015-11-15 17:12:49 +00:00
2015-11-16 12:28:24 +00:00
if ( count ( $answer -> semestres ) > 0 ){ // si au moins un UE
2015-11-15 17:12:49 +00:00
2015-11-16 12:28:24 +00:00
foreach ( $answer -> semestres as $semestre ){
2015-11-15 17:12:49 +00:00
2015-11-16 20:42:00 +00:00
if ( ( $semestreOpt == null || $semestre [ 'id' ] == $semestreOpt ) && ( $formationOpt == null || $semestre [ 'id_formation' ] == $formationOpt ) ){ // on affiche les semestres en fonction de l'affinage
2015-11-15 17:12:49 +00:00
2015-11-16 12:28:24 +00:00
foreach ( $semestre [ 'UElist' ] as $UE ){ // pour chaque UE
2015-11-15 17:12:49 +00:00
2015-11-16 20:42:00 +00:00
if ( $ueOpt == null || $UE [ 'id' ] == $ueOpt ){ // on affiche l'UE en fonction du paramètre passé par l'URL
2015-11-15 23:01:05 +00:00
2015-11-16 12:28:24 +00:00
if ( count ( $UE [ 'modules' ]) > 0 ){ // s'il y a au moins un module
2015-11-13 23:47:11 +00:00
2015-11-16 12:28:24 +00:00
foreach ( $UE [ 'modules' ] as $module ){ // pour chaque module
echo " <table class='basic col5'><thead> " ;
echo '<tr><th colspan=4><strong>' . $semestre [ 'nom_formation' ] . ' - ' . $semestre [ 'nom' ] . '</th></tr></thead><tbody>' ;
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 '<tr>' ;
2015-11-21 12:13:40 +00:00
echo " <td><span class='link ctrl' data-ctrl=' " . $controle [ 'id' ] . " '> " . $controle [ 'libelle' ] . " </span></td> " ;
2015-11-16 12:28:24 +00:00
echo " <td> " . $module [ 'nom' ] . " - " . $module [ 'libelle' ] . " </td> " ;
echo " <td> " . $UE [ 'nom' ] . " - " . $UE [ 'libelle' ] . " </td> " ;
if ( $controle [ 'moyenne' ] == null ) // si il y a au moins une note pour ce contrôle
echo '<td><span class=unstressed>Pas noté</span></td>' ;
else
echo '<td><span class=unstressed>Moyenne de</span> ' . number_format ( $controle [ 'moyenne' ], 2 ) . ' <span class=unstressed>/</span> ' . $controle [ 'base' ] . '</td>' ;
// echo '<td>'.number_format($controle['moyenne'], 2).'</td>';
echo '<td><span class=unstressed>Coefficient</span> ' . number_format ( $controle [ 'coefficient' ], 2 ) . '</td>' ;
echo '</tr>' ;
// echo "<tr class='noborder transparentbg'><td></td><td colspan=3><table class='basic col4'><tbody>";
// echo '</tbody></table></td></tr>';
}
} else // si aucun contrôle pour ce module
echo " <tr><td colspan=5>Aucun contrôle trouvé</td></tr> " ;
echo '</tbody>' ;
2015-11-13 23:47:11 +00:00
}
2015-11-16 12:28:24 +00:00
}
echo '</table>' ;
2015-11-13 18:07:36 +00:00
2015-11-15 17:12:49 +00:00
}
2015-11-13 18:07:36 +00:00
}
}
2015-11-16 12:28:24 +00:00
2015-11-13 18:07:36 +00:00
}
}
////////////////////////////////////////////////////////////////////////////////
echo '</section>' ;
2015-11-30 16:25:33 +00:00
} /* else
2015-11-26 18:06:27 +00:00
echo " <section name='controlesenseignants' data-controles data-title='Mes contrôles' class='basic'><table class=basic><tbody><tr><td>Aucun contrôle trouvé</td></tr></tbody></table></section> " ;
2015-11-30 16:25:33 +00:00
*/
2015-11-14 17:33:06 +00:00
2015-11-13 18:07:36 +00:00
}
2015-11-14 17:33:06 +00:00
/* [ 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 ();
2015-12-01 17:15:44 +00:00
$request -> level_1 = 'getNotesEnseignant' ;
2015-11-14 17:33:06 +00:00
$request -> enseignant = $_SESSION [ 'identifiant' ];
2015-12-01 17:15:44 +00:00
$request -> controle = $controleOpt ;
2015-11-14 17:33:06 +00:00
if ( $groupeOpt != null ) $request -> groupe = $groupeOpt ; // on définit le groupe s'il est spécifié
2015-12-06 19:08:28 +00:00
careerManager :: switch_level_1 ( $request , $answer );
2015-11-14 17:33:06 +00:00
if ( $answer -> request == 'success' ){
2015-11-26 18:06:27 +00:00
echo " <section name='controlesenseignants' data-controles data-title='Mes contrôles' class='basic'> " ;
2015-11-26 17:17:05 +00:00
// bouton retour
// echo "<table class='basic'><thead><tr><th><span class='link'>Retour</span></th></tr></thead></table>";
// echo "<table class='basic'><thead><tr><th></th></tr></thead></table>";
echo " <table class='basic col4'><thead> " ;
echo " <th colspan=5 style='font-size:1.5em; text-align:center;'> " . $answer -> controle [ 'nom' ] . ' - ' . $answer -> controle [ 'libelle' ] . '</th>' ;
echo '<tr>' ;
echo " <th><span class='link ctrl' data-ctrl=' " . $answer -> controle [ 'id' ] . " '> " . $answer -> controle [ 'libelle' ] . " </span></th> " ;
echo " <th> " . $answer -> controle [ 'module' ] . " - " . $answer -> controle [ 'modulelib' ] . " </th> " ;
/* [ 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 '<th><span class=unstressed>Pas noté</span></th>' ;
else
echo '<th><span class=unstressed>Moyenne de</span> ' . number_format ( $answer -> controle [ 'moyenne' ], 2 ) . ' <span class=unstressed>/</span> ' . $answer -> controle [ 'base' ] . '</th>' ;
/* [ 2 ] Affichage par élèves
====================================================================================*/
} else {
2015-11-29 11:41:22 +00:00
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
2015-11-26 17:17:05 +00:00
echo '<th><span class=unstressed>Pas noté</span></th>' ;
else
echo '<th><span class=unstressed>Moyenne de</span> ' . number_format ( $answer -> controle [ 'moyenne' ], 2 ) . ' <span class=unstressed>/</span> ' . $answer -> controle [ 'base' ] . '</th>' ;
}
echo '<th><span class=unstressed>Coefficient</span> ' . number_format ( $answer -> controle [ 'coefficient' ], 2 ) . '</th>' ;
echo '</tr></thead>' ;
echo " <tbody> " ;
/* [ 1 ] Affichage par groupes
====================================================================================*/
if ( $groupeOpt == null ){
foreach ( $answer -> controle [ 'grouplist' ] as $groupe ){ // on affiche la liste des groupes avec leurs stats
echo " <tr> " ;
2015-11-30 18:32:05 +00:00
echo " <td><span class='link grp ctrl' data-grp=' " . $groupe [ 'id_groupe' ] . " ' data-ctrl=' " . $answer -> controle [ 'id' ] . " '> " . $groupe [ 'nom' ] . " </span></td> " ;
2015-11-26 17:17:05 +00:00
if ( isset ( $groupe [ 'nb_notes' ]) ){ // si ce groupe a des notes
if ( $groupe [ 'nb_notes' ] == 1 ) echo " <td> " . $groupe [ 'nb_notes' ] . " <span class=unstressed>note</span></td> " ;
else echo " <td> " . $groupe [ 'nb_notes' ] . " <span class=unstressed>notes</span></td> " ;
echo " <td><span class=unstressed>Allant de</span> " . number_format ( $groupe [ 'min' ], 2 ) . " <span class=unstressed>à</span> " . number_format ( $groupe [ 'max' ], 2 ) . " </td> " ;
echo " <td><span class=unstressed>Moyenne de </span> " . number_format ( $groupe [ 'moyenne' ], 2 ) . " <span class=unstressed>/</span> " . $answer -> controle [ 'base' ] . " </td> " ;
} else { // si le groupe n'a aucune note
echo " <td><span class=unstressed>Pas de note</span></td> " ;
echo " <td></td> " ;
echo " <td></td> " ;
}
echo " </tr> " ;
}
/* [ 2 ] Affichage par élèves
====================================================================================*/
2015-11-29 11:41:22 +00:00
} elseif ( isset ( $answer -> controle [ 'userlist' ]) && is_array ( $answer -> controle [ 'userlist' ]) && count ( $answer -> controle [ 'userlist' ]) > 0 ){
// var_dump($answer->controle['userlist']);
2015-11-26 17:17:05 +00:00
foreach ( $answer -> controle [ 'userlist' ] as $user ){ // on affiche la liste des élèves avec leurs notes
echo " <tr> " ;
echo " <td><span class='link etu' data-etu=' " . $user [ 'identifiant' ] . " ' data-ctrl=' " . $answer -> controle [ 'id' ] . " ' data-info=' " . $user [ 'prenom' ] . ' ' . $user [ 'nom' ] . " '> " . $user [ 'identifiant' ] . " </span></td> " ;
echo " <td><span class='link grp' data-grp=' " . $user [ 'groupe' ] . " '> " . $user [ 'groupe' ] . " </span></td> " ;
if ( $user [ 'note' ] != null ) // si on a une note
echo " <td> " . number_format ( $user [ 'note' ], 2 ) . " <span class=unstressed>/</span> " . $answer -> controle [ 'base' ] . " </td> " ;
else // si noté
echo " <td><span class=unstressed>Pas noté</span></td> " ;
echo " <td> " ;
if ( $user [ 'note' ] != null ) // s'il a déjà une note, on la met par défaut
echo " <input class='saisie_note' data-ctrl=' " . $answer -> controle [ 'id' ] . " ' type='number' step='.25' min='0' max=' " . $answer -> controle [ 'base' ] . " ' placeholder='Note' value=' " . $user [ 'note' ] . " '> " ;
else // sinon on laisse le champ vide
echo " <input class='saisie_note' data-ctrl=' " . $answer -> controle [ 'id' ] . " ' type='number' step='.25' min='0' max=' " . $answer -> controle [ 'base' ] . " ' placeholder='Note'> " ;
echo " <div class='confirm'>enregistrer</div> " ;
echo " </td> " ;
echo " </tr> " ;
}
echo " <tr> " ;
echo " <td></td> " ;
echo " <td></td> " ;
echo " <td></td> " ;
echo " <td><div class='confirm all'>tout enregistrer</div></td> " ;
echo " </tr> " ;
}
echo '</tbody></table>' ;
2015-11-26 18:06:27 +00:00
echo " </section> " ;
2015-11-26 17:17:05 +00:00
} else
2015-11-26 18:06:27 +00:00
echo " <section name='controlesenseignants' data-controles data-title='Mes contrôles' class='basic'><table class=basic><tbody><tr><td>Aucun contrôle trouvé</td></tr></tbody></table></section> " ;
2015-11-26 17:17:05 +00:00
}
/********************************************/
/*** 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' ];
2015-12-06 19:08:28 +00:00
careerManager :: switch_level_1 ( $request , $answer );
2015-11-26 17:17:05 +00:00
if ( $answer -> request == 'success' ){ // si on a bien récupéré les UE/notes
////////////////////////////////////////////////////////////////////////////////
2015-11-26 18:06:27 +00:00
echo " <section name='allcontroles' data-controles data-title='Tous les contrôles' class='basic'> " ;
2015-11-26 17:17:05 +00:00
/* 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 " <table class='partlist' name='formation'><tbody><tr> " ;
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 " <td data-value=' " . $semestre [ 'id_formation' ] . " ' class='active'> " . $semestre [ 'formation' ] . '</td>' ;
else // sinon on affiche normalement
echo " <td data-value=' " . $semestre [ 'id_formation' ] . " '> " . $semestre [ 'formation' ] . '</td>' ;
// on ajoute la formation à la liste pour ne pas la répéter
array_push ( $ListeUIDFormations , $semestre [ 'id_formation' ]);
}}
echo " </tr></tbody></table> " ;
/*************************/
/* AFFINAGE PAR SEMESTRE */
/*************************/
echo " <table class='partlist' name='semestre'><tbody><tr> " ;
if ( $semestreOpt == null ) echo " <td data-value='*' class='active'>Tous</td> " ;
else echo " <td data-value='*'>Tous</td> " ;
/* 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 " <td data-value=' " . $semestre [ 'id' ] . " ' class='active'> " . $semestre [ 'nom' ] . '</td>' ;
else // sinon on affiche normalement
echo " <td data-value=' " . $semestre [ 'id' ] . " '> " . $semestre [ 'nom' ] . '</td>' ;
// on ajoute le semestre à la liste pour ne pas le répéter
array_push ( $ListeUIDSemestres , $semestre [ 'id' ]);
}}
echo " </tr></tbody></table> " ;
/*******************/
/* AFFINAGE PAR UE */
/*******************/
echo " <table class='partlist' name='UE'><tbody><tr> " ;
if ( $ueOpt == null ) echo " <td data-value='*' class='active'>Tous</td> " ;
else echo " <td data-value='*'>Tous</td> " ;
/* 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 " <td data-value=' " . $UE [ 'id' ] . " ' class='active'> " . $UE [ 'nom' ] . '</td>' ;
else // sinon on affiche normalement
echo " <td data-value=' " . $UE [ 'id' ] . " '> " . $UE [ 'nom' ] . '</td>' ;
// on ajoute l'UE à la liste pour ne pas le répéter
array_push ( $ListeUIDUE , $UE [ 'id' ]);
}}
}}
echo " </tr></tbody></table> " ;
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 " <table class='basic col5'><thead> " ;
echo '<tr><th colspan=4><strong>' . $semestre [ 'nom_formation' ] . ' - ' . $semestre [ 'nom' ] . '</th></tr></thead><tbody>' ;
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 '<tr>' ;
echo " <td><span class='link ctrl' data-ctrl=' " . $controle [ 'id' ] . " '> " . $controle [ 'libelle' ] . " </span></td> " ;
echo " <td> " . $module [ 'nom' ] . " - " . $module [ 'libelle' ] . " </td> " ;
echo " <td> " . $UE [ 'nom' ] . " - " . $UE [ 'libelle' ] . " </td> " ;
if ( $controle [ 'moyenne' ] == null ) // si il y a au moins une note pour ce contrôle
echo '<td><span class=unstressed>Pas noté</span></td>' ;
else
echo '<td><span class=unstressed>Moyenne de</span> ' . number_format ( $controle [ 'moyenne' ], 2 ) . ' <span class=unstressed>/</span> ' . $controle [ 'base' ] . '</td>' ;
// echo '<td>' . number_format ( $controle [ 'moyenne' ], 2 ) . '</td>' ;
echo '<td><span class=unstressed>Coefficient</span> ' . number_format ( $controle [ 'coefficient' ], 2 ) . '</td>' ;
2015-12-01 18:01:05 +00:00
if ( $controle [ 'publication' ] == '0' )
echo " <td><div class='confirm center active' data-ctrl=' " . $controle [ 'id' ] . " ' data-publication='1'>publier</div></td> " ;
else
echo " <td><div class='confirm pamp center active' data-ctrl=' " . $controle [ 'id' ] . " ' data-publication='0'>cacher</div></td> " ;
2015-11-26 17:17:05 +00:00
echo '</tr>' ;
// echo "<tr class='noborder transparentbg'><td></td><td colspan=3><table class='basic col4'><tbody>";
// echo '</tbody></table></td></tr>';
}
} else // si aucun contrôle pour ce module
echo " <tr><td colspan=5>Aucun contrôle trouvé</td></tr> " ;
echo '</tbody>' ;
}
}
echo '</table>' ;
}
}
}
}
}
////////////////////////////////////////////////////////////////////////////////
echo '</section>' ;
} else
2015-11-26 18:06:27 +00:00
echo " <section name='allcontroles' data-controles data-title='Tous les contrôles' class='basic'><table class=basic><tbody><tr><td>Aucun contrôle trouvé</td></tr></tbody></table></section> " ;
2015-11-26 17:17:05 +00:00
}
/* [ 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é
2015-12-06 19:08:28 +00:00
careerManager :: switch_level_1 ( $request , $answer );
2015-11-26 17:17:05 +00:00
if ( $answer -> request == 'success' ){
2015-11-26 18:06:27 +00:00
echo " <section name='allcontroles' data-controles data-title='Tous les contrôles' class='basic'> " ;
2015-11-14 17:33:06 +00:00
// bouton retour
// echo "<table class='basic'><thead><tr><th><span class='link'>Retour</span></th></tr></thead></table>";
// echo "<table class='basic'><thead><tr><th></th></tr></thead></table>";
echo " <table class='basic col4'><thead> " ;
2015-11-21 12:28:13 +00:00
echo " <th colspan=5 style='font-size:1.5em; text-align:center;'> " . $answer -> controle [ 'nom' ] . ' - ' . $answer -> controle [ 'libelle' ] . '</th>' ;
2015-11-14 17:33:06 +00:00
echo '<tr>' ;
2015-11-21 15:15:01 +00:00
echo " <th><span class='link ctrl' data-ctrl=' " . $answer -> controle [ 'id' ] . " '> " . $answer -> controle [ 'libelle' ] . " </span></th> " ;
2015-11-14 17:33:06 +00:00
echo " <th> " . $answer -> controle [ 'module' ] . " - " . $answer -> controle [ 'modulelib' ] . " </th> " ;
2015-11-15 11:15:30 +00:00
/* [ 1 ] Affichage par groupes
====================================================================================*/
if ( $groupeOpt == null ){
2015-11-15 23:09:04 +00:00
if ( $answer -> controle [ 'moyenne' ] == null ) // si il y a au moins une note pour ce contrôle
2015-11-15 11:15:30 +00:00
echo '<th><span class=unstressed>Pas noté</span></th>' ;
else
echo '<th><span class=unstressed>Moyenne de</span> ' . number_format ( $answer -> controle [ 'moyenne' ], 2 ) . ' <span class=unstressed>/</span> ' . $answer -> controle [ 'base' ] . '</th>' ;
/* [ 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 '<th><span class=unstressed>Pas noté</span></th>' ;
else
echo '<th><span class=unstressed>Moyenne de</span> ' . number_format ( $answer -> controle [ 'moyenne' ], 2 ) . ' <span class=unstressed>/</span> ' . $answer -> controle [ 'base' ] . '</th>' ;
}
2015-11-14 17:33:06 +00:00
echo '<th><span class=unstressed>Coefficient</span> ' . number_format ( $answer -> controle [ 'coefficient' ], 2 ) . '</th>' ;
echo '</tr></thead>' ;
echo " <tbody> " ;
2015-11-15 11:15:30 +00:00
/* [ 1 ] Affichage par groupes
====================================================================================*/
if ( $groupeOpt == null ){
2015-11-15 22:29:39 +00:00
foreach ( $answer -> controle [ 'grouplist' ] as $groupe ){ // on affiche la liste des groupes avec leurs stats
2015-11-15 11:15:30 +00:00
echo " <tr> " ;
2015-11-14 17:33:06 +00:00
2015-11-30 18:32:05 +00:00
echo " <td><span class='link grp ctrl' data-grp=' " . $groupe [ 'id_groupe' ] . " ' data-ctrl=' " . $answer -> controle [ 'id' ] . " '> " . $groupe [ 'nom' ] . " </span></td> " ;
2015-11-15 11:15:30 +00:00
2015-11-15 22:29:39 +00:00
if ( isset ( $groupe [ 'nb_notes' ]) ){ // si ce groupe a des notes
if ( $groupe [ 'nb_notes' ] == 1 ) echo " <td> " . $groupe [ 'nb_notes' ] . " <span class=unstressed>note</span></td> " ;
else echo " <td> " . $groupe [ 'nb_notes' ] . " <span class=unstressed>notes</span></td> " ;
2015-11-15 11:15:30 +00:00
2015-11-15 22:29:39 +00:00
echo " <td><span class=unstressed>Allant de</span> " . number_format ( $groupe [ 'min' ], 2 ) . " <span class=unstressed>à</span> " . number_format ( $groupe [ 'max' ], 2 ) . " </td> " ;
echo " <td><span class=unstressed>Moyenne de </span> " . number_format ( $groupe [ 'moyenne' ], 2 ) . " <span class=unstressed>/</span> " . $answer -> controle [ 'base' ] . " </td> " ;
2015-11-14 17:33:06 +00:00
2015-11-15 22:29:39 +00:00
} else { // si le groupe n'a aucune note
echo " <td><span class=unstressed>Pas de note</span></td> " ;
echo " <td></td> " ;
echo " <td></td> " ;
}
2015-11-14 17:33:06 +00:00
2015-11-15 11:15:30 +00:00
echo " </tr> " ;
}
/* [ 2 ] Affichage par élèves
====================================================================================*/
} else {
foreach ( $answer -> controle [ 'userlist' ] as $user ){ // on affiche la liste des élèves avec leurs notes
echo " <tr> " ;
2015-11-15 14:42:12 +00:00
echo " <td><span class='link etu' data-etu=' " . $user [ 'identifiant' ] . " ' data-ctrl=' " . $answer -> controle [ 'id' ] . " ' data-info=' " . $user [ 'prenom' ] . ' ' . $user [ 'nom' ] . " '> " . $user [ 'identifiant' ] . " </span></td> " ;
2015-11-15 11:15:30 +00:00
echo " <td><span class='link grp' data-grp=' " . $user [ 'groupe' ] . " '> " . $user [ 'groupe' ] . " </span></td> " ;
2015-11-15 12:02:34 +00:00
if ( $user [ 'note' ] != null ) // si on a une note
2015-11-15 11:15:30 +00:00
echo " <td> " . number_format ( $user [ 'note' ], 2 ) . " <span class=unstressed>/</span> " . $answer -> controle [ 'base' ] . " </td> " ;
else // si noté
echo " <td><span class=unstressed>Pas noté</span></td> " ;
2015-11-14 17:33:06 +00:00
2015-11-26 19:37:41 +00:00
if ( permission ( 'admin' ) ){
echo " <td> " ;
if ( $user [ 'note' ] != null ) // s'il a déjà une note, on la met par défaut
echo " <input class='saisie_note' data-ctrl=' " . $answer -> controle [ 'id' ] . " ' type='number' step='.25' min='0' max=' " . $answer -> controle [ 'base' ] . " ' placeholder='Note' value=' " . $user [ 'note' ] . " '> " ;
else // sinon on laisse le champ vide
echo " <input class='saisie_note' data-ctrl=' " . $answer -> controle [ 'id' ] . " ' type='number' step='.25' min='0' max=' " . $answer -> controle [ 'base' ] . " ' placeholder='Note'> " ;
echo " <div class='confirm'>enregistrer</div> " ;
echo " </td> " ;
} else // si 'master'
echo " <td></td> " ;
2015-11-14 17:33:06 +00:00
2015-11-15 11:15:30 +00:00
echo " </tr> " ;
}
2015-11-14 17:33:06 +00:00
2015-11-15 21:36:35 +00:00
echo " <tr> " ;
echo " <td></td> " ;
echo " <td></td> " ;
echo " <td></td> " ;
echo " <td><div class='confirm all'>tout enregistrer</div></td> " ;
echo " </tr> " ;
2015-11-14 17:33:06 +00:00
}
echo '</tbody></table>' ;
2015-11-26 18:06:27 +00:00
echo " </section> " ;
2015-11-19 07:58:15 +00:00
} else
2015-11-26 18:06:27 +00:00
echo " <section name='allcontroles' data-controles data-title='Tous les contrôles' class='basic'><table class=basic><tbody><tr><td>Aucun contrôle trouvé</td></tr></tbody></table></section> " ;
2015-11-19 07:58:15 +00:00
2015-11-14 17:33:06 +00:00
}
2015-11-13 18:07:36 +00:00
2015-11-22 09:54:05 +00:00
2015-11-26 20:54:01 +00:00
/****************************************************************/
/*** LES DOSSIERS ETUDIANTS (version enseignant/admin/master) ***/
/****************************************************************/
2015-11-15 17:12:49 +00:00
/*
*
* [ 1 ] Toutes les notes d ' un enseignant
*
*/
2015-11-26 20:54:01 +00:00
if ( ( permission ( 'master' ) || permission ( 'admin' )) && $etudiantOpt != null ){
2015-12-06 14:05:22 +00:00
include __ROOT__ . '/src/svg.php' ;
2015-11-29 17:26:46 +00:00
2015-11-15 17:12:49 +00:00
$request = new stdClass (); $answer = new stdClass ();
2015-11-29 22:29:54 +00:00
$request -> level_1 = 'studentcase' ;
2015-11-15 17:12:49 +00:00
$request -> etudiant = $etudiantOpt ;
2015-11-30 09:23:34 +00:00
2015-12-06 19:08:28 +00:00
careerManager :: switch_level_1 ( $request , $answer );
2015-11-15 17:12:49 +00:00
if ( $answer -> request == 'success' ){ // si on a bien récupéré les UE/notes
////////////////////////////////////////////////////////////////////////////////
echo " <section name='studentcase' data-title='Dossier étudiant' class='basic'> " ;
2015-11-29 22:29:54 +00:00
$parcoursChart = array ();
foreach ( $answer -> parcours as $semestre ) array_push ( $parcoursChart , array ( 'id' => $semestre [ 'id' ], 'nom' => $semestre [ 'formation' ] . ' ' . $semestre [ 'semestre' ]) );
displayParcours ( $parcoursChart );
2015-11-15 17:12:49 +00:00
2015-11-29 22:29:54 +00:00
// 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 " <table class='basic col4'> " ;
echo " <thead><tr><th colspan=5 style='font-size:1.5em; text-align:center;'> " . $UE [ 'nom' ] . ' - ' . $UE [ 'libelle' ] . '</th></tr>' ;
echo '</thead></table>' ;
foreach ( $UE [ 'modules' ] as $module ){ // pour chaque module
echo '<table class=basic><thead>' ;
echo '<tr><th colspan=5>' . $module [ 'nom' ] . ' - ' . $module [ 'libelle' ] . '</th></tr></thead><tbody>' ;
foreach ( $module [ 'controles' ] as $controle ){ // pour chaque contrôle
echo '<tr>' ;
echo '<td><span class=link>' . $controle [ 'libelle' ] . '</span></td>' ;
if ( count ( $controle [ 'notes' ]) == 0 ) // si aucune note pour ce controle on affiche 'Pas de note'
echo '<td><span class=unstressed>Pas de note</span></td>' ;
else // si une note, alors on l'affiche
echo '<td>' . number_format ( $controle [ 'notes' ][ 0 ][ 'valeur' ], 2 ) . ' <span class=unstressed>/</span> ' . $controle [ 'base' ] . '</td>' ;
echo " <td> " . $module [ 'nom' ] . " - " . $module [ 'libelle' ] . " </td> " ;
echo '<td>Coefficient ' . number_format ( $controle [ 'coefficient' ], 2 ) . '</td>' ;
echo '</tr>' ;
}
2015-11-30 09:23:34 +00:00
// moyenne du module
// echo "<td colspan=4><span class='stressed'>Moyenne du module</span></td>";
echo " <tr class='transparentbg noborder'> " ;
if ( is_bool ( $module [ 'moyenne' ]) ) // si aucune note pour ce controle on affiche 'Pas de note'
echo " <td colspan=4><span class='link stressed' style='padding:1em; background:white;'>Pas de moyenne</span></td> " ;
else // si une note, alors on l'affiche
echo " <td colspan=4><span class='link stressed' style='padding:1em; background:white;'>moyenne de " . number_format ( $module [ 'moyenne' ][ 'moyenne' ], 2 ) . " <span class=unstressed>/</span> " . $module [ 'moyenne' ][ 'base' ] . " </span></td> " ;
echo '</tr>' ;
2015-11-29 22:29:54 +00:00
echo '</tbody>' ;
2015-11-15 17:12:49 +00:00
}
2015-11-29 22:29:54 +00:00
echo '</table>' ;
2015-11-15 17:12:49 +00:00
}
2015-11-29 22:29:54 +00:00
}}
2015-11-15 17:12:49 +00:00
////////////////////////////////////////////////////////////////////////////////
echo '</section>' ;
} else
echo " <section name='studentcase' data-title='Dossier étudiant' class='basic'><table class=basic><tbody><tr><td>Aucune note trouvée</td></tr></tbody></table></section> " ;
}
2015-11-13 18:07:36 +00:00
?>