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) && 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 $UEList = DataBase::getInstance()->getModulesByUEByEtudiant($request->etudiant, $_SESSION['formation'], $request->semestre, $request->annee); // 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 $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()->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 $typeOkParam = $areSetParam && is_string($request->annee); // si c'est des strings $nEmptyParam = $typeOkParam && is_numeric($request->annee); // des bon types $anneeCheck = $nEmptyParam && preg_match('/^[0-9]{4}$/i', $request->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 $typeOkParam = $areSetParam && is_string($request->annee); // si c'est des strings $nEmptyParam = $typeOkParam && is_numeric($request->annee); // des bon types $anneeCheck = $nEmptyParam && preg_match('/^[0-9]{4}$/i', $request->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; } } } ?>