sid/page/groups.php

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( permission('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( permission('teacher') || permission('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( permission('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( permission('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( permission('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>';
} ?>