Déploiement du checkParam() (principe de vérification des champs centralisé) terminé (~80)

This commit is contained in:
xdrm-brackets 2015-12-30 17:21:10 +01:00
parent 6f35306f36
commit 850cca76cc
2 changed files with 45 additions and 68 deletions

View File

@ -38,12 +38,10 @@ class careerManager{
case 'getNotesEtudiant': if( permission('student') || permission('master') || permission('admin') ){ case 'getNotesEtudiant': if( permission('student') || permission('master') || permission('admin') ){
$areSetParam = isset($request->etudiant) && isset($request->semestre) && isset($request->annee) && isset($request->formation); // les arguments existent $areSetParam = isset($request->etudiant) && isset($request->semestre) && isset($request->annee) && isset($request->formation); // les arguments existent
$typeOkParam = $areSetParam && is_string($request->etudiant) && is_string($request->semestre) && is_string($request->annee) && is_numeric($request->formation); // si c'est des strings $etudiantCheck = $areSetParam && checkParam($request->etudiant, 'utilisateur.identifiant'); // nom bon format
$nEmptyParam = $typeOkParam && strlen($request->etudiant) > 0 && is_numeric($request->semestre) && is_numeric($request->annee); // des bon types $formationCheck = $etudiantCheck && checkParam($request->formation, 'auto_increment_id'); // formation (formation) bon format
$etudiantCheck = $nEmptyParam && preg_match('/^[\w -]{3,50}$/i', $request->etudiant); // nom bon format $semestreCheck = $formationCheck && checkParam($request->semestre, 'semestre.rang'); // semestre (rang) bon format
$formationCheck = $etudiantCheck && preg_match('/^[1-4]+$/i', $request->formation); // formation (formation) bon format $anneeCheck = $semestreCheck && checkParam($request->annee, 'semestre.annee'); // semestre (annee) bon format
$semestreCheck = $formationCheck && preg_match('/^[1-4]+$/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 if( $anneeCheck ){ // si tout les paramètres sont bons
$UEs = DataBase::getInstance()->getNotesEtudiant($request->etudiant, $request->formation, $request->semestre, $request->annee); $UEs = DataBase::getInstance()->getNotesEtudiant($request->etudiant, $request->formation, $request->semestre, $request->annee);
@ -67,11 +65,9 @@ class careerManager{
/***************************************/ /***************************************/
case 'getControlesEnseignant': if( permission('teacher') ){ case 'getControlesEnseignant': if( permission('teacher') ){
$areSetParam = isset($request->enseignant) && isset($request->annee); // les arguments existent $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 $enseignantCheck = $areSetParam && checkParam($request->enseignant, 'utilisateur.identifiant'); // nom bon format
$nEmptyParam = $typeOkParam && strlen($request->enseignant) > 0 && is_numeric($request->annee); // des bon types $anneeCheck = $enseignantCheck && checkParam($request->annee, 'semestre.annee'); // semestre (annee) bon format
$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 if( $anneeCheck ){ // si tout les paramètres sont bons
$semestreList = DataBase::getInstance()->getControlesEnseignant($request->enseignant, $_SESSION['semestre_pair'], $request->annee); $semestreList = DataBase::getInstance()->getControlesEnseignant($request->enseignant, $_SESSION['semestre_pair'], $request->annee);
@ -96,10 +92,8 @@ class careerManager{
/**********************************/ /**********************************/
case 'getControlesForYear': if( permission('master') || permission('admin') ){ case 'getControlesForYear': if( permission('master') || permission('admin') ){
$areSetParam = isset($request->annee); // les arguments existent $areSetParam = isset($request->annee); // les arguments existent
$typeOkParam = $areSetParam && is_string($request->annee); // si c'est des strings $anneeCheck = $areSetParam && checkParam($request->annee, 'semestre.annee'); // semestre (annee) bon format
$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 if( $anneeCheck ){ // si tout les paramètres sont bons
$semestreList = DataBase::getInstance()->getControlesForYear($request->annee); $semestreList = DataBase::getInstance()->getControlesForYear($request->annee);
@ -122,10 +116,8 @@ class careerManager{
/****************************************************/ /****************************************************/
case 'getNotesEnseignant': if( permission('teacher') ){ case 'getNotesEnseignant': if( permission('teacher') ){
$areSetParam = isset($request->enseignant) && isset($request->controle); // les arguments existent $areSetParam = isset($request->enseignant) && isset($request->controle); // les arguments existent
$typeOkParam = $areSetParam && is_string($request->enseignant); // si c'est des strings $enseignantCheck = $areSetParam && checkParam($request->enseignant, 'utilisateur.identifiant'); // nom bon format
$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 // paramètre optionnel
$optionalGroupe = isset($request->groupe) && is_numeric($request->groupe); $optionalGroupe = isset($request->groupe) && is_numeric($request->groupe);
@ -157,17 +149,17 @@ class careerManager{
/************************************/ /************************************/
case 'getNotesForYear': if( permission('master') || permission('admin') ){ case 'getNotesForYear': if( permission('master') || permission('admin') ){
$areSetParam = isset($request->controle); // les arguments existent $areSetParam = isset($request->controle); // les arguments existent
$nEmptyParam = $areSetParam && is_numeric($request->controle); // des bon types $controleCheck = $areSetParam && checkParam($request->controle, 'auto_increment_id'); // des bon types
// paramètre optionnel // paramètre optionnel
$optionalGroupe = isset($request->groupe) && is_numeric($request->groupe); $optionalGroupe = isset($request->groupe) && checkParam($request->groupe, 'auto_increment_id');
// définition (ou pas) du paramètre optionnel // définition (ou pas) du paramètre optionnel
if( $optionalGroupe ) $groupe = $request->groupe; if( $optionalGroupe ) $groupe = $request->groupe;
else $groupe = null; else $groupe = null;
if( $nEmptyParam ){ // si tout les paramètres sont bons if( $controleCheck ){ // si tout les paramètres sont bons
$controle = DataBase::getInstance()->getNotesForControle($_SESSION['annee'], $request->controle, $groupe); $controle = DataBase::getInstance()->getNotesForControle($_SESSION['annee'], $request->controle, $groupe);
if( is_array($controle) ){ // si on a bien un tableau if( is_array($controle) ){ // si on a bien un tableau
@ -188,9 +180,8 @@ class careerManager{
/**********************************************/ /**********************************************/
case 'studentcase': if( permission('master') || permission('admin') ){ case 'studentcase': if( permission('master') || permission('admin') ){
$areSetParam = isset($request->etudiant) ; // les arguments existent $areSetParam = isset($request->etudiant); // les arguments existent
$typeOkParam = $areSetParam && is_string($request->etudiant); // si c'est des strings $etudiantCheck = $areSetParam && checkParam($request->etudiant, 'utilisateur.identifiant'); // nom bon format
$etudiantCheck = $typeOkParam && preg_match('/^[\w -]{3,50}$/i', $request->etudiant); // nom bon format
if( $etudiantCheck ){ // si tout les paramètres sont bons if( $etudiantCheck ){ // si tout les paramètres sont bons
$parcours = DataBase::getInstance()->getParcoursEtudiant($request->etudiant); $parcours = DataBase::getInstance()->getParcoursEtudiant($request->etudiant);
@ -216,9 +207,7 @@ class careerManager{
case 'saisieNote': if( (permission('teacher') || permission('admin')) && $_SESSION['annee'] >= getCurrentYear() ){ case 'saisieNote': if( (permission('teacher') || permission('admin')) && $_SESSION['annee'] >= getCurrentYear() ){
$areSetParam = isset($request->etudiant) && isset($request->controle) && isset($request->note); // les arguments existent $areSetParam = isset($request->etudiant) && isset($request->controle) && isset($request->note); // les arguments existent
$typeOkParam = $areSetParam && is_string($request->etudiant); // si c'est des strings $etudiantCheck = $areSetParam && checkParam($request->etudiant, 'utilisateur.identifiant'); // nom bon format
$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 if( $etudiantCheck ){ // si tout les paramètres sont bons
$answer->request = DataBase::getInstance()->saisieNote($request->etudiant, $request->controle, $request->note); $answer->request = DataBase::getInstance()->saisieNote($request->etudiant, $request->controle, $request->note);
@ -237,7 +226,7 @@ class careerManager{
$areSetParam = isset($request->notes) && isset($request->controle); // les arguments existent $areSetParam = isset($request->notes) && isset($request->controle); // les arguments existent
$typeOkParam = $areSetParam && is_array($request->notes) && is_numeric($request->controle); // si c'est des strings $typeOkParam = $areSetParam && is_array($request->notes) && is_numeric($request->controle); // si c'est des strings
$nEmptyParam = $typeOkParam && count($request->notes) > 1; // des bon types $nEmptyParam = $typeOkParam && count($request->notes) > 0; // des bon types
if( $nEmptyParam ){ // si tout les paramètres sont bons if( $nEmptyParam ){ // si tout les paramètres sont bons
$answer->request = DataBase::getInstance()->saisieNoteMultiple($request->controle, $request->notes); $answer->request = DataBase::getInstance()->saisieNoteMultiple($request->controle, $request->notes);
@ -255,7 +244,7 @@ class careerManager{
case 'publicationcontrole': if( permission('admin') && $_SESSION['annee'] >= getCurrentYear() ){ case 'publicationcontrole': if( permission('admin') && $_SESSION['annee'] >= getCurrentYear() ){
$areSetParam = isset($request->controle) && isset($request->publication); // les arguments existent $areSetParam = isset($request->controle) && isset($request->publication); // les arguments existent
$typeOkParam = $areSetParam && is_numeric($request->controle) && is_bool($request->publication); // si les types sont bons $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( $typeOkParam ){ // si tout les paramètres sont bons
if( DataBase::getInstance()->publicationControle($request->controle, $request->publication) ) if( DataBase::getInstance()->publicationControle($request->controle, $request->publication) )
@ -315,13 +304,11 @@ class careerManager{
case 'creerSemestre': if( permission('admin') ){ 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 $areSetParam = isset($request->annee) && isset($request->formation) && isset($request->nom_formation) && isset($request->semestre) && isset($request->rang); // les arguments existent
$typeOkParam = $areSetParam && is_string($request->formation) && is_string($request->nom_formation) && is_string($request->semestre); // si c'est des strings $anneeCheck = $areSetParam && checkParam($request->annee, 'semestre.annee'); // l'année est au bon format
$nEmptyParam = $typeOkParam && strlen($request->formation) > 0 && strlen($request->nom_formation) > 0 && strlen($request->semestre) > 0 && is_numeric($request->annee) && is_numeric($request->rang); // des bon types $formationCheck = $anneeCheck && checkParam($request->formation, 'formation.code'); // le code de la formation est au bon format
$anneeCheck = $nEmptyParam && preg_match('/[0-4]/i', $request->annee); // l'année est au bon format $nomFormationCheck = $formationCheck && checkParam($request->nom_formation, 'formation.nom'); // le nom de la formation est au bon format
$formationCheck = $anneeCheck && preg_match('/[\w]{0,10}/i', $request->formation); // le code de la formation est au bon format $semestreCheck = $nomFormationCheck && checkParam($request->semestre, 'semestre.nom'); // le nom du semestre est au bon format
$nomFormationCheck = $formationCheck && preg_match('/[\w ]{0,100}/i', $request->nom_formation); // le nom de la formation est au bon format $rangCheck = $semestreCheck && checkParam($request->rang, 'semestre.rang'); // le rang est au bon format
$semestreCheck = $nomFormationCheck && preg_match('/[\w -]{0,10}/i', $request->semestre); // le nom du semestre est au bon format
$rangCheck = $semestreCheck && preg_match('/\d/i', $request->rang); // l'année est au bon format
if( $rangCheck ){ // si tout les paramètres sont bons if( $rangCheck ){ // si tout les paramètres sont bons

View File

@ -38,10 +38,8 @@ class groupsManager{
/************************/ /************************/
case 'create': if( false && permission('admin') ){ case 'create': if( false && permission('admin') ){
$areSetParam = isset($request->nom) ; // l'argument existe $areSetParam = isset($request->nom) ; // l'argument existe
$typeOkParam = $areSetParam && is_string($request->nom); // si c'est une string $nomCheck = $areSetParam && checkParam($request->nom, 'groupe.nom'); // nom bon format
$nEmptyParam = $typeOkParam && strlen($request->nom) > 0; // d'au moins 1 caractère
$nomCheck = $nEmptyParam && preg_match('/^[a-z0-9 -]{1,10}$/i', $request->nom); // nom bon format
if( $nomCheck ){ // si tout les paramètres sont bons if( $nomCheck ){ // si tout les paramètres sont bons
$answer->request = DataBase::getInstance()->creerGroupe($request->nom); $answer->request = DataBase::getInstance()->creerGroupe($request->nom);
@ -58,12 +56,10 @@ class groupsManager{
case 'add': if( false && permission('admin') ){ case 'add': if( false && permission('admin') ){
$areSetParam = isset($request->etudiant) && isset($request->groupe) && isset($request->semestre) && isset($request->annee); // les arguments existent $areSetParam = isset($request->etudiant) && isset($request->groupe) && isset($request->semestre) && isset($request->annee); // les arguments existent
$typeOkParam = $areSetParam && is_string($request->etudiant) && is_string($request->groupe) && is_numeric($request->semestre) && is_numeric($request->annee); // si c'est des strings $etudiantCheck = $areSetParam && checkParam($request->etudiant, 'utilisateur.identifiant'); // etudiant (username) bon format
$nEmptyParam = $typeOkParam && strlen($request->etudiant) > 0 && strlen($request->groupe) > 0; // d'au moins 1 caractère $groupeCheck = $etudiantCheck && checkParam($request->groupe, 'groupe.nom'); // groupe (nom) bon format
$etudiantCheck = $nEmptyParam && preg_match('/^[\w -]{3,50}$/i', $request->etudiant); // etudiant (username) bon format $semestreCheck = $groupeCheck && checkParam($request->semestre, 'semestre.rang'); // semestre (rang) bon format
$groupeCheck = $etudiantCheck && preg_match('/^[a-z0-9 -]{1,10}$/i', $request->groupe); // groupe (nom) bon format $anneeCheck = $semestreCheck && checkParam($request->annee, 'semestre.annee'); // semestre (annee) bon format
$semestreCheck = $groupeCheck && 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 if( $anneeCheck ){ // si tout les paramètres sont bons
$answer->request = DataBase::getInstance()->ajouterEtudiantGroupe($request->etudiant, $request->groupe, $request->semestre, $request->annee); $answer->request = DataBase::getInstance()->ajouterEtudiantGroupe($request->etudiant, $request->groupe, $request->semestre, $request->annee);
@ -80,11 +76,10 @@ class groupsManager{
case 'userlist': if( permission('student') ){ case 'userlist': if( permission('student') ){
$areSetParam = isset($request->etudiant) && isset($request->semestre) && isset($request->annee) && isset($request->formation); // les arguments existent $areSetParam = isset($request->etudiant) && isset($request->semestre) && isset($request->annee) && isset($request->formation); // les arguments existent
$typeOkParam = $areSetParam && is_string($request->etudiant) && is_numeric($request->semestre) && is_numeric($request->annee) && is_numeric($request->formation); // si c'est des strings $etudiantCheck = $areSetParam && checkParam($request->etudiant, 'utilisateur.identifiant'); // etudiant (username) bon format
$etudiantCheck = $typeOkParam && preg_match('/^[\w -]{3,50}$/i', $request->etudiant); // etudiant (username) bon format $formationCheck = $etudiantCheck && checkParam($request->formation, 'auto_increment_id'); // formation (formation) bon format
$formationCheck = $etudiantCheck && preg_match('/^[1-4]{1}$/i', $request->formation); // formation (formation) bon format $semestreCheck = $formationCheck && checkParam($request->semestre, 'semestre.rang'); // semestre (rang) bon format
$semestreCheck = $formationCheck && preg_match('/^[1-4]{1}$/i', $request->semestre); // semestre (semestre) bon format $anneeCheck = $semestreCheck && checkParam($request->annee, 'semestre.annee'); // semestre (annee) 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 if( $anneeCheck ){ // si tout les paramètres sont bons
$userlist = DataBase::getInstance()->listeEtudiantsGroupe($request->etudiant, $request->formation, $request->semestre, $request->annee); $userlist = DataBase::getInstance()->listeEtudiantsGroupe($request->etudiant, $request->formation, $request->semestre, $request->annee);
@ -107,10 +102,8 @@ class groupsManager{
/**************************************/ /**************************************/
case 'getSemestre': if( permission('student') ){ case 'getSemestre': if( permission('student') ){
$areSetParam = isset($request->etudiant); // les arguments existent $areSetParam = isset($request->etudiant); // les arguments existent
$typeOkParam = $areSetParam && is_string($request->etudiant); // si c'est des strings $etudiantCheck = $areSetParam && checkParam($request->etudiant, 'utilisateur.identifiant'); // etudiant (username) bon format
$nEmptyParam = $typeOkParam && strlen($request->etudiant) > 0; // d'au moins 1 caractère
$etudiantCheck = $nEmptyParam && preg_match('/^[\w -]{3,50}$/i', $request->etudiant); // etudiant (username) bon format
if( $etudiantCheck ){ // si tout les paramètres sont bons if( $etudiantCheck ){ // si tout les paramètres sont bons
@ -136,10 +129,9 @@ class groupsManager{
case 'grouplist': if( permission('student') ){ case 'grouplist': if( permission('student') ){
$areSetParam = isset($request->semestre) && isset($request->annee) && isset($request->formation); // les arguments existent $areSetParam = isset($request->semestre) && isset($request->annee) && isset($request->formation); // les arguments existent
$typeOkParam = $areSetParam && is_numeric($request->semestre) && is_numeric($request->annee) && is_numeric($request->formation); // si c'est des strings $formationCheck = $areSetParam && checkParam($request->formation, 'auto_increment_id'); // formation (formation) bon format
$formationCheck = $typeOkParam && preg_match('/^[1-4]{1}$/i', $request->formation); // formation (formation) bon format $semestreCheck = $formationCheck && checkParam($request->semestre, 'semestre.rang'); // semestre (rang) bon format
$semestreCheck = $formationCheck && preg_match('/^[1-4]{1}$/i', $request->semestre); // semestre (semestre) bon format $anneeCheck = $semestreCheck && checkParam($request->annee, 'semestre.annee'); // semestre (annee) bon format
$anneeCheck = $semestreCheck && preg_match('/^[0-9]{4}$/i', $request->annee); // semestre (annee) bon format
if( $anneeCheck ){ if( $anneeCheck ){
@ -163,10 +155,9 @@ class groupsManager{
/*****************************************************************************/ /*****************************************************************************/
case 'grouplistForTeacher': if( permission('teacher') || permission('admin') ){ case 'grouplistForTeacher': if( permission('teacher') || permission('admin') ){
$areSetParam = isset($request->annee) && isset($request->enseignant); // les arguments existent $areSetParam = isset($request->annee) && isset($request->enseignant); // les arguments existent
$typeOkParam = $areSetParam && is_numeric($request->annee) && is_string($request->enseignant); // si c'est des strings $anneeCheck = $areSetParam && checkParam($request->annee, 'semestre.annee'); // semestre (annee) bon format
$anneeCheck = $areSetParam && preg_match('/^[0-9]{4}$/i', $request->annee); // semestre (annee) bon format $enseignantCheck = $anneeCheck && checkParam($request->enseignant, 'utilisateur.identifiant'); // enseignant (annee) bon format
$enseignantCheck = $anneeCheck && preg_match('/^[\w -]{3,50}$/i', $request->enseignant); // enseignant (annee) bon format
if( $enseignantCheck ){ if( $enseignantCheck ){
@ -190,9 +181,8 @@ class groupsManager{
/********************************************************************/ /********************************************************************/
case 'grouplistForYear': if( permission('master') || permission('teacher') || permission('admin') ){ case 'grouplistForYear': if( permission('master') || permission('teacher') || permission('admin') ){
$areSetParam = isset($request->annee); // les arguments existent $areSetParam = isset($request->annee); // les arguments existent
$typeOkParam = $areSetParam && is_numeric($request->annee); // si c'est des strings $anneeCheck = $areSetParam && checkParam($request->annee, 'semestre.annee'); // semestre (annee) bon format
$anneeCheck = $areSetParam && preg_match('/^[0-9]{4}$/i', $request->annee); // semestre (annee) bon format
if( $anneeCheck ){ if( $anneeCheck ){