2015-10-23 11:08:33 +00:00
< ? php define ( '__ROOT__' , dirname ( dirname ( __FILE__ )) );
2015-10-28 17:08:12 +00:00
require_once __ROOT__ . '/manager/security.php' ;
2015-10-21 20:56:56 +00:00
/****************************************
* *
* SECTION " GROUPES " *
* *
*****************************************
*
2015-10-22 11:50:56 +00:00
* [ 1 ] Présentation ( studend + prof )
2015-10-21 20:56:56 +00:00
* [ 2 ] Tout les groupes ( tous connecté )
* [ 3 ] Modifier les groupes ( admin )
* [ 4 ] Répartir les élèves ( admin )
*
*****************************************/
2015-10-23 11:08:33 +00:00
2015-10-21 20:56:56 +00:00
2015-11-06 13:05:14 +00:00
/*** GESTION DES PARAMETRES OPTIONNELS ***/
2015-11-15 17:12:49 +00:00
// on initialise les paramètres optionnels
2015-11-17 07:35:21 +00:00
$semestreOpt = null ;
$groupeOpt = null ;
$formationOpt = null ;
2015-11-19 13:08:40 +00:00
$anneeOpt = null ;
2015-11-06 13:05:14 +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-06 13:05:14 +00:00
2015-11-15 17:12:49 +00:00
if ( preg_match ( '/^g:(.+)$/' , $k , $m ) ) // g:nomGroupe
$groupeOpt = $m [ 1 ];
2015-11-06 13:05:14 +00:00
2015-11-15 17:12:49 +00:00
if ( preg_match ( '/^s:(.+)$/' , $k , $m ) ) // s:nomSemestre
$semestreOpt = $m [ 1 ];
2015-11-06 13:05:14 +00:00
2015-11-17 07:35:21 +00:00
if ( preg_match ( '/^f:(.+)$/' , $k , $m ) ) // f:codeFormation
$formationOpt = $m [ 1 ];
2015-11-06 13:05:14 +00:00
2015-11-19 13:08:40 +00:00
if ( preg_match ( '/^a:(.+)$/' , $k , $m ) ) // a:annee
$anneeOpt = $m [ 1 ];
2015-11-17 07:35:21 +00:00
}
2015-11-06 13:05:14 +00:00
2015-11-17 07:35:21 +00:00
$groupeOpt = ( $groupeOpt == null || $groupeOpt == '*' ) ? null : $groupeOpt ;
$semestreOpt = ( $semestreOpt == null || $semestreOpt == '*' ) ? null : $semestreOpt ;
$formationOpt = ( $formationOpt == null || $formationOpt == '*' ) ? null : $formationOpt ;
2015-11-19 13:08:40 +00:00
$anneeOpt = ( $anneeOpt == null || $anneeOpt == '*' ) ? null : $anneeOpt ;
2015-11-06 13:05:14 +00:00
2015-11-04 08:15:35 +00:00
/************************/
/*** TOUS LES GROUPES ***/
/************************/
/*
* UTILISATEUR -> affichage du même semestre
*
2016-01-02 13:21:31 +00:00
*/
2015-11-06 22:00:08 +00:00
if ( permission ( 'student' ) ){ // si connecté && utilisateur
2015-11-04 08:15:35 +00:00
$request = new stdClass ();
$answer = new stdClass ();
2015-10-23 11:08:33 +00:00
2015-11-19 22:32:54 +00:00
$request -> level_1 = 'grouplist' ;
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-23 11:08:33 +00:00
2015-12-06 19:08:28 +00:00
groupsManager :: switch_level_1 ( $request , $answer );
2015-10-21 20:56:56 +00:00
2015-11-04 08:15:35 +00:00
if ( $answer -> request == 'success' ){ // si pas d'erreur
//////////////////////////////////////////////////////////////
2015-11-15 14:42:12 +00:00
echo " <section name='studentallgroups' data-title='tous les groupes' class='basic'> " ;
2015-11-04 08:15:35 +00:00
echo " <table class='basic col5'><thead><tr> " ;
echo '<th>Identifiant</td>' ;
echo '<th>Prenom</td>' ;
echo '<th>Nom</td>' ;
echo '<th>Semestre</td>' ;
echo '<th>Groupe</td>' ;
echo '</tr></thead></table>' ;
2015-10-23 11:08:33 +00:00
2015-11-04 08:15:35 +00:00
foreach ( $answer -> grouplist as $group ){ // pour chaque groupe
2015-10-22 21:06:25 +00:00
2015-11-12 08:18:10 +00:00
if ( count ( $group [ 'userlist' ]) > 0 ){ // s'il y a des utilisateurs
2015-10-22 21:06:25 +00:00
2015-11-04 08:15:35 +00:00
echo " <table class='basic margin col5'> " ;
2015-10-22 21:06:25 +00:00
2015-11-04 08:15:35 +00:00
echo '<tbody>' ;
2015-10-22 21:06:25 +00:00
2015-11-04 08:15:35 +00:00
// pour chaque utilisateur
2015-11-12 08:18:10 +00:00
foreach ( $group [ 'userlist' ] as $user ){
2015-11-04 08:15:35 +00:00
echo '<tr>' ;
echo " <td><span class=link> " . $user [ 'identifiant' ] . '</span></td>' ;
echo '<td>' . $user [ 'prenom' ] . '</td>' ;
echo '<td>' . $user [ 'nom' ] . '</td>' ;
2015-11-12 08:18:10 +00:00
echo '<td>' . $group [ 'semestre' ] . '</td>' ;
echo '<td>Groupe <span class=stressed>' . $group [ 'nom' ] . '</span></td>' ;
2015-11-04 08:15:35 +00:00
echo '</tr>' ;
}
2015-10-22 21:06:25 +00:00
2015-11-04 08:15:35 +00:00
// echo '<tr><td colspan=5 class=more></td></tr>';
2015-10-22 21:06:25 +00:00
2015-11-04 08:15:35 +00:00
echo '</tbody>' ;
2015-10-24 17:01:22 +00:00
2015-11-04 08:15:35 +00:00
echo '</table>' ;
2015-10-23 11:08:33 +00:00
2015-11-04 08:15:35 +00:00
}
}
2015-11-11 21:54:52 +00:00
echo '</section>' ;
2015-11-04 08:15:35 +00:00
////////////////////////////////////////////////////////
} else
2015-11-15 14:42:12 +00:00
echo " <section name='studentallgroups' data-title='tous les groupes' class='basic'><table class=basic><tbody><tr><td>Aucun groupe trouvé</td></tr></tbody></table></section> " ;
2015-11-04 08:15:35 +00:00
}
2015-10-25 16:55:18 +00:00
2015-10-23 11:08:33 +00:00
2015-11-06 10:13:32 +00:00
2015-11-06 14:57:12 +00:00
2015-11-06 10:13:32 +00:00
2015-11-04 08:15:35 +00:00
2015-10-25 16:55:18 +00:00
/******************/
/*** MON GROUPE ***/
/******************/
2015-11-04 08:15:35 +00:00
/*
*
* ETUDIANT -> son groupe de son semestre
*
*/
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-25 16:55:18 +00:00
2015-11-19 22:47:58 +00:00
$request = new stdClass (); $answer = new stdClass ();
$request -> level_1 = 'userlist' ;
$request -> etudiant = $_SESSION [ 'identifiant' ];
2016-01-02 13:21:31 +00:00
// $request->formation = $_SESSION['formation'];
2015-11-19 22:47:58 +00:00
$request -> semestre = $_SESSION [ 'semestre' ];
2016-01-02 13:21:31 +00:00
// $request->annee = $_SESSION['annee'];
2015-12-06 19:08:28 +00:00
groupsManager :: switch_level_1 ( $request , $answer );
2015-10-25 16:55:18 +00:00
2015-11-19 22:47:58 +00:00
if ( $answer -> request == 'success' ){ // si on a bien récupéré les membres du groupe
////////////////////////////////////////////////////////////////////////////////
echo " <section name='studentsgroup' data-title='Mon groupe' class='basic'> " ;
2015-10-25 16:55:18 +00:00
2015-11-19 22:47:58 +00:00
echo " <table class='basic col1'><thead> " ;
echo '<tr>' ;
echo '<th colspan=5>' ;
echo 'Groupe ' . $answer -> userlist [ 'groupe' ];
echo '</th>' ;
echo '</tr>' ;
echo '</thead></table>' ;
2015-10-25 16:55:18 +00:00
2015-11-19 22:47:58 +00:00
echo " <table class='basic col5'><tbody> " ;
2015-10-25 16:55:18 +00:00
2015-11-19 22:47:58 +00:00
// pour chaque utilisateur
foreach ( $answer -> userlist as $user ){ if ( $user != $answer -> userlist [ 'groupe' ] ){
echo '<tr>' ;
echo " <td><span class=link> " . $user [ 'identifiant' ] . '</span></td>' ;
echo '<td>' . $user [ 'prenom' ] . '</td>' ;
echo '<td>' . $user [ 'nom' ] . '</td>' ;
echo '<td>' . $user [ 'semestre' ] . '</td>' ;
echo '<td>Groupe <span class=stressed>' . $answer -> userlist [ 'groupe' ] . '</span></td>' ;
echo '</tr>' ;
}}
2015-10-25 16:55:18 +00:00
2015-11-19 22:47:58 +00:00
echo '</tbody></table>' ;
2015-10-25 16:55:18 +00:00
2015-11-11 21:54:52 +00:00
2015-11-19 22:47:58 +00:00
echo '</section>' ;
////////////////////////////////////////////////////////////////////////////////
} else
echo " <section name='studentsgroup' data-title='Mon groupe' class='basic'><table class=basic><tbody><tr><td>Aucun groupe trouvé</td></tr></tbody></table></section> " ;
2015-10-25 16:55:18 +00:00
echo '</section>' ;
} ?>
2015-10-21 20:56:56 +00:00
2015-11-04 08:15:35 +00:00
2015-11-06 10:13:32 +00:00
<!-- mes groupeS -->
2015-11-04 08:15:35 +00:00
< ? php
2015-11-06 10:13:32 +00:00
/*******************/
/*** MES GROUPES ***/
/*******************/
2015-11-04 08:15:35 +00:00
/*
*
* PROFESSEUR -> les groupes inscrits aux modules qu ' il enseigne
*
*/
2015-11-06 22:00:08 +00:00
if ( permission ( 'teacher' ) ){ // si l'utilisateur est connecté et que c'est un élève
2015-11-04 08:15:35 +00:00
2015-11-15 17:12:49 +00:00
$request = new stdClass (); $answer = new stdClass ();
2015-11-04 08:15:35 +00:00
2015-11-15 17:12:49 +00:00
$request -> level_1 = 'grouplistForTeacher' ;
$request -> enseignant = $_SESSION [ 'identifiant' ];
$request -> annee = $_SESSION [ 'annee' ];
2015-12-06 19:08:28 +00:00
groupsManager :: switch_level_1 ( $request , $answer );
2015-11-15 17:12:49 +00:00
2015-12-01 17:15:44 +00:00
// var_dump( $answer );
2015-12-01 15:46:41 +00:00
2015-11-17 07:35:21 +00:00
if ( $answer -> request == 'success' && $answer -> request == 'success' && count ( $answer -> grouplist ) > 0 ){ // si on a bien récupéré les membres du groupe
2015-11-15 17:12:49 +00:00
////////////////////////////////////////////////////////////////////////////////
echo " <section name='teachersgroups' data-title='Mes groupes' class='basic'> " ;
2015-11-17 07:35:21 +00:00
/* ON RECUPERE UNE LISTE UNIQUE DES SEMESTRES */
$ListeUIDFormations = array ();
$ListeUIDSemestres = array ();
$ListeUIDGroupes = array ();
// Vérification de la formation si elle est définie
$verificationUIDFormations = array ();
foreach ( $answer -> grouplist as $groupe ) // on récupère la liste des UID de FORMATIONS
if ( ! in_array ( $groupe [ 'id_formation' ], $verificationUIDFormations ) )
array_push ( $verificationUIDFormations , $groupe [ 'id_formation' ]);
// si la formation optionnelle n'est pas définie ou incohérente, on le fait (première valeur trouvée)
2015-11-25 17:17:34 +00:00
$MyGroupsFormationOpt = $formationOpt ;
if ( $MyGroupsFormationOpt == null || ! in_array ( $MyGroupsFormationOpt , $verificationUIDFormations ) )
$MyGroupsFormationOpt = $verificationUIDFormations [ 0 ];
2015-11-17 07:35:21 +00:00
/**************************/
/* AFFINAGE PAR FORMATION */
/**************************/
echo " <table class='partlist' name='formation'><tbody><tr> " ;
foreach ( $answer -> grouplist as $groupe ){ if ( ! in_array ( $groupe [ 'id_formation' ], $ListeUIDFormations ) ){
2015-11-25 17:17:34 +00:00
if ( $groupe [ 'id_formation' ] == $MyGroupsFormationOpt ) // si c'est la formation séléctionnée
2015-11-17 07:35:21 +00:00
echo " <td data-value=' " . $groupe [ 'id_formation' ] . " ' class='active'> " . $groupe [ 'formation' ] . '</td>' ;
else // sinon on affiche normalement
echo " <td data-value=' " . $groupe [ 'id_formation' ] . " '> " . $groupe [ 'formation' ] . '</td>' ;
// on ajoute la formation à la liste pour ne pas la répéter
array_push ( $ListeUIDFormations , $groupe [ 'id_formation' ]);
}}
echo " </tr></tbody></table> " ;
/*************************/
/* AFFINAGE PAR SEMESTRE */
/*************************/
2015-12-01 15:46:41 +00:00
2015-11-15 17:12:49 +00:00
echo " <table class='partlist' name='semestre'><tbody><tr> " ;
2015-11-17 07:35:21 +00:00
if ( $semestreOpt == null ) echo " <td data-value='*' class='active'>Tous</td> " ;
else echo " <td data-value='*'>Tous</td> " ;
2015-11-15 17:12:49 +00:00
2015-11-17 07:35:21 +00:00
/* On récupère la liste des SEMESTRES en accord avec la FORMATION sélectionnée */
2015-11-25 17:17:34 +00:00
foreach ( $answer -> grouplist as $groupe ){ if ( $groupe [ 'id_formation' ] == $MyGroupsFormationOpt && ! in_array ( $groupe [ 'id_semestre' ], $ListeUIDSemestres ) ){
2015-11-17 07:35:21 +00:00
if ( $groupe [ 'id_semestre' ] == $semestreOpt ) // si c'est le groupe séléctionné
echo " <td data-value=' " . $groupe [ 'id_semestre' ] . " ' class='active'> " . $groupe [ 'semestre' ] . '</td>' ;
else // sinon on affiche normalement
echo " <td data-value=' " . $groupe [ 'id_semestre' ] . " '> " . $groupe [ 'semestre' ] . '</td>' ;
2015-11-15 17:12:49 +00:00
2015-11-17 07:35:21 +00:00
// on ajoute le semestre à la liste pour ne pas le répéter
2015-12-01 15:46:41 +00:00
array_push ( $ListeUIDSemestres , $groupe [ 'id_semestre' ]);
2015-11-17 07:35:21 +00:00
}}
2015-11-15 17:12:49 +00:00
echo " </tr></tbody></table> " ;
2015-11-04 08:15:35 +00:00
2015-11-06 10:13:32 +00:00
2015-11-17 07:35:21 +00:00
/***********************/
/* AFFINAGE PAR GROUPE */
/***********************/
2015-11-15 17:12:49 +00:00
echo " <select name='groupe'> " ;
2015-11-17 07:35:21 +00:00
if ( $groupeOpt == null ) echo " <option value='*' selected>Tous les groupes</option> " ;
else echo " <option value='*'>Tous les groupes</option> " ;
/* On récupère la liste des SEMESTRES en accord avec la FORMATION sélectionnée */
2015-11-25 17:17:34 +00:00
foreach ( $answer -> grouplist as $groupe ){ if ( $groupe [ 'id_formation' ] == $MyGroupsFormationOpt && in_array ( $groupe [ 'id_semestre' ], $ListeUIDSemestres ) && ! in_array ( $groupe [ 'id' ], $ListeUIDGroupes ) ){
2015-11-17 07:35:21 +00:00
if ( $groupe [ 'id' ] == $groupeOpt ) // si c'est le groupe séléctionné
echo " <option value=' " . $groupe [ 'id' ] . " ' selected> " . $groupe [ 'nom' ] . '</option>' ;
else // sinon on affiche normalement
echo " <option value=' " . $groupe [ 'id' ] . " '> " . $groupe [ 'nom' ] . '</option>' ;
// on ajoute le semestre à la liste pour ne pas le répéter
array_push ( $ListeUIDSemestres , $groupe [ 'id' ]);
}}
echo " </select> " ;
2015-11-06 14:57:12 +00:00
2015-11-15 17:12:49 +00:00
echo " <table class='basic col5'><thead><tr> " ;
echo '<th>Identifiant</td>' ;
echo '<th>Prenom</td>' ;
echo '<th>Nom</td>' ;
echo '<th>Semestre</td>' ;
echo '<th>Groupe</td>' ;
echo '</tr></thead></table>' ;
2015-11-04 08:15:35 +00:00
2015-11-15 17:12:49 +00:00
foreach ( $answer -> grouplist as $group ){ // pour chaque groupe
2015-11-06 10:13:32 +00:00
2015-11-25 17:17:34 +00:00
if ( $group [ 'id_formation' ] == $MyGroupsFormationOpt && ( $semestreOpt == null || $semestreOpt == $group [ 'id_semestre' ]) && ( $groupeOpt == null || $groupeOpt == $group [ 'id' ]) ){
2015-11-06 10:13:32 +00:00
2015-11-17 07:35:21 +00:00
if ( count ( $group [ 'userlist' ]) > 0 ){ // s'il y a des utilisateurs
2015-11-15 17:12:49 +00:00
2015-11-17 07:35:21 +00:00
echo " <table class='basic margin col5'> " ;
2015-11-15 17:12:49 +00:00
2015-11-17 07:35:21 +00:00
echo '<tbody>' ;
2015-11-15 17:12:49 +00:00
2015-11-17 07:35:21 +00:00
// pour chaque utilisateur
foreach ( $group [ 'userlist' ] as $user ){
echo '<tr>' ;
echo " <td><span class=link> " . $user [ 'identifiant' ] . '</span></td>' ;
echo '<td>' . $user [ 'prenom' ] . '</td>' ;
echo '<td>' . $user [ 'nom' ] . '</td>' ;
echo '<td>' . $group [ 'semestre' ] . '</td>' ;
echo '<td>Groupe <span class=stressed>' . $group [ 'nom' ] . '</span></td>' ;
echo '</tr>' ;
}
2015-11-15 17:12:49 +00:00
2015-11-17 07:35:21 +00:00
// echo '<tr><td colspan=5 class=more></td></tr>';
echo '</tbody></table>' ;
}
2015-11-06 10:13:32 +00:00
}
2015-11-15 17:12:49 +00:00
}
echo '</section>' ;
////////////////////////////////////////////////////////////////////////////////
2015-11-30 16:25:33 +00:00
} /* else
2015-11-15 17:12:49 +00:00
echo " <section name='teachersgroups' data-title='Mes groupes' class='basic'><table class=basic><tbody><tr><td>Aucun groupe trouvé</td></tr></tbody></table></section> " ;
2015-11-30 16:25:33 +00:00
*/
2015-11-04 08:15:35 +00:00
} ?>
2015-10-27 11:30:56 +00:00
<!-- DEPLACEMENT D ' ELEVES -->
2015-10-21 20:56:56 +00:00
2015-10-27 11:30:56 +00:00
< ? php
/****************************/
/*** DEPLACEMENT D'ELEVES ***/
/****************************/
2015-11-26 15:40:04 +00:00
if ( permission ( 'admin' ) || permission ( 'master' ) ){ // si l'utilisateur est connecté et que c'est un admin/référent
2015-10-21 20:56:56 +00:00
2015-11-25 23:18:50 +00:00
$requestAllGroups = new stdClass (); $answerAllGroups = new stdClass ();
// on récupère la liste de tous les groupes (pour le déplacement)
$requestAllGroups -> level_1 = 'exhaustiveList' ;
2015-10-27 11:30:56 +00:00
2015-12-06 19:08:28 +00:00
groupsManager :: switch_level_1 ( $requestAllGroups , $answerAllGroups );
2015-10-27 11:30:56 +00:00
2015-11-25 23:18:50 +00:00
// on récupère les groupes affichés sur la page
$request = new stdClass (); $answer = new stdClass ();
$request -> level_1 = 'grouplistForYear' ;
$request -> annee = $_SESSION [ 'annee' ];
2015-11-13 23:47:11 +00:00
2015-12-06 19:08:28 +00:00
groupsManager :: switch_level_1 ( $request , $answer ); // on fait la requête pour les groupes en fonction des filtres si définis
2015-11-17 07:35:21 +00:00
2015-11-25 23:18:50 +00:00
if ( $answer -> request == 'success' && $answerAllGroups -> request == 'success' ){ // si pas d'erreur
//////////////////////////////////////////////////////////////
echo " <section name='movestudents' data-title='Tous les groupes' class='basic'> " ;
/* ON RECUPERE UNE LISTE UNIQUE DES SEMESTRES */
$ListeUIDFormations = array ();
$ListeUIDSemestres = array ();
$ListeUIDGroupes = array ();
2015-11-17 07:35:21 +00:00
2015-11-25 23:18:50 +00:00
// Vérification de la formation si elle est définie
$verificationUIDFormations = array ();
foreach ( $answer -> grouplist as $groupe ) // on récupère la liste des UID de FORMATIONS
if ( ! in_array ( $groupe [ 'id_formation' ], $verificationUIDFormations ) )
array_push ( $verificationUIDFormations , $groupe [ 'id_formation' ]);
2015-11-17 07:35:21 +00:00
2015-11-25 23:18:50 +00:00
$moveStudentsFormationOpt = $formationOpt ;
2015-12-30 16:39:24 +00:00
// si la formation optionnelle n'est pas définie ou incohérente et si au moins 1 choix, on le fait (première valeur trouvée)
if ( ( $moveStudentsFormationOpt == null || ! in_array ( $moveStudentsFormationOpt , $verificationUIDFormations )) && count ( $verificationUIDFormations ) > 0 )
2015-11-25 23:18:50 +00:00
$moveStudentsFormationOpt = $verificationUIDFormations [ 0 ];
2015-11-17 07:35:21 +00:00
2015-11-25 23:18:50 +00:00
/**************************/
/* AFFINAGE PAR FORMATION */
/**************************/
echo " <table class='partlist' name='formation'><tbody><tr> " ;
foreach ( $answer -> grouplist as $groupe ){ if ( ! in_array ( $groupe [ 'id_formation' ], $ListeUIDFormations ) ){
2015-11-17 07:35:21 +00:00
2015-11-25 23:18:50 +00:00
// si c'est la formation séléctionnée
if ( $groupe [ 'id_formation' ] == $moveStudentsFormationOpt ) echo " <td data-value=' " . $groupe [ 'id_formation' ] . " ' class='active'> " . $groupe [ 'formation' ] . '</td>' ;
else echo " <td data-value=' " . $groupe [ 'id_formation' ] . " '> " . $groupe [ 'formation' ] . '</td>' ;
2015-11-17 07:35:21 +00:00
2015-11-25 23:18:50 +00:00
// on ajoute la formation à la liste pour ne pas la répéter
array_push ( $ListeUIDFormations , $groupe [ 'id_formation' ]);
}}
echo " </tr></tbody></table> " ;
2015-11-17 07:35:21 +00:00
2015-11-06 14:57:12 +00:00
2015-11-17 07:35:21 +00:00
2015-11-25 23:18:50 +00:00
/*************************/
/* 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> " ;
2015-11-17 07:35:21 +00:00
2015-11-25 23:18:50 +00:00
/* On récupère la liste des SEMESTRES en accord avec la FORMATION sélectionnée */
foreach ( $answer -> grouplist as $groupe ){ if ( $groupe [ 'id_formation' ] == $moveStudentsFormationOpt && ! in_array ( $groupe [ 'id_semestre' ], $ListeUIDSemestres ) ){
// si c'est le semestre séléctionné
if ( $groupe [ 'id_semestre' ] == $semestreOpt ) echo " <td data-value=' " . $groupe [ 'id_semestre' ] . " ' class='active'> " . $groupe [ 'semestre' ] . '</td>' ;
else echo " <td data-value=' " . $groupe [ 'id_semestre' ] . " '> " . $groupe [ 'semestre' ] . '</td>' ;
2015-11-06 14:57:12 +00:00
2015-11-25 23:18:50 +00:00
// on ajoute le semestre à la liste pour ne pas le répéter
array_push ( $ListeUIDSemestres , $groupe [ 'id_semestre' ]);
}}
echo " </tr></tbody></table> " ;
2015-11-17 07:35:21 +00:00
2015-11-06 14:57:12 +00:00
2015-11-25 23:18:50 +00:00
/***********************/
/* AFFINAGE PAR GROUPE */
/***********************/
echo " <select name='groupe'> " ;
if ( $groupeOpt == null ) echo " <option value='*' selected>Tous les groupes</option> " ;
else echo " <option value='*'>Tous les groupes</option> " ;
2015-11-06 14:57:12 +00:00
2015-11-25 23:18:50 +00:00
/* On récupère la liste des GROUPES en accord avec la FORMATION et le SEMESTRE sélectionnée */
foreach ( $answer -> grouplist as $groupe ){ if ( $groupe [ 'id_formation' ] == $moveStudentsFormationOpt && in_array ( $groupe [ 'id_semestre' ], $ListeUIDSemestres ) && ! in_array ( $groupe [ 'id' ], $ListeUIDGroupes ) ){
// si c'est le groupe sélectionné
if ( $groupe [ 'id' ] == $groupeOpt ) echo " <option value=' " . $groupe [ 'id' ] . " ' selected> " . $groupe [ 'nom' ] . '</option>' ;
else echo " <option value=' " . $groupe [ 'id' ] . " '> " . $groupe [ 'nom' ] . '</option>' ;
2015-11-06 14:57:12 +00:00
2015-11-25 23:18:50 +00:00
// on ajoute le semestre à la liste pour ne pas le répéter
array_push ( $ListeUIDGroupes , $groupe [ 'id' ]);
}}
echo " </select> " ;
2015-11-06 14:57:12 +00:00
2015-10-27 11:30:56 +00:00
2015-11-25 23:18:50 +00:00
foreach ( $answer -> grouplist as $group ){ // pour chaque groupe
2015-10-27 11:30:56 +00:00
2015-11-25 23:18:50 +00:00
if ( $group [ 'id_formation' ] == $moveStudentsFormationOpt && ( $semestreOpt == null || $semestreOpt == $group [ 'id_semestre' ]) && ( $groupeOpt == null || $groupeOpt == $group [ 'id' ]) ){
2015-10-27 11:30:56 +00:00
2015-11-25 23:18:50 +00:00
if ( count ( $group [ 'userlist' ]) > 0 ){ // s'il y a des utilisateurs
2015-10-27 11:30:56 +00:00
2015-11-26 15:40:04 +00:00
if ( permission ( 'admin' ) )
echo " <table class='basic col5'> " ;
else
echo " <table class='basic col4'> " ;
2015-10-27 11:30:56 +00:00
2015-11-25 23:18:50 +00:00
echo '<thead>' ;
echo '<tr>' ;
echo '<th colspan=5>' ;
echo 'Groupe <span>' . $group [ 'nom' ] . '</span>' ;
echo '</th>' ;
echo '</tr>' ;
echo '</thead>' ;
2015-10-27 11:30:56 +00:00
2015-11-17 07:35:21 +00:00
2015-11-25 23:18:50 +00:00
echo '<tbody>' ;
2015-10-27 11:30:56 +00:00
2015-11-25 23:18:50 +00:00
// pour chaque utilisateur
foreach ( $group [ 'userlist' ] as $user ){
echo '<tr>' ;
echo " <td><span class=link> " . $user [ 'identifiant' ] . '</span></td>' ;
echo '<td>' . $user [ 'prenom' ] . '</td>' ;
echo '<td>' . $user [ 'nom' ] . '</td>' ;
echo '<td>' . $group [ 'nom' ] . '</td>' ;
echo '<td>' ;
2015-11-26 15:40:04 +00:00
// l'admin uniquement peut déplacer les étudiants
/**/ if ( permission ( 'admin' ) ){
2015-11-25 23:18:50 +00:00
/* CHANGEMENT DE GROUPE */
2015-12-06 14:05:22 +00:00
echo " <input data-usr=' " . $user [ 'identifiant' ] . " ' class='deplacer_etu' type='checkbox' id=' " . $user [ 'identifiant' ] . " deplacer'><label for=' " . $user [ 'identifiant' ] . " deplacer'></label> déplacer " ;
2015-11-26 15:40:04 +00:00
}
2015-11-25 23:18:50 +00:00
echo '</td>' ;
echo '</tr>' ;
}
2015-10-27 11:30:56 +00:00
2015-12-06 14:05:22 +00:00
/* après chaque groupe on propose de déplacer les élèves cochés */
2016-01-02 13:27:04 +00:00
// l'admin uniquement peut déplacer les étudiants
/**/ if ( permission ( 'admin' ) ){
echo " <tr> " ;
echo " <td colspan=2>Déplacer les élèves selectionnés vers: </td> " ;
echo " <td colspan=3> " ;
echo " <select data-stre=' " . $group [ 'id_semestre' ] . " ' class='deplacement_groupe'> " ;
echo " <option value=' " . $group [ 'id' ] . " ' selected> " . $group [ 'nom' ] . " </option> " ;
foreach ( $answerAllGroups -> grouplist as $groupemodif ) // pour tous les groupes
if ( $groupemodif [ 'rang' ] == $group [ 'rang' ] && $groupemodif [ 'id' ] != $group [ 'id' ] ) // si c'est un groupe du même rang et pas le groupe actuel
echo " <option value=' " . $groupemodif [ 'id' ] . " '> " . $groupemodif [ 'nom' ] . " </option> " ;
echo '</select>' ;
echo " <div class='confirm active valider_deplacement'>déplacer les étudiants</div> " ;
echo " </td> " ;
echo " </tr> " ;
}
2015-11-25 23:18:50 +00:00
// echo '<tr><td colspan=5 class=more></td></tr>';
2015-10-27 11:30:56 +00:00
2015-11-25 23:18:50 +00:00
echo '</tbody>' ;
2015-11-17 07:35:21 +00:00
2015-11-25 23:18:50 +00:00
echo '</table>' ;
2015-10-31 16:25:19 +00:00
2015-10-27 11:30:56 +00:00
}
2015-11-25 23:18:50 +00:00
}
2015-10-31 16:25:19 +00:00
}
2015-11-25 23:18:50 +00:00
echo '</section>' ;
////////////////////////////////////////////////////////
} else
echo " <section name='movestudents' data-title='Tous les groupes' class='basic'><table class=basic><tbody><tr><td>Aucun groupe trouvé</td></tr></tbody></table></section> " ;
2015-10-27 11:30:56 +00:00
2015-11-09 20:47:53 +00:00
} ?>
< ? php
2015-11-19 13:08:40 +00:00
2015-11-09 20:47:53 +00:00
/*********************************/
/*** IMPORTATION FICHIER EXCEL ***/
/*********************************/
2015-11-26 15:40:04 +00:00
if ( permission ( 'master' ) || permission ( 'admin' ) ){
echo " <section name='importuserlist' data-title='excel'> " ;
2015-11-19 13:08:40 +00:00
/* [ 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' ;
2015-12-06 19:08:28 +00:00
groupsManager :: switch_level_1 ( $request , $answer ); // on fait la requête pour les groupes en fonction des filtres si définis
2015-11-19 13:08:40 +00:00
if ( $answer -> request == 'success' ){ // si pas d'erreur
echo " <div class='p center'> " ;
$anneesListe = array ();
$semestresListe = array ();
/**********************/
/* AFFINAGE PAR ANNEE */
/**********************/
echo " Exportation des listes d'étudiants<br> " ;
2015-11-19 13:16:27 +00:00
echo " <span style='font-size:.8em;'>(Format compatible Microsoft Office, Open Office et Libre Office)</span><br> " ;
2015-11-19 13:08:40 +00:00
/* AFFINAGE POUR LES 5 ANNEES SUIVANTES */
echo " <select name='annee'> " ;
foreach ( $answer -> yearList as $annee ){ if ( ! in_array ( $annee [ 'annee' ], $anneesListe ) ){ // pour éviter les doublons
if ( $anneeOpt == $annee [ 'annee' ] ) // on préselectionne l'année selectionnée
echo " <option value=' " . $annee [ 'annee' ] . " ' selected> " . anneeScolaire ( $annee [ 'annee' ]) . " </option> " ;
else
echo " <option value=' " . $annee [ 'annee' ] . " '> " . anneeScolaire ( $annee [ 'annee' ]) . " </option> " ;
array_push ( $anneesListe , $annee [ 'annee' ]);
}}
2015-11-20 09:36:10 +00:00
echo " </select><br><br> " ;
2015-11-19 13:08:40 +00:00
/*************************/
/* AFFINAGE PAR SEMESTRE */
/*************************/
foreach ( $answer -> yearList as $annee ){ if ( $anneeOpt == $annee [ 'annee' ] ){ // 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 ;
echo " <div class='partlist' name='semestre'> " ;
2016-01-02 17:43:33 +00:00
if ( $semestreOpt == null ) echo " <span data-stre='*' data-year=' " . $anneeOpt . " ' class='active'>Tous</span> " ;
else echo " <span data-stre='*' data-year=' " . $anneeOpt . " ' >Tous</span> " ;
2015-11-19 13:08:40 +00:00
/* 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 ) ){
if ( $semestre [ 'id' ] == $semestreOpt ) // si c'est le semestre séléctionné
2016-01-02 17:43:33 +00:00
echo " <span data-year=' " . $annee [ 'annee' ] . " ' data-stre=' " . $semestre [ 'id' ] . " ' class='active'> " . $semestre [ 'formation' ] . " - " . $semestre [ 'nom' ] . '</span>' ;
2015-11-19 13:08:40 +00:00
else // sinon on affiche normalement
2016-01-02 17:43:33 +00:00
echo " <span data-year=' " . $annee [ 'annee' ] . " ' data-stre=' " . $semestre [ 'id' ] . " '> " . $semestre [ 'formation' ] . " - " . $semestre [ 'nom' ] . '</span>' ;
2015-11-19 13:08:40 +00:00
}}
}}
echo " </div><br><br> " ;
// 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' ] ){
2015-11-20 09:36:10 +00:00
echo " <span class='unstressed'> " . $semestre [ 'nb_etudiants' ] . " étudiants</span><br><br> " ;
2015-11-19 13:08:40 +00:00
}}}}
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' ];
}}}
2015-11-20 09:36:10 +00:00
echo " <span class='unstressed'> " . $nbTotal . " étudiants</span><br><br> " ;
2015-11-19 13:08:40 +00:00
}
2016-01-02 17:43:33 +00:00
echo " <div data-year=' " . $anneeOpt . " ' data-stre=' " . $semestreOpt . " ' class='confirm active center' id='export_grouplist'>Télécharger le fichier</div> " ;
2015-11-19 13:08:40 +00:00
echo " </div> " ;
} else
echo " <p>Erreur interne</p> " ;
2015-11-19 13:42:38 +00:00
2015-11-26 15:40:04 +00:00
// l'admin uniquement peut importer
if ( permission ( 'admin' ) ){
/* [ 2 ] Importation
==========================================*/
2015-11-19 13:42:38 +00:00
2016-01-07 20:32:00 +00:00
$currentYear = $_SESSION [ 'annee' ];
2015-11-26 15:40:04 +00:00
// si annéeOpt n'est pas définie, on le fait
2015-11-30 18:41:31 +00:00
if ( $anneeOpt == null || $anneeOpt < $currentYear ) $anneeOpt = $currentYear ;
2015-11-19 13:42:38 +00:00
2015-11-26 15:40:04 +00:00
/* ON RÉCUPÈRE LA LISTE DES SEMESTRES EN FONCTION DE L'ANNEE */
$request = new stdClass (); $answer = new stdClass ();
// $request->level_1 = 'getSemestres';
// groups_switch_level_1($request, $answer); // on fait la requête pour les groupes en fonction des filtres si définis
2015-11-19 13:42:38 +00:00
2015-11-26 15:40:04 +00:00
// if( $answer->request == 'success' ){ // si pas d'erreur
echo " <div class='p center'> " ;
2015-11-19 13:42:38 +00:00
2015-11-26 15:40:04 +00:00
$anneesListe = array ();
2015-11-19 13:42:38 +00:00
2015-11-26 15:40:04 +00:00
/**********************/
/* AFFINAGE PAR ANNEE */
/**********************/
echo " Importation des listes d'étudiants<br> " ;
2016-01-07 15:14:31 +00:00
echo " <span style='font-size:.8em;'>(Fichier .xlsx suivant le modèle : <a href='http:// " . $_SERVER [ 'HTTP_HOST' ] . " /src/files/modele_import_inscrits.xlsx'>modèle de fichier</a>)</span><br> " ;
2015-11-19 13:42:38 +00:00
2015-11-26 15:40:04 +00:00
/* AFFINAGE POUR LES 5 ANNEES SUIVANTES */
echo " <select name='annee'> " ;
for ( $i = 0 ; $i < 5 ; $i ++ ){
2015-11-30 18:41:31 +00:00
if ( $anneeOpt == $currentYear + $i ) // on préselectionne l'année selectionnée
echo " <option value=' " . ( $currentYear + $i ) . " ' selected> " . anneeScolaire ( $currentYear + $i ) . " </option> " ;
2015-11-26 15:40:04 +00:00
else
2015-11-30 18:41:31 +00:00
echo " <option value=' " . ( $currentYear + $i ) . " '> " . anneeScolaire ( $currentYear + $i ) . " </option> " ;
2015-11-26 15:40:04 +00:00
}
echo " </select><br> " ;
echo " <input type='number' class='import_rangs' min=0 max=6 step=1 placeholder='rang du semestre'><br> " ;
2015-11-19 13:42:38 +00:00
2015-11-26 15:40:04 +00:00
// echo "<div data-year='".$anneeOpt."' class='confirm active center'>Importer une liste</div>";
echo " <div data-year=' " . $anneeOpt . " ' class='confirm active center'>Importer une liste<input type='file' id='import_inscrits'></div> " ;
2015-11-19 13:42:38 +00:00
2015-11-26 15:40:04 +00:00
echo " </div> " ;
}
2015-11-19 13:42:38 +00:00
2015-11-19 13:08:40 +00:00
echo " <section> " ;
}
2015-11-09 20:47:53 +00:00
?>