Correction de user & token (modules+repos)

This commit is contained in:
xdrm-brackets 2016-04-19 15:30:33 +02:00
parent 1b4b114225
commit 8e58358314
12 changed files with 505 additions and 4874 deletions

View File

@ -65,9 +65,11 @@
// var_dump( Database::delNumeric( Database::getPDO()->query("SHOW COLUMNS FROM users")->fetchAll() ) );
$req_users = new ModuleRequest('user/getAll');
$answer_users = $req_users->dispatch();
var_dump($answer_users->get('users'));
$create_token = new Repo('token/generate', array(
'name' => 'test2',
'duration' => 10
));
var_dump( $create_token->answer() );
// var_dump( \manager\repo\user::getById(1) );
// // var_dump( \manager\repo\user::getByLogin('xdrm') );
// // var_dump( \manager\repo\subject::getById(1) );

View File

@ -409,7 +409,7 @@ textarea {
/**
* Don't inherit the `font-weight` (applied by a rule above).
* NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
* the default cannot safely be changed in Chrome and Safari on OS X.
*/
optgroup {
@ -431,4 +431,4 @@ table {
td,
th {
padding: 0;
}
}

View File

@ -1,5 +1,5 @@
/* classe API */
function APIClass(target){ this.target = target; };
function APIClass(target){ this.target = target; }
APIClass.prototype = {
xhr: [], // tableau d'objets pour les requêtes ajax
@ -55,8 +55,8 @@ APIClass.prototype = {
if( ptrAPI.xhr[i].readyState == 4 ){ // si la requête est terminée
/* DEBUG : affiche la réponse BRUTE de http://host/api/ */
// console.log('http://host/api/ => '+ptrAPI.xhr[i].responseText);
console.log( JSON.parse(ptrAPI.xhr[i].responseText) );
console.log('http://host/api/ => '+ptrAPI.xhr[i].responseText);
// console.log( JSON.parse(ptrAPI.xhr[i].responseText) );
/* si success de requête */
if( [0,200].indexOf(ptrAPI.xhr[i].status) > -1 ){ // si fichier existe et reçu
@ -68,7 +68,7 @@ APIClass.prototype = {
pHandler({ModuleError:3});
}
}
};
// on créé un formulaire POST (virtuel)
var form = new FormData();

File diff suppressed because it is too large Load Diff

View File

@ -34,7 +34,7 @@
wrap = Highcharts.wrap,
noop = function () {};
/**

View File

@ -58,7 +58,7 @@ pageManagerClass.prototype = {
pHandler(ptrPageManagerClass.xhr[index].responseText);
else // si code d'erreur retourne null
pHandler();
}
};
// gestion de la méthode
var method = ( typeof pMethod == 'string' && /^POST|GET$/i.test(pMethod) ) ? pMethod.toUpperCase() : 'POST';

View File

@ -14,7 +14,7 @@
/* SUPPRIME UN TOKEN D'ID DONNE
*
* @id_token<int> UID du token en question
* @token_id<int> UID du token en question
*
*/
public static function remove($params){
@ -22,9 +22,10 @@
/* [1] Suppression du token
=========================================================*/
$remove = new Repo('token/remove', array($id_token));
$remove = new Repo('token/remove', array($token_id));
// On renvoie une erreur si une erreur intervient pendant la suppression
if( !$remove->answer() ) return array('ModuleError' => ManagerError::ModuleError);
if( $remove->answer() === false ) return array('ModuleError' => ManagerError::ModuleError);
/* [n] Gestion du retour quand tout est normal
@ -48,10 +49,10 @@
*/
public static function generate($params){
extract($params);
/* [0] Verification des INPUT
=========================================================*/
if( !Database::check('varchar(50)', $name) || !Database::check('numeric', $duration) )
if( !Database::check('varchar(4,50)', $name) || !Database::check('id', $duration) )
return array('ModuleError' => ManagerError::ParamError); // erreur de parametre

View File

@ -75,18 +75,18 @@
$user_data = $getUser->answer();
// Si aucun utilisateur n'est trouve
if( $user_data === false ) return array('ModuleError' => ManagerError::ModuleError);
if( count($user_data) == 0 ) return array('ModuleError' => ManagerError::ModuleError);
/* [2] On met les permissions au bon format (string -> array)
=========================================================*/
$user_data['permission'] = explode( ',', str_replace(' ', '', $user_data['permission']) );
$user_data[0]['permission'] = explode( ',', str_replace(' ', '', $user_data[0]['permission']) );
/* [3] Gestion du retour
=========================================================*/
return array(
'ModuleError' => ManagerError::Success,
'user' => $user_data
'user' => $user_data[0]
);
}
@ -179,7 +179,7 @@
$exists_status = $exists->answer();
// Si l'utilisateur n'existe pas, on retourne une erreur
if( $exists_status === false ) return array( 'ModuleError' => ManagerError::ModuleError );
if( count($exists_status) == 0 ) return array( 'ModuleError' => ManagerError::ModuleError );
/* [2] Suppression de l'utilisateur
=========================================================*/
@ -193,7 +193,7 @@
$removed_status = $removed->answer();
// Si l'utilisateur n'existe pas, on retourne une erreur
if( $removed_status !== false ) return array( 'ModuleError' => ManagerError::ModuleError );
if( count($removed_status) > 0 ) return array( 'ModuleError' => ManagerError::ModuleError );
/* [4] Gestion du retour

View File

@ -64,6 +64,8 @@
if( $getById ){
$getRequestString .= ' WHERE '.$table_columns['_PRIMARY_'][0].' = :value';
// TODO: Les autres clés primaires si elle est composée avec les autres arguments
// Si c'est 'getSomething', on ajoute une condition
}else if( $getSomething )
$getRequestString .= ' WHERE '.$columnName.' = :value';
@ -80,7 +82,6 @@
':value' => ($getSomething||$getById) ? $args[0] : null
));
/* [6] On récupère le résultat
=========================================================*/
return Database::delNumeric( $getRequest->fetchAll() );

View File

@ -6,7 +6,7 @@
class token extends parentRepo{
protected static $table_name = 'api_token';
protected static function table_name(){ static $table_name = 'api_token'; return $table_name; }
/* Gestion de la table Token (pour secu) et des derivations
*
@ -35,7 +35,7 @@
public static function getAll(){
/* [1] On prepare et execute la requete
=========================================================*/
$request = Database::getPDO()->query("SELECT id_token as id, name, token, expires, (CURDATE() > expires) as expired
$request = Database::getPDO()->query("SELECT id_token, name, token, expires, (CURDATE() > expires) as expired
FROM api_token
ORDER BY expires DESC");
@ -95,7 +95,7 @@
public static function generate($name, $duration){
/* [0] Verification des INPUT
=========================================================*/
if( !Database::check('varchar(3, 50)', $name) || !Database::check('id', $duration) ) return false;
if( !Database::check('varchar(3,50)', $name) || !Database::check('id', $duration) ) return false;
// On definit la date d'expiration du token
@ -167,7 +167,7 @@
/* [1] On verifie l'existance du token
=========================================================*/
if( !self::getById($id_token) ) return false;
if( count(self::getById($id_token)) == 0 ) return false;
/* [2] Suppression du token
@ -179,7 +179,7 @@
/* [3] On retourne VRAI si le token est bien supprime
=========================================================*/
return self::getById($id_token) === false;
return count(self::getById($id_token)) == 0;
}
}

4373
tags

File diff suppressed because one or more lines are too long

View File

@ -51,7 +51,7 @@ if( permission('admin') ){
<!-- Elements de la liste -->
<?php
foreach($tokens as $token){
echo "<li data-element data-id='".$token['id']."'>";
echo "<li data-element data-id='".$token['id_token']."'>";
// Si token actif
if( !$token['expired'] )
echo "<div class='active' data-token><span>actif</span></div>";