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() ) ); // var_dump( Database::delNumeric( Database::getPDO()->query("SHOW COLUMNS FROM users")->fetchAll() ) );
$req_users = new ModuleRequest('user/getAll'); $create_token = new Repo('token/generate', array(
$answer_users = $req_users->dispatch(); 'name' => 'test2',
var_dump($answer_users->get('users')); 'duration' => 10
));
var_dump( $create_token->answer() );
// var_dump( \manager\repo\user::getById(1) ); // var_dump( \manager\repo\user::getById(1) );
// // var_dump( \manager\repo\user::getByLogin('xdrm') ); // // var_dump( \manager\repo\user::getByLogin('xdrm') );
// // var_dump( \manager\repo\subject::getById(1) ); // // 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). * 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 { optgroup {
@ -431,4 +431,4 @@ table {
td, td,
th { th {
padding: 0; padding: 0;
} }

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -58,7 +58,7 @@ pageManagerClass.prototype = {
pHandler(ptrPageManagerClass.xhr[index].responseText); pHandler(ptrPageManagerClass.xhr[index].responseText);
else // si code d'erreur retourne null else // si code d'erreur retourne null
pHandler(); pHandler();
} };
// gestion de la méthode // gestion de la méthode
var method = ( typeof pMethod == 'string' && /^POST|GET$/i.test(pMethod) ) ? pMethod.toUpperCase() : 'POST'; 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 /* 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){ public static function remove($params){
@ -22,9 +22,10 @@
/* [1] Suppression du token /* [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 // 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 /* [n] Gestion du retour quand tout est normal
@ -48,10 +49,10 @@
*/ */
public static function generate($params){ public static function generate($params){
extract($params); extract($params);
/* [0] Verification des INPUT /* [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 return array('ModuleError' => ManagerError::ParamError); // erreur de parametre

View File

@ -75,18 +75,18 @@
$user_data = $getUser->answer(); $user_data = $getUser->answer();
// Si aucun utilisateur n'est trouve // 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) /* [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 /* [3] Gestion du retour
=========================================================*/ =========================================================*/
return array( return array(
'ModuleError' => ManagerError::Success, 'ModuleError' => ManagerError::Success,
'user' => $user_data 'user' => $user_data[0]
); );
} }
@ -179,7 +179,7 @@
$exists_status = $exists->answer(); $exists_status = $exists->answer();
// Si l'utilisateur n'existe pas, on retourne une erreur // 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 /* [2] Suppression de l'utilisateur
=========================================================*/ =========================================================*/
@ -193,7 +193,7 @@
$removed_status = $removed->answer(); $removed_status = $removed->answer();
// Si l'utilisateur n'existe pas, on retourne une erreur // 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 /* [4] Gestion du retour

View File

@ -64,6 +64,8 @@
if( $getById ){ if( $getById ){
$getRequestString .= ' WHERE '.$table_columns['_PRIMARY_'][0].' = :value'; $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 // Si c'est 'getSomething', on ajoute une condition
}else if( $getSomething ) }else if( $getSomething )
$getRequestString .= ' WHERE '.$columnName.' = :value'; $getRequestString .= ' WHERE '.$columnName.' = :value';
@ -80,7 +82,6 @@
':value' => ($getSomething||$getById) ? $args[0] : null ':value' => ($getSomething||$getById) ? $args[0] : null
)); ));
/* [6] On récupère le résultat /* [6] On récupère le résultat
=========================================================*/ =========================================================*/
return Database::delNumeric( $getRequest->fetchAll() ); return Database::delNumeric( $getRequest->fetchAll() );

View File

@ -6,7 +6,7 @@
class token extends parentRepo{ 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 /* Gestion de la table Token (pour secu) et des derivations
* *
@ -35,7 +35,7 @@
public static function getAll(){ public static function getAll(){
/* [1] On prepare et execute la requete /* [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 FROM api_token
ORDER BY expires DESC"); ORDER BY expires DESC");
@ -95,7 +95,7 @@
public static function generate($name, $duration){ public static function generate($name, $duration){
/* [0] Verification des INPUT /* [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 // On definit la date d'expiration du token
@ -167,7 +167,7 @@
/* [1] On verifie l'existance du token /* [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 /* [2] Suppression du token
@ -179,7 +179,7 @@
/* [3] On retourne VRAI si le token est bien supprime /* [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 --> <!-- Elements de la liste -->
<?php <?php
foreach($tokens as $token){ foreach($tokens as $token){
echo "<li data-element data-id='".$token['id']."'>"; echo "<li data-element data-id='".$token['id_token']."'>";
// Si token actif // Si token actif
if( !$token['expired'] ) if( !$token['expired'] )
echo "<div class='active' data-token><span>actif</span></div>"; echo "<div class='active' data-token><span>actif</span></div>";