210 lines
9.4 KiB
PHP
Executable File
210 lines
9.4 KiB
PHP
Executable File
<?php
|
|
require_once __ROOT__.'/manager/security.php';
|
|
require_once __ROOT__.'/manager/database.php';
|
|
|
|
/***********************************************************
|
|
* *
|
|
* MANAGER DES MODULES *
|
|
* *
|
|
************************************************************
|
|
* *
|
|
* [0] Constantes *
|
|
* [1] ROUTAGE de niveau 1 *
|
|
* *
|
|
* *
|
|
* *
|
|
* *
|
|
* *
|
|
* *
|
|
* *
|
|
* *
|
|
* *
|
|
* *
|
|
***********************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* [1] ROUTAGE DE NIVEAU 1
|
|
============================================================*/
|
|
function career_switch_level_1($request, $answer){
|
|
|
|
switch( $request->level_1 ){
|
|
|
|
/***************************/
|
|
/* liste des notes par UEs */
|
|
/***************************/
|
|
case 'getNotesEtudiant': if( permission('student') ){
|
|
|
|
$areSetParam = isset($request->etudiant) && isset($request->semestre) && isset($request->annee); // les arguments existent
|
|
$typeOkParam = $areSetParam && is_string($request->etudiant) && is_string($request->semestre) && is_string($request->annee); // si c'est des strings
|
|
$nEmptyParam = $typeOkParam && strlen($request->etudiant) > 0 && is_numeric($request->semestre) && is_numeric($request->annee); // des bon types
|
|
$etudiantCheck = $nEmptyParam && preg_match('/^[\w -]{3,50}$/i', $request->etudiant); // nom bon format
|
|
$semestreCheck = $etudiantCheck && preg_match('/^[1-4]{1}$/i', $request->semestre); // semestre (semestre) bon format
|
|
$anneeCheck = $semestreCheck && preg_match('/^[0-9]{4}$/i', $request->annee); // semestre (annee) bon format
|
|
|
|
if( $anneeCheck ){ // si tout les paramètres sont bons
|
|
$UEs = DataBase::getInstance()->getNotesEtudiant($request->etudiant, $request->semestre, $request->annee);
|
|
|
|
if( is_array($UEs) ){ // si on a bien un tableau
|
|
$answer->UEs = $UEs; // on renvoie dans answer->note
|
|
$answer->request = 'success'; // et on renvoie success
|
|
}else // sinon si c'est pas un tableau
|
|
$answer->request = $UEs; // on retourne l'erreur
|
|
}else
|
|
$answer->request = 'param_error';
|
|
|
|
}else
|
|
$answer->request = 'permission_error';
|
|
break;
|
|
|
|
|
|
|
|
/***************************/
|
|
/* liste des conetroles */
|
|
/***************************/
|
|
case 'getControlesEnseignant': if( permission('teacher') ){
|
|
|
|
$areSetParam = isset($request->enseignant) && isset($request->annee); // les arguments existent
|
|
$typeOkParam = $areSetParam && is_string($request->enseignant) && is_string($request->annee); // si c'est des strings
|
|
$nEmptyParam = $typeOkParam && strlen($request->enseignant) > 0 && is_numeric($request->annee); // des bon types
|
|
$enseignantCheck = $nEmptyParam && preg_match('/^[\w -]{3,50}$/i', $request->enseignant); // nom bon format
|
|
$anneeCheck = $enseignantCheck && preg_match('/^[0-9]{4}$/i', $request->annee); // semestre (annee) bon format
|
|
|
|
if( $anneeCheck ){ // si tout les paramètres sont bons
|
|
$semestreList = DataBase::getInstance()->getControlesEnseignant($request->enseignant, $_SESSION['semestre_pair'], $request->annee);
|
|
|
|
if( is_array($semestreList) ){ // si on a bien un tableau
|
|
$answer->semestres = $semestreList; // on renvoie dans answer->semestreList
|
|
$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 notes pour un contrôle */
|
|
/************************************/
|
|
case 'getNotesEnseignant': if( permission('teacher') ){
|
|
|
|
$areSetParam = isset($request->enseignant) && isset($request->controle); // les arguments existent
|
|
$typeOkParam = $areSetParam && is_string($request->enseignant); // si c'est des strings
|
|
$nEmptyParam = $typeOkParam && strlen($request->enseignant) > 0 && is_numeric($request->controle); // des bon types
|
|
$enseignantCheck = $nEmptyParam && preg_match('/^[\w -]{3,50}$/i', $request->enseignant); // nom bon format
|
|
|
|
// paramètre optionnel
|
|
$optionalGroupe = isset($request->groupe) && is_string($request->groupe) && strlen($request->groupe) > 1 && preg_match('/^[a-z0-9 -]{1,10}$/i', $request->groupe);
|
|
|
|
// définition (ou pas) du paramètre optionnel
|
|
if( $optionalGroupe ) $groupe = $request->groupe;
|
|
else $groupe = null;
|
|
|
|
if( $enseignantCheck ){ // si tout les paramètres sont bons
|
|
$controle = DataBase::getInstance()->getNotesEnseignant($request->enseignant, $_SESSION['semestre_pair'], $_SESSION['annee'], $request->controle, $groupe);
|
|
|
|
if( is_array($controle) ){ // si on a bien un tableau
|
|
$answer->controle = $controle; // on renvoie dans answer->controle
|
|
$answer->request = 'success'; // et on renvoie success
|
|
}else // sinon si c'est pas un tableau
|
|
$answer->request = $controle; // on retourne l'erreur
|
|
}else
|
|
$answer->request = 'param_error';
|
|
|
|
}else
|
|
$answer->request = 'permission_error';
|
|
break;
|
|
|
|
|
|
/**********************************************/
|
|
/* informations relatives au dossier étudiant */
|
|
/**********************************************/
|
|
case 'studentcase': if( permission('teacher') ){
|
|
|
|
$areSetParam = isset($request->etudiant) && isset($request->controle) && isset($request->note); // les arguments existent
|
|
$typeOkParam = $areSetParam && is_string($request->etudiant); // si c'est des strings
|
|
$nEmptyParam = $typeOkParam && strlen($request->etudiant) > 0 && is_numeric($request->controle) && is_numeric($request->note); // des bon types
|
|
$etudiantCheck = $nEmptyParam && preg_match('/^[\w -]{3,50}$/i', $request->etudiant); // nom bon format
|
|
|
|
if( $etudiantCheck ){ // si tout les paramètres sont bons
|
|
$answer->request = DataBase::getInstance()->saisieNote($request->etudiant, $request->controle, $request->note);
|
|
}else
|
|
$answer->request = 'param_error';
|
|
|
|
}else
|
|
$answer->request = 'permission_error';
|
|
|
|
break;
|
|
|
|
|
|
|
|
/****************************************************/
|
|
/* saisie d'une note pour un étudiant à un contrôle */
|
|
/****************************************************/
|
|
case 'saisieNote': if( permission('teacher') ){
|
|
|
|
$areSetParam = isset($request->etudiant) && isset($request->controle) && isset($request->note); // les arguments existent
|
|
$typeOkParam = $areSetParam && is_string($request->etudiant); // si c'est des strings
|
|
$nEmptyParam = $typeOkParam && strlen($request->etudiant) > 0 && is_numeric($request->controle) && is_numeric($request->note); // des bon types
|
|
$etudiantCheck = $nEmptyParam && preg_match('/^[\w -]{3,50}$/i', $request->etudiant); // nom bon format
|
|
|
|
if( $etudiantCheck ){ // si tout les paramètres sont bons
|
|
$answer->request = DataBase::getInstance()->saisieNote($request->etudiant, $request->controle, $request->note);
|
|
}else
|
|
$answer->request = 'param_error';
|
|
|
|
}else
|
|
$answer->request = 'permission_error';
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
/* _ ____ ___ _____ _____ _ _ ____ _____ ____
|
|
/* / \ | _ \_ _| ___| ___| | | / ___|| ____| _ \
|
|
/* / _ \ | | | | || |_ | |_ | | | \___ \| _| | |_) |
|
|
/* / ___ \ | |_| | || _| | _| | |_| |___) | |___| _ <
|
|
/* /_/ \_\ |____/___|_| |_| \___/|____/|_____|_| \_\
|
|
/*
|
|
|
|
/****************************************************/
|
|
/* saisie d'une note pour un groupe à un contrôle */
|
|
/****************************************************/
|
|
case 'saisieNoteGroupe': if( permission('teacher') ){
|
|
|
|
$areSetParam = isset($request->etudiant) && isset($request->controle) && isset($request->note); // les arguments existent
|
|
$typeOkParam = $areSetParam && is_string($request->etudiant); // si c'est des strings
|
|
$nEmptyParam = $typeOkParam && strlen($request->etudiant) > 0 && is_numeric($request->controle) && is_numeric($request->note); // des bon types
|
|
$etudiantCheck = $nEmptyParam && preg_match('/^[\w -]{3,50}$/i', $request->etudiant); // nom bon format
|
|
|
|
if( $etudiantCheck ){ // si tout les paramètres sont bons
|
|
$answer->request = DataBase::getInstance()->saisieNoteGroupe($request->etudiant, $request->controle, $request->note);
|
|
}else
|
|
$answer->request = 'param_error';
|
|
|
|
}else
|
|
$answer->request = 'permission_error';
|
|
break;
|
|
|
|
|
|
|
|
|
|
/***********/
|
|
/* DEFAULT */
|
|
/***********/
|
|
default:
|
|
$answer->request = 'unknown_level_1';
|
|
break;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
?>
|