upd: api.core.Request:3.0 (shortened config keywords)

This commit is contained in:
xdrm-brackets 2017-12-12 22:34:28 +01:00
parent bfeee3358d
commit 0a945431b7
1 changed files with 20 additions and 21 deletions

View File

@ -54,7 +54,6 @@
* *
---------------------------------------------------------*/ ---------------------------------------------------------*/
private function buildRequestObject($uri=null, $params=null, $forced_method=null){ private function buildRequestObject($uri=null, $params=null, $forced_method=null){
/* (1) Initialisation /* (1) Initialisation
---------------------------------------------------------*/ ---------------------------------------------------------*/
/* (1) Erreur par défaut */ /* (1) Erreur par défaut */
@ -255,7 +254,7 @@
$method = Config::get()->index[$this->id['path']][$this->id['method']]; $method = Config::get()->index[$this->id['path']][$this->id['method']];
// Si aucune permission n'est definie // Si aucune permission n'est definie
if( !isset($method['permissions']) || !is_array($method['permissions']) || count($method['permissions']) < 1 ) if( !isset($method['per']) || !is_array($method['per']) || count($method['per']) < 1 )
return true; return true;
/* (2) Vérification des permissions et de l'authentification /* (2) Vérification des permissions et de l'authentification
@ -273,7 +272,7 @@
} }
// Check permission using user-implemented AuthSystem // Check permission using user-implemented AuthSystem
$granted = self::$authsystem::permission( $method['permissions'] ); $granted = self::$authsystem::permission( $method['per'] );
/* (1) On retourne FAUX si aucun droit n'a ete trouve */ /* (1) On retourne FAUX si aucun droit n'a ete trouve */
if( $granted->get() !== Err::Success ){ if( $granted->get() !== Err::Success ){
@ -306,13 +305,13 @@
$method = Config::get()->index[$this->id['path']][$this->id['method']]; $method = Config::get()->index[$this->id['path']][$this->id['method']];
/* (3) Si pas 'parameters' dans la config */ /* (3) Si pas 'parameters' dans la config */
if( !isset($method['parameters']) || !is_array($method['parameters']) ) if( !isset($method['par']) || !is_array($method['par']) )
return $this->error->set(Err::ConfigError); return $this->error->set(Err::ConfigError);
/* (2) Si le type est defini, pour chaque param, on teste /* (2) Si le type est defini, pour chaque param, on teste
---------------------------------------------------------*/ ---------------------------------------------------------*/
foreach($method['parameters'] as $name=>$config){ foreach($method['par'] as $name=>$config){
/* (2.1) Vérification des données /* (2.1) Vérification des données
---------------------------------------------------------*/ ---------------------------------------------------------*/
@ -324,8 +323,8 @@
if( !is_array($config) ) if( !is_array($config) )
return $this->error->set(Err::ConfigError); return $this->error->set(Err::ConfigError);
/* (3) So @config['type] manquant ou incorrect */ /* (3) So @config['typ] manquant ou incorrect */
if( !isset($config['type']) || !is_string($config['type']) ) if( !isset($config['typ']) || !is_string($config['typ']) )
return $this->error->set(Err::ConfigError); return $this->error->set(Err::ConfigError);
@ -333,30 +332,30 @@
---------------------------------------------------------*/ ---------------------------------------------------------*/
/* (1) On récupère le paramètre RENAME */ /* (1) On récupère le paramètre RENAME */
$rename = $name; $rename = $name;
if( isset($config['rename']) && is_string($config['rename']) && preg_match('@^\w+$@', $config['rename']) ) if( isset($config['ren']) && is_string($config['ren']) && preg_match('@^\w+$@', $config['ren']) )
$rename = $config['rename']; $rename = $config['ren'];
/* (2) On récupère si le paramètre est optionnel ou pas */ /* (2) On récupère si le paramètre est optionnel ou pas */
$optional = isset($config['optional']) && $config['optional'] === true; $optional = isset($config['opt']) && $config['opt'] === true;
/* (3) Gestion du paramètre DEFAULT */ /* (3) Gestion du paramètre DEFAULT */
$default = null; $default = null;
/* (3.1) Check if default NOT (NULL || FILE) -> matches TYPE */ /* (3.1) Check if default NOT (NULL || FILE) -> matches TYPE */
if( isset($config['default']) ){ if( isset($config['def']) ){
/* (3.1.1) Set default value from config */ /* (3.1.1) Set default value from config */
$default = $config['default']; $default = $config['def'];
/* (3.1.2) If FILE and not null -> Check type */ /* (3.1.2) If FILE and not null -> Check type */
if( $config['type'] != 'FILE' || $default != null ) if( $config['typ'] != 'FILE' || $default != null )
if( !Checker::run($config['type'], $default) ) if( !Checker::run($config['typ'], $default) )
return $this->error->set(Err::WrongDefaultParam, $rename, $config['type']); return $this->error->set(Err::WrongDefaultParam, $rename, $config['typ']);
} }
/* (4) Si de type 'FILE' + fichier existe => on enregistre la ref. */ /* (4) Si de type 'FILE' + fichier existe => on enregistre la ref. */
if( $config['type'] == 'FILE' && isset($_FILES[$name]) ) if( $config['typ'] == 'FILE' && isset($_FILES[$name]) )
$this->params[$rename] = &$_FILES[$name]; $this->params[$rename] = &$_FILES[$name];
/* (4) Si param obligatoire et manquant -> erreur */ /* (4) Si param obligatoire et manquant -> erreur */
@ -373,11 +372,11 @@
$this->params[$rename] = $default; $this->params[$rename] = $default;
/* (2) Si le paramètre est renseigné (sauf FILE) */ /* (2) Si le paramètre est renseigné (sauf FILE) */
}elseif( $config['type'] != 'FILE' ){ }elseif( $config['typ'] != 'FILE' ){
// Si la verification est fausse, on retourne faux // Si la verification est fausse, on retourne faux
if( !Checker::run($config['type'], $this->raw_params[$name]) ) if( !Checker::run($config['typ'], $this->raw_params[$name]) )
return $this->error->set(Err::WrongParam, $rename, $config['type']); return $this->error->set(Err::WrongParam, $rename, $config['typ']);
// Sinon, on ajoute aux params qu'on enverra à l'appel // Sinon, on ajoute aux params qu'on enverra à l'appel
else else
@ -408,14 +407,14 @@
$method = Config::get()->index[$this->id['path']][$this->id['method']]; $method = Config::get()->index[$this->id['path']][$this->id['method']];
/* (1) Si 'option' n'est pas défini (ou incorrect), on met les valeurs par défaut */ /* (1) Si 'option' n'est pas défini (ou incorrect), on met les valeurs par défaut */
if( !isset($method['options']) || !is_array($method['options']) ) if( !isset($method['opt']) || !is_array($method['opt']) )
return true; return true;
/* (2) Par défaut on définit les options par défaut */ /* (2) Par défaut on définit les options par défaut */
$this->options = self::$default_options; $this->options = self::$default_options;
/* (3) On récupère les options données */ /* (3) On récupère les options données */
$options = $method['options']; $options = $method['opt'];
/* (2) Gestion des différentes options /* (2) Gestion des différentes options