Gestion de suppression et generation (repo+modules) + correction graphique du container

This commit is contained in:
xdrm-brackets 2016-04-11 10:18:10 +02:00
parent 50ad82eb90
commit dba4975ce0
11 changed files with 233 additions and 58 deletions

View File

@ -6,10 +6,6 @@
use \manager\ManagerError;
use \manager\Repo;
use \manager\module\callLog;
debug();
@ -26,7 +22,7 @@
/* [2] On cree la requete
=========================================================*/
$request = new ModuleRequest('callLog/unserialize', array($file_content));
$request = new ModuleRequest('call_log/unserialize', array($file_content));
$answer = $request->dispatch(); // on l'execute
/* [3] Si erreur
@ -68,6 +64,13 @@
var_dump( $contact );
}
parseCallLog();
// parseCallLog();
$request = new ModuleRequest('token/generate', array('newtoken', '2') );
$answer = $request->dispatch();
var_dump( ManagerError::explicit($request->error) );
var_dump( $answer );
?>

View File

@ -1,56 +1,17 @@
{
"callLog": [
"call_log": [
"unserialize"
],
"charts": [
"network_data",
"network_render"
],
"userDefault" :[
"create",
"link",
"unlink",
"search",
"getAll",
"getById",
"getByCode",
"getByUsername",
"getClusters",
"edit",
"delete"
],
"machineDefault" :[
"create",
"link",
"unlink",
"search",
"getAll",
"getById",
"getByCode",
"getByName",
"getClusters",
"edit",
"delete"
"token" :[
"remove",
"generate"
]
}

View File

@ -6,7 +6,9 @@
"token": [
"getAll",
"check"
"getById",
"check",
"generate"
]
}

View File

@ -1,2 +1,2 @@
#WRAPPER{display:block;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#e8e8e8;font-family:'Open Sans';font-size:15px}#WRAPPER>#HEADER{display:flex;position:absolute;top:0;left:15em;width:calc( 100% - 15em );height:calc( 5em - 1px );border-bottom:1px solid #e5e5e5;background-color:#fff;flex-direction:row;justify-content:flex-end;align-content:space-around;z-index:10}#WRAPPER>#MENU-SIDE{display:block;position:absolute;top:0;left:0;width:15em;height:100%;box-shadow:2px 1px 3px #ddd;background-color:#32323a;transition:all .3s;z-index:9}#WRAPPER>#CONTAINER{display:flex;position:absolute;top:5em;left:15em;width:calc( 100% - 15em - 2*1em );height:calc( 100% - 15em - 2*1em );padding:1em;flex-direction:row;justify-content:space-between;overflow-x:none;overflow-y:auto}
#WRAPPER{display:block;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#e8e8e8;font-family:'Open Sans';font-size:15px;overflow-x:hidden;overflow-y:auto}#WRAPPER>#HEADER{display:flex;position:absolute;top:0;left:15em;width:calc( 100% - 15em );height:calc( 5em - 1px );border-bottom:1px solid #e5e5e5;background-color:#fff;flex-direction:row;justify-content:flex-end;align-content:space-around;z-index:10}#WRAPPER>#MENU-SIDE{display:block;position:fixed;top:0;left:0;width:15em;height:100%;box-shadow:2px 1px 3px #ddd;background-color:#32323a;transition:all .3s;z-index:9}#WRAPPER>#CONTAINER{display:flex;position:absolute;top:5em;left:15em;width:calc( 100% - 15em - 2*1em );min-height:calc( 100% - 5em - 2*1em );padding:1em;flex-direction:row;justify-content:space-between;overflow-x:none;overflow-y:auto}
/*# sourceMappingURL=layout.css.map */

View File

