Implémentation: 1@"retourner tout les groupes (nom, listeUtilisateurs)"

This commit is contained in:
xdrm-brackets 2015-10-23 10:04:26 +02:00
parent 89dafce5d2
commit 125eee476b
10 changed files with 134 additions and 65 deletions

13
API.php
View File

@ -21,6 +21,7 @@
if( isset($request->level_0) ){ // si level 0 défini
/* ROUTAGE (niveau 0) */ /* ROUTAGE (niveau 0) */
switch( $request->level_0 ){ switch( $request->level_0 ){
@ -43,10 +44,10 @@
break; break;
/******/ /********************/
/* UE */ /* CALCUL DES NOTES */
/******/ /********************/
case 'ues': case 'MCC':
break; break;
@ -78,9 +79,7 @@
$answer->request = 'unknown_level_0'; $answer->request = 'unknown_level_0';
break; break;
} }
}else
if( $answer == null )
$answer->request = 'no_level_0'; $answer->request = 'no_level_0';

View File

@ -63,7 +63,7 @@ body{
margin: 50px; margin: 50px;
/* border */ /* border */
box-shadow: 0 0 5px #777; box-shadow: 0 0 5px #555;
/* background */ /* background */
background-color: #ecf0f1; background-color: #ecf0f1;

View File

@ -68,7 +68,7 @@ $notifNotifNum = 5;
if( $_SESSION['username'] != null ) // si $_SESSION['username'] est défini if( $_SESSION['username'] != null ) // si $_SESSION['username'] est défini
echo "<div class='userdata M'>".$_SESSION['username']."</div>"; echo "<div class='userdata M'>".$_SESSION['username']."</div>";
else else
echo "<div class='userdata'>Connection</div>"; echo "<div class='userdata'>Connexion</div>";
?> ?>
<span data-link='home' >Accueil </span> <span data-link='home' >Accueil </span>
<span data-link='groups' >Composition</span> <span data-link='groups' >Composition</span>
@ -107,7 +107,7 @@ $notifNotifNum = 5;
else echo "<div class='notification'></div>"; else echo "<div class='notification'></div>";
}else // si l'utilisateur n'est pas connecté on affiche le bouton de CONNECTION }else // si l'utilisateur n'est pas connecté on affiche le bouton de CONNECTION
echo "<div id='LOGOUT' data-info='Connection'></div>"; echo "<div id='LOGOUT' data-info='Connexion'></div>";
?> ?>
@ -143,7 +143,7 @@ $notifNotifNum = 5;
<div id='AUTH_FILTER'></div> <div id='AUTH_FILTER'></div>
<?php if( $_SESSION['username'] == null ){ // si on est pas connecté ?> <?php if( $_SESSION['username'] == null ){ // si on est pas connecté ?>
<form id='AUTH' action='' method='POST'> <form id='AUTH' action='' method='POST'>
<label>Connection</label> <label>Connexion</label>
<input type='text' name='username' placeholder='Username'> <input type='text' name='username' placeholder='Username'>
<input type='password' name='password' placeholder='Password'> <input type='password' name='password' placeholder='Password'>
<span class='errorbox'>&nbsp</span> <span class='errorbox'>&nbsp</span>

View File

@ -48,7 +48,7 @@ var DOM = {
}; };
/* VRAI = utilisateur connecté */ /* VRAI = utilisateur connecté */
var connected = !( DOM.AUTH.children[0].innerHTML == 'Connection' ); var connected = !( DOM.AUTH.children[0].innerHTML == 'Connexion' );
/* [1] GESTIONNAIRES DE NAVIGATION /* [1] GESTIONNAIRES DE NAVIGATION

View File

@ -76,8 +76,6 @@ class DataBase{
$added = (int) $this->pdo->lastInsertId(); $added = (int) $this->pdo->lastInsertId();
var_dump($this->pdo->lastInsertId());
if( $added > $lastId ) // si on a bien ajouté un entrée if( $added > $lastId ) // si on a bien ajouté un entrée
return 'success'; return 'success';
else else
@ -130,6 +128,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 listeUtilisateurGroupe($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");
$getGroupeUID->execute(array( $getGroupeUID->execute(array(
@ -142,7 +141,6 @@ class DataBase{
// si le groupe existe => on créé récupère ses utilisateurs // 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` ". $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` ". "FROM `utilisateurs` as `u`, `groupes` as `g`, `association_utilisateur_groupe` as `asso` ".
@ -156,10 +154,31 @@ class DataBase{
$userlist = $asso->fetchAll(); $userlist = $asso->fetchAll();
if( count($userlist) == 0 ) // si résultat vide return $userlist; // on retourne le liste d'utilisateurs
return 'empty';
else }
return $userlist; // sinon on retourne le tableau
/******************************************************/
/*** 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
} }

View File

@ -92,6 +92,22 @@
break; 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;

View File

@ -44,8 +44,10 @@
$areSetParam = isset($request->username) && isset($request->password); // les arguments existent $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 $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 $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); $answer->request = user_authentification($request->username, $request->password);
else{ else{
if ( !$areSetParam ) $answer->request= 'missing_param'; if ( !$areSetParam ) $answer->request= 'missing_param';

View File

@ -32,8 +32,7 @@ if( document.querySelector('#CONTAINER hgroup.active') == null )
/* objet envoyé à API.php */ /* objet envoyé à API.php */
var request = { var request = {
level_0: 'groups', level_0: 'groups',
level_1: 'userlist', level_1: 'grouplist',
groupe : 'E'
}; };
// console.log( request ); // console.log( request );

View File

@ -16,7 +16,7 @@
?> ?>
<section name='all' title='tous les groupes'> <section name='all' title='tous les groupes'>
<?php if( $_SESSION['username'] != null ){ <?php if( $_SESSION['username'] != null ){ // si connecté
// on lit la liste d'utilisateurs // on lit la liste d'utilisateurs
$userlistFile = file_get_contents('../src/userlistSample.json'); $userlistFile = file_get_contents('../src/userlistSample.json');
@ -50,6 +50,12 @@
} ?> } ?>
</section> </section>
<section name='groups' title='Groupes'> <section name='groups' title='Groupes'>
Groupes Groupes
</section> </section>

View File

@ -24,7 +24,7 @@
// echo var_dump( $answer ); // echo var_dump( $answer );
// echo "<br><br><br><br><br><br><br>It works !"; // echo '<br><br><br><br><br><br><br>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 "<br><br><br><br><br><br><br>It works !";
?> ?>