796 lines
25 KiB
PHP
Executable File
796 lines
25 KiB
PHP
Executable File
<?php define('__ROOT__', dirname(dirname(__FILE__)) );
|
|
require_once __ROOT__.'/manager/security.php';
|
|
require_once __ROOT__.'/manager/groups.php';
|
|
require_once __ROOT__.'/manager/modules.php';
|
|
|
|
|
|
/*** GESTION DES PARAMETRES OPTIONNELS ***/
|
|
|
|
// on initialise les paramètres optionnels
|
|
$ueOpt = null;
|
|
$semestreOpt = 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('/^s:(.+)$/', $k, $m) ) // s:nomSemestre
|
|
$semestreOpt = $m[1];
|
|
|
|
if( preg_match('/^u:(.+)$/', $k, $m) ) // u:nomUE
|
|
$ueOpt = $m[1];
|
|
|
|
if( preg_match('/^f:(.+)$/', $k, $m) ) // f:codeFormation
|
|
$formationOpt = $m[1];
|
|
|
|
if( preg_match('/^a:(.+)$/', $k, $m) ) // a:annee
|
|
$anneeOpt = $m[1];
|
|
|
|
|
|
}
|
|
|
|
$ueOpt = ($ueOpt == null || $ueOpt == '*') ? null : $ueOpt;
|
|
$semestreOpt = ($semestreOpt == null || $semestreOpt == '*') ? null : $semestreOpt;
|
|
$formationOpt = ($formationOpt == null || $formationOpt == '*') ? null : $formationOpt;
|
|
$anneeOpt = ($anneeOpt == null || $anneeOpt == '*') ? null : $anneeOpt;
|
|
|
|
|
|
/****************************************
|
|
* *
|
|
* SECTION "MODULES" *
|
|
* *
|
|
*****************************************
|
|
*
|
|
* [1] MES MODULES (studend + prof)
|
|
* [2] MES MODULES (prof)
|
|
*
|
|
*****************************************/
|
|
?>
|
|
|
|
|
|
<!-- mes modules -->
|
|
|
|
<?php
|
|
/**************************************/
|
|
/*** MES MODULES (version étudiant) ***/
|
|
/**************************************/
|
|
if( permission('student') ){ // si l'utilisateur est connecté et que c'est un élève
|
|
|
|
$request = new stdClass(); $answer = new stdClass();
|
|
|
|
$request->level_1 = 'getByEtudiant';
|
|
$request->etudiant = $_SESSION['identifiant'];
|
|
$request->semestre = $_SESSION['semestre'];
|
|
// $request->annee = $_SESSION['annee'];
|
|
|
|
modulesManager::switch_level_1($request, $answer);
|
|
|
|
if( $answer->request == 'success' ){ // si on a bien récupéré les membres du groupe
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
echo "<section name='studentsmodules' data-title='Mes modules' class='basic'>";
|
|
|
|
echo "<table class='partlist' name='UE'><tbody><tr>";
|
|
if( $ueOpt == null ) echo "<td data-value='*' class='active'>Tous</td>";
|
|
else echo "<td data-value='*'>Tous</td>";
|
|
|
|
foreach($answer->UEs as $UE)
|
|
if( $UE['nom'] == $ueOpt ) // si c'est le semestre séléctionné
|
|
echo "<td data-value='".$UE['nom']."' class='active'>".$UE['nom'].'</td>';
|
|
else // sinon on affiche normalement
|
|
echo "<td data-value='".$UE['nom']."'>".$UE['nom'].'</td>';
|
|
echo "</tr></tbody></table>";
|
|
|
|
foreach($answer->UEs as $UE){
|
|
|
|
if( $ueOpt == null || $UE['nom'] == $ueOpt ){
|
|
|
|
echo "<table class='basic'>";
|
|
echo "<thead class='normal'>";
|
|
echo '<tr>';
|
|
echo '<th colspan=5><strong>'.$UE['semestre'].'</strong> - '.$UE['nom'].' - '.$UE['libelle'].'</th>';
|
|
echo '</tr>';
|
|
echo '</thead>';
|
|
echo '<tbody>';
|
|
foreach($UE['modules'] as $MODULE){
|
|
echo '<tr>';
|
|
echo "<td>".$MODULE['nom']." - ".$MODULE['libelle']."</td>";
|
|
echo "<td><span class='unstressed'>Coefficient</span> ".$MODULE['coefficient']."</td>";
|
|
echo "<td>".$UE['nom']." - ".$UE['libelle']."</td>";
|
|
echo "<td><span class='unstressed'>Coefficient</span> ".$UE['coefficient']."</td>";
|
|
echo '</tr>';
|
|
}
|
|
|
|
echo '</tbody>';
|
|
echo '</table>';
|
|
|
|
}
|
|
}
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
echo '</section>';
|
|
}else
|
|
echo "<section name='studentsmodules' data-title='Mes modules' class='basic'><table class=basic><tbody><tr><td>Aucun module trouvé</td></tr></tbody></table></section>";
|
|
|
|
} ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- mes modules -->
|
|
|
|
<?php
|
|
/****************************************/
|
|
/*** MES MODULES (version enseignant) ***/
|
|
/****************************************/
|
|
if( permission('teacher') ){ // si l'utilisateur est un prof
|
|
|
|
$request = new stdClass(); $answer = new stdClass();
|
|
|
|
$request->level_1 = 'getByEnseignant';
|
|
$request->enseignant = $_SESSION['identifiant'];
|
|
$request->annee = $_SESSION['annee'];
|
|
|
|
modulesManager::switch_level_1($request, $answer);
|
|
|
|
if( $answer->request == 'success' ){ // si on a bien récupéré les membres du groupe
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
echo "<section name='teachersmodules' data-title='Mes modules' class='basic'>";
|
|
|
|
|
|
/* ON RECUPERE UNE LISTE UNIQUE DES SEMESTRES */
|
|
$ListeUIDFormations = array();
|
|
$ListeUIDSemestres = array();
|
|
$ListeUIDUE = array();
|
|
|
|
// Vérification de la formation si elle est définie
|
|
$verificationUIDFormations = array();
|
|
foreach($answer->semestres as $semestre) // on récupère la liste des UID de FORMATIONS
|
|
if( !in_array($semestre['id_formation'], $verificationUIDFormations) )
|
|
array_push($verificationUIDFormations, $semestre['id_formation']);
|
|
|
|
|
|
$MyModulesFormationOpt = $formationOpt;
|
|
// si la formation optionnelle n'est pas définie ou incohérente, on le fait (première valeur trouvée)
|
|
if( $MyModulesFormationOpt == null || !in_array($MyModulesFormationOpt, $verificationUIDFormations) )
|
|
if( count($verificationUIDFormations) == 0 ) // si aucune formation trouvée
|
|
$MyModulesFormationOpt = 0;
|
|
else
|
|
$MyModulesFormationOpt = $verificationUIDFormations[0];
|
|
|
|
/**************************/
|
|
/* AFFINAGE PAR FORMATION */
|
|
/**************************/
|
|
echo "<table class='partlist' name='formation'><tbody><tr>";
|
|
foreach($answer->semestres as $semestre){ if( !in_array($semestre['id_formation'], $ListeUIDFormations) ){
|
|
|
|
|
|
if( $semestre['id_formation'] == $MyModulesFormationOpt ) // si c'est la formation séléctionnée
|
|
echo "<td data-value='".$semestre['id_formation']."' class='active'>".$semestre['formation'].'</td>';
|
|
else // sinon on affiche normalement
|
|
echo "<td data-value='".$semestre['id_formation']."'>".$semestre['formation'].'</td>';
|
|
|
|
// on ajoute la formation à la liste pour ne pas la répéter
|
|
array_push($ListeUIDFormations, $semestre['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->semestres as $semestre){ if( $semestre['id_formation'] == $MyModulesFormationOpt && !in_array($semestre['id'], $ListeUIDSemestres) ){
|
|
|
|
if( $semestre['id'] == $semestreOpt ) // si c'est le semestre séléctionné
|
|
echo "<td data-value='".$semestre['id']."' class='active'>".$semestre['nom'].'</td>';
|
|
else // sinon on affiche normalement
|
|
echo "<td data-value='".$semestre['id']."'>".$semestre['nom'].'</td>';
|
|
|
|
|
|
// on ajoute le semestre à la liste pour ne pas le répéter
|
|
array_push($ListeUIDSemestres, $semestre['id']);
|
|
|
|
}}
|
|
echo "</tr></tbody></table>";
|
|
|
|
|
|
|
|
|
|
/*******************/
|
|
/* AFFINAGE PAR UE */
|
|
/*******************/
|
|
echo "<table class='partlist' name='UE'><tbody><tr>";
|
|
if( $ueOpt == null ) echo "<td data-value='*' class='active'>Tous</td>";
|
|
else echo "<td data-value='*'>Tous</td>";
|
|
|
|
/* On récupère la liste des UEs en accord avec la FORMATION et le SEMESTRE sélectionnés */
|
|
foreach($answer->semestres as $semestre){ if( $semestre['id_formation'] == $MyModulesFormationOpt && in_array($semestre['id'], $ListeUIDSemestres) ){
|
|
foreach($semestre['UElist'] as $UE){ if( !in_array($UE['id'], $ListeUIDUE) ){
|
|
if( $UE['id'] == $ueOpt ) // si c'est l'UE séléctionnée
|
|
echo "<td data-value='".$UE['id']."' class='active'>".$UE['nom'].'</td>';
|
|
else // sinon on affiche normalement
|
|
echo "<td data-value='".$UE['id']."'>".$UE['nom'].'</td>';
|
|
|
|
// on ajoute l'UE à la liste pour ne pas le répéter
|
|
array_push($ListeUIDUE, $UE['id']);
|
|
}}
|
|
}}
|
|
echo "</tr></tbody></table>";
|
|
|
|
if( count($ListeUIDUE) > 0 ){ // s'il y a plus d'un semestre, on les affiche
|
|
|
|
|
|
foreach($answer->semestres as $semestre){
|
|
|
|
if( ($semestreOpt == null || $semestre['id'] == $semestreOpt) && ($MyModulesFormationOpt == null || $semestre['id_formation'] == $MyModulesFormationOpt) ){ // on affiche les semestres en fonction de l'affinage
|
|
|
|
foreach($semestre['UElist'] as $UE){
|
|
|
|
if( $ueOpt == null || $UE['id'] == $ueOpt ){ // on affiche les UEs en fonction de l'affinage
|
|
|
|
echo "<table class='basic'>";
|
|
echo "<thead>";
|
|
echo '<tr>';
|
|
echo '<th colspan=5>'.$semestre['nom_formation'].' - '.$semestre['nom'].'</th>';
|
|
echo '</tr>';
|
|
echo '</thead>';
|
|
echo '<tbody>';
|
|
foreach($UE['modules'] as $MODULE){
|
|
echo '<tr>';
|
|
echo "<td>".$MODULE['nom']." - ".$MODULE['libelle']."</td>";
|
|
echo "<td><span class='unstressed'>Coefficient</span> ".$MODULE['coefficient']."</td>";
|
|
echo "<td>".$UE['nom']." - ".$UE['libelle']."</td>";
|
|
echo "<td><span class='unstressed'>Coefficient</span> ".$UE['coefficient']."</td>";
|
|
echo '</tr>';
|
|
}
|
|
|
|
echo '</tbody>';
|
|
echo '</table>';
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}else // si aucun UE
|
|
echo "<table class=basic><tbody><tr><td>Aucun module trouvé</td></tr></tbody></table>";
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
echo '</section>';
|
|
}/*else
|
|
echo "<section name='teachersmodules' data-title='Mes modules' class='basic'><table class=basic><tbody><tr><td>Aucun module trouvé</td></tr></tbody></table></section>";
|
|
*/
|
|
|
|
} ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- tous les modules -->
|
|
|
|
<?php
|
|
/****************************************/
|
|
/*** TOUT LES MODULES (version admin) ***/
|
|
/****************************************/
|
|
if( permission('master') || permission('admin') ){ // si l'utilisateur est un admin
|
|
|
|
$request = new stdClass(); $answer = new stdClass();
|
|
|
|
$request->level_1 = 'getByYear';
|
|
$request->annee = $_SESSION['annee'];
|
|
|
|
modulesManager::switch_level_1($request, $answer);
|
|
|
|
|
|
if( $answer->request == 'success' ){ // si on a bien récupéré les membres du groupe
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
echo "<section name='allmodules' data-title='Tous les modules' class='basic'>";
|
|
|
|
|
|
/* ON RECUPERE UNE LISTE UNIQUE DES SEMESTRES */
|
|
$ListeUIDFormations = array();
|
|
$ListeUIDSemestres = array();
|
|
$ListeUIDUE = array();
|
|
|
|
// Vérification de la formation si elle est définie
|
|
$verificationUIDFormations = array();
|
|
foreach($answer->semestres as $semestre) // on récupère la liste des UID de FORMATIONS
|
|
if( !in_array($semestre['id_formation'], $verificationUIDFormations) )
|
|
array_push($verificationUIDFormations, $semestre['id_formation']);
|
|
|
|
// si la formation optionnelle n'est pas définie ou incohérente, on le fait (première valeur trouvée)
|
|
if( $formationOpt == null || !in_array($formationOpt, $verificationUIDFormations) )
|
|
if( count($verificationUIDFormations) == 0 ) // si aucune formation trouvée
|
|
$formationOpt = 0;
|
|
else
|
|
$formationOpt = $verificationUIDFormations[0];
|
|
|
|
|
|
/**************************/
|
|
/* AFFINAGE PAR FORMATION */
|
|
/**************************/
|
|
echo "<table class='partlist' name='formation'><tbody><tr>";
|
|
foreach($answer->semestres as $semestre){ if( !in_array($semestre['id_formation'], $ListeUIDFormations) ){
|
|
|
|
|
|
if( $semestre['id_formation'] == $formationOpt ) // si c'est la formation séléctionnée
|
|
echo "<td data-value='".$semestre['id_formation']."' class='active'>".$semestre['formation'].'</td>';
|
|
else // sinon on affiche normalement
|
|
echo "<td data-value='".$semestre['id_formation']."'>".$semestre['formation'].'</td>';
|
|
|
|
// on ajoute la formation à la liste pour ne pas la répéter
|
|
array_push($ListeUIDFormations, $semestre['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->semestres as $semestre){ if( $semestre['id_formation'] == $formationOpt && !in_array($semestre['id'], $ListeUIDSemestres) ){
|
|
|
|
if( $semestre['id'] == $semestreOpt ) // si c'est le semestre séléctionné
|
|
echo "<td data-value='".$semestre['id']."' class='active'>".$semestre['nom'].'</td>';
|
|
else // sinon on affiche normalement
|
|
echo "<td data-value='".$semestre['id']."'>".$semestre['nom'].'</td>';
|
|
|
|
|
|
// on ajoute le semestre à la liste pour ne pas le répéter
|
|
array_push($ListeUIDSemestres, $semestre['id']);
|
|
|
|
}}
|
|
echo "</tr></tbody></table>";
|
|
|
|
|
|
/*******************/
|
|
/* AFFINAGE PAR UE */
|
|
/*******************/
|
|
echo "<table class='partlist' name='UE'><tbody><tr>";
|
|
if( $ueOpt == null ) echo "<td data-value='*' class='active'>Tous</td>";
|
|
else echo "<td data-value='*'>Tous</td>";
|
|
|
|
/* On récupère la liste des UEs en accord avec la FORMATION et le SEMESTRE sélectionnés */
|
|
foreach($answer->semestres as $semestre){ if( $semestre['id_formation'] == $formationOpt && in_array($semestre['id'], $ListeUIDSemestres) ){
|
|
foreach($semestre['UElist'] as $UE){ if( !in_array($UE['id'], $ListeUIDUE) ){
|
|
if( $UE['id'] == $ueOpt ) // si c'est l'UE séléctionnée
|
|
echo "<td data-value='".$UE['id']."' class='active'>".$UE['nom'].'</td>';
|
|
else // sinon on affiche normalement
|
|
echo "<td data-value='".$UE['id']."'>".$UE['nom'].'</td>';
|
|
|
|
// on ajoute l'UE à la liste pour ne pas le répéter
|
|
array_push($ListeUIDUE, $UE['id']);
|
|
}}
|
|
}}
|
|
echo "</tr></tbody></table>";
|
|
|
|
if( count($ListeUIDUE) > 0 ){ // s'il y a plus d'un UE, on les affiche
|
|
|
|
|
|
|
|
foreach($answer->semestres as $semestre){
|
|
|
|
if( ($semestreOpt == null || $semestre['id'] == $semestreOpt) && ($formationOpt == null || $semestre['id_formation'] == $formationOpt) ){ // on affiche les semestres en fonction de l'affinage
|
|
|
|
foreach($semestre['UElist'] as $UE){
|
|
|
|
if( $ueOpt == null || $UE['id'] == $ueOpt ){ // on affiche les UEs en fonction de l'affinage
|
|
|
|
echo "<table class='basic'>";
|
|
echo "<thead>";
|
|
echo '<tr>';
|
|
echo '<th colspan=5>'.$semestre['nom_formation'].' - '.$semestre['nom'].'</th>';
|
|
echo '</tr>';
|
|
echo '</thead>';
|
|
echo '<tbody>';
|
|
foreach($UE['modules'] as $MODULE){
|
|
echo '<tr>';
|
|
echo "<td>".$MODULE['nom']." - ".$MODULE['libelle']."</td>";
|
|
echo "<td><span class='unstressed'>Coefficient</span> ".$MODULE['coefficient']."</td>";
|
|
echo "<td>".$UE['nom']." - ".$UE['libelle']."</td>";
|
|
echo "<td><span class='unstressed'>Coefficient</span> ".$UE['coefficient']."</td>";
|
|
echo '</tr>';
|
|
}
|
|
|
|
// require_once __ROOT__.'/manager/database.php';
|
|
|
|
// $completeModuleList = DataBase::getInstance()->getExhaustiveModuleList();
|
|
// // saisie d'un nouveau module
|
|
// echo "<tr class='grayscale'><td>";
|
|
// echo "<select name='modules'>";
|
|
// foreach($completeModuleList as $module)
|
|
// echo "<option value='".$module['id']."'>".$module['nom']." - ".$module['libelle']."</option>";
|
|
// echo "</select>";
|
|
// echo "</td><td>";
|
|
// echo "<input style='min-width:20%;' type='text' placeholder='Nom'>";
|
|
// echo "<input style='min-width:50%;' type='text' placeholder='Libellé'>";
|
|
// echo "</td><td>";
|
|
// echo "<div class='confirm active'>Ajouter le module</div>";
|
|
// echo "</td></tr>";
|
|
|
|
echo '</tbody>';
|
|
echo '</table>';
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}else // si aucun UE
|
|
echo "<table class='basic'><tbody><tr><td>Aucun module trouvé</td></tr></tbody></table>";
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
echo '</section>';
|
|
}else
|
|
echo "<section name='allmodules' data-title='Tous les modules' class='basic'><table class='basic'><tbody><tr><td>Aucun module trouvé</td></tr></tbody></table></section>";
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if( permission('master') || permission('admin') ){
|
|
|
|
echo "<section name='importmcc' data-title='excel'>";
|
|
|
|
/* [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';
|
|
groupsManager::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 "Exportation des MCC d'un semestre<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 */
|
|
/*************************/
|
|
$semestresListe = array();
|
|
foreach($answer->yearList as $annee){ if( $annee['annee'] == $anneeOpt ){ // 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), on lui donne une valeur cohérente
|
|
if( !in_array($semestreOpt, $semestresListe) ) $semestreOpt = null;
|
|
if( $semestreOpt == null && count($semestresListe) > 0 ) $semestreOpt = $semestresListe[0];
|
|
|
|
|
|
$count = 0;
|
|
echo "<div class='partlist' name='semestre'>";
|
|
/* 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) ){
|
|
$count++;
|
|
|
|
|
|
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>";
|
|
|
|
|
|
if( $count == 0 ) // si on a trouvé aucun semestre
|
|
echo "<span class='unstressed'>Aucun semestre pour cette année</span><br><br>";
|
|
else{
|
|
|
|
// 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>";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// l'admin peut importer un MCC
|
|
if( permission('admin') ){
|
|
/* [2] Importation
|
|
==========================================*/
|
|
|
|
$currentYear = getCurrentYear();
|
|
// si annéeOpt n'est pas définie, on le fait
|
|
if( $anneeOpt == null || $anneeOpt < $currentYear || $anneeOpt > $currentYear+5 ) $anneeOpt = $currentYear;
|
|
$anneeOpt = intval($anneeOpt); // on met l'année en (int)
|
|
|
|
echo "<div class='p center'>";
|
|
echo "Importation des MCC d'un semestre<br>";
|
|
echo "<span style='font-size:.8em;'>(Fichier .xlsx suivant le modèle : <a href='/src/files/modele_import_mcc.xlsx'>modèle de fichier</a>)</span><br>";
|
|
|
|
|
|
/**********************/
|
|
/* AFFINAGE PAR ANNEE */
|
|
/**********************/
|
|
|
|
/* AFFINAGE POUR LES 5 ANNEES SUIVANTES */
|
|
echo "<select name='annee'>";
|
|
for($i = 0 ; $i < 5 ; $i++){
|
|
if( $anneeOpt == $currentYear+$i ) // on préselectionne l'année selectionnée
|
|
echo "<option value='".($currentYear+$i)."' selected>".anneeScolaire($currentYear+$i)."</option>";
|
|
else
|
|
echo "<option value='".($currentYear+$i)."'>".anneeScolaire($currentYear+$i)."</option>";
|
|
}
|
|
echo "</select><br>";
|
|
|
|
|
|
/*************************/
|
|
/* AFFINAGE PAR SEMESTRE */
|
|
/*************************/
|
|
/* On récupère la liste des SEMESTRES en accord avec l'ANNEE sélectionnée */
|
|
$semestresListe = array();
|
|
foreach($answer->yearList as $annee){ if( $annee['annee'] == $anneeOpt ){ // 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;
|
|
if( $semestreOpt == null && count($semestresListe) > 0 ) $semestreOpt = $semestresListe[0];
|
|
|
|
|
|
$count = 0;
|
|
|
|
foreach($answer->yearList as $annee){ if( $anneeOpt == $annee['annee'] ){
|
|
$count++;
|
|
|
|
echo "<div class='partlist' name='semestre'>";
|
|
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-frm='".$semestre['id_formation']."' data-stre='".$semestre['id']."' class='active'>".$semestre['formation']." - ".$semestre['nom'].'</span>';
|
|
else // sinon on affiche normalement
|
|
echo "<span data-frm='".$semestre['id_formation']."' data-stre='".$semestre['id']."'>".$semestre['formation']." - ".$semestre['nom'].'</span>';
|
|
|
|
}}
|
|
echo "</div><br><br>";
|
|
}}
|
|
|
|
if( $count == 0 )
|
|
echo "<span class='link' id='link_semestre'>Créer un semestre</span><br><br>";
|
|
|
|
|
|
|
|
if( $semestreOpt != null )
|
|
echo "<div data-stre='".$semestreOpt."' class='confirm active center'>Importer les MCC<input type='file' id='import_mcc'></div>";
|
|
|
|
echo "</div>";
|
|
|
|
}else
|
|
echo "<div class='p center>Erreur interne...</div>";
|
|
|
|
}
|
|
|
|
|
|
echo "</section>";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if( permission('admin') ){
|
|
|
|
// on définit correctement l'année
|
|
if( $anneeOpt == null || $anneeOpt < $_SESSION['annee'] || $anneeOpt > $_SESSION['annee']+5 ) $anneeOpt = $_SESSION['annee'];
|
|
|
|
|
|
echo "<section name='createsemestre' data-title='Créer un semestre'>";
|
|
|
|
echo "<div class='p center'>";
|
|
|
|
echo "<br>Création de semestre<br>";
|
|
|
|
/* CHOIX DE L'ANNEE */
|
|
echo "<select name='annee' class='grayscale'>";
|
|
for($i = 0 ; $i < 5 ; $i++)
|
|
if( $_SESSION['annee']+$i == $anneeOpt )
|
|
echo "<option value='".($_SESSION['annee']+$i)."' selected>".anneeScolaire($_SESSION['annee']+$i)."</option>";
|
|
else
|
|
echo "<option value='".($_SESSION['annee']+$i)."'>".anneeScolaire($_SESSION['annee']+$i)."</option>";
|
|
echo "</select><br>";
|
|
|
|
echo "<input type='text' placeholder='cursus, ex: ITINN1'><br>";
|
|
echo "<input type='text' placeholder='libellé, ex: DUT INFORMATIQUE 1A'><br>";
|
|
echo "<input type='text' placeholder='semestre, ex: S1'><br>";
|
|
echo "<input type='number' min=0 max=6 step=1 placeholder='rang, ex: 1'><br>";
|
|
|
|
echo "<div class='confirm active center' id='creer_semestre'>Créer le semestre</div>";
|
|
|
|
|
|
|
|
echo "</div>";
|
|
|
|
echo "</section>";
|
|
|
|
}
|
|
|
|
|
|
if( permission('admin') ){
|
|
|
|
// on définit correctement l'année
|
|
if( $anneeOpt == null || $anneeOpt < $_SESSION['annee'] || $anneeOpt > $_SESSION['annee']+5 ) $anneeOpt = $_SESSION['annee'];
|
|
|
|
|
|
echo "<section name='clonemcc' data-title='Cloner les MCC'>";
|
|
|
|
echo "<div class='p center'>";
|
|
|
|
echo "<br>Clonage des MCC de la dernière année pour l'année suivante<br>";
|
|
echo "<div class='confirm active center' id='clone_mcc' data-year='".($_SESSION['annee']+1)."'>Cloner pour " .($_SESSION['annee']+1). "</div>";
|
|
|
|
echo "</div>";
|
|
|
|
echo "</section>";
|
|
|
|
}
|
|
|
|
|
|
?>
|
|
|
|
|