From 125eee476bb3e1c8a16bbc6455c4806f246f2331 Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Fri, 23 Oct 2015 10:04:26 +0200 Subject: [PATCH] =?UTF-8?q?Impl=C3=A9mentation:=201@"retourner=20tout=20le?= =?UTF-8?q?s=20groupes=20(nom,=20listeUtilisateurs)"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- API.php | 91 ++++++++++++++++++++++---------------------- css/layout.css | 2 +- index.php | 10 ++--- js/actionScript.js | 2 +- manager/database.php | 33 ++++++++++++---- manager/groups.php | 16 ++++++++ manager/user.php | 4 +- page/_JS/groups.js | 3 +- page/groups.php | 8 +++- test.php | 30 ++++++++++++++- 10 files changed, 134 insertions(+), 65 deletions(-) diff --git a/API.php b/API.php index 2242ded..48dad19 100755 --- a/API.php +++ b/API.php @@ -21,66 +21,65 @@ + if( isset($request->level_0) ){ // si level 0 défini - /* ROUTAGE (niveau 0) */ - switch( $request->level_0 ){ + /* ROUTAGE (niveau 0) */ + switch( $request->level_0 ){ - /***************/ - /* UTILISATEUR */ - /***************/ - case 'user': - if( isset($request->level_1) ){ include 'manager/user.php'; user_switch_level_1($request, $answer); } - else { $answer->request = 'missing_level_1'; } - break; + /***************/ + /* UTILISATEUR */ + /***************/ + case 'user': + if( isset($request->level_1) ){ include 'manager/user.php'; user_switch_level_1($request, $answer); } + else { $answer->request = 'missing_level_1'; } + break; - /***********/ - /* GROUPES */ - /***********/ - case 'groups': - if( isset($request->level_1) ){ include 'manager/groups.php'; groups_switch_level_1($request, $answer); } - else { $answer->request = 'missing_level_1'; } - break; + /***********/ + /* GROUPES */ + /***********/ + case 'groups': + if( isset($request->level_1) ){ include 'manager/groups.php'; groups_switch_level_1($request, $answer); } + else { $answer->request = 'missing_level_1'; } + break; - /******/ - /* UE */ - /******/ - case 'ues': - break; + /********************/ + /* CALCUL DES NOTES */ + /********************/ + case 'MCC': + break; - /**********/ - /* MODULE */ - /**********/ - case 'modules': - break; + /**********/ + /* MODULE */ + /**********/ + case 'modules': + break; - /************/ - /* CONTRÔLE */ - /************/ - case 'tests': - break; + /************/ + /* CONTRÔLE */ + /************/ + case 'tests': + break; - /**************/ - /* PARAMETRES */ - /**************/ - case 'settings': - break; + /**************/ + /* PARAMETRES */ + /**************/ + case 'settings': + break; - /***********/ - /* DEFAULT */ - /***********/ - default: - $answer->request = 'unknown_level_0'; - break; - } - - - if( $answer == null ) + /***********/ + /* DEFAULT */ + /***********/ + default: + $answer->request = 'unknown_level_0'; + break; + } + }else $answer->request = 'no_level_0'; diff --git a/css/layout.css b/css/layout.css index 5dc87c0..a23a697 100755 --- a/css/layout.css +++ b/css/layout.css @@ -63,7 +63,7 @@ body{ margin: 50px; /* border */ - box-shadow: 0 0 5px #777; + box-shadow: 0 0 5px #555; /* background */ background-color: #ecf0f1; diff --git a/index.php b/index.php index b459522..b23d0b4 100755 --- a/index.php +++ b/index.php @@ -68,7 +68,7 @@ $notifNotifNum = 5; if( $_SESSION['username'] != null ) // si $_SESSION['username'] est défini echo "
".$_SESSION['username']."
"; else - echo "
Connection
"; + echo "
Connexion
"; ?> Accueil Composition @@ -103,11 +103,11 @@ $notifNotifNum = 5; // else echo "
"; /* notifications */ - if( $notifNotifNum > 0 ) echo "
"; - else echo "
"; + if( $notifNotifNum > 0 ) echo "
"; + else echo "
"; }else // si l'utilisateur n'est pas connecté on affiche le bouton de CONNECTION - echo "
"; + echo "
"; ?> @@ -143,7 +143,7 @@ $notifNotifNum = 5;
- +   diff --git a/js/actionScript.js b/js/actionScript.js index fcb3f2c..10e8071 100755 --- a/js/actionScript.js +++ b/js/actionScript.js @@ -48,7 +48,7 @@ var DOM = { }; /* VRAI = utilisateur connecté */ -var connected = !( DOM.AUTH.children[0].innerHTML == 'Connection' ); +var connected = !( DOM.AUTH.children[0].innerHTML == 'Connexion' ); /* [1] GESTIONNAIRES DE NAVIGATION diff --git a/manager/database.php b/manager/database.php index 3f34085..b075294 100755 --- a/manager/database.php +++ b/manager/database.php @@ -76,8 +76,6 @@ class DataBase{ $added = (int) $this->pdo->lastInsertId(); - var_dump($this->pdo->lastInsertId()); - if( $added > $lastId ) // si on a bien ajouté un entrée return 'success'; else @@ -130,6 +128,7 @@ class DataBase{ /*** retourne la liste des utilisateurs d'un groupe ***/ /******************************************************/ public function listeUtilisateurGroupe($groupe){ + // on cherche un groupe avec ce nom $getGroupeUID = $this->pdo->prepare("SELECT `id_groupe` FROM `groupes` WHERE `nom` = :nom"); $getGroupeUID->execute(array( @@ -142,7 +141,6 @@ class DataBase{ - // si le groupe existe => on créé récupère ses utilisateurs $asso = $this->pdo->prepare("SELECT `u`.`pseudo`, `u`.`prenom`, `u`.`nom`, `u`.`email`, `u`.`droits` ". "FROM `utilisateurs` as `u`, `groupes` as `g`, `association_utilisateur_groupe` as `asso` ". @@ -156,10 +154,31 @@ class DataBase{ $userlist = $asso->fetchAll(); - if( count($userlist) == 0 ) // si résultat vide - return 'empty'; - else - return $userlist; // sinon on retourne le tableau + return $userlist; // on retourne le liste d'utilisateurs + + } + + /******************************************************/ + /*** retourne la liste des utilisateurs des groupes ***/ + /******************************************************/ + public function listeEtudiantsTousGroupes(){ + $grouplist = array(); // contiendra tout les groupes + + // on cherche tout les groupes + $getGroupesUID = $this->pdo->query("SELECT `id_groupe`, `nom` FROM `groupes` ORDER BY `nom`"); + + + // on parcourt tous les groupes + while( $groupeUID = $getGroupesUID->fetch() ){ + $groupe = new stdClass(); + $groupe->nom = $groupeUID['nom']; // attribut "nom" ajouté au groupe + + $groupe->userlist = $this->listeUtilisateurGroupe($groupe->nom); // on charge la liste des utilisateurs de ce groupe + + array_push($grouplist, $groupe); // on l'ajoute au résultat + } + + return $grouplist; // sinon on retourne le tableau } diff --git a/manager/groups.php b/manager/groups.php index bc4fdb5..df6bc43 100644 --- a/manager/groups.php +++ b/manager/groups.php @@ -92,6 +92,22 @@ break; + /************************************************/ + /* retourne les utilisateurs de tous les groupe */ + /************************************************/ + case 'grouplist': + require('database.php'); + + $grouplist = $db->listeEtudiantsTousGroupes(); + + if( is_array($grouplist) ){ // si on a récupéré la liste des utilisateurs + $answer->grouplist = $grouplist; + $answer->request = 'success'; + }else // si on a pas récupéré de liste, alors c'est que $grouplist est un message d'erreur + $answer->answer = $grouplist; + break; + + diff --git a/manager/user.php b/manager/user.php index 16057c0..bf7b837 100755 --- a/manager/user.php +++ b/manager/user.php @@ -44,8 +44,10 @@ $areSetParam = isset($request->username) && isset($request->password); // les arguments existent $typeOkParam = $areSetParam && is_string($request->username) && is_string($request->password); // ils sont tous 2 des string $nEmptyParam = $typeOkParam && strlen($request->username) > 0 && strlen($request->password) > 0; // d'au moins 1 caractère + $usernameCheck = $nEmptyParam && preg_match('/^[\w -]{3,50}$/i', $request->username); // username bon format + $passwordCheck = $usernameCheck && preg_match('/^[\w -]{6,100}$/i', $request->password); // password bon format - if( $nEmptyParam ) + if( $passwordCheck ) // si tout les params sont ok $answer->request = user_authentification($request->username, $request->password); else{ if ( !$areSetParam ) $answer->request= 'missing_param'; diff --git a/page/_JS/groups.js b/page/_JS/groups.js index bac3a97..728d469 100755 --- a/page/_JS/groups.js +++ b/page/_JS/groups.js @@ -32,8 +32,7 @@ if( document.querySelector('#CONTAINER hgroup.active') == null ) /* objet envoyé à API.php */ var request = { level_0: 'groups', - level_1: 'userlist', - groupe : 'E' + level_1: 'grouplist', }; // console.log( request ); diff --git a/page/groups.php b/page/groups.php index 1545680..d6374ad 100755 --- a/page/groups.php +++ b/page/groups.php @@ -16,7 +16,7 @@ ?>
-
+ + + + + +
Groupes
diff --git a/test.php b/test.php index 33f9be1..c77f811 100644 --- a/test.php +++ b/test.php @@ -24,7 +24,7 @@ // echo var_dump( $answer ); - // echo "






It works !"; + // echo '






It works !'; @@ -128,4 +128,32 @@ + + + + + /*** AFFICHER LES MEMBRES DE TOUS LES GROUPES ***/ + + require('manager/groups.php'); + + $request = new stdClass(); + $answer = new stdClass(); + + $request->level_1 = 'grouplist'; + + groups_switch_level_1($request, $answer); + + echo var_dump( $answer ); + + echo "






It works !"; + + + + + + + + + + ?> \ No newline at end of file