correction gestion arguments deplacerEtudiant()

This commit is contained in:
Clecle 2015-10-26 07:30:05 +01:00
parent 786ec088d6
commit 92dc3aa4d3
2 changed files with 51 additions and 6 deletions

View File

@ -241,7 +241,7 @@ class DataBase{
/***** déplace un étudiant d'un groupe à un autre *****/
/******************************************************/
public function deplacerEtudiant($nomEtudiant,$nouveauGroupe) {
public function deplacerEtudiant($etudiant,$groupe) {
// !!! Réfléchir à la gestion des AS, LP etc..
@ -262,10 +262,44 @@ class DataBase{
// [3] ensuite tu peux écrire manager/database.php en vérifiant tout les cas (ceux que j'ai cité ou oublié)
//
// Inspire toi de ce qui a déjà été fait au dessus et essaie de
if(isset($nouveauGroupe) && is_string($nouveauGroupe) && $nouveauGroupe == 'A' || 'B' || 'C' || 'D' || 'E' || 'F')
return 'L\'étudiant a été déplacé';
else
return 'L\'étudiant n\'a pas pu être déplacé';
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Vérification de l'existance de l'étudiant
$getEtudiant = $this->pdo->query("SELECT `count(*)` FROM `etudiant` WHERE `nom` = :etudiant");
if($getEtudiant != 1) {return 'unknown_user'};
// Vérification du groupe
$getGroupe = $this->pdo->query("SELECT `count(*)` FROM `groupes` ORDER BY `:groupe`");
if($getGroupe != 1) {return 'unknown_group'};
// Si l'étudiant n'appartient à aucun groupe
$getGroupeEtudiant = getGroupeEtudiant($etudiant);
if($getGroupeEtudiant) {
$this->pdo->query("UPDATE `etudiant` SET `groupe` = `:groupe` WHERE `etudiant` == `:etudiant`");
}
else {
$this->pdo->query("INSERT INTO `etudiant`(`groupe`) VALUES (`:groupe`) WHERE `etudiant` == `:etudiant`");
}
if(getGroupeEtudiant($etudiant) == $groupe) {
return 'success';
}
else {
return 'error';
}
}
}

View File

@ -120,9 +120,20 @@ require_once __ROOT__.'/manager/database.php';
$answer->answer = 'error';
break;
/******************************************************/
/***** déplace un étudiant d'un groupe à un autre *****/
/******************************************************/
case 'move':
$areSetParam = isset($request->groupe) && isset($request->etudiant); // Les arguments existent
$typeOkParam = $areSetParam && is_string($request->groupe) && is_string($request->etudiant); // Les argument sont du bon type
$nEmptyParam = $typeOkParam && strlen($request->etudiant) > 0 && strlen($request->groupe); // Vérification de la taille
$utilisateurCheck = $nEmptyParam && preg_match('/^[\w -]{3,50}$/i', $request->etudiant); // Etudiant au bon format
$groupeCheck = $utilisateurCheck && preg_match('/^[a-z -]{1,50}$/i', $request->groupe); // Groupe au bon format
$reponseDb = deplacerEtudiant($etudiant,$groupe); // Réponse de la base de donnée
$reponseDb != 'error' ? $answer->$reponseDb = 'success' : $answer->$reponseDb = 'error' ; // On retourne en fonction de la réponse de la DB
break;
/***********/
/* DEFAULT */