520 lines
14 KiB
PHP
Executable File
520 lines
14 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]) && is_numeric($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( $_SESSION['identifiant'] != null && $_SESSION['droits'] == 'student' ){ // si connecté && utilisateur
|
|
echo "<section name='studentallgroups' title='tous les groupes' class='basic'>";
|
|
|
|
$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 "<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>';
|
|
|
|
}
|
|
}
|
|
////////////////////////////////////////////////////////
|
|
}else
|
|
echo "Erreur interne...";
|
|
|
|
echo '</section>';
|
|
}
|
|
|
|
|
|
|
|
|
|
/************************/
|
|
/*** TOUS LES GROUPES ***/
|
|
/************************/
|
|
/*
|
|
* PROFESSEUR -> affichage des semestres en cours
|
|
* ADMINISTRATEUR -> affichage des semestres en cours
|
|
*
|
|
*
|
|
*/
|
|
if( $_SESSION['identifiant'] != null && ($_SESSION['droits'] == 'teacher' || $_SESSION['droits'] == 'admin') ){ // si connecté && prof ou admin
|
|
echo "<section name='allgroups' title='tous les groupes' class='basic'>";
|
|
|
|
$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
|
|
//////////////////////////////////////////////////////////////
|
|
|
|
/* 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[1] == $semestreOpt ) // si c'est le semestre séléctionné
|
|
echo "<option value='".$group->semestre[1]."' selected>".$group->semestre.'</option>';
|
|
else // sinon on affiche normalement
|
|
echo "<option value='".$group->semestre[1]."'>".$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>';
|
|
|
|
}
|
|
}
|
|
////////////////////////////////////////////////////////
|
|
}else
|
|
echo "Erreur interne...";
|
|
|
|
echo '</section>';
|
|
} ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- mon groupe -->
|
|
|
|
<?php
|
|
/******************/
|
|
/*** MON GROUPE ***/
|
|
/******************/
|
|
/*
|
|
*
|
|
* ETUDIANT -> son groupe de son semestre
|
|
*
|
|
*/
|
|
if( $_SESSION['identifiant'] != null && $_SESSION['droits'] == 'student' ){ // si l'utilisateur est connecté et que c'est un élève
|
|
echo "<section name='studentsgroup' title='Mon groupe' class='basic'>";
|
|
|
|
$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 "<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>';
|
|
|
|
echo '</table>';
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
}else
|
|
echo "Erreur interne.";
|
|
}else
|
|
echo "Aucun groupe trouvé pour cet utilisateur.";
|
|
|
|
echo '</section>';
|
|
} ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- mes groupeS -->
|
|
|
|
<?php
|
|
/*******************/
|
|
/*** MES GROUPES ***/
|
|
/*******************/
|
|
/*
|
|
*
|
|
* PROFESSEUR -> les groupes inscrits aux modules qu'il enseigne
|
|
*
|
|
*/
|
|
if( $_SESSION['identifiant'] != null && $_SESSION['droits'] == 'teacher' ){ // si l'utilisateur est connecté et que c'est un élève
|
|
echo "<section name='teachersgroups' title='Mes groupes' class='basic'>";
|
|
|
|
$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' ){ // si on a bien récupéré les membres du groupe
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
/* 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[1] == $semestreOpt ) // si c'est le semestre séléctionné
|
|
echo "<option value='".$group->semestre[1]."' selected>".$group->semestre.'</option>';
|
|
else // sinon on affiche normalement
|
|
echo "<option value='".$group->semestre[1]."'>".$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>';
|
|
|
|
}
|
|
|
|
}
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
}else
|
|
echo "Erreur interne.";
|
|
|
|
echo '</section>';
|
|
} ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- DEPLACEMENT D'ELEVES -->
|
|
|
|
<?php
|
|
/****************************/
|
|
/*** DEPLACEMENT D'ELEVES ***/
|
|
/****************************/
|
|
if( $_SESSION['identifiant'] != null && $_SESSION['droits'] == 'admin' ){ // si l'utilisateur est connecté et que c'est un élève
|
|
echo "<section name='movestudents' title=\"Déplacements\" class='basic'>";
|
|
|
|
for( $i = 2 ; $i <= 2 ; $i++ ){ // pour chaque semestre
|
|
|
|
$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
|
|
//////////////////////////////////////////////////////////////
|
|
|
|
/* 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[1] == $semestreOpt ) // si c'est le semestre séléctionné
|
|
echo "<option value='".$group->semestre[1]."' selected>".$group->semestre.'</option>';
|
|
else // sinon on affiche normalement
|
|
echo "<option value='".$group->semestre[1]."'>".$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 "<span style='font-weight:normal;padding-left:1em; font-size: .8em;'>(glisser-déposer étudiant pour le déplacer)</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>';
|
|
echo '</tr>';
|
|
}
|
|
|
|
// echo '<tr><td colspan=5 class=more></td></tr>';
|
|
|
|
echo '</tbody>';
|
|
|
|
echo '</table>';
|
|
|
|
}
|
|
}
|
|
////////////////////////////////////////////////////////
|
|
}else
|
|
echo "Erreur interne...";
|
|
}
|
|
|
|
echo '</section>';
|
|
} ?>
|