689 lines
23 KiB
PHP
Executable File
689 lines
23 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 ***/
|
|
|
|
// on initialise les paramètres optionnels
|
|
$semestreOpt = null;
|
|
$groupeOpt = null;
|
|
$formationOpt = null;
|
|
$anneeOpt = null;
|
|
|
|
// on cherche dans toutes les variables _get si on trouve des paramètres
|
|
foreach($_POST as $k=>$v){
|
|
|
|
if( preg_match('/^g:(.+)$/', $k, $m) ) // g:nomGroupe
|
|
$groupeOpt = $m[1];
|
|
|
|
if( preg_match('/^s:(.+)$/', $k, $m) ) // s:nomSemestre
|
|
$semestreOpt = $m[1];
|
|
|
|
if( preg_match('/^f:(.+)$/', $k, $m) ) // f:codeFormation
|
|
$formationOpt = $m[1];
|
|
|
|
if( preg_match('/^a:(.+)$/', $k, $m) ) // a:annee
|
|
$anneeOpt = $m[1];
|
|
|
|
}
|
|
|
|
$groupeOpt = ($groupeOpt == null || $groupeOpt == '*') ? null : $groupeOpt;
|
|
$semestreOpt = ($semestreOpt == null || $semestreOpt == '*') ? null : $semestreOpt;
|
|
$formationOpt = ($formationOpt == null || $formationOpt == '*') ? null : $formationOpt;
|
|
$anneeOpt = ($anneeOpt == null || $anneeOpt == '*') ? null : $anneeOpt;
|
|
|
|
/************************/
|
|
/*** 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->formation = $_SESSION['formation'];
|
|
$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>";
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/******************/
|
|
/*** 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 = 'userlist';
|
|
$request->etudiant = $_SESSION['identifiant'];
|
|
$request->formation = $_SESSION['formation'];
|
|
$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 '.$answer->userlist['groupe'];
|
|
echo '</th>';
|
|
echo '</tr>';
|
|
echo '</thead></table>';
|
|
|
|
echo "<table class='basic col5'><tbody>";
|
|
|
|
// 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>';
|
|
}}
|
|
|
|
// 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>";
|
|
|
|
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';
|
|
$request->enseignant = $_SESSION['identifiant'];
|
|
$request->annee = $_SESSION['annee'];
|
|
|
|
groups_switch_level_1($request, $answer);
|
|
|
|
if( $answer->request == 'success' && $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'>";
|
|
|
|
|
|
/* 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)
|
|
$MyGroupsFormationOpt = $formationOpt;
|
|
if( $MyGroupsFormationOpt == null || !in_array($MyGroupsFormationOpt, $verificationUIDFormations) )
|
|
$MyGroupsFormationOpt = $verificationUIDFormations[0];
|
|
|
|
|
|
|
|
|
|
/**************************/
|
|
/* AFFINAGE PAR FORMATION */
|
|
/**************************/
|
|
echo "<table class='partlist' name='formation'><tbody><tr>";
|
|
foreach($answer->grouplist as $groupe){ if( !in_array($groupe['id_formation'], $ListeUIDFormations) ){
|
|
|
|
|
|
if( $groupe['id_formation'] == $MyGroupsFormationOpt ) // si c'est la formation séléctionnée
|
|
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 */
|
|
/*************************/
|
|
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($answer->grouplist as $groupe){ if( $groupe['id_formation'] == $MyGroupsFormationOpt && !in_array($groupe['id_semestre'], $ListeUIDSemestres) ){
|
|
|
|
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>';
|
|
|
|
|
|
// on ajoute le semestre à la liste pour ne pas le répéter
|
|
array_push($ListeUIDSemestres, $groupe['id']);
|
|
|
|
}}
|
|
echo "</tr></tbody></table>";
|
|
|
|
|
|
|
|
|
|
/***********************/
|
|
/* 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>";
|
|
|
|
/* 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'] == $MyGroupsFormationOpt && in_array($groupe['id_semestre'], $ListeUIDSemestres) && !in_array($groupe['id'], $ListeUIDGroupes) ){
|
|
|
|
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>";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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( $group['id_formation'] == $MyGroupsFormationOpt && ($semestreOpt==null || $semestreOpt==$group['id_semestre']) && ($groupeOpt==null || $groupeOpt==$group['id']) ){
|
|
|
|
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
|
|
|
|
|
|
$requestAllGroups = new stdClass(); $answerAllGroups = new stdClass();
|
|
// on récupère la liste de tous les groupes (pour le déplacement)
|
|
$requestAllGroups->level_1 = 'exhaustiveList';
|
|
|
|
groups_switch_level_1($requestAllGroups, $answerAllGroups);
|
|
|
|
// 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'];
|
|
|
|
|
|
groups_switch_level_1($request, $answer); // on fait la requête pour les groupes en fonction des filtres si définis
|
|
|
|
|
|
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();
|
|
|
|
// 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']);
|
|
|
|
$moveStudentsFormationOpt = $formationOpt;
|
|
// si la formation optionnelle n'est pas définie ou incohérente, on le fait (première valeur trouvée)
|
|
if( $moveStudentsFormationOpt == null || !in_array($moveStudentsFormationOpt, $verificationUIDFormations) )
|
|
$moveStudentsFormationOpt = $verificationUIDFormations[0];
|
|
|
|
|
|
|
|
|
|
/**************************/
|
|
/* AFFINAGE PAR FORMATION */
|
|
/**************************/
|
|
echo "<table class='partlist' name='formation'><tbody><tr>";
|
|
foreach($answer->grouplist as $groupe){ if( !in_array($groupe['id_formation'], $ListeUIDFormations) ){
|
|
|
|
// 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>';
|
|
|
|
// 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 */
|
|
/*************************/
|
|
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($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>';
|
|
|
|
|
|
// on ajoute le semestre à la liste pour ne pas le répéter
|
|
array_push($ListeUIDSemestres, $groupe['id_semestre']);
|
|
}}
|
|
echo "</tr></tbody></table>";
|
|
|
|
|
|
|
|
|
|
/***********************/
|
|
/* 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>";
|
|
|
|
/* 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>';
|
|
|
|
// on ajoute le semestre à la liste pour ne pas le répéter
|
|
array_push($ListeUIDGroupes, $groupe['id']);
|
|
}}
|
|
echo "</select>";
|
|
|
|
|
|
|
|
|
|
|
|
foreach($answer->grouplist as $group){ // pour chaque groupe
|
|
|
|
if( $group['id_formation'] == $moveStudentsFormationOpt && ($semestreOpt==null || $semestreOpt==$group['id_semestre']) && ($groupeOpt==null || $groupeOpt==$group['id']) ){
|
|
|
|
if( count($group['userlist']) > 0 ){ // s'il y a des utilisateurs
|
|
|
|
echo "<table class='basic col5'>";
|
|
|
|
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>'.$group['nom'].'</td>';
|
|
echo '<td>';
|
|
|
|
/* CHANGEMENT DE GROUPE */
|
|
echo "<select data-stre='".$group['id_semestre']."' class='deplacement_groupe'>";
|
|
// on affiche le groupe courant
|
|
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'>déplacer</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
|
|
|
|
|
|
function anneeScolaire($year){ return $year.' - '.($year+1); }
|
|
/*********************************/
|
|
/*** IMPORTATION FICHIER EXCEL ***/
|
|
/*********************************/
|
|
if( permission('admin') ){
|
|
echo "<section name='importuserlist' data-title='import / export'>";
|
|
|
|
/* [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';
|
|
groups_switch_level_1($request, $answer); // on fait la requête pour les groupes en fonction des filtres si définis
|
|
|
|
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>";
|
|
echo "<span style='font-size:.8em;'>(Format compatible Microsoft Office, Open Office et Libre Office)</span><br>";
|
|
|
|
/* 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']);
|
|
}}
|
|
echo "</select><br><br>";
|
|
|
|
|
|
|
|
/*************************/
|
|
/* 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'>";
|
|
if( $semestreOpt == null ) echo "<span data-stre='*' class='active'>Tous</span>";
|
|
else echo "<span data-stre='*'>Tous</span>";
|
|
|
|
/* 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é
|
|
echo "<span data-year='".$annee['annee']."' data-frm='".$semestre['id_formation']."' data-stre='".$semestre['id']."' class='active'>".$semestre['formation']." - ".$semestre['nom'].'</span>';
|
|
else // sinon on affiche normalement
|
|
echo "<span data-year='".$annee['annee']."' data-frm='".$semestre['id_formation']."' data-stre='".$semestre['id']."'>".$semestre['formation']." - ".$semestre['nom'].'</span>';
|
|
}}
|
|
}}
|
|
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'] ){
|
|
echo "<span class='unstressed'>".$semestre['nb_etudiants']." étudiants</span><br><br>";
|
|
}}}}
|
|
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'];
|
|
}}}
|
|
echo "<span class='unstressed'>".$nbTotal." étudiants</span><br><br>";
|
|
}
|
|
|
|
|
|
echo "<div data-year='".$anneeOpt."' data-stre='".$semestreOpt."' class='confirm active center'>Générer le fichier</div>";
|
|
echo "<div data-year='".$anneeOpt."' data-stre='".$semestreOpt."' class='confirm active center'>Télécharger le fichier</div>";
|
|
|
|
|
|
echo "</div>";
|
|
|
|
}else
|
|
echo "<p>Erreur interne</p>";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* [2] Importation
|
|
==========================================*/
|
|
|
|
// si annéeOpt n'est pas définie, on le fait
|
|
if( $anneeOpt == null || $anneeOpt < $_SESSION['annee'] ) $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';
|
|
// groups_switch_level_1($request, $answer); // on fait la requête pour les groupes en fonction des filtres si définis
|
|
|
|
// if( $answer->request == 'success' ){ // si pas d'erreur
|
|
echo "<div class='p center'>";
|
|
|
|
$anneesListe = array();
|
|
|
|
/**********************/
|
|
/* AFFINAGE PAR ANNEE */
|
|
/**********************/
|
|
echo "Importation des listes d'étudiants<br>";
|
|
echo "<span style='font-size:.8em;'>(Fichier .xlsx suivant le modèle : <a href='".__ROOT__."/src/import_etudiants.xlsx'>modèle de fichier</a>)</span><br>";
|
|
|
|
/* AFFINAGE POUR LES 5 ANNEES SUIVANTES */
|
|
echo "<select name='annee'>";
|
|
for($i = 0 ; $i < 5 ; $i++){
|
|
if( $anneeOpt == $_SESSION['annee']+$i ) // on préselectionne l'année selectionnée
|
|
echo "<option value='".($annee['annee']+$i)."' selected>".anneeScolaire($annee['annee']+$i)."</option>";
|
|
else
|
|
echo "<option value='".($annee['annee']+$i)."'>".anneeScolaire($annee['annee']+$i)."</option>";
|
|
}
|
|
echo "</select><br>";
|
|
echo "<input type='number' class='import_rangs' min=0 max=6 step=1 placeholder='rang du semestre'><br>";
|
|
|
|
// 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>";
|
|
|
|
|
|
echo "</div>";
|
|
|
|
// }else
|
|
// echo "<p>Erreur interne</p>";
|
|
|
|
echo "<section>";
|
|
|
|
|
|
|
|
}
|
|
|
|
?>
|