Modification nom des fonctions de :database: | feedback aurélien dans le fichier :database.php:

This commit is contained in:
xdrm-brackets 2015-10-24 11:06:56 +02:00
parent a84911d8bd
commit 41fe605d84
2 changed files with 28 additions and 11 deletions

View File

@ -92,17 +92,17 @@ class DataBase{
/******************************************************/ /******************************************************/
/*** ajout d'un utilisateur à un groupe dans la bdd ***/ /*** ajout d'un utilisateur à un groupe dans la bdd ***/
/******************************************************/ /******************************************************/
public function ajouterUtilisateurGroupe($utilisateur, $groupe){ public function ajouterEtudiantGroupe($etudiant, $groupe){
// on cherche un utilisateur avec ce pseudo // on cherche un utilisateur avec ce pseudo
$getUtilisateurUID = $this->pdo->prepare("SELECT `id_utilisateur` FROM `utilisateurs` WHERE `pseudo` = :username"); $getEtudiantUID = $this->pdo->prepare("SELECT `id_utilisateur` FROM `utilisateurs` WHERE `pseudo` = :username");
$getUtilisateurUID->execute(array( $getEtudiantUID->execute(array(
':username' => $utilisateur ':username' => $etudiant
)); ));
// si on trouve, on le définit, sinon on retourne "unknown_user" // si on trouve, on le définit, sinon on retourne "unknown_user"
if( $utilisateurUID = $getUtilisateurUID->fetch()['id_utilisateur'] ) if( $etudiantUID = $getEtudiantUID->fetch()['id_utilisateur'] )
$utilisateurUID = (int) $utilisateurUID; $etudiantUID = (int) $etudiantUID;
else else
return 'unknown_user'; return 'unknown_user';
@ -127,7 +127,7 @@ class DataBase{
// si on a l'UID utilisateur & l'UID groupe => on créé l'association // si on a l'UID utilisateur & l'UID groupe => on créé l'association
$asso = $this->pdo->prepare("INSERT INTO `association_utilisateur_groupe`(`id_utilisateur`, `id_groupe`) VALUES( (SELECT `id_utilisateur` FROM `utilisateurs` WHERE `id_utilisateur` = :utilisateur), (SELECT `id_groupe` FROM `groupes` WHERE `id_groupe` = :groupe) )"); $asso = $this->pdo->prepare("INSERT INTO `association_utilisateur_groupe`(`id_utilisateur`, `id_groupe`) VALUES( (SELECT `id_utilisateur` FROM `utilisateurs` WHERE `id_utilisateur` = :utilisateur), (SELECT `id_groupe` FROM `groupes` WHERE `id_groupe` = :groupe) )");
$asso->execute(array( $asso->execute(array(
':utilisateur' => $utilisateurUID, ':utilisateur' => $etudiantUID,
':groupe' => $groupeUID ':groupe' => $groupeUID
)); ));
@ -141,7 +141,7 @@ class DataBase{
/******************************************************/ /******************************************************/
/*** retourne la liste des utilisateurs d'un groupe ***/ /*** retourne la liste des utilisateurs d'un groupe ***/
/******************************************************/ /******************************************************/
public function listeUtilisateurGroupe($groupe){ public function listeEtudiantsGroupe($groupe){
// on cherche un groupe avec ce nom // on cherche un groupe avec ce nom
$getGroupeUID = $this->pdo->prepare("SELECT `id_groupe` FROM `groupes` WHERE `nom` = :nom"); $getGroupeUID = $this->pdo->prepare("SELECT `id_groupe` FROM `groupes` WHERE `nom` = :nom");
@ -208,10 +208,27 @@ class DataBase{
/***** déplace un étudiant d'un groupe à un autre *****/ /***** déplace un étudiant d'un groupe à un autre *****/
/******************************************************/ /******************************************************/
public function deplacerEleve($nomEleve,$nouveauGroupe) { public function deplacerEtudiant($nomEtudiant,$nouveauGroupe) {
// !!! Réfléchir à la gestion des AS, LP etc.. // !!! Réfléchir à la gestion des AS, LP etc..
// pas bon car la on ne sait même pas quels groupes seront définis dans la base de donnée
// il faut donc pas vérifier les groupes en dur (c'est salasse)
// ensuite on ne retourne jamais un texte, mais un code d'erreur 'success' ou 'error' fin sinon y'a trop de cas
// particuliers à gérer au niveau de la réponse
//
// exemple:
// [1] si l'utilisateur n'existe pas "unknown_user"
// [2] si le groupe n'existe pas "unknown_group"
// [3] si l'utilisateur n'est déjà dans un groupe (donc l'association n'existe pas) ça veut dire qu'on doit faire un
// INSERT INTO au lieu d'un UPDATE, donc il faut aussi retourner une erreur ou bien faire une condition pour gérer ce cas (comme tu veux)
//
// ducoup si je résume:
// [1] dans manager/groups.php ajoute un @case au @switch du genre "move"
// [2] toujours dans manager/groups.php vérifie l'intégrité des variables comme c'est déjà fait
// [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') { if(isset($nouveauGroupe) && is_string($nouveauGroupe) && $nouveauGroupe == 'A' || 'B' || 'C' || 'D' || 'E' || 'F') {
return 'L\'étudiant a été déplacé'; return 'L\'étudiant a été déplacé';

View File

@ -61,7 +61,7 @@
if( $groupeCheck ){ // si tout les paramètres sont bons if( $groupeCheck ){ // si tout les paramètres sont bons
require_once __ROOT__.'/manager/database.php'; require_once __ROOT__.'/manager/database.php';
$answer->request = DataBase::getInstance()->ajouterUtilisateurGroupe($request->utilisateur, $request->groupe); $answer->request = DataBase::getInstance()->ajouterEtudiantGroupe($request->utilisateur, $request->groupe);
}else }else
$answer->request = 'param_error'; $answer->request = 'param_error';
break; break;
@ -77,7 +77,7 @@
if( $groupeCheck ){ // si tout les paramètres sont bons if( $groupeCheck ){ // si tout les paramètres sont bons
require_once __ROOT__.'/manager/database.php'; require_once __ROOT__.'/manager/database.php';
$userlist = DataBase::getInstance()->listeUtilisateurGroupe($request->groupe); $userlist = DataBase::getInstance()->listeEtudiantsGroupe($request->groupe);
if( is_array($userlist) ){ // si on a récupéré la liste des utilisateurs if( is_array($userlist) ){ // si on a récupéré la liste des utilisateurs
$answer->userlist = $userlist; $answer->userlist = $userlist;