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

91
API.php
View File

@ -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';

View File

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

View File

@ -68,7 +68,7 @@ $notifNotifNum = 5;
if( $_SESSION['username'] != null ) // si $_SESSION['username'] est défini
echo "<div class='userdata M'>".$_SESSION['username']."</div>";
else
echo "<div class='userdata'>Connection</div>";
echo "<div class='userdata'>Connexion</div>";
?>
<span data-link='home' >Accueil </span>
<span data-link='groups' >Composition</span>
@ -103,11 +103,11 @@ $notifNotifNum = 5;
// else echo "<div class='message'></div>";
/* notifications */
if( $notifNotifNum > 0 ) echo "<div class='notification' data-num='".$notifNotifNum."'></div>";
else echo "<div class='notification'></div>";
if( $notifNotifNum > 0 ) echo "<div class='notification' data-num='".$notifNotifNum."'></div>";
else echo "<div class='notification'></div>";
}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>
<?php if( $_SESSION['username'] == null ){ // si on est pas connecté ?>
<form id='AUTH' action='' method='POST'>
<label>Connection</label>
<label>Connexion</label>
<input type='text' name='username' placeholder='Username'>
<input type='password' name='password' placeholder='Password'>
<span class='errorbox'>&nbsp</span>

View File

@ -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

View File

@ -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
}

View File

@ -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;

View File

@ -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';

View File

@ -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 );

View File

@ -16,7 +16,7 @@
?>
<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
$userlistFile = file_get_contents('../src/userlistSample.json');
@ -50,6 +50,12 @@
} ?>
</section>
<section name='groups' title='Groupes'>
Groupes
</section>

View File

@ -24,7 +24,7 @@
// 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 !";
?>