sid/manager/modules.php

168 lines
6.7 KiB
PHP
Executable File

<?php require_once __ROOT__.'/manager/security.php';
/***********************************************************
* *
* MANAGER DES MODULES *
* *
************************************************************
* *
* [0] Constantes *
* [1] ROUTAGE de niveau 1 *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
***********************************************************/
class modulesManager{
/* [1] ROUTAGE DE NIVEAU 1
============================================================*/
public static function switch_level_1($request, $answer){
switch( $request->level_1 ){
/********************************************/
/* liste des modules d'un ETUDIANT (par UE) */
/********************************************/
case 'getByEtudiant': if( connected() ){
// si c'est pas un admin et que l'année est définie manuellement (alors on met l'année courante)
if( !permission('admin') ){
$request->annee = $_SESSION['annee'];
$request->semestre = $_SESSION['semestre'];
}
$areSetParam = isset($request->etudiant) && isset($request->semestre); // les arguments existent
$etudiantCheck = $areSetParam && checkParam($request->etudiant, 'utilisateur.identifiant'); // identifiant bon format
$semestreCheck = $etudiantCheck && checkParam($request->semestre, 'auto_increment_id'); // semestre (rang) bon format
// $anneeCheck = $semestreCheck && checkParam($request->annee, 'semestre.annee'); // semestre (annee) bon format
if( $semestreCheck ){ // si tout les paramètres sont bons
$UEList = DataBase::getInstance()->getModulesByUEByEtudiant($request->etudiant, $request->semestre);
// STRUCTURE
// tableau d'UES contenant un tableau de MODULES
if( is_array($UEList) ){ // si on a bien un tableau
$answer->UEs = $UEList; // on renvoie dans answer->ues
$answer->request = 'success'; // et on renvoie success
}else // sinon si c'est pas un tableau
$answer->request = $UEList; // on retourne l'erreur
}else
$answer->request = 'param_error';
}else
$answer->request = 'permission_error';
break;
/**********************************************/
/* liste des modules d'un ENSEIGNANT (par UE) */
/**********************************************/
case 'getByEnseignant': if( permission('teacher') || permission('admin') ){
$areSetParam = isset($request->enseignant)&& isset($request->annee); // les arguments existent
$enseignantCheck = $areSetParam && checkParam($request->enseignant, 'utilisateur.identifiant'); // nom bon format
$anneeCheck = $enseignantCheck && checkParam($request->annee, 'semestre.annee'); // semestre (annee) bon format
if( $anneeCheck ){ // si tout les paramètres sont bons
$semestreList = DataBase::getInstance()->getModulesByUEByEnseignant($request->enseignant, $_SESSION['semestre_pair'], $request->annee);
// STRUCTURE
// tableau d'UES contenant un tableau de MODULES
if( is_array($semestreList) ){ // si on a bien un tableau
$answer->semestres = $semestreList; // on renvoie dans answer->ues
$answer->request = 'success'; // et on renvoie success
}else // sinon si c'est pas un tableau
$answer->request = $semestreList; // on retourne l'erreur
}else
$answer->request = 'param_error';
}else
$answer->request = 'permission_error';
break;
/******************************************/
/* liste des modules d'une ANNEE (par UE) */
/******************************************/
case 'getByYear': if( permission('master') || permission('admin') ){
$areSetParam = isset($request->annee); // les arguments existent
$anneeCheck = $areSetParam && checkParam($request->annee, 'semestre.annee'); // semestre (annee) bon format
if( $anneeCheck ){ // si tout les paramètres sont bons
$semestreList = DataBase::getInstance()->getModulesByUEByYear(null, $request->annee); // true = on veut les groupes inscrits à chaque module
// STRUCTURE
// tableau d'UES contenant un tableau de MODULES
if( is_array($semestreList) ){ // si on a bien un tableau
$answer->semestres = $semestreList; // on renvoie dans answer->ues
$answer->request = 'success'; // et on renvoie success
}else // sinon si c'est pas un tableau
$answer->request = $semestreList; // on retourne l'erreur
}else
$answer->request = 'param_error';
}else
$answer->request = 'permission_error';
break;
/**********************************/
/* liste des informations des MCC */
/**********************************/
case 'getMCC': if( permission('admin') ){
$areSetParam = isset($request->annee); // les arguments existent
$anneeCheck = $areSetParam && checkParam($request->annee, 'semestre.annee'); // semestre (annee) bon format
if( $anneeCheck ){ // si tout les paramètres sont bons
$semestreList = DataBase::getInstance()->getModulesByUEByYear(null, $request->annee);
// STRUCTURE
// tableau d'UES contenant un tableau de MODULES
if( is_array($semestreList) ){ // si on a bien un tableau
$answer->semestres = $semestreList; // on renvoie dans answer->ues
$answer->request = 'success'; // et on renvoie success
}else // sinon si c'est pas un tableau
$answer->request = $UEList; // on retourne l'erreur
}else
$answer->request = 'param_error';
}else
$answer->request = 'permission_error';
break;
/***********/
/* DEFAULT */
/***********/
default:
$answer->request = 'unknown_level_1';
break;
}
}
}
?>