596 lines
18 KiB
PHP
Executable File
596 lines
18 KiB
PHP
Executable File
<?php define('__ROOT__', dirname(dirname(__FILE__)) );
|
|
require_once __ROOT__.'/manager/security.php';
|
|
require_once __ROOT__.'/manager/groups.php';
|
|
|
|
/****************************************
|
|
* *
|
|
* SECTION "GROUPES" *
|
|
* *
|
|
*****************************************
|
|
*
|
|
* [1] Présentation (studend + prof)
|
|
* [2] Tout les groupes (tous connecté)
|
|
* [3] Modifier les groupes (admin)
|
|
* [4] Répartir les élèves (admin)
|
|
*
|
|
*****************************************/
|
|
|
|
|
|
/*** GESTION DES PARAMETRES OPTIONNELS ***/
|
|
|
|
$postVars = array(); // on récupère les variables post
|
|
|
|
foreach($_POST as $k=>$v)
|
|
array_push($postVars, $k);
|
|
|
|
|
|
/* GESTION SEMESTRE OPTIONNEL */
|
|
if( isset($postVars[1]) && preg_match('/^S[0-9]{1}$/', $postVars[1]) )
|
|
$semestreOpt = $postVars[1];
|
|
else
|
|
$semestreOpt = null;
|
|
|
|
|
|
/* GESTION GROUPES OPTIONNEL */
|
|
if( isset($postVars[2]) && is_string($postVars[2]) && strlen($postVars[2]) > 1 )
|
|
$groupeOpt = $postVars[2];
|
|
else
|
|
$groupeOpt = null;
|
|
|
|
|
|
/************************/
|
|
/*** TOUS LES GROUPES ***/
|
|
/************************/
|
|
/*
|
|
* UTILISATEUR -> affichage du même semestre
|
|
*
|
|
*/
|
|
if( permission('student') ){ // si connecté && utilisateur
|
|
|
|
$request = new stdClass();
|
|
$answer = new stdClass();
|
|
|
|
$request->level_1 = 'grouplist';
|
|
$request->semestre = $_SESSION['semestre'];
|
|
$request->annee = $_SESSION['annee'];
|
|
|
|
groups_switch_level_1($request, $answer);
|
|
|
|
if( $answer->request == 'success' ){ // si pas d'erreur
|
|
//////////////////////////////////////////////////////////////
|
|
echo "<section name='studentallgroups' data-title='tous les groupes' class='basic'>";
|
|
|
|
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>';
|
|
|
|
foreach($answer->grouplist as $group){ // pour chaque groupe
|
|
|
|
if( count($group['userlist']) > 0 ){ // s'il y a des utilisateurs
|
|
|
|
echo "<table class='basic margin col5'>";
|
|
|
|
echo '<tbody>';
|
|
|
|
|
|
// 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>';
|
|
}
|
|
|
|
// echo '<tr><td colspan=5 class=more></td></tr>';
|
|
|
|
echo '</tbody>';
|
|
|
|
echo '</table>';
|
|
|
|
}
|
|
}
|
|
echo '</section>';
|
|
////////////////////////////////////////////////////////
|
|
}else
|
|
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>";
|
|
}
|
|
|
|
|
|
|
|
|
|
/************************/
|
|
/*** TOUS LES GROUPES ***/
|
|
/************************/
|
|
/*
|
|
* PROFESSEUR -> affichage des semestres en cours
|
|
* ADMINISTRATEUR -> affichage des semestres en cours
|
|
*
|
|
*
|
|
*/
|
|
if( false && permission('teacher') ){ // si connecté && prof
|
|
|
|
$request = new stdClass();
|
|
$answer = new stdClass();
|
|
|
|
$request->level_1 = 'grouplistForYear';
|
|
$request->annee = $_SESSION['annee'];
|
|
if ( $semestreOpt != null ) $request->semestre = $semestreOpt;
|
|
elseif( $groupeOpt != null ) $request->groupe = $groupeOpt;
|
|
|
|
groups_switch_level_1($request, $answer);
|
|
|
|
if( $answer->request == 'success' ){ // si pas d'erreur
|
|
//////////////////////////////////////////////////////////////
|
|
echo "<section name='allgroups' data-title='tous les groupes' class='basic'>";
|
|
|
|
/* select pour SEMESTRES */
|
|
$lastSemestre = null;
|
|
|
|
echo "<select name='semestre'>";
|
|
echo "<option value='*'>Tous les semestres</option>";
|
|
foreach($answer->grouplist as $group){
|
|
if( $lastSemestre == null || $lastSemestre != $group['semestre'] ){
|
|
|
|
if( $group['semestre'] == $semestreOpt ) // si c'est le semestre séléctionné
|
|
echo "<option value='".$group['semestre']."' selected>".$group['semestre'].'</option>';
|
|
else // sinon on affiche normalement
|
|
echo "<option value='".$group['semestre']."'>".$group['semestre'].'</option>';
|
|
$lastSemestre = $group['semestre'];
|
|
}
|
|
}
|
|
echo "<select>";
|
|
|
|
/* select pour GROUPES */
|
|
$lastGroupe = null;
|
|
|
|
echo "<select name='groupe'>";
|
|
echo "<option value='*'>Tous les groupes</option>";
|
|
foreach($answer->grouplist as $group){
|
|
if( $lastGroupe == null || $lastGroupe != $group->nom ){
|
|
|
|
if( $group['nom'] == $groupeOpt ) // si c'est le groupe séléctionné
|
|
echo "<option value='".$group['nom']."' selected>".$group['nom'].'</option>';
|
|
else
|
|
echo "<option value='".$group['nom']."'>".$group['nom'].'</option>';
|
|
|
|
$lastGroupe = $group['nom'];
|
|
}
|
|
}
|
|
echo "<select>";
|
|
|
|
|
|
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>';
|
|
|
|
foreach($answer->grouplist as $group){ // pour chaque groupe
|
|
|
|
if( count($group['userlist']) > 0 ){ // s'il y a des utilisateurs
|
|
|
|
echo "<table class='basic margin col5'>";
|
|
|
|
echo '<tbody>';
|
|
|
|
|
|
// 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>';
|
|
}
|
|
|
|
// echo '<tr><td colspan=5 class=more></td></tr>';
|
|
|
|
echo '</tbody>';
|
|
|
|
echo '</table>';
|
|
|
|
}
|
|
}
|
|
echo '</section>';
|
|
////////////////////////////////////////////////////////
|
|
}else
|
|
echo "<section name='allgroups' data-title='tous les groupes' class='basic'><table class=basic><tbody><tr><td>Aucun groupe trouvé</td></tr></tbody></table></section>";
|
|
|
|
} ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- mon groupe -->
|
|
|
|
<?php
|
|
/******************/
|
|
/*** MON GROUPE ***/
|
|
/******************/
|
|
/*
|
|
*
|
|
* ETUDIANT -> son groupe de son semestre
|
|
*
|
|
*/
|
|
if( permission('student') ){ // si l'utilisateur est connecté et que c'est un élève
|
|
|
|
$request = new stdClass(); $answer = new stdClass();
|
|
|
|
$request->level_1 = 'get';
|
|
$request->etudiant = $_SESSION['identifiant'];
|
|
$request->semestre = $_SESSION['semestre'];
|
|
$request->annee = $_SESSION['annee'];
|
|
|
|
groups_switch_level_1($request, $answer);
|
|
|
|
if( $answer->request == 'success' ){ // si pas d'erreur
|
|
$monGroupe = $answer->groupe;
|
|
|
|
$request = new stdClass(); $answer = new stdClass();
|
|
$request->level_1 = 'userlist';
|
|
$request->groupe = $monGroupe;
|
|
$request->semestre = $_SESSION['semestre'];
|
|
$request->annee = $_SESSION['annee'];
|
|
groups_switch_level_1($request, $answer);
|
|
|
|
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'>";
|
|
|
|
echo "<table class='basic col1'><thead>";
|
|
echo '<tr>';
|
|
echo '<th colspan=5>';
|
|
echo 'Groupe '.$monGroupe;
|
|
echo '</th>';
|
|
echo '</tr>';
|
|
echo '</thead></table>';
|
|
|
|
echo "<table class='basic col5'><tbody>";
|
|
|
|
// pour chaque utilisateur
|
|
foreach($answer->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>'.$user['semestre'].'</td>';
|
|
echo '<td>Groupe <span class=stressed>'.$monGroupe.'</span></td>';
|
|
echo '</tr>';
|
|
}
|
|
|
|
// echo '<tr><td colspan=5 class=more></td></tr>';
|
|
|
|
echo '</tbody></table>';
|
|
|
|
|
|
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>";
|
|
}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>";
|
|
|
|
echo '</section>';
|
|
} ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- mes groupeS -->
|
|
|
|
<?php
|
|
/*******************/
|
|
/*** MES GROUPES ***/
|
|
/*******************/
|
|
/*
|
|
*
|
|
* PROFESSEUR -> les groupes inscrits aux modules qu'il enseigne
|
|
*
|
|
*/
|
|
if( permission('teacher') ){ // si l'utilisateur est connecté et que c'est un élève
|
|
|
|
$request = new stdClass(); $answer = new stdClass();
|
|
$request->level_1 = 'grouplistForTeacher'; /******************************************************************************************************** A FAIRE **/
|
|
$request->enseignant = $_SESSION['identifiant'];
|
|
$request->annee = $_SESSION['annee'];
|
|
if ( $semestreOpt != null ) $request->semestre = $semestreOpt;
|
|
elseif( $groupeOpt != null ) $request->groupe = $groupeOpt;
|
|
|
|
groups_switch_level_1($request, $answer);
|
|
|
|
if( $answer->request == 'success' && count($answer->grouplist) > 0 ){ // si on a bien récupéré les membres du groupe
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
echo "<section name='teachersgroups' data-title='Mes groupes' class='basic'>";
|
|
|
|
/* select pour SEMESTRES */
|
|
$lastSemestre = null;
|
|
|
|
echo "<select name='semestre'>";
|
|
echo "<option value='*'>Tous les semestres</option>";
|
|
foreach($answer->grouplist as $group){
|
|
if( $lastSemestre == null || $lastSemestre != $group['semestre'] ){
|
|
|
|
if( $group['semestre'] == $semestreOpt ) // si c'est le semestre séléctionné
|
|
echo "<option value='".$group['semestre']."' selected>".$group['semestre'].'</option>';
|
|
else // sinon on affiche normalement
|
|
echo "<option value='".$group['semestre']."'>".$group['semestre'].'</option>';
|
|
|
|
$lastSemestre = $group['semestre'];
|
|
}
|
|
}
|
|
echo "<select>";
|
|
|
|
/* select pour GROUPES */
|
|
$lastGroupe = null;
|
|
|
|
echo "<select name='groupe'>";
|
|
echo "<option value='*'>Tous les groupes</option>";
|
|
foreach($answer->grouplist as $group){
|
|
if( $lastGroupe == null || $lastGroupe != $group->nom ){
|
|
|
|
if( $group['nom'] == $groupeOpt ) // si c'est le groupe séléctionné
|
|
echo "<option value='".$group['nom']."' selected>".$group['nom'].'</option>';
|
|
else
|
|
echo "<option value='".$group['nom']."'>".$group['nom'].'</option>';
|
|
|
|
$lastGroupe = $group['nom'];
|
|
}
|
|
}
|
|
echo "<select>";
|
|
|
|
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>';
|
|
|
|
foreach($answer->grouplist as $group){ // pour chaque groupe
|
|
|
|
if( count($group['userlist']) > 0 ){ // s'il y a des utilisateurs
|
|
|
|
echo "<table class='basic margin col5'>";
|
|
|
|
echo '<tbody>';
|
|
|
|
|
|
// 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>';
|
|
}
|
|
|
|
// echo '<tr><td colspan=5 class=more></td></tr>';
|
|
|
|
echo '</tbody></table>';
|
|
|
|
}
|
|
|
|
}
|
|
echo '</section>';
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
}else
|
|
echo "<section name='teachersgroups' data-title='Mes groupes' class='basic'><table class=basic><tbody><tr><td>Aucun groupe trouvé</td></tr></tbody></table></section>";
|
|
|
|
} ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- DEPLACEMENT D'ELEVES -->
|
|
|
|
<?php
|
|
/****************************/
|
|
/*** DEPLACEMENT D'ELEVES ***/
|
|
/****************************/
|
|
if( permission('admin') ){ // si l'utilisateur est connecté et que c'est un admin
|
|
|
|
for( $i = 2 ; $i <= 2 ; $i++ ){ // pour chaque semestre
|
|
|
|
$request = new stdClass();
|
|
$answer = new stdClass();
|
|
|
|
/* ce jeu de données sert à récupérer la liste des groupes (même quand on applique un filtrage) */
|
|
$requestPourListeGroupes = new stdClass();
|
|
$answerPourListeGroupes = new stdClass();
|
|
|
|
|
|
$request->level_1 = 'grouplistForYear';
|
|
$request->annee = $_SESSION['annee'];
|
|
if ( $semestreOpt != null ) $request->semestre = $semestreOpt;
|
|
elseif( $groupeOpt != null ) $request->groupe = $groupeOpt;
|
|
|
|
groups_switch_level_1($request, $answer); // on fait la requête pour les groupes en fonction des filtres si définis
|
|
|
|
|
|
$requestPourListeGroupes->level_1 = 'grouplistForYear';
|
|
$requestPourListeGroupes->annee = $_SESSION['annee'];
|
|
groups_switch_level_1($requestPourListeGroupes, $answerPourListeGroupes); // on fait la requête pour avoir la liste des groupes quel que soit le filtrage
|
|
|
|
|
|
if( $answer->request == 'success' && $answerPourListeGroupes->request == 'success' ){ // si pas d'erreur
|
|
//////////////////////////////////////////////////////////////
|
|
echo "<section name='movestudents' data-title='Tous les groupes' class='basic'>";
|
|
|
|
/* select pour SEMESTRES */
|
|
$lastSemestre = null;
|
|
|
|
echo "<select name='semestre'>";
|
|
echo "<option value='*'>Tous les semestres</option>";
|
|
foreach($answer->grouplist as $group){
|
|
if( $lastSemestre == null || $lastSemestre != $group['semestre'] ){
|
|
|
|
if( $group['semestre'] == $semestreOpt ) // si c'est le semestre séléctionné
|
|
echo "<option value='".$group['semestre']."' selected>".$group['semestre'].'</option>';
|
|
else // sinon on affiche normalement
|
|
echo "<option value='".$group['semestre']."'>".$group['semestre'].'</option>';
|
|
|
|
$lastSemestre = $group['semestre'];
|
|
}
|
|
}
|
|
echo "<select>";
|
|
|
|
/* select pour GROUPES */
|
|
$lastGroupe = null;
|
|
|
|
echo "<select name='groupe'>";
|
|
echo "<option value='*'>Tous les groupes</option>";
|
|
foreach($answer->grouplist as $group){
|
|
if( $lastGroupe == null || $lastGroupe != $group['nom'] ){
|
|
|
|
if( $group['nom'] == $groupeOpt ) // si c'est le groupe séléctionné
|
|
echo "<option value='".$group['nom']."' selected>".$group['nom'].'</option>';
|
|
else
|
|
echo "<option value='".$group['nom']."'>".$group['nom'].'</option>';
|
|
|
|
$lastGroupe = $group['nom'];
|
|
}
|
|
}
|
|
echo "<select>";
|
|
|
|
|
|
|
|
|
|
|
|
foreach($answer->grouplist as $group){ // pour chaque groupe
|
|
|
|
if( count($group['userlist']) > 0 ){ // s'il y a des utilisateurs
|
|
|
|
echo "<table class='basic col4'>";
|
|
|
|
echo '<thead>';
|
|
echo '<tr>';
|
|
echo '<th colspan=5>';
|
|
echo 'Groupe <span>'.$group['nom'].'</span>';
|
|
echo '</th>';
|
|
echo '</tr>';
|
|
echo '</thead>';
|
|
|
|
|
|
|
|
echo '<tbody>';
|
|
|
|
|
|
// 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><strong><span>'.$group['nom'].'</span></strong></td>';
|
|
// changement de groupe
|
|
echo '<td>';
|
|
echo "<select class='deplacement_groupe'>";
|
|
foreach($answerPourListeGroupes->grouplist as $groupemodif) // pour tous les groupes
|
|
if( $groupemodif['semestre'] == $group['semestre'] ) // si c'est un groupe du même semestre
|
|
if( $groupemodif['nom'] == $group['nom'] ) // s'il s'agit du groupe courant, on met en sélection
|
|
echo "<option value='".$groupemodif['nom']."' selected>".$groupemodif['nom']."</option>";
|
|
else // s'il s'agit d'un autre groupe, c'est normal
|
|
echo "<option value='".$groupemodif['nom']."'>".$groupemodif['nom']."</option>";
|
|
echo '</select>';
|
|
echo "<div class='valider_action' data-info='cliquer pour valider'></div>";
|
|
echo '</td>';
|
|
echo '</tr>';
|
|
}
|
|
|
|
// echo '<tr><td colspan=5 class=more></td></tr>';
|
|
|
|
echo '</tbody>';
|
|
|
|
echo '</table>';
|
|
|
|
}
|
|
}
|
|
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>";
|
|
}
|
|
|
|
} ?>
|
|
|
|
|
|
|
|
<?php
|
|
/*********************************/
|
|
/*** IMPORTATION FICHIER EXCEL ***/
|
|
/*********************************/
|
|
// if( permission('admin') ){
|
|
// echo "<section name='importexcel' data-title='Importation/Export' class='basic'>";
|
|
|
|
// //inclusion des classes de PHPExcel
|
|
// include __ROOT__.DIRECTORY_SEPARATOR.join(DIRECTORY_SEPARATOR, array("src", "phpexcel", "Classes", "PHPExcel.php"));
|
|
// include __ROOT__.DIRECTORY_SEPARATOR.join(DIRECTORY_SEPARATOR, array("src", "phpexcel", "Classes", "PHPExcel", "Writer", "Excel2007.php"));
|
|
|
|
// //On crée une instance du fichier xls, ainsi que de la feuille active
|
|
// $workbook = new PHPExcel();
|
|
// $sheet = $workbook->getActiveSheet();
|
|
// $writer = new PHPExcel_Writer_Excel2007($workbook);
|
|
|
|
// //on prépare le tableau
|
|
// $sheet->setCellValue('A1', 'IAE Etape');
|
|
// $sheet->setCellValue('B1', 'Nom');
|
|
// $sheet->setCellValue('C1', 'Prénom');
|
|
// $sheet->setCellValue('D1', 'Identifiant');
|
|
// $sheet->setCellValue('E1', 'Sexe');
|
|
// $sheet->setCellValue('F1', 'Mail étudiant');
|
|
|
|
|
|
// //on récupère l'ensemble des étudiants
|
|
// $request = new stdClass();
|
|
// $answer = new stdClass();
|
|
|
|
// $request->level_1 = 'grouplistForYear';
|
|
// $request->annee = $_SESSION['annee'];
|
|
// groups_switch_level_1($request, $answer);
|
|
|
|
// //Si l'execution s'est proprement effectuée
|
|
// $index = 2;
|
|
// if($answer->request == 'success') {
|
|
// foreach ($answer->grouplist as $group) {
|
|
// $groupeName = $group['nom'];
|
|
// foreach ($group->userlist as $student) {
|
|
// $sheet->setCellValue('A'.$index, $groupeName);
|
|
// $sheet->setCellValue('B'.$index, $student['nom']);
|
|
// $sheet->setCellValue('C'.$index, $student['prenom']);
|
|
// $sheet->setCellValue('D'.$index, $student['identifiant']);
|
|
// //$sheet->setCellValue('E'.$index, $student['sexe']);
|
|
// $sheet->setCellValue('F'.$index, $student['mail']);
|
|
// $index++;
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
// //On enregistre le fichier
|
|
// $writer->save('test.xlsx');
|
|
// }
|
|
?>
|