@ -1,6 +1,6 @@
{
"version": 3,
"mappings": "AAEA,QAAQ,CACP,OAAO,CAAE,KAAK,CACd,QAAQ,CAAE,KAAK,CACd,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CAEb,gBAAgB,CCPE,OAAO,CDSzB,WAAW,CAAE,WAAW,CACxB,SAAS,CAAE,IAAI,CAKf,gBAAW,CACV,OAAO,CAAE,IAAI,CACb,QAAQ,CAAE,QAAQ,CACjB,GAAG,CAAE,CAAC,CACN,IAAI,CCJW,IAAI,CDKnB,KAAK,CAAE,mBAAkC,CACzC,MAAM,CAAE,iBAA+B,CAExC,aAAa,CAAE,iBAA8B,CAE7C,gBAAgB,CCxBC,IAAO,CD2BxB,cAAc,CAAE,GAAG,CACnB,eAAe,CAAE,QAAQ,CACzB,aAAa,CAAE,YAAY,CAE3B,OAAO,CAAE,EAAE,CAQZ,mBAAc,CACb,OAAO,CAAE,KAAK,CACd,QAAQ,CAAE,QAAQ,CACjB,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,KAAK,CC9BU,IAAI,CD+BnB,MAAM,CAAE,IAAI,CAEb,UAAU,CAAE,gBAAgB,CAE5B,gBAAgB,CC5CA,OAAO,CD8CvB,UAAU,CAAE,OAAO,CAEnB,OAAO,CAAE,CAAC,CAMX,mBAAc,CACb,OAAO,CAAE,IAAI,CACb,QAAQ,CAAE,QAAQ,CACjB,GAAG,CC/CY,GAAG,CDgDlB,IAAI,CCjDW,IAAI,CDkDnB,KAAK,CAAE,2BAA0C,CACjD,MAAM,CAAE,2BAA0C,CACnD,OAAO,CAAE,GAAG,CAGZ,cAAc,CAAE,GAAG,CACnB,eAAe,CAAE,aAAa,CAE9B,UAAU,CAAE,IAAI,CAChB,UAAU,CAAE,IAAI",
"mappings": "AAEA,QAAQ,CACP,OAAO,CAAE,KAAK,CACd,QAAQ,CAAE,KAAK,CACd,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CAEb,gBAAgB,CCPE,OAAO,CDSzB,WAAW,CAAE,WAAW,CACxB,SAAS,CAAE,IAAI,CAEf,UAAU,CAAE,MAAM,CAClB,UAAU,CAAE,IAAI,CAKhB,gBAAW,CACV,OAAO,CAAE,IAAI,CACb,QAAQ,CAAE,QAAQ,CACjB,GAAG,CAAE,CAAC,CACN,IAAI,CCPW,IAAI,CDQnB,KAAK,CAAE,mBAAkC,CACzC,MAAM,CAAE,iBAA+B,CAExC,aAAa,CAAE,iBAA8B,CAE7C,gBAAgB,CC3BC,IAAO,CD8BxB,cAAc,CAAE,GAAG,CACnB,eAAe,CAAE,QAAQ,CACzB,aAAa,CAAE,YAAY,CAE3B,OAAO,CAAE,EAAE,CAQZ,mBAAc,CACb,OAAO,CAAE,KAAK,CACd,QAAQ,CAAE,KAAK,CACd,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,KAAK,CCjCU,IAAI,CDkCnB,MAAM,CAAE,IAAI,CAEb,UAAU,CAAE,gBAAgB,CAE5B,gBAAgB,CC/CA,OAAO,CDiDvB,UAAU,CAAE,OAAO,CAEnB,OAAO,CAAE,CAAC,CAMX,mBAAc,CACb,OAAO,CAAE,IAAI,CACb,QAAQ,CAAE,QAAQ,CACjB,GAAG,CClDY,GAAG,CDmDlB,IAAI,CCpDW,IAAI,CDqDnB,KAAK,CAAE,2BAA0C,CACjD,UAAU,CAAE,0BAAwC,CACrD,OAAO,CAAE,GAAG,CAGZ,cAAc,CAAE,GAAG,CACnB,eAAe,CAAE,aAAa,CAE9B,UAAU,CAAE,IAAI,CAChB,UAAU,CAAE,IAAI",
"sources": ["layout.scss","constants.scss"],
"names": [],
"file": "layout.css"

View File

@ -13,6 +13,9 @@
font-family: 'Open Sans';
font-size: 15px;
overflow-x: hidden;
overflow-y: auto;
/* [1] Header de la page
==========================================*/
@ -43,7 +46,7 @@
// Gestion du menu
& > #MENU-SIDE{
display: block;
position: absolute;
position: fixed;
top: 0;
left: 0;
width: $menu-side-width;
@ -67,7 +70,7 @@
top: $header-height;
left: $menu-side-width;
width: calc( 100% - #{$menu-side-width} - 2*1em );
height: calc( 100% - #{$menu-side-width} - 2*1em );
min-height: calc( 100% - #{$header-height} - 2*1em );
padding: 1em;
// Flex properties

View File

@ -191,10 +191,18 @@
return $checker && is_numeric($value) && $value <= 2147483647 && $value >= -2147483647;
break;
case 'int':
return $checker && is_numeric($value) && $value <= 2147483647 && $value >= 0;
break;
case 'varchar(255)':
return $checker && is_string($value) && strlen($value) <= 255;
break;
case 'varchar(50)':
return $checker && is_string($value) && strlen($value) <= 50;
break;
/* (2) Utilisateur */
case 'user.code':
case 'machine.code':

View File

@ -6,7 +6,7 @@
use \manager\ManagerError;
use \manager\Repo;
class callLog{
class call_log{
/* DESERIALISATION D'UN JOURNAL D'APPEL

0
manager/module/charts.php Normal file → Executable file
View File

109
manager/module/token.php Executable file
View File

@ -0,0 +1,109 @@
<?php
namespace manager\module;
use \manager\Database;
use \manager\sessionManager;
use \manager\ManagerError;
use \manager\Repo;
class token{
/* SUPPRIME UN TOKEN D'ID DONNE
*
* @id_token<int> UID du token en question
*
* @return status<bool> Retourne l'etat de la suppression (VRAI -> fait/FAUX -> erreur)
*
*/
public static function remove($id_token){
/* [0] Verification des INPUT
=========================================================*/
if( !Database::check('id', $id_token) ) return array('ModuleError' => ManagerError::ParamError);
/* [1] Verification de l'existance du token
=========================================================*/
$token_exists = new Repo('token/getById', array($id_token));
// On renvoie une erreur si le token n'existe pas
if( $token_exists->answer() == false ) return array('ModuleError' => ManagerError::Success, 'status' => false);
/* [2] Suppression du token
=========================================================*/
$token_exists = new Repo('token/getById', array($id_token));
/* [3] On verifie que le token soit supprime
=========================================================*/
$token_removed = new Repo('token/getById', array($id_token));
// On renvoie une erreur si le token existe encore
if( $token_removed->answer() !== false ) return array('ModuleError' => ManagerError::Success, 'status' => false);
/* [n] Gestion du retour quand tout est normal
=========================================================*/
return array(
'ModuleError' => ManagerError::Success,
'status' => true
);
}
/* GENERE UN NOUVEAU TOKEN DE NOM ET EXPIRATION SPECIFIEE
*
* @name<String> Nom attribue au token
* @duration<int> Duree du token en jours
*
* @return id_token<int> Renvoie l'id du token cree
* @return FALSE Renvoie FALSE si erreur
*
*/
public static function generate($name, $duration){
/* [0] Verification des INPUT
=========================================================*/
if( !Database::check('varchar(50)', $name) || !Database::check('int', $duration) )
return array('ModuleError' => ManagerError::ParamError); // erreur de parametre
/* [1] On cree le token et recupere son id ou FAUX
=========================================================*/
$create = new Repo('token/generate', array($name, $duration));
$created = $create->answer();
// Si erreur de creation
if( $created === false ) return array('ModuleError' => ManagerError::ModuleError );
/* [2] Gestion du retour
=========================================================*/
return array(
'ModuleError' => ManagerError::Success,
'id_token' => $created
);
}
}
?>

View File

@ -1,6 +1,7 @@
<?php
namespace manager\repo;
use \manager\sessionManager;
use \manager\Database;
class token{
@ -8,14 +9,14 @@
/* Gestion de la table Token (pour secu) et des derivations
*
* 1. Gestion des access
* - getById(id_token)
* - getAll()
* - getById(id_token)
*
* 2. Gestion de la verification
* - check(token, id_personne)
*
* 3. Gestion de la
* - merge(idA, idB)
* 4. Gestion de creation
* - generate(name, duration)
*
* 4. Gestion de creation
* - create(pseudo, nom, prenom, facebook, telephone)
@ -52,6 +53,31 @@
/* RETOURNE LE TOKEN D'ID SPECIFIE OU FALSE
*
* @id_token<int> UID du token en question
*
* @return token<Array> Retourne les donnees du token ou FALSE si erreur
*
*/
public static function getById($id_token){
/* [0] Verification des INPUT
=========================================================*/
if( !Database::check('id', $id_token) ) return false;
/* [1] On cherche dans la bdd
=========================================================*/
$get_token = Database::getPDO()->prepare("SELECT id_token FROM api_token WHERE id_token = :id_token");
$get_token->execute( array( ':id_token' => $id_token ) );
/* [2] On renvoie la valeur ou FALSE
=========================================================*/
return $get_token->fetch();
}
/* VERIFIE SI UN TOKEN EST VALIDE
*
@ -82,8 +108,71 @@
}
/* GENERE UN NOUVEAU TOKEN DE NOM ET EXPIRATION SPECIFIEE
*
* @name<String> Nom attribue au token
* @duration<int> Duree du token en jours
*
* @return id_token<int> Renvoie l'id du token cree
* @return FALSE Renvoie FALSE si erreur
*
*/
public static function generate($name, $duration){
/* [0] Verification des INPUT
=========================================================*/
if( !Database::check('varchar(50)', $name) || !Database::check('int', $duration) )
return array('ModuleError' => ManagerError::ParamError); // erreur de parametre
/* [1] Generation d'un token si pas deja dans la BDD
=========================================================*/
$token_used = true;
// tant qu'un token a deja la meme valeur
while( $token_used ){
$token = sessionManager::secure_sha1(uniqid());
// Verification dans la BDD
$check = Database::getPDO()->prepare("SELECT id_token FROM api_token WHERE token = :token");
$check->execute( array( ':token' => $token ) );
// VRAI un token est identique
$token_used = $check->fetch() !== false;
}
/* [2] On cree le token
=========================================================*/
$create = Database::getPDO()->prepare("INSERT INTO api_token(id_token, token, name, expires)
VALUES(DEFAULT, :token, :name, CURDATE()+:duration)");
$create->execute(array(
':token' => $token,
':name' => $name,
':duration' => $duration+1
));
/* [3] On verifie qu'il a bien ete cree
=========================================================*/
$created = Database::getPDO()->prepare("SELECT id_token FROM api_token
WHERE token = :token
AND name = :name
AND duration = CURDATE()+:duration");
$created->execute(array(
':token' => $token,
':name' => $name,
':duration' => $duration+1
));
// Si pas cree, on retourne une erreur
if( ($token=$created->fetch()) === false ) return false;
/* [4] On retourne l'id du token cree
=========================================================*/
return $token['id_token'];
}
}