Correction nom de repo+module 'users' > 'user'. Correction token local plus utile (car même session php/js)

This commit is contained in:
xdrm-brackets 2016-04-14 12:45:54 +02:00
parent d6eef611b4
commit fae96b0fe5
7 changed files with 87 additions and 18 deletions

View File

@ -1,6 +1,6 @@
{
"users": {
"user": {
"login": {
"description": "Connexion avec un login (identifiant ou adresse mail) et un mot de passe.",
"permissions": [],
@ -14,6 +14,13 @@
"description": "Deconnexion",
"permissions": [],
"parameters": {}
},
"getById": {
"description": "Retourne les informations d'un utilisateur d'id donne.",
"permissions": ["admin"],
"parameters": { "id_user" : "id" }
}
},

View File

@ -1,7 +1,11 @@
{
"users": [
"login"
"user": [
"login",
"getById",
"getAll",
"create",
"remove"
],
"Personnes": [

View File

@ -40,7 +40,7 @@
// Si les parametres de connection, on essaie de connecter
if( $login_vars ){
$login = new ModuleRequest('users/login', array( 'login' => $_POST['login'], 'password' => $_POST['password'] ));
$login = new ModuleRequest('user/login', array( 'login' => $_POST['login'], 'password' => $_POST['password'] ));
$login_ans = $login->dispatch();
// Si aucune erreur, on dit qu'on vient de se connecter
@ -56,7 +56,7 @@
// Si on se deconnecte
if( $logout_vars ){
$logout = new ModuleRequest('users/logout');
$logout = new ModuleRequest('user/logout');
$logout_ans = $logout->dispatch();
// Si aucune erreur, on dit qu'on vient de se deconnecter

View File

@ -194,6 +194,7 @@
=========================================================*/
// Si variable n'existe pas, on cree un tableau vide
$params = $post;
// On retire le @path de @params
unset($params['path']);

View File

@ -6,7 +6,7 @@
use \manager\ManagerError;
use \manager\Repo;
class users{
class user{
/* VERIFICATION DES LOGINS D'UN UTILISATEUR
@ -20,7 +20,7 @@
public static function login($login, $password){
/* [1] On verifie les logins
=========================================================*/
$check = new Repo('users/login', array($login, $password));
$check = new Repo('user/login', array($login, $password));
$user = $check->answer();
// Si le login/password est incorrect, on retourne une erreur
@ -54,13 +54,44 @@
$_SESSION['permission'] = array();
}
/* RETOURNE L'UTILISATEUR D'ID DONNE
*
* @id_user<int> UID de l'utilisateur en question
*
* @return user<Array> Tableau contenant les informations de l'utilisateur
*
*/
public static function getById($user_id){
/* [1] On recupere les donnees de l'utilisateur
=========================================================*/
$getUser = new Repo('user/getById', array($user_id));
$user_data = $getUser->answer();
// Si aucun utilisateur n'est trouve
if( $user_data === false ) return array('ModuleError' => ManagerError::ModuleError);
/* [2] On met les permissions au bon format (string -> array)
=========================================================*/
$user_data['permission'] = explode( ',', str_replace(' ', '', $user_data['permission']) );
/* [3] Gestion du retour
=========================================================*/
return array(
'ModuleError' => ManagerError::Success,
'user' => $user_data
);
}
// [x] "login",
// [x] "logout",
// [ ] "getById",
// [x] "getById",
// [ ] "getAll",
// [ ] "create",
// [ ] "edit",
// [ ] "remove",
}

View File

@ -85,12 +85,7 @@
if( !Database::check('sha1', $token) ) return false;
/* [1] Verification du token local
=========================================================*/
if( substr($_SESSION['session_token'], 0, 40) == $token ) return true;
/* [2] Verification dans la base de donnees
/* [1] Verification dans la base de donnees
=========================================================*/
$check = Database::getPDO()->prepare("SELECT id_token, permission
FROM api_token
@ -104,7 +99,7 @@
if( $token_info === false ) return false;
/* [3] On retourne le resultat (les permissions du token)
/* [2] On retourne le resultat (les permissions du token)
=========================================================*/
return explode( ',', str_replace(' ', '', $token_info['permission']) );
}

View File

@ -3,7 +3,7 @@
namespace manager\repo;
use \manager\Database;
class users{
class user{
/* VERIFICATION DU LOGIN/PASSWORD D'UN UTILISATEUR
@ -43,10 +43,41 @@
// On retourne le resultat
return $result;
return Database::delNumeric( $result );
}
/* RETOURNE LES DONNEES D'UN UTILISATEUR D'ID DONNE
*
* @id_user<int> UID de l'utilisateur en question
*
* @return user<Array> Tableau contenant les donnees de l'utilisateur s'il existe sinon retourne FALSE
*
*/
public static function getById($id_user){
/* [1] On effectue la requete
=========================================================*/
$getUser = Database::getPDO()->prepare("SELECT id_user, login, mail, permission
FROM users
WHERE id_user = :id_user");
$getUser->execute(array( ':id_user' => $id_user ));
/* [2] On recupere le resultat de la requete
=========================================================*/
$userData = $getUser->fetch();
// Si l'utilisateur n'existe pas, on retourne FALSE
if( $userData === false ) return false;
/* [3] Gestion du retour
=========================================================*/
return Database::delNumeric( $userData );
}
}