level_1 ){ /***************************/ /* liste des notes par UEs */ /***************************/ case 'getNotesEtudiant': if( permission('student') || permission('master') || permission('admin') ){ $areSetParam = isset($request->etudiant) && isset($request->semestre); // les arguments existent $etudiantCheck = $areSetParam && checkParam($request->etudiant, 'utilisateur.identifiant'); // nom bon format // $formationCheck = $etudiantCheck && checkParam($request->formation, 'auto_increment_id'); // formation (formation) 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 $UEs = DataBase::getInstance()->getNotesEtudiant($request->etudiant, $request->semestre); 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 contrôles d'un enseignant */ /***************************************/ case 'getControlesEnseignant': if( permission('teacher') ){ $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()->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 contrôles de l'année */ /**********************************/ case 'getControlesForYear': 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()->getControlesForYear($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 d'un enseignant */ /****************************************************/ case 'getNotesEnseignant': if( permission('teacher') ){ $areSetParam = isset($request->enseignant) && isset($request->controle); // les arguments existent $controleCheck = $areSetParam && checkParam($request->controle, 'auto_increment_id'); $enseignantCheck = $controleCheck && checkParam($request->enseignant, 'utilisateur.identifiant'); // nom bon format // paramètre optionnel $optionalGroupe = isset($request->groupe) && is_numeric($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()->getNotesForControleEnseignant($request->enseignant, $_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; /************************************/ /* liste des notes pour un contrôle */ /************************************/ case 'getNotesForYear': if( permission('master') || permission('admin') ){ $areSetParam = isset($request->controle); // les arguments existent $controleCheck = $areSetParam && checkParam($request->controle, 'auto_increment_id'); // des bon types // paramètre optionnel $optionalGroupe = isset($request->groupe) && checkParam($request->groupe, 'auto_increment_id'); // définition (ou pas) du paramètre optionnel if( $optionalGroupe ) $groupe = $request->groupe; else $groupe = null; if( $controleCheck ){ // si tout les paramètres sont bons $controle = DataBase::getInstance()->getNotesForControle($_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('master') || permission('admin') ){ $areSetParam = isset($request->etudiant); // les arguments existent $etudiantCheck = $areSetParam && checkParam($request->etudiant, 'utilisateur.identifiant'); // nom bon format if( $etudiantCheck ){ // si tout les paramètres sont bons $parcours = DataBase::getInstance()->getParcoursEtudiant($request->etudiant); if( is_array($parcours) ){ $answer->parcours = $parcours; $answer->request = 'success'; }else $answer->request = $parcours; }else $answer->request = 'param_error'; }else $answer->request = 'permission_error'; break; /********************************************/ /* modification des capitalisations d'un UE */ /********************************************/ case 'capitaliser': if( permission('admin') ){ $areSetParam = isset($request->etudiant) && isset($request->ue) && isset($request->semestre); // les arguments existent $etudiantCheck = $areSetParam && checkParam($request->etudiant, 'utilisateur.identifiant'); // identifiant etudiant bon format $semestreCheck = $etudiantCheck && checkParam($request->semestre, 'auto_increment_id'); // id semestre bon format $ueCheck = $semestreCheck && checkParam($request->ue, 'auto_increment_id'); // id ue bon format if( $ueCheck ){ // si tout les paramètres sont bons $answer->request = DataBase::getInstance()->capitaliserUE($request->ue, $request->semestre, $request->etudiant); }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') || permission('admin')) && $_SESSION['annee'] >= DataBase::getInstance()->getSemestreInfoFromTime(time())['annee'] ){ $areSetParam = isset($request->etudiant) && isset($request->controle) && isset($request->note); // les arguments existent $etudiantCheck = $areSetParam && checkParam($request->etudiant, 'utilisateur.identifiant'); // 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 'saisieNoteMultiple': if( (permission('teacher') || permission('admin')) && $_SESSION['annee'] >= DataBase::getInstance()->getSemestreInfoFromTime(time())['annee'] ){ $areSetParam = isset($request->notes) && isset($request->controle); // les arguments existent $typeOkParam = $areSetParam && is_array($request->notes) && checkParam($request->controle, 'auto_increment_id'); // si c'est des strings $nEmptyParam = $typeOkParam && count($request->notes) > 0; // des bon types if( $nEmptyParam ){ // si tout les paramètres sont bons $answer->request = DataBase::getInstance()->saisieNoteMultiple($request->controle, $request->notes); }else $answer->request = 'param_error'; }else $answer->request = 'permission_error'; break; /*********************************************************/ /* définie le caractère "publié" des notes d'un contrôle */ /*********************************************************/ case 'publicationcontrole': if( permission('admin') && $_SESSION['annee'] >= DataBase::getInstance()->getSemestreInfoFromTime(time())['annee'] ){ $areSetParam = isset($request->controle) && isset($request->publication); // les arguments existent $typeOkParam = $areSetParam && checkParam($request->controle, 'auto_increment_id') && is_bool($request->publication); // si les types sont bons if( $typeOkParam ){ // si tout les paramètres sont bons if( DataBase::getInstance()->publicationControle($request->controle, $request->publication) ) $answer->request = 'success'; else $answer->request = 'error'; }else $answer->request = 'param_error'; }else $answer->request = 'permission_error'; break; /***********************/ /* intégration des MCC */ /***********************/ case 'setMCC': if( permission('admin') ){ if( isset($request->mcc) && isset($request->semestre) && is_numeric($request->semestre) ){ // si tout les paramètres sont bons DataBase::getInstance()->setMCC($request->semestre, $request->mcc); $answer->request = 'success'; }else $answer->request = 'param_error'; }else $answer->request = 'permission_error'; break; /*******************/ /* clonage des MCC */ /*******************/ case 'cloneMCC': if( permission('admin') ){ if( isset($request->annee) && checkParam($request->annee, 'semestre.annee') ){ // si tout les paramètres sont bons $answer->request = DataBase::getInstance()->cloneMCC($request->annee); }else $answer->request = 'param_error'; }else $answer->request = 'permission_error'; break; /**************************/ /* création d'un semestre */ /**************************/ /* * CRÉATION DU SEMESTRE D'UNE FORMATION DONNÉE * - si code formation non référencé => on créé la formation * - si rang+annee+formation du semestre non référencé => on créé le semestre * + sinon on modifie juste le nom (même si identique) * */ case 'creerSemestre': if( permission('admin') ){ $areSetParam = isset($request->annee) && isset($request->formation) && isset($request->nom_formation) && isset($request->semestre) && isset($request->rang); // les arguments existent $anneeCheck = $areSetParam && checkParam($request->annee, 'semestre.annee'); // l'année est au bon format $formationCheck = $anneeCheck && checkParam($request->formation, 'formation.code'); // le code de la formation est au bon format $nomFormationCheck = $formationCheck && checkParam($request->nom_formation, 'formation.nom'); // le nom de la formation est au bon format $semestreCheck = $nomFormationCheck && checkParam($request->semestre, 'semestre.nom'); // le nom du semestre est au bon format $rangCheck = $semestreCheck && checkParam($request->rang, 'semestre.rang'); // le rang est au bon format if( $rangCheck ){ // si tout les paramètres sont bons $creationOk = DataBase::getInstance()->creerSemestre($request->formation, $request->nom_formation, $request->semestre, $request->rang, $request->annee); if( $creationOk ) $answer->request = 'success'; else $answer->request = 'error'; }else $answer->request = 'param_error'; }else $answer->request = 'permission_error'; break; /**************************************************/ /* Intégration des mentions jury pour un semestre */ /**************************************************/ /* * * @semestre UID du semestre en question * @jury Tableau contenant les étudiants et leurs mentions * * */ case 'applyJurySemestre': if( permission('admin') ){ $areSetParam = isset($request->semestre) && isset($request->jury); // les arguments existent $juryCheck = $areSetParam && checkParam($request->jury, ''); // les mentions jury est au bon format $semestreCheck = $juryCheck && checkParam($request->semestre, 'auto_increment_id'); // le semestre est au bon format if( $semestreCheck ){ // si tout les paramètres sont bons $integration = DataBase::getInstance()->applyJurySemestre($request->semestre, $request->jury); if( $integration ) $answer->request = 'success'; else $answer->request = 'error'; }else $answer->request = 'param_error'; }else $answer->request = 'permission_error'; break; /***********/ /* DEFAULT */ /***********/ default: $answer->request = 'unknown_level_1'; break; } } } ?>