126 lines
4.8 KiB
PHP
Executable File
126 lines
4.8 KiB
PHP
Executable File
<?php require_once __ROOT__.'/manager/security.php';
|
|
|
|
|
|
/***********************************************************
|
|
* *
|
|
* MANAGER DES UTILISATEURS *
|
|
* *
|
|
************************************************************
|
|
* *
|
|
* [0] Constantes *
|
|
* [1] ROUTAGE de niveau 1 *
|
|
* [2] Création d'un groupe *
|
|
* *
|
|
* *
|
|
* *
|
|
* *
|
|
* *
|
|
* *
|
|
* *
|
|
* *
|
|
* *
|
|
* *
|
|
***********************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* [1] ROUTAGE DE NIVEAU 1
|
|
============================================================*/
|
|
function groups_switch_level_1($request, $answer){
|
|
|
|
switch( $request->level_1 ){
|
|
|
|
/************************/
|
|
/* création d'un groupe */
|
|
/************************/
|
|
case 'create':
|
|
$areSetParam = isset($request->nom) ; // l'argument existe
|
|
$typeOkParam = $areSetParam && is_string($request->nom); // si c'est une string
|
|
$nEmptyParam = $typeOkParam && strlen($request->nom) > 0; // d'au moins 1 caractère
|
|
$nomCheck = $nEmptyParam && preg_match('/^[a-z -]{1,50}$/i', $request->nom); // nom bon format
|
|
|
|
if( $nomCheck ){ // si tout les paramètres sont bons
|
|
require('database.php');
|
|
$answer->request = $db->creerGroupe($request->nom);
|
|
}else
|
|
$answer->request = 'param_error';
|
|
break;
|
|
|
|
/**************************************/
|
|
/* ajout d'un utilisateur à un groupe */
|
|
/**************************************/
|
|
case 'add':
|
|
$areSetParam = isset($request->utilisateur) && isset($request->groupe); // les arguments existent
|
|
$typeOkParam = $areSetParam && is_string($request->utilisateur) && is_string($request->groupe); // si c'est des strings
|
|
$nEmptyParam = $typeOkParam && strlen($request->utilisateur) > 0 && strlen($request->groupe) > 0; // d'au moins 1 caractère
|
|
$utilisateurCheck = $nEmptyParam && preg_match('/^[\w -]{3,50}$/i', $request->utilisateur); // utilisateur (username) bon format
|
|
$groupeCheck = $utilisateurCheck && preg_match('/^[a-z -]{1,50}$/i', $request->groupe); // groupe (nom) bon format
|
|
|
|
if( $groupeCheck ){ // si tout les paramètres sont bons
|
|
require('database.php');
|
|
$answer->request = $db->ajouterUtilisateurGroupe($request->utilisateur, $request->groupe);
|
|
}else
|
|
$answer->request = 'param_error';
|
|
break;
|
|
|
|
/*****************************************/
|
|
/* retourne les utilisateurs d'un groupe */
|
|
/*****************************************/
|
|
case 'userlist':
|
|
$areSetParam = isset($request->groupe); // l'argument existe
|
|
$typeOkParam = $areSetParam && is_string($request->groupe); // si c'est une string
|
|
$nEmptyParam = $typeOkParam && strlen($request->groupe) > 0; // d'au moins 1 caractère
|
|
$groupeCheck = $nEmptyParam && preg_match('/^[a-z -]{1,50}$/i', $request->groupe); // groupe (nom) bon format
|
|
|
|
if( $groupeCheck ){ // si tout les paramètres sont bons
|
|
require('database.php');
|
|
|
|
$userlist = $db->listeUtilisateurGroupe($request->groupe);
|
|
|
|
if( is_array($userlist) ){ // si on a récupéré la liste des utilisateurs
|
|
$answer->userlist = $userlist;
|
|
$answer->request = 'success';
|
|
}else // si on a pas récupéré de liste, alors c'est que $userlist est un message d'erreur
|
|
$answer->answer = $userlist;
|
|
|
|
}else
|
|
$answer->request = 'param_error';
|
|
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;
|
|
|
|
|
|
|
|
|
|
|
|
/***********/
|
|
/* DEFAULT */
|
|
/***********/
|
|
default:
|
|
$answer->request = 'unknown_level_1';
|
|
break;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
?>
|