Affichage par semestre enseignant@mes_modules + admin@tous_les_modules + enseignant@contrôles
This commit is contained in:
parent
c7063cb958
commit
01334b44e6
|
@ -74,13 +74,13 @@ require_once __ROOT__.'/manager/database.php';
|
|||
$anneeCheck = $enseignantCheck && preg_match('/^[0-9]{4}$/i', $request->annee); // semestre (annee) bon format
|
||||
|
||||
if( $anneeCheck ){ // si tout les paramètres sont bons
|
||||
$UEs = DataBase::getInstance()->getControlesEnseignant($request->enseignant, $_SESSION['semestre_pair'], $request->annee);
|
||||
$semestreList = DataBase::getInstance()->getControlesEnseignant($request->enseignant, $_SESSION['semestre_pair'], $request->annee);
|
||||
|
||||
if( is_array($UEs) ){ // si on a bien un tableau
|
||||
$answer->UEs = $UEs; // on renvoie dans answer->UEs
|
||||
if( is_array($semestreList) ){ // si on a bien un tableau
|
||||
$answer->semestres = $semestreList; // on renvoie dans answer->semestreList
|
||||
$answer->request = 'success'; // et on renvoie success
|
||||
}else // sinon si c'est pas un tableau
|
||||
$answer->request = $UEs; // on retourne l'erreur
|
||||
$answer->request = $semestreList; // on retourne l'erreur
|
||||
}else
|
||||
$answer->request = 'param_error';
|
||||
|
||||
|
|
|
@ -385,52 +385,21 @@ class DataBase{
|
|||
// on vérifie que l'enseignant enseigne bien cette année
|
||||
if( !($enseignantUID=userRepo::UID($enseignant, null, $semestre_pair, $annee)) ) return 'unknown_teacher';
|
||||
|
||||
$UEList = $this->getUEsEnseignant($enseignant, $semestre_pair, $annee); // on récupère la liste des UEs
|
||||
// on récupère les semestres de cette année
|
||||
$semestreList = semestreRepo::forTeacher($enseignantUID, $semestre_pair, $annee);
|
||||
|
||||
foreach($UEList as $iter=>$UE){
|
||||
foreach($semestreList as $iter_s=>$a){
|
||||
$semestreList[$iter_s]['UElist'] = ueRepo::forTeacher($enseignantUID, $semestreList[$iter_s]['id']);
|
||||
|
||||
// si on a l'UID enseignant & l'UE => on récupère les modules
|
||||
$getModuleList = DataBase::getPDO()->prepare("SELECT DISTINCT m.id_module as id, m.nom as nom, m.libelle as libelle ".
|
||||
"FROM enseignement as ens, semestre as s, ue, module as m, mcc_ue, mcc_module as mcc_m ".
|
||||
"WHERE ens.id_mcc_module = mcc_m.id_mcc_module ".
|
||||
"AND mcc_m.id_module = m.id_module ".
|
||||
"AND mcc_m.id_mcc_ue = mcc_ue.id_mcc_ue ".
|
||||
"AND mcc_ue.id_ue = ue.id_ue ".
|
||||
foreach($semestreList[$iter_s]['UElist'] as $iter_u=>$b)
|
||||
$semestreList[$iter_s]['UElist'][$iter_u]['modules'] = moduleRepo::forTeacher($enseignantUID, $semestreList[$iter_s]['UElist'][$iter_u]['id'], $semestreList[$iter_s]['id']);
|
||||
|
||||
"AND ens.id_enseignant = :enseignantUID ".
|
||||
"AND ue.id_ue = :UEUID ".
|
||||
"AND s.annee = :annee ".
|
||||
"AND s.rang % 2 = :semestre_pair ".
|
||||
"ORDER BY m.nom, m.libelle ASC");
|
||||
$getModuleList->execute(array(
|
||||
':enseignantUID' => $enseignantUID,
|
||||
':UEUID' => $UE['id'],
|
||||
':annee' => $annee,
|
||||
':semestre_pair' => ($semestre_pair) ? '0' : '1'
|
||||
));
|
||||
|
||||
// on ajoute la liste des modules en supprimant les valeurs à indinces numériques
|
||||
$UEList[$iter]['modules'] = DataBase::delNumeric( $getModuleList->fetchAll() );
|
||||
}
|
||||
|
||||
return $UEList;
|
||||
return $semestreList;
|
||||
}
|
||||
|
||||
|
||||
/****************************************/
|
||||
/*** retourne les UEs d'un enseignant ***/
|
||||
/****************************************/
|
||||
public function getUEsEnseignant($enseignant, $semestre_pair, $annee){
|
||||
// on vérifie que l'enseignant enseigne bien cette année
|
||||
if( !($enseignantUID=userRepo::UID($enseignant, null, $semestre_pair, $annee)) ) return 'unknown_teacher';
|
||||
|
||||
// on retourne la liste des UEs en supprimant les doublons à indices numériques
|
||||
return ueRepo::forTeacher($enseignantUID, $semestre_pair, $annee);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -542,28 +511,34 @@ class DataBase{
|
|||
public function getControlesEnseignant($enseignant, $semestre_pair, $annee){
|
||||
// on vérifie que le semestre existe et que l'enseignant y enseigne
|
||||
if( !($enseignantUID=userRepo::UID($enseignant, null, $semestre_pair, $annee)) ) return 'unknown_teacher';
|
||||
debug();
|
||||
// on récupère les semestres de cette année
|
||||
$semestreList = semestreRepo::forTeacher($enseignantUID, $semestre_pair, $annee);
|
||||
|
||||
foreach($semestreList as $iter_s=>$a){
|
||||
|
||||
$UEList = ueRepo::forTeacher($enseignantUID, $semestre_pair, $annee);
|
||||
$semestreList[$iter_s]['UElist'] = ueRepo::forTeacher($enseignantUID, $semestreList[$iter_s]['id']);
|
||||
|
||||
foreach($UEList as $iter_ue=>$a){
|
||||
$UEList[$iter_ue]['modules'] = moduleRepo::forTeacher($enseignantUID, $UEList[$iter_ue]['id'], $UEList[$iter_ue]['id_semestre']);
|
||||
foreach($semestreList[$iter_s]['UElist'] as $iter_u=>$b){
|
||||
$semestreList[$iter_s]['UElist'][$iter_u]['modules'] = moduleRepo::forTeacher($enseignantUID, $semestreList[$iter_s]['UElist'][$iter_u]['id'], $semestreList[$iter_s]['id']);
|
||||
|
||||
foreach($UEList[$iter_ue]['modules'] as $iter_mod=>$b){
|
||||
$UEList[$iter_ue]['modules'][$iter_mod]['controles'] = controleRepo::forTeacher($enseignantUID, $UEList[$iter_ue]['modules'][$iter_mod]['id'], $UEList[$iter_ue]['id_semestre']);
|
||||
|
||||
foreach($UEList[$iter_ue]['modules'][$iter_mod]['controles'] as $iter_ct=>$c){
|
||||
$UEList[$iter_ue]['modules'][$iter_mod]['controles'][$iter_ct]['grouplist'] = noteRepo::forTeacher($UEList[$iter_ue]['modules'][$iter_mod]['controles'][$iter_ct]['id']);
|
||||
foreach($semestreList[$iter_s]['UElist'][$iter_u]['modules'] as $iter_m=>$c){
|
||||
$semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['controles'] = controleRepo::forTeacher($enseignantUID, $semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['id'], $semestreList[$iter_s]['id']);
|
||||
|
||||
foreach($semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['controles'] as $iter_ct=>$c){
|
||||
$semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['controles'][$iter_ct]['grouplist'] = noteRepo::forTeacher($semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['controles'][$iter_ct]['id']);
|
||||
|
||||
$UEList[$iter_ue]['modules'][$iter_mod]['controles'][$iter_ct]['moyenne'] = noteRepo::moyenneForControle($UEList[$iter_ue]['modules'][$iter_mod]['controles'][$iter_ct]['id']);
|
||||
$semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['controles'][$iter_ct]['moyenne'] = noteRepo::moyenneForControle($semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['controles'][$iter_ct]['id']);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return $UEList;
|
||||
return $semestreList;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -82,16 +82,16 @@ require_once __ROOT__.'/manager/database.php';
|
|||
$anneeCheck = $enseignantCheck && preg_match('/^[0-9]{4}$/i', $request->annee); // semestre (annee) bon format
|
||||
|
||||
if( $anneeCheck ){ // si tout les paramètres sont bons
|
||||
$UEList = DataBase::getInstance()->getModulesByUEByEnseignant($request->enseignant, $_SESSION['semestre_pair'], $request->annee);
|
||||
$semestreList = DataBase::getInstance()->getModulesByUEByEnseignant($request->enseignant, $_SESSION['semestre_pair'], $request->annee);
|
||||
|
||||
// STRUCTURE
|
||||
// tableau d'UES contenant un tableau de MODULES
|
||||
|
||||
if( is_array($UEList) ){ // si on a bien un tableau
|
||||
$answer->UEs = $UEList; // on renvoie dans answer->ues
|
||||
if( is_array($semestreList) ){ // si on a bien un tableau
|
||||
$answer->semestres = $semestreList; // on renvoie dans answer->ues
|
||||
$answer->request = 'success'; // et on renvoie success
|
||||
}else // sinon si c'est pas un tableau
|
||||
$answer->request = $UEList; // on retourne l'erreur
|
||||
$answer->request = $semestreList; // on retourne l'erreur
|
||||
}else
|
||||
$answer->request = 'param_error';
|
||||
|
||||
|
@ -121,7 +121,7 @@ require_once __ROOT__.'/manager/database.php';
|
|||
$answer->semestres = $semestreList; // on renvoie dans answer->ues
|
||||
$answer->request = 'success'; // et on renvoie success
|
||||
}else // sinon si c'est pas un tableau
|
||||
$answer->request = $UEList; // on retourne l'erreur
|
||||
$answer->request = $semestreList; // on retourne l'erreur
|
||||
}else
|
||||
$answer->request = 'param_error';
|
||||
|
||||
|
|
|
@ -110,6 +110,35 @@ class semestreRepo extends DBAccess{
|
|||
|
||||
|
||||
|
||||
/* retourne la liste des semestres qu'à un enseignant
|
||||
*
|
||||
* @enseignant<String> l'UID de l'enseignant en question
|
||||
* @semestre_pair<Boolean> VRAI si le semestre en cours est pair
|
||||
* @annee<int> l'année en question
|
||||
*
|
||||
*
|
||||
* @return semestres<Array> retourne la liste des semestres répondant aux critères
|
||||
* @return FALSE<Boolean> retourne FALSE si aucun semestre ne correspond aux critères
|
||||
*
|
||||
*/
|
||||
public static function forTeacher($enseignant, $semestre_pair, $annee){
|
||||
$getSemestreList = DataBase::getPDO()->prepare("SELECT DISTINCT s.id_semestre as id, f.code as formation, f.nom as nom_formation, s.nom, s.rang, s.annee ".
|
||||
"FROM semestre as s, formation as f, enseignement as ens, mcc_module as mcc_m, mcc_ue ".
|
||||
"WHERE s.id_semestre = mcc_ue.id_semestre ". // semestre <-> mcc_ue
|
||||
"AND s.formation = f.id_formation ". // semestre <-> formation
|
||||
"AND mcc_ue.id_mcc_ue = mcc_m.id_mcc_ue ". // mcc_ue <-> mcc_module
|
||||
"AND mcc_m.id_mcc_module = ens.id_mcc_module ". // mcc_module <-> enseignement
|
||||
|
||||
"AND ens.id_enseignant = :enseignant ".
|
||||
"AND s.rang % 2 = :semestre_pair ".
|
||||
"AND s.annee = :annee ".
|
||||
"ORDER BY s.rang ASC");
|
||||
$getSemestreList->execute(array( ':enseignant' => $enseignant, ':semestre_pair' => ($semestre_pair) ? '0' : '1', ':annee' => $annee ));
|
||||
|
||||
return DataBase::delNumeric( $getSemestreList->fetchAll() );
|
||||
}
|
||||
|
||||
|
||||
/* retourne la liste des semestres d'une année
|
||||
*
|
||||
* @annee<int> l'année en question
|
||||
|
@ -120,7 +149,7 @@ class semestreRepo extends DBAccess{
|
|||
*
|
||||
*/
|
||||
public static function forYear($annee){
|
||||
$getSemestreList = DataBase::getPDO()->prepare("SELECT s.id_semestre as id, f.code as formation, f.nom as nom_formation, s.nom, s.rang, s.annee ".
|
||||
$getSemestreList = DataBase::getPDO()->prepare("SELECT DISTINCT s.id_semestre as id, f.code as formation, f.nom as nom_formation, s.nom, s.rang, s.annee ".
|
||||
"FROM semestre as s, formation as f ".
|
||||
"WHERE s.formation = f.id_formation ".
|
||||
"AND annee = :annee ".
|
||||
|
|
|
@ -73,16 +73,15 @@ class ueRepo extends DBAccess{
|
|||
|
||||
|
||||
|
||||
/* RENVOIE LA LISTE DES UEs QU'ENSEIGNE UN ENSEIGNANT POUR UNE ANNEE
|
||||
/* RENVOIE LA LISTE DES UEs QU'ENSEIGNE UN ENSEIGNANT POUR UN SEMESTRE
|
||||
*
|
||||
* @enseignant<String> Identifiant de l'enseignant
|
||||
* @semestre_pair<Boolean> VRAI si le semestre est pair
|
||||
* @annee<int> l'année en cours
|
||||
* @semestre<int> l'UID du semestre en question
|
||||
*
|
||||
* @return UEs<Array> retourne un tableau contenant les UEs de l'enseignant pour cette année
|
||||
* @return UEs<Array> retourne un tableau contenant les UEs de l'enseignant pour ce semestre
|
||||
*
|
||||
*/
|
||||
public static function forTeacher($enseignant, $semestre_pair, $annee){
|
||||
public static function forTeacher($enseignant, $semestre){
|
||||
// on récupère les modules
|
||||
$getUesForTeacher = DataBase::getPDO()->prepare("SELECT DISTINCT ue.id_ue as id, s.id_semestre, s.nom as semestre, s.annee, ue.nom, ue.libelle ".
|
||||
"FROM enseignement as ens, semestre as s, ue, mcc_ue, mcc_module as mcc_m ".
|
||||
|
@ -93,11 +92,10 @@ class ueRepo extends DBAccess{
|
|||
"AND mcc_ue.id_ue = ue.id_ue ".
|
||||
|
||||
"AND ens.id_enseignant = :enseignant ".
|
||||
"AND s.rang % 2 = :semestre_pair ".
|
||||
"AND s.annee = :annee ".
|
||||
"AND s.id_semestre = :semestre ".
|
||||
|
||||
"ORDER BY ue.nom, ue.libelle ASC");
|
||||
$getUesForTeacher->execute(array( ':enseignant' => $enseignant, ':semestre_pair' => ($semestre_pair) ? '0' : '1', ':annee' => $annee ));
|
||||
$getUesForTeacher->execute(array( ':enseignant' => $enseignant, ':semestre' => $semestre ));
|
||||
|
||||
return DataBase::delNumeric( $getUesForTeacher->fetchAll() );
|
||||
}
|
||||
|
|
|
@ -5,16 +5,23 @@
|
|||
/********************************/
|
||||
/* GESTION DE L'AFFINAGE PAR UE */
|
||||
/********************************/
|
||||
var partList = document.querySelectorAll("#CONTAINER > section[name] > table.partlist[name=UE]");
|
||||
var partList = document.querySelectorAll("#CONTAINER > section[name] > table.partlist[name=UE], #CONTAINER > section[name] > table.partlist[name=semestre]");
|
||||
|
||||
for( var i = 0 ; i < partList.length ; i++ ){
|
||||
|
||||
partList[i].addEventListener('click', function(e){
|
||||
var tableauParent = e.target.parentNode.parentNode.parentNode;
|
||||
|
||||
if( tableauParent.tagName == 'TABLE' && tableauParent.getAttribute('name') == 'UE' && e.target.dataset.hasOwnProperty('value') ){
|
||||
pageM.vars[1] = 'u:'+e.target.dataset.value;
|
||||
if( tableauParent.tagName == 'TABLE' && e.target.dataset.hasOwnProperty('value') ){
|
||||
|
||||
/* SI c'est une affinage par SEMESTRE */
|
||||
if( tableauParent.getAttribute('name') == 'semestre' )
|
||||
pageM.vars[1] = 's:'+e.target.dataset.value;
|
||||
|
||||
/* SI c'est un affinage par UE */
|
||||
if( tableauParent.getAttribute('name') == 'UE' )
|
||||
pageM.vars[1] = 'u:'+e.target.dataset.value;
|
||||
|
||||
// si on a '*' comme valeur, on l'enlève
|
||||
if( /\*$/.test(pageM.vars[1]) )
|
||||
pageM.vars.pop();
|
||||
|
|
121
page/career.php
121
page/career.php
|
@ -5,8 +5,6 @@ require_once __ROOT__.'/manager/modules.php';
|
|||
require_once __ROOT__.'/manager/career.php';
|
||||
|
||||
|
||||
|
||||
|
||||
/*** GESTION DES PARAMETRES OPTIONNELS ***/
|
||||
|
||||
// on initialise les paramètres optionnels
|
||||
|
@ -14,6 +12,7 @@ require_once __ROOT__.'/manager/career.php';
|
|||
$groupeOpt = null;
|
||||
$etudiantOpt = null;
|
||||
$ueOpt = null;
|
||||
$semestreOpt = null;
|
||||
|
||||
// on cherche dans toutes les variables _get si on trouve des paramètres
|
||||
foreach($_POST as $k=>$v){
|
||||
|
@ -21,21 +20,25 @@ require_once __ROOT__.'/manager/career.php';
|
|||
if( preg_match('/^g:(.+)$/', $k, $m) ) // g:nomGroupe
|
||||
$groupeOpt = $m[1];
|
||||
|
||||
if( preg_match('/^c:(.+)$/', $k, $m) ) // s:nomSemestre
|
||||
if( preg_match('/^c:(.+)$/', $k, $m) ) // c:idControle
|
||||
$controleOpt = $m[1];
|
||||
|
||||
if( preg_match('/^e:(.+)$/', $k, $m) ) // s:nomSemestre
|
||||
if( preg_match('/^e:(.+)$/', $k, $m) ) // e:idEtudiant
|
||||
$etudiantOpt = $m[1];
|
||||
|
||||
if( preg_match('/^u:(.+)$/', $k, $m) ) // s:nomSemestre
|
||||
if( preg_match('/^u:(.+)$/', $k, $m) ) // u:nomUe
|
||||
$ueOpt = $m[1];
|
||||
|
||||
if( preg_match('/^s:(.+)$/', $k, $m) ) // s:nomSemestre
|
||||
$semestreOpt = $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;
|
||||
|
||||
/****************************************
|
||||
* *
|
||||
|
@ -63,7 +66,6 @@ require_once __ROOT__.'/manager/career.php';
|
|||
if( permission('student') ){ // si l'utilisateur est connecté et que c'est un élève
|
||||
|
||||
$request = new stdClass(); $answer = new stdClass();
|
||||
debug();
|
||||
|
||||
$request->level_1 = 'getNotesEtudiant';
|
||||
$request->etudiant = $_SESSION['identifiant'];
|
||||
|
@ -157,7 +159,6 @@ if( permission('teacher') && $controleOpt == null ){ // si c'est un enseignant e
|
|||
|
||||
$request->level_1 = 'getControlesEnseignant';
|
||||
$request->enseignant = $_SESSION['identifiant'];
|
||||
$request->semestre = $_SESSION['semestre'];
|
||||
$request->annee = $_SESSION['annee'];
|
||||
|
||||
career_switch_level_1($request, $answer);
|
||||
|
@ -167,61 +168,101 @@ if( permission('teacher') && $controleOpt == null ){ // si c'est un enseignant e
|
|||
echo "<section name='controlesenseignants' data-title='Contrôles' class='basic'>";
|
||||
|
||||
|
||||
/* ON RECUPERE UNE LISTE UNIQUE DES SEMESTRES */
|
||||
$ListeNomsSemestres = array();
|
||||
$ListeNomsUE = array();
|
||||
foreach($answer->semestres as $semestre){
|
||||
array_push( $ListeNomsSemestres, $semestre['nom'] );
|
||||
|
||||
/* ON RECUPERE UNE LISTE UNIQUE DES UEs */
|
||||
foreach($semestre['UElist'] as $UE)
|
||||
array_push( $ListeNomsUE, $UE['nom'] );
|
||||
}
|
||||
|
||||
$ListeNomsSemestres = array_unique($ListeNomsSemestres);
|
||||
$ListeNomsUE = array_unique($ListeNomsUE);
|
||||
|
||||
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>";
|
||||
|
||||
foreach($ListeNomsSemestres as $NomSemestre)
|
||||
if( $NomSemestre == $semestreOpt ) // si c'est le semestre séléctionné
|
||||
echo "<td data-value='".$NomSemestre."' class='active'>".$NomSemestre.'</td>';
|
||||
else // sinon on affiche normalement
|
||||
echo "<td data-value='".$NomSemestre."'>".$NomSemestre.'</td>';
|
||||
echo "</tr></tbody></table>";
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
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>';
|
||||
foreach($ListeNomsUE as $NomUE)
|
||||
if( $NomUE == $ueOpt ) // si c'est le semestre séléctionné
|
||||
echo "<td data-value='".$NomUE."' class='active'>".$NomUE.'</td>';
|
||||
else // sinon on affiche normalement
|
||||
echo "<td data-value='".$UE['nom']."'>".$UE['nom'].'</td>';
|
||||
echo "<td data-value='".$NomUE."'>".$NomUE.'</td>';
|
||||
echo "</tr></tbody></table>";
|
||||
|
||||
if( count($answer->UEs) > 0 ){ // si au moins un UE
|
||||
|
||||
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
|
||||
if( count($answer->semestres) > 0 ){ // si au moins un UE
|
||||
|
||||
if( count($UE['modules']) > 0 ){ // s'il y a au moins un module
|
||||
foreach($answer->semestres as $semestre){
|
||||
|
||||
foreach($UE['modules'] as $module){ // pour chaque module
|
||||
echo "<table class='basic col4'><thead class=normal>";
|
||||
echo '<tr><th colspan=4><strong>'.$UE['nom'].'</strong> - '.$module['nom'].' - '.$module['libelle'].'</th></tr></thead><tbody>';
|
||||
if( $semestreOpt == null || $semestre['nom'] == $semestreOpt ){ // on affiche les semestres en fonction de l'affinage
|
||||
|
||||
if( count($module['controles']) > 0 ){ // s'il y a au moins un contrôle pour ce module
|
||||
foreach($semestre['UElist'] as $UE){ // pour chaque UE
|
||||
|
||||
foreach($module['controles'] as $controle){ // pour chaque contrôle
|
||||
if( $ueOpt == null || $UE['nom'] == $ueOpt ){ // on affiche l'UE en fonction du paramètre passé par l'URL
|
||||
|
||||
echo '<tr>';
|
||||
echo "<td><span class='link ctrl' data-ctrl='".$controle['id']."'>".$controle['intitule']."</span></td>";
|
||||
|
||||
echo "<td>".$module['nom']." - ".$module['libelle']."</td>";
|
||||
if( count($UE['modules']) > 0 ){ // s'il y a au moins un module
|
||||
|
||||
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>';
|
||||
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['intitule']."</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>';
|
||||
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>';
|
||||
}
|
||||
|
||||
}else // si aucun contrôle pour ce module
|
||||
echo "<tr><td colspan=5>Aucun contrôle trouvé</td></tr>";
|
||||
}
|
||||
echo '</table>';
|
||||
|
||||
echo '</tbody>';
|
||||
}
|
||||
|
||||
}
|
||||
echo '</table>';
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
129
page/modules.php
129
page/modules.php
|
@ -102,6 +102,28 @@ if( permission('student') ){ // si l'utilisateur est connecté et que c'est un
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- mes modules -->
|
||||
|
||||
<?php
|
||||
|
@ -122,41 +144,79 @@ if( permission('teacher') ){ // si l'utilisateur est un prof
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
echo "<section name='teachersmodules' data-title='Mes modules' class='basic'>";
|
||||
|
||||
/* ON RECUPERE UNE LISTE UNIQUE DES SEMESTRES */
|
||||
$ListeNomsSemestres = array();
|
||||
$ListeNomsUE = array();
|
||||
foreach($answer->semestres as $semestre){
|
||||
array_push( $ListeNomsSemestres, $semestre['nom'] );
|
||||
|
||||
/* ON RECUPERE UNE LISTE UNIQUE DES UEs */
|
||||
foreach($semestre['UElist'] as $UE)
|
||||
array_push( $ListeNomsUE, $UE['nom'] );
|
||||
}
|
||||
|
||||
$ListeNomsSemestres = array_unique($ListeNomsSemestres);
|
||||
$ListeNomsUE = array_unique($ListeNomsUE);
|
||||
|
||||
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>";
|
||||
|
||||
foreach($ListeNomsSemestres as $NomSemestre)
|
||||
if( $NomSemestre == $semestreOpt ) // si c'est le semestre séléctionné
|
||||
echo "<td data-value='".$NomSemestre."' class='active'>".$NomSemestre.'</td>';
|
||||
else // sinon on affiche normalement
|
||||
echo "<td data-value='".$NomSemestre."'>".$NomSemestre.'</td>';
|
||||
echo "</tr></tbody></table>";
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
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>';
|
||||
foreach($ListeNomsUE as $NomUE)
|
||||
if( $NomUE == $ueOpt ) // si c'est le semestre séléctionné
|
||||
echo "<td data-value='".$NomUE."' class='active'>".$NomUE.'</td>';
|
||||
else // sinon on affiche normalement
|
||||
echo "<td data-value='".$UE['nom']."'>".$UE['nom'].'</td>';
|
||||
echo "<td data-value='".$NomUE."'>".$NomUE.'</td>';
|
||||
echo "</tr></tbody></table>";
|
||||
|
||||
|
||||
foreach($answer->UEs as $UE){
|
||||
|
||||
if( $ueOpt == null || $UE['nom'] == $ueOpt ){
|
||||
|
||||
echo "<table class='basic'>";
|
||||
echo "<thead class='normal'>";
|
||||
echo '<tr>';
|
||||
echo '<th colspan=5><strong>'.$UE['semestre'].'</strong> - '.$UE['nom'].' - '.$UE['libelle'].'</th>';
|
||||
echo '</tr>';
|
||||
echo '</thead>';
|
||||
echo '<tbody>';
|
||||
foreach($UE['modules'] as $MODULE){
|
||||
echo '<tr>';
|
||||
echo '<td>'.$MODULE['nom'].'</td>';
|
||||
echo '<td>'.$MODULE['libelle'].'</td>';
|
||||
echo '</tr>';
|
||||
}
|
||||
|
||||
echo '</tbody>';
|
||||
echo '</table>';
|
||||
foreach($answer->semestres as $semestre){
|
||||
|
||||
if( $semestreOpt == null || $semestre['nom'] == $semestreOpt ){ // on affiche les semestres en fonction de l'affinage
|
||||
|
||||
foreach($semestre['UElist'] as $UE){
|
||||
|
||||
if( $ueOpt == null || $UE['nom'] == $ueOpt ){ // on affiche les UEs en fonction de l'affinage
|
||||
|
||||
echo "<table class='basic'>";
|
||||
echo "<thead>";
|
||||
echo '<tr>';
|
||||
echo '<th colspan=5>'.$semestre['nom_formation'].' - '.$semestre['nom'].'</th>';
|
||||
echo '</tr>';
|
||||
echo '</thead>';
|
||||
echo '<tbody>';
|
||||
foreach($UE['modules'] as $MODULE){
|
||||
echo '<tr>';
|
||||
echo '<td>'.$MODULE['nom'].'</td>';
|
||||
echo '<td>'.$MODULE['libelle'].'</td>';
|
||||
echo '<td>'.$UE['nom'].' - '.$UE['libelle'].'</td>';
|
||||
echo '</tr>';
|
||||
}
|
||||
|
||||
echo '</tbody>';
|
||||
echo '</table>';
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
echo '</section>';
|
||||
|
@ -168,6 +228,29 @@ if( permission('teacher') ){ // si l'utilisateur est un prof
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- tous les modules -->
|
||||
|
||||
<?php
|
||||
|
|
Loading…
Reference in New Issue