2015-10-30 11:52:50 +00:00
< ? php define ( '__ROOT__' , dirname ( dirname ( __FILE__ )) );
require_once __ROOT__ . '/manager/security.php' ;
2015-11-26 13:38:38 +00:00
require_once __ROOT__ . '/manager/modules.php' ;
/*** GESTION DES PARAMETRES OPTIONNELS ***/
// on initialise les paramètres optionnels
$ueOpt = null ;
$semestreOpt = null ;
$formationOpt = null ;
// on cherche dans toutes les variables _get si on trouve des paramètres
foreach ( $_POST as $k => $v ){
if ( preg_match ( '/^u:(.+)$/' , $k , $m ) ) // u:nomUe
$ueOpt = $m [ 1 ];
if ( preg_match ( '/^s:(.+)$/' , $k , $m ) ) // s:nomSemestre
$semestreOpt = $m [ 1 ];
if ( preg_match ( '/^f:(.+)$/' , $k , $m ) ) // f:codeFormation
$formationOpt = $m [ 1 ];
}
$ueOpt = ( $ueOpt == null || $ueOpt == '*' ) ? null : $ueOpt ;
$semestreOpt = ( $semestreOpt == null || $semestreOpt == '*' ) ? null : $semestreOpt ;
$formationOpt = ( $formationOpt == null || $formationOpt == '*' ) ? null : $formationOpt ;
2015-10-30 11:52:50 +00:00
/***************/
/*** PROFILE ***/
/***************/
2015-11-26 13:38:38 +00:00
if ( false && connected () ){ // si l'utilisateur est connecté
2015-11-15 14:42:12 +00:00
echo " <section name='myprofile' data-title='Profil'> " ;
2015-10-30 11:52:50 +00:00
echo 'profil' ;
echo '</section>' ;
2015-11-20 08:54:15 +00:00
}
/*****************************/
/*** ATTRIBUTION DES RÔLES ***/
/*****************************/
if ( permission ( 'admin' ) ){
// inclusion du manager utilisateur
require_once __ROOT__ . '/manager/user.php' ;
2015-11-23 19:56:00 +00:00
require_once __ROOT__ . '/manager/database.php' ;
2015-11-26 13:38:38 +00:00
// on récupère tous les modules de l'année pour l'affinage
$rAffinage = new stdClass (); $aAffinage = new stdClass ();
$rAffinage -> level_1 = 'getByYear' ;
2015-11-26 14:01:05 +00:00
$rAffinage -> annee = ( String ) $_SESSION [ 'annee' ];
2015-11-26 13:38:38 +00:00
modules_switch_level_1 ( $rAffinage , $aAffinage );
2015-11-20 08:54:15 +00:00
// création de la requête
$request = new stdClass (); $answer = new stdClass ();
2015-11-23 15:21:03 +00:00
$request -> level_1 = 'getListeEnseignantsModules' ;
2015-11-20 08:54:15 +00:00
// gestion de la requête
user_switch_level_1 ( $request , $answer );
2015-11-26 13:38:38 +00:00
if ( $answer -> request == 'success' && $aAffinage -> request == 'success' ){ // si aucune erreur
$allSemestres = $aAffinage -> semestres ; // liste du programme de l'année courante
2015-11-20 08:54:15 +00:00
2015-11-20 09:32:07 +00:00
echo " <section name='attributionrole' data-title='Rôles' class='basic' > " ;
2015-11-26 13:38:38 +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 ( $allSemestres as $semestre ) // on récupère la liste des UID de FORMATIONS
if ( ! in_array ( $semestre [ 'id_formation' ], $verificationUIDFormations ) )
array_push ( $verificationUIDFormations , $semestre [ 'id_formation' ]);
// si la formation optionnelle n'est pas définie ou incohérente, on le fait (première valeur trouvée)
if ( $formationOpt == null || ! in_array ( $formationOpt , $verificationUIDFormations ) )
$formationOpt = $verificationUIDFormations [ 0 ];
/**************************/
/* AFFINAGE PAR FORMATION */
/**************************/
echo " <table class='partlist' name='formation'><tbody><tr> " ;
foreach ( $allSemestres as $semestre ){ if ( ! in_array ( $semestre [ 'id_formation' ], $ListeUIDFormations ) ){
if ( $semestre [ 'id_formation' ] == $formationOpt ) // si c'est la formation séléctionnée
echo " <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 ( $allSemestres as $semestre ){ if ( $semestre [ 'id_formation' ] == $formationOpt && ! in_array ( $semestre [ 'id' ], $ListeUIDSemestres ) ){
if ( $semestre [ 'id' ] == $semestreOpt ) // si c'est le semestre séléctionné
echo " <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 ( $allSemestres as $semestre ){ if ( $semestre [ 'id_formation' ] == $formationOpt && in_array ( $semestre [ 'id' ], $ListeUIDSemestres ) ){
foreach ( $semestre [ 'UElist' ] as $UE ){ if ( ! in_array ( $UE [ 'id' ], $ListeUIDUE ) ){
if ( $UE [ 'id' ] == $ueOpt ) // si c'est l'UE séléctionnée
echo " <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> " ;
/**************************************************************/
/* ON DEFINIT LA LISTE DES MODULES EN FONCTION DE L'AFFINNAGE */
/**************************************************************/
$completeModuleList = array (); // contiendra la liste des modules
// on affiche les semestres en fonction de l'affinage
foreach ( $allSemestres as $semestre ){ if ( ( $semestreOpt == null || $semestre [ 'id' ] == $semestreOpt ) && ( $formationOpt == null || $semestre [ 'id_formation' ] == $formationOpt ) ){ // on affiche les semestres en fonction de l'affinage
// on afficha les UE en fonction de l'affinage
foreach ( $semestre [ 'UElist' ] as $UE ){ if ( $ueOpt == null || $UE [ 'id' ] == $ueOpt ){
// on définit la liste des modules en fonction de ça
foreach ( $UE [ 'modules' ] as $mod )
array_push ( $completeModuleList , $mod );
}}
}}
2015-11-20 09:32:07 +00:00
// var_dump( $answer->userlist );
2015-11-22 18:17:04 +00:00
echo " <table class='basic col5'><tbody> " ;
2015-11-20 09:32:07 +00:00
foreach ( $answer -> userlist as $user ){
echo " <tr> " ;
echo " <td><span class='link'> " . $user [ 'id' ] . " </span></td> " ;
echo " <td> " . $user [ 'prenom' ] . " </td> " ;
echo " <td> " . $user [ 'nom' ] . " </td> " ;
// si l'utilisateur est admin
if ( in_array ( 'admin' , $user [ 'role' ]) )
2015-11-24 09:37:02 +00:00
echo " <td><input data-usr=' " . $user [ 'id' ] . " ' class='check_admin' type='checkbox' id=' " . $user [ 'id' ] . " administrateur' checked><label for=' " . $user [ 'id' ] . " administrateur'></label> administrateur</td> " ;
2015-11-20 09:32:07 +00:00
else
2015-11-24 09:37:02 +00:00
echo " <td><input data-usr=' " . $user [ 'id' ] . " ' class='check_admin' type='checkbox' id=' " . $user [ 'id' ] . " administrateur'><label for=' " . $user [ 'id' ] . " administrateur'></label> administrateur</td> " ;
2015-11-22 18:17:04 +00:00
// si l'utilisateur est référent
if ( in_array ( 'master' , $user [ 'role' ]) )
2015-11-24 09:37:02 +00:00
echo " <td><input data-usr=' " . $user [ 'id' ] . " ' class='check_master' type='checkbox' id=' " . $user [ 'id' ] . " referent' checked><label for=' " . $user [ 'id' ] . " referent'></label> référent</td> " ;
2015-11-22 18:17:04 +00:00
else
2015-11-24 09:37:02 +00:00
echo " <td><input data-usr=' " . $user [ 'id' ] . " ' class='check_master' type='checkbox' id=' " . $user [ 'id' ] . " referent'><label for=' " . $user [ 'id' ] . " referent'></label> référent</td> " ;
2015-11-20 09:32:07 +00:00
echo " </tr> " ;
2015-11-23 15:40:54 +00:00
2015-11-26 13:38:38 +00:00
2015-11-23 19:56:00 +00:00
/* LISTE DES MODULES CORRIGEABLES */
$userModulesUID = array ();
echo " <tr class='transparentbg noborder'><td></td><td colspan=4> " ;
echo " <table class='basic col4'><tbody> " ;
if ( $user [ 'semestreList' ] != null ){
foreach ( $user [ 'semestreList' ] as $semestre ){
foreach ( $semestre [ 'UElist' ] as $ue ){
foreach ( $ue [ 'modules' ] as $module ){
echo " <tr> " ;
2015-11-24 09:37:02 +00:00
echo " <td> " . $module [ 'nom' ] . " - " . $module [ 'libelle' ] . " </td> " ;
2015-11-23 19:56:00 +00:00
echo " <td> " . $ue [ 'nom' ] . " - " . $ue [ 'libelle' ] . " </td> " ;
echo " <td> " . $semestre [ 'formation' ] . " - " . $semestre [ 'nom' ] . " </td> " ;
echo " <td> " ;
2015-11-24 09:37:02 +00:00
echo " <input data-usr=' " . $user [ 'id' ] . " ' data-mccmod=' " . $module [ 'id_mcc_module' ] . " ' class='del_module' type='checkbox' id=' " . $user [ 'id' ] . " correcteur " . $module [ 'id' ] . " ' checked><label for=' " . $user [ 'id' ] . " correcteur " . $module [ 'id' ] . " '></label> correcteur " ;
2015-11-23 19:56:00 +00:00
echo " </td> " ;
echo " </tr> " ;
2015-11-26 13:38:38 +00:00
array_push ( $userModulesUID , $module [ 'id' ]);
2015-11-23 19:56:00 +00:00
}
2015-11-23 15:40:54 +00:00
}
}
2015-11-23 19:56:00 +00:00
2015-11-23 15:40:54 +00:00
}
2015-11-23 19:56:00 +00:00
/* AJOUT DE MODULES */
echo " <tr class='grayscale'> " ;
echo " <td><select name='modules'> " ;
2015-11-26 14:01:05 +00:00
if ( count ( $completeModuleList ) > 0 ){ // si au moins 1 module
foreach ( $completeModuleList as $MOD ){ if ( ! in_array ( $MOD [ 'id' ], $userModulesUID ) ){
echo " <option value=' " . $MOD [ 'id_mcc_module' ] . " '> " . $MOD [ 'nom' ] . " - " . $MOD [ 'libelle' ] . " </option> " ;
}}
} else // si aucun module
echo " <option>Aucun module trouvé</option> " ;
2015-11-23 19:56:00 +00:00
echo " </select></td> " ;
2015-11-24 09:37:02 +00:00
echo " <td><div data-usr=' " . $user [ 'id' ] . " ' class='confirm active set_correcteur'>Définir comme correcteur</div></td> " ;
2015-11-23 19:56:00 +00:00
echo " <td></td> " ;
echo " <td></td> " ;
echo " </tr> " ;
echo " </tbody></table></tr> " ;
2015-11-23 15:40:54 +00:00
2015-11-20 09:32:07 +00:00
}
echo " </tbody></table> " ;
2015-11-20 08:54:15 +00:00
echo " </section> " ;
}
}