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 $UEs = DataBase::getInstance()->getControlesEnseignant($request->enseignant, $_SESSION['semestre_pair'], $request->annee); if( is_array($UEs) ){ // si on a bien un tableau $answer->UEs = $UEs; // on renvoie dans answer->UEs $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 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; /****************************************************/ /* 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; /***********/ /* DEFAULT */ /***********/ default: $answer->request = 'unknown_level_1'; break; } } ?>