Gestion de suppression et generation (repo+modules) + correction graphique du container
This commit is contained in:
parent
50ad82eb90
commit
dba4975ce0
15
automate.php
15
automate.php
|
@ -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 );
|
||||
?>
|
|
@ -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"
|
||||
]
|
||||
|
||||
}
|
|
@ -6,7 +6,9 @@
|
|||
|
||||
"token": [
|
||||
"getAll",
|
||||
"check"
|
||||
"getById",
|
||||
"check",
|
||||
"generate"
|
||||
]
|
||||
|
||||
}
|
|
@ -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 */
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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':
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
use \manager\ManagerError;
|
||||
use \manager\Repo;
|
||||
|
||||
class callLog{
|
||||
class call_log{
|
||||
|
||||
|
||||
/* DESERIALISATION D'UN JOURNAL D'APPEL
|
|
@ -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
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
?>
|
|
@ -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'];
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue