Upgrade in progress + bug to fix -> error with AuthSystem
This commit is contained in:
parent
812416a566
commit
98cf39dd37
|
@ -10,7 +10,7 @@
|
|||
|
||||
|
||||
|
||||
class Authentification implements AuthSystem{
|
||||
class AuthSystemDefault implements AuthSystem{
|
||||
|
||||
public function __construct(){
|
||||
self::check();
|
|
@ -23,6 +23,7 @@
|
|||
private $params;
|
||||
private $modules;
|
||||
private $options;
|
||||
private $http_method;
|
||||
|
||||
// Contiendra la reponse a la requete
|
||||
public $answer;
|
||||
|
@ -87,7 +88,7 @@
|
|||
$params = (is_array($params)) ? $params : [];
|
||||
|
||||
/* (3) On définit en constante la méthode HTTP */
|
||||
define('__HTTP_METHOD__', strtoupper($_SERVER['REQUEST_METHOD']));
|
||||
$this->http_method = strtoupper($_SERVER['REQUEST_METHOD']);
|
||||
|
||||
|
||||
/* [5] Verification du chemin (existence module+methode)
|
||||
|
@ -113,9 +114,10 @@
|
|||
$this->buildOptions();
|
||||
|
||||
|
||||
/* [9] Construction de l'objet
|
||||
/* [9] Construction de l'objet (add http method to params)
|
||||
=========================================================*/
|
||||
$this->params = $params;
|
||||
$this->params['HTTP_METHOD'] = $this->http_method;
|
||||
$this->error->set(Err::Success);
|
||||
|
||||
return true; // On retourne que tout s'est bien passe
|
||||
|
@ -135,7 +137,7 @@
|
|||
/* (1) Check instance type */
|
||||
if( !($instance instanceof AuthSystem) )
|
||||
return false;
|
||||
|
||||
|
||||
/* (2) Store instance */
|
||||
self::$authsystem = $instance;
|
||||
}
|
||||
|
@ -407,7 +409,7 @@
|
|||
|
||||
// On recupere les données de la regex
|
||||
$module = $matches[1];
|
||||
$method = __HTTP_METHOD__.'::'.$matches[2];
|
||||
$method = $this->http_method.'::'.$matches[2];
|
||||
|
||||
|
||||
/* [2] Verification de l'existence du module (conf)
|
||||
|
@ -458,10 +460,17 @@
|
|||
return true;
|
||||
|
||||
|
||||
|
||||
/* [2] Vérification des permissions et de l'authentification
|
||||
=========================================================*/
|
||||
$granted = self::$authsystem::permission( $this->path['module'], $method['permissions'] );
|
||||
var_dump(self::$authsystem);
|
||||
die('error line 466');
|
||||
// if no AuthSystem set up, deny by default
|
||||
//if( !self::$authsystem instanceof AuthSystem )
|
||||
// return false;
|
||||
|
||||
// Check permission using user-implemented AuthSystem
|
||||
$granted = self::$authsystem::permission();
|
||||
//$granted = self::$authsystem::permission( $this->path['module'], $method['permissions'] );
|
||||
|
||||
/* (1) On retourne FAUX si aucun droit n'a ete trouve */
|
||||
if( $granted->get() !== Err::Success ){
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
|
||||
// Si une erreur est retournee, on retourne une erreur
|
||||
if( $id_cluster === false )
|
||||
return ['ModuleError' => new Error(Err::ModuleError)];
|
||||
return ['error' => new Error(Err::error)];
|
||||
|
||||
|
||||
/* [5] Gestion du retour
|
||||
|
@ -160,7 +160,7 @@
|
|||
|
||||
// Si aucun resultat, on retourne une erreur
|
||||
if( $answer === false )
|
||||
return [ 'ModuleError' => new Error(Err::NoMatchFound) ];
|
||||
return [ 'error' => new Error(Err::NoMatchFound) ];
|
||||
|
||||
|
||||
return [ 'cluster' => $answer ];
|
||||
|
@ -192,7 +192,7 @@
|
|||
|
||||
// Si aucun resultat, on retourne une erreur
|
||||
if( $answer === false )
|
||||
return [ 'ModuleError' => new Error(Err::NoMatchFound) ];
|
||||
return [ 'error' => new Error(Err::NoMatchFound) ];
|
||||
|
||||
|
||||
return [ 'cluster' => $answer ];
|
||||
|
@ -224,7 +224,7 @@
|
|||
|
||||
// Si aucun resultat, on retourne une erreur
|
||||
if( $answer === false )
|
||||
return [ 'ModuleError' => new Error(Err::NoMatchFound) ];
|
||||
return [ 'error' => new Error(Err::NoMatchFound) ];
|
||||
|
||||
|
||||
return [ 'members' => $answer ];
|
||||
|
@ -259,7 +259,7 @@
|
|||
|
||||
// Si on a recupere aucun utilisateur, on retourne une erreur
|
||||
if( $cluster_data === false )
|
||||
return ['ModuleError' => new Error(Err::NoMatchFound)];
|
||||
return ['error' => new Error(Err::NoMatchFound)];
|
||||
|
||||
|
||||
|
||||
|
@ -338,7 +338,7 @@
|
|||
|
||||
/* [2] On propage l'erreur retournée
|
||||
=========================================================*/
|
||||
return [ 'ModuleError' => $res ];
|
||||
return [ 'error' => $res ];
|
||||
}
|
||||
|
||||
/* SUPPRIME UNE PERMISSION
|
||||
|
@ -362,7 +362,7 @@
|
|||
|
||||
/* [2] On propage l'erreur retournée
|
||||
=========================================================*/
|
||||
return [ 'ModuleError' => $res ];
|
||||
return [ 'error' => $res ];
|
||||
}
|
||||
|
||||
|
||||
|
@ -386,7 +386,7 @@
|
|||
|
||||
// Gestion erreur
|
||||
if( !is_array($res) )
|
||||
return ['ModuleError' => new Error(Err::NoMatchFound)];
|
||||
return ['error' => new Error(Err::NoMatchFound)];
|
||||
|
||||
/* (3) On retourne le résultat */
|
||||
return [ 'permissions' => $res ];
|
||||
|
@ -412,7 +412,7 @@
|
|||
|
||||
// error
|
||||
if( !is_array($res) )
|
||||
return ['ModuleError' => new Error(Err::NoMatchFound)];
|
||||
return ['error' => new Error(Err::NoMatchFound)];
|
||||
|
||||
return ['clusters' => $res];
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
|
||||
// Si une erreur est retournee, on retourne une erreur
|
||||
if( $id_entry === false )
|
||||
return ['ModuleError' => new Error(Err::ModuleError)];
|
||||
return ['error' => new Error(Err::error)];
|
||||
|
||||
|
||||
/* [2] Gestion du retour
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
use \database\core\DatabaseDriver;
|
||||
use \manager\sessionManager;
|
||||
use \error\core\Error;
|
||||
use \error\core\Err;
|
||||
use \database\core\Repo;
|
||||
use \manager\repo\cluster as clusterRepo;
|
||||
|
||||
class machineDefault{
|
||||
|
||||
|
@ -33,7 +33,7 @@
|
|||
|
||||
// Si une erreur est retournee, on retourne une erreur
|
||||
if( $id_machine === false )
|
||||
return ['ModuleError' => new Error(Err::ModuleError)];
|
||||
return ['error' => new Error(Err::error)];
|
||||
|
||||
|
||||
|
||||
|
@ -68,7 +68,7 @@
|
|||
]);
|
||||
|
||||
/* (1) On retourne l'erreur du repo */
|
||||
return [ 'ModuleError' => $link_machine->answer() ];
|
||||
return [ 'error' => $link_machine->answer() ];
|
||||
}
|
||||
|
||||
|
||||
|
@ -95,7 +95,7 @@
|
|||
]);
|
||||
|
||||
/* (1) On retourne l'erreur du repo */
|
||||
return [ 'ModuleError' => $link_machine->answer() ];
|
||||
return [ 'error' => $link_machine->answer() ];
|
||||
}
|
||||
|
||||
|
||||
|
@ -160,7 +160,7 @@
|
|||
|
||||
// Si aucun resultat, on retourne une erreur
|
||||
if( $answer === false )
|
||||
return [ 'ModuleError' => new Error(Err::NoMatchFound) ];
|
||||
return [ 'error' => new Error(Err::NoMatchFound) ];
|
||||
|
||||
|
||||
return [ 'machine' => $answer ];
|
||||
|
@ -190,7 +190,7 @@
|
|||
|
||||
// Si aucun resultat, on retourne une erreur
|
||||
if( $answer === false )
|
||||
return [ 'ModuleError' => new Error(Err::NoMatchFound) ];
|
||||
return [ 'error' => new Error(Err::NoMatchFound) ];
|
||||
|
||||
|
||||
return [ 'machine' => $answer ];
|
||||
|
@ -219,7 +219,7 @@
|
|||
|
||||
// Si aucun resultat, on retourne une erreur
|
||||
if( $answer === false )
|
||||
return [ 'ModuleError' => new Error(Err::NoMatchFound) ];
|
||||
return [ 'error' => new Error(Err::NoMatchFound) ];
|
||||
|
||||
|
||||
return [ 'clusters' => $answer ];
|
||||
|
@ -251,7 +251,7 @@
|
|||
|
||||
// Si on a recupere aucune machine, on retourne une erreur
|
||||
if( !is_array($machine_data) )
|
||||
return ['ModuleError' => new Error(Err::NoMatchFound)];
|
||||
return ['error' => new Error(Err::NoMatchFound)];
|
||||
|
||||
|
||||
|
||||
|
@ -471,7 +471,7 @@
|
|||
|
||||
// Si token incorrect, on envoie une erreur
|
||||
if( $checkToken->answer() !== true )
|
||||
return [ 'ModuleError' => new Error(Err::TokenError) ];
|
||||
return [ 'error' => new Error(Err::TokenError) ];
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
public function method($params){
|
||||
|
||||
return [
|
||||
'ModuleError' => new Error(Err::Success),
|
||||
'error' => new Error(Err::Success),
|
||||
'ReceivedArguments' => $params
|
||||
];
|
||||
|
||||
|
@ -35,7 +35,7 @@
|
|||
|
||||
// Gestion de l'erreur de parsage
|
||||
if( $modules == null )
|
||||
return [ 'ModuleError' => new Error(Err::ParsingFailed) ];
|
||||
return [ 'error' => new Error(Err::ParsingFailed) ];
|
||||
|
||||
/* [2] Mise en forme de la liste des modules
|
||||
=========================================================*/
|
||||
|
@ -65,7 +65,7 @@
|
|||
/* [n] Gestion du retour
|
||||
=========================================================*/
|
||||
return [
|
||||
'ModuleError' => new Error(Err::Success),
|
||||
'error' => new Error(Err::Success),
|
||||
'headers' => [
|
||||
'Content-Type' => 'text/markdown; charset=utf-8',
|
||||
'Content-Transfer-Encoding' => 'binary',
|
||||
|
@ -91,7 +91,7 @@
|
|||
|
||||
// Gestion de l'erreur de parsage
|
||||
if( $modules == null )
|
||||
return [ 'ModuleError' => new Error(Err::ParsingFailed) ];
|
||||
return [ 'error' => new Error(Err::ParsingFailed) ];
|
||||
|
||||
|
||||
/* [1] Début du fichier custom
|
||||
|
@ -125,7 +125,7 @@
|
|||
|
||||
$content .= "#### A. Les réponses seront formattées en json et contiendront:\n\n";
|
||||
|
||||
$content .= "1. `ModuleError` - Le code de l'erreur \n";
|
||||
$content .= "1. `error` - Le code de l'erreur \n";
|
||||
$content .= "2. `ErrorDescription` - La description de l'erreur\n\n";
|
||||
|
||||
$content .= "****\n\n";
|
||||
|
@ -263,7 +263,7 @@
|
|||
|
||||
|
||||
return [
|
||||
'ModuleError' => new Error(Err::Success),
|
||||
'error' => new Error(Err::Success),
|
||||
'headers' => [
|
||||
'Content-Type' => 'application/octet-stream; charset=utf-8',
|
||||
'Content-Transfer-Encoding' => 'binary',
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
|
||||
// Si une erreur est retournee, on retourne une erreur
|
||||
if( $id_user === false )
|
||||
return ['ModuleError' => new Error(Err::ModuleError)];
|
||||
return ['error' => new Error(Err::error)];
|
||||
|
||||
|
||||
/* [2] Gestion du retour
|
||||
|
@ -74,7 +74,7 @@
|
|||
]);
|
||||
|
||||
/* (1) On retourne l'erreur du repo */
|
||||
return [ 'ModuleError' => $link_user->answer() ];
|
||||
return [ 'error' => $link_user->answer() ];
|
||||
}
|
||||
|
||||
|
||||
|
@ -102,7 +102,7 @@
|
|||
]);
|
||||
|
||||
/* (1) On retourne l'erreur du repo */
|
||||
return [ 'ModuleError' => $link_user->answer() ];
|
||||
return [ 'error' => $link_user->answer() ];
|
||||
}
|
||||
|
||||
|
||||
|
@ -167,7 +167,7 @@
|
|||
|
||||
// Si aucun resultat, on retourne une erreur
|
||||
if( $answer === false )
|
||||
return [ 'ModuleError' => new Error(Err::NoMatchFound) ];
|
||||
return [ 'error' => new Error(Err::NoMatchFound) ];
|
||||
|
||||
|
||||
return [ 'user' => $answer ];
|
||||
|
@ -196,7 +196,7 @@
|
|||
|
||||
// Si aucun resultat, on retourne une erreur
|
||||
if( $answer === false )
|
||||
return [ 'ModuleError' => new Error(Err::NoMatchFound) ];
|
||||
return [ 'error' => new Error(Err::NoMatchFound) ];
|
||||
|
||||
|
||||
return [ 'user' => $answer ];
|
||||
|
@ -226,7 +226,7 @@
|
|||
|
||||
// Si aucun resultat, on retourne une erreur
|
||||
if( $answer === false )
|
||||
return [ 'ModuleError' => new Error(Err::NoMatchFound) ];
|
||||
return [ 'error' => new Error(Err::NoMatchFound) ];
|
||||
|
||||
|
||||
return [ 'user' => $answer ];
|
||||
|
@ -256,7 +256,7 @@
|
|||
|
||||
// Si aucun resultat, on retourne une erreur
|
||||
if( $answer === false )
|
||||
return [ 'ModuleError' => new Error(Err::NoMatchFound) ];
|
||||
return [ 'error' => new Error(Err::NoMatchFound) ];
|
||||
|
||||
|
||||
return [ 'clusters' => $answer ];
|
||||
|
@ -291,7 +291,7 @@
|
|||
|
||||
// Si on a recupere aucun utilisateur, on retourne une erreur
|
||||
if( !is_array($user_data) )
|
||||
return ['ModuleError' => new Error(Err::NoMatchFound)];
|
||||
return ['error' => new Error(Err::NoMatchFound)];
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -106,7 +106,7 @@
|
|||
|
||||
|
||||
public function answer(){
|
||||
if( $this->error != new Error(Err::Success) )
|
||||
if( $this->error->get() != Err::Success )
|
||||
return false;
|
||||
|
||||
return $this->answer;
|
||||
|
@ -122,7 +122,7 @@
|
|||
public function dispatch(){
|
||||
/* [1] On verifie qu'aucune erreur n'a ete signalee
|
||||
=========================================================*/
|
||||
if( $this->error != new Error(Err::Success) ) // si il y a une erreur
|
||||
if( $this->error->get() != Err::Success ) // si il y a une erreur
|
||||
return false; // on la passe a la reponse
|
||||
|
||||
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
$twig->addFunction(new \Twig_Function('f_machines', function(){
|
||||
$request = new Request('machineDefault/getAll'); // On utilise la methode 'getAll' du module 'machineDefault'
|
||||
$answer = $request->dispatch(); // On recupere la reponse
|
||||
//
|
||||
// si erreur, on affiche rien par défaut
|
||||
if( $answer->error->get() != Err::Success )
|
||||
return [];
|
||||
|
@ -40,17 +41,18 @@
|
|||
}));
|
||||
|
||||
$twig->addFunction(new \Twig_Function('f_clusters', function($id_machine){
|
||||
$clustersReq = new Request('machineDefault/getClusters', [
|
||||
$request = new Request('machineDefault/getClusters', [
|
||||
'id_machine' => (int) $id_machine
|
||||
]);
|
||||
var_dump('r2 - machine/view.php:47', $request->error->get());
|
||||
|
||||
$clustersRes = $clustersReq->dispatch();
|
||||
$answer = $request->dispatch();
|
||||
|
||||
// si erreur, on affiche rien par défaut
|
||||
if( $clustersRes->error->get() != Err::Success )
|
||||
if( $answer->error->get() != Err::Success )
|
||||
return [];
|
||||
|
||||
return $clustersRes->get('clusters');
|
||||
return $answer->get('clusters');
|
||||
}));
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
"module": {
|
||||
"POST::method": {
|
||||
"description": "Test de l'API",
|
||||
"permissions": [],
|
||||
"permissions": ["warehouse"],
|
||||
"parameters": {}
|
||||
},
|
||||
|
||||
|
|
|
@ -2,12 +2,11 @@
|
|||
|
||||
require_once '../autoloader.php';
|
||||
|
||||
debug();
|
||||
use \router\core\Router;
|
||||
use \api\core\Request;
|
||||
use \api\core\Response;
|
||||
use \database\core\DatabaseDriver;
|
||||
use \api\core\Authentification;
|
||||
use \api\core\AuthSystemDefault;
|
||||
|
||||
|
||||
|
||||
|
@ -24,10 +23,9 @@
|
|||
/* [1] Gestion des authentifications et des droits
|
||||
=========================================================*/
|
||||
/* (1) On met à jour l'authentification et les permissions */
|
||||
$authsys = new Authentification();
|
||||
$auth = $authsys::auth();
|
||||
$auth = AuthSystemDefault::auth();
|
||||
|
||||
Request::setAuthSystem($authsys);
|
||||
Request::setAuthSystem(new AuthSystemDefault);
|
||||
|
||||
|
||||
/* (2) On définit la page d'accueil */
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
<?php define('__ROOT__', dirname(dirname(dirname(__FILE__))) );
|
||||
require_once __ROOT__.'/autoloader.php';
|
||||
use \viewer\core\Viewer;
|
||||
use \api\core\Request;
|
||||
use \database\core\Repo;
|
||||
?>
|
||||
|
||||
<!-- [1] Gestion du sous-menu de gauche -->
|
||||
|
|
Loading…
Reference in New Issue