Implémentation des conditions du checkParam(); et déploiement débuté
This commit is contained in:
parent
61a2daa43d
commit
594615fe90
|
@ -38,7 +38,7 @@ class DataBase{
|
||||||
/* retourne une instance de la classe */
|
/* retourne une instance de la classe */
|
||||||
public static function getInstance(){
|
public static function getInstance(){
|
||||||
if( DataBase::$instance == null ){
|
if( DataBase::$instance == null ){
|
||||||
if( $_SERVER['HTTP_HOST'] == 'sid.local' ) // si co en local
|
if( $_SERVER['HTTP_HOST'] == 'sid' ) // si co en local
|
||||||
DataBase::$instance = new DataBase("localhost", "sid2", "php", "Qt358nUdyeTxLDM8");
|
DataBase::$instance = new DataBase("localhost", "sid2", "php", "Qt358nUdyeTxLDM8");
|
||||||
else // si co en ligne
|
else // si co en ligne
|
||||||
DataBase::$instance = new DataBase("mysql.hostinger.fr", "u712664263_sid", "u712664263_php", "Qt358nUdyeTxLDM8");
|
DataBase::$instance = new DataBase("mysql.hostinger.fr", "u712664263_sid", "u712664263_php", "Qt358nUdyeTxLDM8");
|
||||||
|
|
|
@ -44,11 +44,9 @@ class modulesManager{
|
||||||
}
|
}
|
||||||
|
|
||||||
$areSetParam = isset($request->etudiant) && isset($request->semestre) && isset($request->annee); // les arguments existent
|
$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
|
$etudiantCheck = $areSetParam && checkParam($request->etudiant, 'utilisateur.identifiant'); // identifiant bon format
|
||||||
$nEmptyParam = $typeOkParam && strlen($request->etudiant) > 0 && is_numeric($request->semestre) && is_numeric($request->annee); // des bon types
|
$semestreCheck = $etudiantCheck && checkParam($request->semestre, 'semestre.rang'); // semestre (rang) bon format
|
||||||
$etudiantCheck = $nEmptyParam && preg_match('/^[\w -]{3,50}$/i', $request->etudiant); // nom bon format
|
$anneeCheck = $semestreCheck && checkParam($request->annee, 'semestre.annee'); // semestre (annee) 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
|
if( $anneeCheck ){ // si tout les paramètres sont bons
|
||||||
|
@ -74,11 +72,9 @@ class modulesManager{
|
||||||
/**********************************************/
|
/**********************************************/
|
||||||
case 'getByEnseignant': if( permission('teacher') || permission('admin') ){
|
case 'getByEnseignant': if( permission('teacher') || permission('admin') ){
|
||||||
|
|
||||||
$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()->getModulesByUEByEnseignant($request->enseignant, $_SESSION['semestre_pair'], $request->annee);
|
$semestreList = DataBase::getInstance()->getModulesByUEByEnseignant($request->enseignant, $_SESSION['semestre_pair'], $request->annee);
|
||||||
|
@ -105,10 +101,8 @@ class modulesManager{
|
||||||
/******************************************/
|
/******************************************/
|
||||||
case 'getByYear': if( permission('master') || permission('admin') ){
|
case 'getByYear': 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()->getModulesByUEByYear(null, $request->annee); // true = on veut les groupes inscrits à chaque module
|
$semestreList = DataBase::getInstance()->getModulesByUEByYear(null, $request->annee); // true = on veut les groupes inscrits à chaque module
|
||||||
|
@ -134,10 +128,8 @@ class modulesManager{
|
||||||
/**********************************/
|
/**********************************/
|
||||||
case 'getMCC': if( permission('admin') ){
|
case 'getMCC': if( 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()->getModulesByUEByYear(null, $request->annee);
|
$semestreList = DataBase::getInstance()->getModulesByUEByYear(null, $request->annee);
|
||||||
|
|
|
@ -130,13 +130,108 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
function checkParam($variable, $type=null){
|
function checkParam($variable, $type=null){
|
||||||
$checker = isset($variable);
|
$checker = isset($variable) && !is_null($variable);
|
||||||
|
|
||||||
// traitement en fonction du type
|
// traitement en fonction du type
|
||||||
switch($type){
|
switch($type){
|
||||||
|
/* [1] Types de la base de données
|
||||||
|
=======================================*/
|
||||||
|
|
||||||
|
/* (1) Global */
|
||||||
|
case 'auto_increment_id':
|
||||||
|
return $checker && is_numeric($variable) && $variable <= 2147483647 && $variable >= -2147483647;
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* (2) Utilisateur */
|
||||||
case 'utilisateur.identifiant':
|
case 'utilisateur.identifiant':
|
||||||
return $checker && is_string($variable) && preg_match('/^[\w -]{3,50}$/i', $variable);
|
return $checker && is_string($variable) && preg_match('/^[\w -]{3,50}$/i', $variable);
|
||||||
break;
|
break;
|
||||||
|
case 'utilisateur.prenom':
|
||||||
|
return $checker && is_string($variable) && preg_match('/^[a-z -]{3,50}$/i', $variable);
|
||||||
|
break;
|
||||||
|
case 'utilisateur.nom':
|
||||||
|
return $checker && is_string($variable) && preg_match('/^[a-z -]{3,50}$/i', $variable);
|
||||||
|
break;
|
||||||
|
case 'utilisateur.sexe':
|
||||||
|
return $checker && is_numeric($variable) && $variable >= 0 && $variable <= 1;
|
||||||
|
break;
|
||||||
|
case 'utilisateur.mail':
|
||||||
|
return $checker && is_string($variable) && strlen($variable) <= 50 && preg_match('/^[\w\.-]+@[\w\.-]+\.[a-z]{2,4}$/i', $variable);
|
||||||
|
break;
|
||||||
|
case 'utilisateur.mdp':
|
||||||
|
return $checker && is_string($variable) && preg_match('/^[\w -]{4,100}$/i', $variable);
|
||||||
|
break;
|
||||||
|
case 'utilisateur.droits':
|
||||||
|
return $checker && is_string($variable) && preg_match('/^(?:master|student|admin|teacher)(,(?:master|student|admin|teacher)){0,4}$/i', $variable);
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* (3) Groupe */
|
||||||
|
case 'groupe.nom':
|
||||||
|
return $checker && is_string($variable) && preg_match('/^[a-z0-9 -]{1,10}$/i', $variable);
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* (4) Formation */
|
||||||
|
case 'formation.code':
|
||||||
|
return $checker && is_string($variable) && preg_match('/[\w]{0,10}/i', $variable);
|
||||||
|
break;
|
||||||
|
case 'formation.nom':
|
||||||
|
return $checker && is_string($variable) && preg_match('/[\w ]{0,100}/i', $variable);
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* (5) Module */
|
||||||
|
case 'module.nom':
|
||||||
|
return $checker && is_string($variable) && preg_match('/[\w]{0,10}/i', $variable);
|
||||||
|
break;
|
||||||
|
case 'module.libelle':
|
||||||
|
return $checker && is_string($variable) && preg_match('/[\w ]{0,100}/i', $variable);
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* (6) UE */
|
||||||
|
case 'UE.nom':
|
||||||
|
return $checker && is_string($variable) && preg_match('/[\w]{0,10}/i', $variable);
|
||||||
|
break;
|
||||||
|
case 'UE.libelle':
|
||||||
|
return $checker && is_string($variable) && preg_match('/[\w ]{0,100}/i', $variable);
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* (7) Semestre */
|
||||||
|
case 'semestre.nom':
|
||||||
|
return $checker && is_string($variable) && preg_match('/[\w]{0,10}/i', $variable);
|
||||||
|
break;
|
||||||
|
case 'semestre.rang':
|
||||||
|
return $checker && is_numeric($variable) && $variable >= 0 && $variable <= 127;
|
||||||
|
break;
|
||||||
|
case 'semestre.annee':
|
||||||
|
return $checker && is_numeric($variable) && $variable >= 0;
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* (8) Contrôle */
|
||||||
|
case 'controle.nom':
|
||||||
|
return $checker && is_string($variable) && preg_match('/[\w]{0,10}/i', $variable);
|
||||||
|
break;
|
||||||
|
case 'controle.libelle':
|
||||||
|
return $checker && is_string($variable) && preg_match('/^.{3,100}$/i', $variable);
|
||||||
|
break;
|
||||||
|
case 'controle.base':
|
||||||
|
return $checker && is_numeric($variable) && $variable >= 0;
|
||||||
|
break;
|
||||||
|
case 'controle.coefficient':
|
||||||
|
return $checker && is_numeric($variable);
|
||||||
|
break;
|
||||||
|
case 'controle.publication':
|
||||||
|
return $checker && is_numeric($variable) && $variable >= 0 && $variable <= 1;
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* (9) Note */
|
||||||
|
case 'note.valeur':
|
||||||
|
return $checker && is_numeric($variable);
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* [2] Types primitifs et secondaires
|
||||||
|
=======================================*/
|
||||||
case '<string>':
|
case '<string>':
|
||||||
return $checker && is_string($variable);
|
return $checker && is_string($variable);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -42,11 +42,9 @@ class userManager{
|
||||||
/* authentification (login) */
|
/* authentification (login) */
|
||||||
/****************************/
|
/****************************/
|
||||||
case 'authentification':
|
case 'authentification':
|
||||||
$areSetParam = isset($request->identifiant) && isset($request->mdp); // les arguments existent
|
$areSetParam = isset($request->identifiant) && isset($request->mdp); // les arguments existent
|
||||||
$typeOkParam = $areSetParam && is_string($request->identifiant) && is_string($request->mdp); // ils sont tous 2 des string
|
$identifiantCheck = $areSetParam && checkParam($request->identifiant, 'utilisateur.identifiant'); // identifiant bon format
|
||||||
$nEmptyParam = $typeOkParam && strlen($request->identifiant) > 0 && strlen($request->mdp) > 0; // d'au moins 1 caractère
|
$mdpCheck = $identifiantCheck && checkParam($request->mdp, 'utilisateur.mdp'); // mdp bon format
|
||||||
$identifiantCheck = $nEmptyParam && preg_match('/^[\w -]{3,50}$/i', $request->identifiant); // identifiant bon format
|
|
||||||
$mdpCheck = $identifiantCheck && preg_match('/^[\w -]{4,100}$/i', $request->mdp); // mdp bon format
|
|
||||||
|
|
||||||
if( $mdpCheck ) // si tout les params sont ok
|
if( $mdpCheck ) // si tout les params sont ok
|
||||||
$answer->request = userManager::user_authentification($request->identifiant, $request->mdp);
|
$answer->request = userManager::user_authentification($request->identifiant, $request->mdp);
|
||||||
|
@ -76,14 +74,12 @@ class userManager{
|
||||||
case 'create': if( false && permission('admin') ){
|
case 'create': if( false && permission('admin') ){
|
||||||
|
|
||||||
$areSetParam = isset($request->identifiant) && isset($request->prenom) && isset($request->nom) && isset($request->mail) && isset($request->mdp) && isset($request->droits); // les arguments existent
|
$areSetParam = isset($request->identifiant) && isset($request->prenom) && isset($request->nom) && isset($request->mail) && isset($request->mdp) && isset($request->droits); // les arguments existent
|
||||||
$typeOkParam = $areSetParam && is_string($request->identifiant) && is_string($request->prenom) && is_string($request->nom) && is_string($request->mail) && is_string($request->mdp) && is_string($request->droits); // ils sont tous 2 des string
|
$identifiantCheck = $areSetParam && checkParam($request->identifiant, 'utilisateur.identifiant'); // identifiant bon format
|
||||||
$nEmptyParam = $typeOkParam && strlen($request->identifiant) > 0 && strlen($request->prenom) > 0 && is_string($request->nom) && is_string($request->mail) && is_string($request->mdp) && is_string($request->droits); // d'au moins 1 caractère
|
$prenomCheck = $identifiantCheck && checkParam($request->prenom, 'utilisateur.prenom'); // prenom bon format
|
||||||
$identifiantCheck = $nEmptyParam && preg_match('/^[\w -]{3,50}$/i', $request->identifiant); // identifiant bon format
|
$nomCheck = $prenomCheck && checkParam($request->nom, 'utilisateur.nom'); // nom bon format
|
||||||
$prenomCheck = $identifiantCheck && preg_match('/^[a-z -]{3,50}$/i', $request->prenom); // prenom bon format
|
$mailCheck = $nomCheck && checkParam($request->mail, 'utilisateur.mail'); // mail bon format
|
||||||
$nomCheck = $prenomCheck && preg_match('/^[a-z -]{3,50}$/i', $request->nom); // nom bon format
|
$mdpCheck = $mailCheck && checkParam($request->mdp, 'utilisateur.mdp'); // mdp bon format
|
||||||
$mailCheck = $nomCheck && preg_match('/^[\w\.-]+@[\w\.-]+\.[a-z]{2,4}$/i', $request->mail); // mail bon format
|
$droitsCheck = $mdpCheck && checkParam($request->droits, 'utilisateur.droits'); // droits bon format
|
||||||
$mdpCheck = $mailCheck && preg_match('/^[\w -]{4,100}$/i', $request->mdp); // mdp bon format
|
|
||||||
$droitsCheck = $mdpCheck && is_int(array_search($request->droits, ['student', 'teacher', 'master', 'admin'])); // droits bon format
|
|
||||||
|
|
||||||
if( $droitsCheck ){ // si tout les paramètres sont bons
|
if( $droitsCheck ){ // si tout les paramètres sont bons
|
||||||
$answer->request = DataBase::getInstance()->creerUtilisateur($request->identifiant, $request->prenom, $request->nom, $request->mail, $request->mdp, $request->droits);
|
$answer->request = DataBase::getInstance()->creerUtilisateur($request->identifiant, $request->prenom, $request->nom, $request->mail, $request->mdp, $request->droits);
|
||||||
|
@ -144,11 +140,11 @@ class userManager{
|
||||||
*/
|
*/
|
||||||
case 'updateRole': if( permission('admin') && $_SESSION['annee'] >= getCurrentYear() ){
|
case 'updateRole': if( permission('admin') && $_SESSION['annee'] >= getCurrentYear() ){
|
||||||
|
|
||||||
$identifiantCheck = isset($request->identifiant) && is_string($request->identifiant) && preg_match('/^[\w -]{3,50}$/i', $request->identifiant); // identifiant au bon format
|
$identifiantCheck = isset($request->identifiant) && checkParam($request->identifiant, 'utilisateur.identifiant'); // identifiant au bon format
|
||||||
$adminCheck = $identifiantCheck && ( is_null($request->admin) || is_bool($request->admin) ); // admin ok
|
$adminCheck = $identifiantCheck && ( is_null($request->admin) || is_bool($request->admin) ); // admin ok
|
||||||
$masterCheck = $adminCheck && ( is_null($request->master) || is_bool($request->master) ); // master ok
|
$masterCheck = $adminCheck && ( is_null($request->master) || is_bool($request->master) ); // master ok
|
||||||
$addModuleCheck = $masterCheck && ( is_null($request->addModule) || is_numeric($request->addModule) ); // addModule ok
|
$addModuleCheck = $masterCheck && ( is_null($request->addModule) || is_numeric($request->addModule) ); // addModule ok
|
||||||
$delModuleCheck = $addModuleCheck && ( is_null($request->delModule) || is_numeric($request->delModule) ); // delModule ok
|
$delModuleCheck = $addModuleCheck && ( is_null($request->delModule) || is_numeric($request->delModule) ); // delModule ok
|
||||||
|
|
||||||
$groupeOpt = isset($request->groupe) && is_numeric($request->groupe);
|
$groupeOpt = isset($request->groupe) && is_numeric($request->groupe);
|
||||||
if( $groupeOpt ) $groupe = $request->groupe;
|
if( $groupeOpt ) $groupe = $request->groupe;
|
||||||
|
|
15
test.php
15
test.php
|
@ -47,13 +47,10 @@ require_once __ROOT__.'/manager/security.php';
|
||||||
debug();
|
debug();
|
||||||
// var_dump( $_SESSION );
|
// var_dump( $_SESSION );
|
||||||
|
|
||||||
|
// [1] On récupère tous les UE d'un étudiant
|
||||||
|
$uelist = DataBase::getInstance()->getUEsEtudiant('mrd1609a', 16, 2015);
|
||||||
|
var_dump( $uelist );
|
||||||
|
|
||||||
// require_once __ROOT__.'/manager/database.php';
|
|
||||||
// $moyenneUEetu = DataBase::getPDO()->query("SELECT * FROM utilisateur");
|
|
||||||
// var_dump( $moyenneUEetu->fetchAll() );
|
|
||||||
|
|
||||||
|
|
||||||
var_dump( DataBase::getInstance()->listeUtilisateursRole(2015) );
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -81,7 +78,7 @@ var_dump( DataBase::getInstance()->listeUtilisateursRole(2015) );
|
||||||
|
|
||||||
// $_SESSION['annee'] = 2015;
|
// $_SESSION['annee'] = 2015;
|
||||||
|
|
||||||
// require_once __ROOT__.'/manager/groups.php';
|
require_once __ROOT__.'/manager/security.php';
|
||||||
|
|
||||||
// $_SESSION['identifiant'] = 'modele'; // afin de lire le fichier
|
// $_SESSION['identifiant'] = 'modele'; // afin de lire le fichier
|
||||||
|
|
||||||
|
@ -186,7 +183,7 @@ var_dump( DataBase::getInstance()->listeUtilisateursRole(2015) );
|
||||||
|
|
||||||
|
|
||||||
/*** RETOURNE LE SEMESTRE COURANT D'UN ETUDIANT ***/
|
/*** RETOURNE LE SEMESTRE COURANT D'UN ETUDIANT ***/
|
||||||
// require_once __ROOT__.'/manager/groups.php';
|
require_once __ROOT__.'/manager/security.php';
|
||||||
|
|
||||||
// $request = new stdClass();
|
// $request = new stdClass();
|
||||||
// $answer = new stdClass();
|
// $answer = new stdClass();
|
||||||
|
@ -224,7 +221,7 @@ var_dump( DataBase::getInstance()->listeUtilisateursRole(2015) );
|
||||||
|
|
||||||
|
|
||||||
/*** CRÉATION GROUPE ***/
|
/*** CRÉATION GROUPE ***/
|
||||||
// require_once __ROOT__.'/manager/groups.php';
|
require_once __ROOT__.'/manager/security.php';
|
||||||
|
|
||||||
// $request = new stdClass();
|
// $request = new stdClass();
|
||||||
// $answer = new stdClass();
|
// $answer = new stdClass();
|
||||||
|
|
Loading…
Reference in New Issue