Compare commits
No commits in common. "master" and "generic-view" have entirely different histories.
master
...
generic-vi
|
@ -1,96 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace api\core;
|
|
||||||
|
|
||||||
use \error\core\Error;
|
|
||||||
use \error\core\Err;
|
|
||||||
use \http\core\HttpRequest;
|
|
||||||
use \api\core\Request;
|
|
||||||
|
|
||||||
|
|
||||||
class Loader{
|
|
||||||
|
|
||||||
|
|
||||||
/* (1) Build an API Request from the HTTP Request
|
|
||||||
*
|
|
||||||
* @uri<String> URI
|
|
||||||
*
|
|
||||||
* @return outName<outType> outDesc
|
|
||||||
*
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
public static function remote($uri){
|
|
||||||
|
|
||||||
/* (1) Fetch HttpRequest correct data
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
/* (1) Parse HttpRequest data because php doesn't parse it for non-POST HTTP method */
|
|
||||||
$httprequest = new HttpRequest();
|
|
||||||
|
|
||||||
/* (2) For later use -> replace default @_POST global */
|
|
||||||
$_POST = $httprequest->POST();
|
|
||||||
|
|
||||||
/* (3) Get @data from @_POST values */
|
|
||||||
$data = $_POST;
|
|
||||||
|
|
||||||
|
|
||||||
/* (2) Check if @path var is set
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
/* (1) If is in @uri */
|
|
||||||
$pathInUrl = is_string($uri) && preg_match('#^/?([\w_-]+/[\w_-]+)(?:/?|/((?:\w+/)*(?:\w+/?)))$#', $uri, $uriMatches);
|
|
||||||
|
|
||||||
/* (2) Get @path from @uri + @uri arguments if there is */
|
|
||||||
if( $pathInUrl ){
|
|
||||||
|
|
||||||
// {1} Add @path as data //
|
|
||||||
$data['path'] = $uriMatches[1];
|
|
||||||
|
|
||||||
// {2} Add $uri arguments as data 'URL_@i' (@i is the order beginnint at 0) //
|
|
||||||
if( count($uriMatches) > 2 ){
|
|
||||||
|
|
||||||
$uriParams = explode('/', trim($uriMatches[2], '/'));
|
|
||||||
|
|
||||||
foreach($uriParams as $k=>$v)
|
|
||||||
$data["URL_$k"] = $v;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/* (3) If @path haven't been found -> error */
|
|
||||||
if( !isset($data['path']) )
|
|
||||||
return new Request();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* (3) Parse arguments from JSON
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
/* (1) Init. arguments */
|
|
||||||
$params = [];
|
|
||||||
|
|
||||||
/* (2) Parse each arg (except @path) */
|
|
||||||
foreach($data as $name=>$value){
|
|
||||||
|
|
||||||
if( $name === 'path' )
|
|
||||||
continue;
|
|
||||||
|
|
||||||
// {1} Json parse //
|
|
||||||
$json = json_decode( $value, true );
|
|
||||||
|
|
||||||
// {2} if valid -> set the parsed value //
|
|
||||||
if( !is_null($json) )
|
|
||||||
$params[$name] = $json;
|
|
||||||
|
|
||||||
// {3} else -> leave it like it was //
|
|
||||||
else
|
|
||||||
$params[$name] = $value;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* (4) Build an API Request object
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
return new Request($data['path'], $params);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -6,6 +6,7 @@
|
||||||
use \api\core\ModuleFactory;
|
use \api\core\ModuleFactory;
|
||||||
use \error\core\Error;
|
use \error\core\Error;
|
||||||
use \error\core\Err;
|
use \error\core\Err;
|
||||||
|
use \http\core\HttpRequest;
|
||||||
|
|
||||||
|
|
||||||
class Request{
|
class Request{
|
||||||
|
@ -334,6 +335,88 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* DESERIALISATION A PARTIR DE L'URL ET DES DONNEES POST (OPT)
|
||||||
|
*
|
||||||
|
* @url<String> Contenu de l'url formatté (commence à "/module/methode")
|
||||||
|
*
|
||||||
|
* @return instance<Request> Retourne un objet de type <Request>
|
||||||
|
*
|
||||||
|
* @note
|
||||||
|
* 1. `path` peut être dans l'url : /method/module
|
||||||
|
* `path` peut être dans les données $_POST
|
||||||
|
* 2. les données peuvent être dans l'url : /module/method/data1/data2/...
|
||||||
|
* les données peuvent être dans les données $_POST
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public static function remote($url){
|
||||||
|
|
||||||
|
/* [1] Fetch HttpRequest correct data
|
||||||
|
=========================================================*/
|
||||||
|
/* (1) Parse HttpRequest data because php doesn't parse it for non-POST HTTP method */
|
||||||
|
$httprequest = new HttpRequest();
|
||||||
|
$_POST = $httprequest->POST();
|
||||||
|
|
||||||
|
$data = $_POST;
|
||||||
|
|
||||||
|
/* [2] On verifie que le @path est renseigne
|
||||||
|
=========================================================*/
|
||||||
|
/* (1) Si le path est dans @url */
|
||||||
|
$pathInUrl = is_string($url) && preg_match('#^/?([\w_-]+/[\w_-]+)(?:/?|/((?:\w+/)*(?:\w+/?)))$#', $url, $urlMatches);
|
||||||
|
|
||||||
|
/* (2) On récupère le @path + les arguments dans l'URL */
|
||||||
|
if( $pathInUrl ){
|
||||||
|
// {1} On ajoute le @path aux données //
|
||||||
|
$data['path'] = $urlMatches[1];
|
||||||
|
|
||||||
|
// {2} On ajoute les arguments d'URL aux données //
|
||||||
|
if( count($urlMatches) > 2 ){
|
||||||
|
|
||||||
|
$urlParams = explode('/', trim($urlMatches[2], '/'));
|
||||||
|
foreach($urlParams as $k=>$v)
|
||||||
|
$data["URL_$k"] = $v;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* (2) On vérifie dans tous les cas si le path existe */
|
||||||
|
if( !isset($data['path']) )
|
||||||
|
return new Request();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* [3] On met les paramètres en JSON
|
||||||
|
=========================================================*/
|
||||||
|
/* (1) On initialise les paramètres*/
|
||||||
|
$params = [];
|
||||||
|
|
||||||
|
/* (2) On met tous les paramètres en json (sauf @path) */
|
||||||
|
foreach($data as $name=>$value){
|
||||||
|
if( $name === 'path' )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
// {1} On met en JSON //
|
||||||
|
$json = json_decode( $value, true );
|
||||||
|
|
||||||
|
// {2} Si ok -> on remplace //
|
||||||
|
if( !is_null($json) )
|
||||||
|
$params[$name] = $json;
|
||||||
|
|
||||||
|
// {3} Sinon, on laisse tel quel //
|
||||||
|
else
|
||||||
|
$params[$name] = $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* [4] On retourne une instance de <Request>
|
||||||
|
=========================================================*/
|
||||||
|
return new Request($data['path'], $params);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* VERIFICATION DU FORMAT ET DE LA COHERENCE DU CHEMIN SPECIFIE
|
/* VERIFICATION DU FORMAT ET DE LA COHERENCE DU CHEMIN SPECIFIE
|
||||||
*
|
*
|
||||||
* @path<String> String correspondant au chemin de delegation ("module/methode")
|
* @path<String> String correspondant au chemin de delegation ("module/methode")
|
||||||
|
@ -349,7 +432,7 @@
|
||||||
|
|
||||||
// On recupere les données de la regex
|
// On recupere les données de la regex
|
||||||
$module = $matches[1];
|
$module = $matches[1];
|
||||||
$method = $matches[2];
|
$method = $this->http_method.'::'.$matches[2];
|
||||||
|
|
||||||
|
|
||||||
/* [2] Verification de l'existence du module (conf)
|
/* [2] Verification de l'existence du module (conf)
|
||||||
|
|
|
@ -1,211 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace api\module;
|
|
||||||
use \database\core\Repo;
|
|
||||||
use \error\core\Error;
|
|
||||||
use \error\core\Err;
|
|
||||||
|
|
||||||
class adminDefault{
|
|
||||||
|
|
||||||
public function __construct(){
|
|
||||||
// Routine to execute before each call to authenticationDefault's method
|
|
||||||
}
|
|
||||||
|
|
||||||
public function __destruct(){
|
|
||||||
// Routine to execute after each call to authenticationDefault's method
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* RETOURNE LA LISTE DSE ADMINISTRATEURS DE L'ENTREPOT
|
|
||||||
*
|
|
||||||
* @return admins<array> Liste des administrateurs de l'entrepôt
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public function getAll($params){
|
|
||||||
/* (1) Fetch admin list
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
/* (1) Prepare request */
|
|
||||||
$listRq = new Repo('admin/getByIdWarehouse', [ $_SESSION['WAREHOUSE']['id'] ]);
|
|
||||||
|
|
||||||
/* (2) Get response */
|
|
||||||
$listRs = $listRq->answer();
|
|
||||||
|
|
||||||
/* (3) Manage error */
|
|
||||||
if( !is_array($listRs) )
|
|
||||||
return ['error' => new Error(Err::RepoError)];
|
|
||||||
|
|
||||||
|
|
||||||
/* (2) Setup data (remove self)
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
return ['admins' => $listRs];
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* MODIFICATION MOT DE PASSE ADMINISTRATEUR
|
|
||||||
*
|
|
||||||
* @old<String> Ancien mot de passe (actuel)
|
|
||||||
* @new<String> Nouveau mot de passe
|
|
||||||
* @confirm<String> Confirmation mot de passe
|
|
||||||
*
|
|
||||||
* @return status<Boolean> TRUE si les crédits sont bons, sinon FALSE
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public function update($params){
|
|
||||||
extract($params);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* [1] On vérifie la confirmation de mot de passe
|
|
||||||
=========================================================*/
|
|
||||||
if( $new !== $confirm )
|
|
||||||
return [ 'error' => new Error(Err::WrongParam, 'confirm') ];
|
|
||||||
|
|
||||||
|
|
||||||
/* [2] On vérifie le mot de passe actuel
|
|
||||||
=========================================================*/
|
|
||||||
/* (1) On hash le mot de passe actuel */
|
|
||||||
$hash_old = secure_hash($old, $_SESSION['ADMIN']['username']);
|
|
||||||
|
|
||||||
/* (2) On vérifie que le mot de passe est correct */
|
|
||||||
$checkPassword = new Repo('admin/getById', [
|
|
||||||
$_SESSION['WAREHOUSE']['id'],
|
|
||||||
$_SESSION['ADMIN']['id']
|
|
||||||
]);
|
|
||||||
|
|
||||||
$adminFetched = $checkPassword->answer();
|
|
||||||
|
|
||||||
// Si aucun résultat -> erreur
|
|
||||||
if( $adminFetched === false )
|
|
||||||
return [ 'error' => new Error(Err::NoMatchFound) ];
|
|
||||||
|
|
||||||
|
|
||||||
/* [3] On vérifie le mot de passe actuel
|
|
||||||
=========================================================*/
|
|
||||||
// Si mot de passe faux, on retourne une erreur
|
|
||||||
if( $adminFetched['password'] != $hash_old )
|
|
||||||
return [ 'error' => new Error(Err::WrongParam, 'old') ];
|
|
||||||
|
|
||||||
|
|
||||||
/* [3] On met à jour le mot de passe
|
|
||||||
=========================================================*/
|
|
||||||
/* (1) On hash le nouveau mot de passe */
|
|
||||||
$hash_new = secure_hash($new, $adminFetched['username']);
|
|
||||||
|
|
||||||
/* (w) Requête */
|
|
||||||
$update = new Repo('admin/edit', [
|
|
||||||
$adminFetched['id_admin'],
|
|
||||||
$adminFetched['username'],
|
|
||||||
$adminFetched['mail'],
|
|
||||||
$hash_new
|
|
||||||
]);
|
|
||||||
|
|
||||||
/* (3) Gestion erreur */
|
|
||||||
if( !$update->answer() )
|
|
||||||
return [ 'error' => new Error(Err::RepoError) ];
|
|
||||||
|
|
||||||
/* (4) Succès si tout ok */
|
|
||||||
return [ 'error' => new Error(Err::Success) ];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* CREATION D'UN NOUVEAL ADMINISTRATEUR
|
|
||||||
*
|
|
||||||
* @username<String> Identifiant du nouvel administrateur
|
|
||||||
*
|
|
||||||
* @return password<String> Mot de passe généré
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public function create($params){
|
|
||||||
extract($params);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* [1] On génère un mot de passe
|
|
||||||
=========================================================*/
|
|
||||||
$password = secure_hash(uniqid(), uniqid());
|
|
||||||
|
|
||||||
|
|
||||||
/* [2] On vérifie l'unicité de l'identifiant
|
|
||||||
=========================================================*/
|
|
||||||
/* (1) On vérifie que l'identifiant n'existe pas */
|
|
||||||
$checkPassword = new Repo('admin/getByUsername', [
|
|
||||||
$_SESSION['WAREHOUSE']['id'],
|
|
||||||
$username
|
|
||||||
]);
|
|
||||||
|
|
||||||
$adminFetched = $checkPassword->answer();
|
|
||||||
|
|
||||||
// Si un résultat -> erreur
|
|
||||||
if( $adminFetched !== false )
|
|
||||||
return [ 'error' => new Error(Err::AlreadyExists, 'username') ];
|
|
||||||
|
|
||||||
|
|
||||||
/* [3] On crée l'administrateur
|
|
||||||
=========================================================*/
|
|
||||||
/* (1) Requête */
|
|
||||||
$create = new Repo('admin/create', [
|
|
||||||
$_SESSION['WAREHOUSE']['id'],
|
|
||||||
$username,
|
|
||||||
$mail,
|
|
||||||
$password
|
|
||||||
]);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* (3) Gestion erreur */
|
|
||||||
if( !$create->answer() )
|
|
||||||
return [ 'error' => new Error(Err::RepoError) ];
|
|
||||||
|
|
||||||
/* (4) Succès si tout ok */
|
|
||||||
return [ 'password' => $password ];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* SUPPRESSION D'UN ADMINISTRATEUR DU MEME ENTREPOT
|
|
||||||
*
|
|
||||||
* @id_admin<int> UID de l'administrateur
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public function delete($params){
|
|
||||||
extract($params);
|
|
||||||
|
|
||||||
/* [1] On vérifie que ce n'est pas nous-même
|
|
||||||
=========================================================*/
|
|
||||||
if( $id_admin == $_SESSION['ADMIN']['id'] )
|
|
||||||
return ['error' => new Error(Err::NoMatchFound) ];
|
|
||||||
|
|
||||||
|
|
||||||
/* [2] On essaie de supprimer
|
|
||||||
=========================================================*/
|
|
||||||
/* (1) On vérifie que l'identifiant n'existe pas */
|
|
||||||
$del_req = new Repo('admin/delete', [
|
|
||||||
$_SESSION['WAREHOUSE']['id'],
|
|
||||||
$id_admin
|
|
||||||
]);
|
|
||||||
|
|
||||||
/* (2) Gestion erreur */
|
|
||||||
if( !$del_req->answer() )
|
|
||||||
return [ 'error' => new Error(Err::RepoError) ];
|
|
||||||
|
|
||||||
/* (4) Succès si tout ok */
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
?>
|
|
|
@ -121,6 +121,116 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* RETOURNE LA LISTE DSE ADMINISTRATEURS DE L'ENTREPOT
|
||||||
|
*
|
||||||
|
* @return admins<array> Liste des administrateurs de l'entrepôt
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public function get_admins($params){
|
||||||
|
/* (1) Fetch admin list
|
||||||
|
---------------------------------------------------------*/
|
||||||
|
/* (1) Prepare request */
|
||||||
|
$listRq = new Repo('admin/getByIdWarehouse', [ $_SESSION['WAREHOUSE']['id'] ]);
|
||||||
|
|
||||||
|
/* (2) Get response */
|
||||||
|
$listRs = $listRq->answer();
|
||||||
|
|
||||||
|
/* (3) Manage error */
|
||||||
|
if( !is_array($listRs) )
|
||||||
|
return ['error' => new Error(Err::RepoError)];
|
||||||
|
|
||||||
|
|
||||||
|
/* (2) Setup data (remove self)
|
||||||
|
---------------------------------------------------------*/
|
||||||
|
return ['admins' => $listRs];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* MODIFICATION MOT DE PASSE ADMINISTRATEUR
|
||||||
|
*
|
||||||
|
* @old<String> Ancien mot de passe (actuel)
|
||||||
|
* @new<String> Nouveau mot de passe
|
||||||
|
* @confirm<String> Confirmation mot de passe
|
||||||
|
*
|
||||||
|
* @return status<Boolean> TRUE si les crédits sont bons, sinon FALSE
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public function update_admin($params){
|
||||||
|
extract($params);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* [1] On vérifie la confirmation de mot de passe
|
||||||
|
=========================================================*/
|
||||||
|
if( $new !== $confirm )
|
||||||
|
return [ 'error' => new Error(Err::WrongParam, 'confirm') ];
|
||||||
|
|
||||||
|
|
||||||
|
/* [2] On vérifie le mot de passe actuel
|
||||||
|
=========================================================*/
|
||||||
|
/* (1) On hash le mot de passe actuel */
|
||||||
|
$hash_old = secure_hash($old, $_SESSION['ADMIN']['username']);
|
||||||
|
|
||||||
|
/* (2) On vérifie que le mot de passe est correct */
|
||||||
|
$checkPassword = new Repo('admin/getById', [
|
||||||
|
$_SESSION['WAREHOUSE']['id'],
|
||||||
|
$_SESSION['ADMIN']['id']
|
||||||
|
]);
|
||||||
|
|
||||||
|
$adminFetched = $checkPassword->answer();
|
||||||
|
|
||||||
|
// Si aucun résultat -> erreur
|
||||||
|
if( $adminFetched === false )
|
||||||
|
return [ 'error' => new Error(Err::NoMatchFound) ];
|
||||||
|
|
||||||
|
|
||||||
|
/* [3] On vérifie le mot de passe actuel
|
||||||
|
=========================================================*/
|
||||||
|
// Si mot de passe faux, on retourne une erreur
|
||||||
|
if( $adminFetched['password'] != $hash_old )
|
||||||
|
return [ 'error' => new Error(Err::WrongParam, 'old') ];
|
||||||
|
|
||||||
|
|
||||||
|
/* [3] On met à jour le mot de passe
|
||||||
|
=========================================================*/
|
||||||
|
/* (1) On hash le nouveau mot de passe */
|
||||||
|
$hash_new = secure_hash($new, $adminFetched['username']);
|
||||||
|
|
||||||
|
/* (w) Requête */
|
||||||
|
$update = new Repo('admin/edit', [
|
||||||
|
$adminFetched['id_admin'],
|
||||||
|
$adminFetched['username'],
|
||||||
|
$adminFetched['mail'],
|
||||||
|
$hash_new
|
||||||
|
]);
|
||||||
|
|
||||||
|
/* (3) Gestion erreur */
|
||||||
|
if( !$update->answer() )
|
||||||
|
return [ 'error' => new Error(Err::RepoError) ];
|
||||||
|
|
||||||
|
/* (4) Succès si tout ok */
|
||||||
|
return [ 'error' => new Error(Err::Success) ];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* MODIFICATION CODE D'ACCES ENTREPOT
|
/* MODIFICATION CODE D'ACCES ENTREPOT
|
||||||
*
|
*
|
||||||
* @old<String> Ancien code d'accès (actuel)
|
* @old<String> Ancien code d'accès (actuel)
|
||||||
|
@ -186,6 +296,69 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* CREATION D'UN NOUVEAL ADMINISTRATEUR
|
||||||
|
*
|
||||||
|
* @username<String> Identifiant du nouvel administrateur
|
||||||
|
*
|
||||||
|
* @return password<String> Mot de passe généré
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public function create_admin($params){
|
||||||
|
extract($params);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* [1] On génère un mot de passe
|
||||||
|
=========================================================*/
|
||||||
|
$password = secure_hash(uniqid(), uniqid());
|
||||||
|
|
||||||
|
|
||||||
|
/* [2] On vérifie l'unicité de l'identifiant
|
||||||
|
=========================================================*/
|
||||||
|
/* (1) On vérifie que l'identifiant n'existe pas */
|
||||||
|
$checkPassword = new Repo('admin/getByUsername', [
|
||||||
|
$_SESSION['WAREHOUSE']['id'],
|
||||||
|
$username
|
||||||
|
]);
|
||||||
|
|
||||||
|
$adminFetched = $checkPassword->answer();
|
||||||
|
|
||||||
|
// Si un résultat -> erreur
|
||||||
|
if( $adminFetched !== false )
|
||||||
|
return [ 'error' => new Error(Err::AlreadyExists, 'username') ];
|
||||||
|
|
||||||
|
|
||||||
|
/* [3] On crée l'administrateur
|
||||||
|
=========================================================*/
|
||||||
|
/* (1) Requête */
|
||||||
|
$create = new Repo('admin/create', [
|
||||||
|
$_SESSION['WAREHOUSE']['id'],
|
||||||
|
$username,
|
||||||
|
$mail,
|
||||||
|
$password
|
||||||
|
]);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* (3) Gestion erreur */
|
||||||
|
if( !$create->answer() )
|
||||||
|
return [ 'error' => new Error(Err::RepoError) ];
|
||||||
|
|
||||||
|
/* (4) Succès si tout ok */
|
||||||
|
return [ 'password' => $password ];
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -150,88 +150,6 @@
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* (x) Return the machine history for an history entry
|
|
||||||
*
|
|
||||||
* @id_entry<id> UID of the history entry
|
|
||||||
*
|
|
||||||
* @return timeline<array> Machine timeline data
|
|
||||||
*
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
|
|
||||||
public function get_timeline($params){
|
|
||||||
extract($params);
|
|
||||||
|
|
||||||
/* (1) Get history entry data
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
/* (1) Request */
|
|
||||||
$entry = new Repo('history/getById', [$id_entry]);
|
|
||||||
|
|
||||||
/* (2) Get response */
|
|
||||||
$entry = $entry->answer();
|
|
||||||
|
|
||||||
/* (3) Manage error */
|
|
||||||
if( !is_array($entry) )
|
|
||||||
return ['error' => new Error(Err::RepoError)];
|
|
||||||
|
|
||||||
|
|
||||||
/* (2) Get history for machine
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
/* (1) Request */
|
|
||||||
$timeline = new Repo('history/getByIdMachine', [
|
|
||||||
$_SESSION['WAREHOUSE']['id'],
|
|
||||||
$entry['id_machine']
|
|
||||||
]);
|
|
||||||
|
|
||||||
/* (2) Get response */
|
|
||||||
$timeline = $timeline->answer();
|
|
||||||
|
|
||||||
/* (3) Manage error */
|
|
||||||
if( $timeline === false )
|
|
||||||
return ['error' => new Error(Err::RepoError)];
|
|
||||||
|
|
||||||
|
|
||||||
/* (3) Return data
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
return [ 'timeline' => $timeline ];
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* (x) Return the entry data for an history id
|
|
||||||
*
|
|
||||||
* @id_entry<id> UID of the history entry
|
|
||||||
*
|
|
||||||
* @return data<array> Entry data
|
|
||||||
*
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
|
|
||||||
public function getById($params){
|
|
||||||
extract($params);
|
|
||||||
|
|
||||||
/* (1) Get history entry data
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
/* (1) Request */
|
|
||||||
$entry = new Repo('history/getById', [$id_entry]);
|
|
||||||
|
|
||||||
/* (2) Get response */
|
|
||||||
$entry = $entry->answer();
|
|
||||||
|
|
||||||
/* (3) Manage error */
|
|
||||||
if( !is_array($entry) )
|
|
||||||
return ['error' => new Error(Err::RepoError)];
|
|
||||||
|
|
||||||
|
|
||||||
/* (2) Return data
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
return [ 'entry' => $entry ];
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -383,7 +383,7 @@
|
||||||
/* [3] Get history for the machine
|
/* [3] Get history for the machine
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
/* (1) Write request */
|
/* (1) Write request */
|
||||||
$history_req = new Repo('history/getByIdMachine', [$_SESSION['WAREHOUSE']['id'], $id_machine]);
|
$history_req = new Repo('history/getByIdMachine', [$id_machine]);
|
||||||
|
|
||||||
/* (2) Manage error */
|
/* (2) Manage error */
|
||||||
if( $history_req->error->get() != Err::Success )
|
if( $history_req->error->get() != Err::Success )
|
||||||
|
|
|
@ -131,17 +131,15 @@
|
||||||
|
|
||||||
/* SUPPRIME UN ENTREPOT DONNE
|
/* SUPPRIME UN ENTREPOT DONNE
|
||||||
*
|
*
|
||||||
* @id_warehouse<int> UID de l'entrepôt en question
|
* @id_admin<int> UID de l'administrateur en question
|
||||||
* @id_admin<int> UID de l'administrateur en question
|
|
||||||
*
|
*
|
||||||
* @return status<Boolean> Retourne si oui ou non l'administrateur a bien ete supprime
|
* @return status<Boolean> Retourne si oui ou non l'administrateur a bien ete supprime
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static function delete($id_warehouse, $id_admin){
|
public static function delete($id_admin){
|
||||||
/* [1] On redige/execute la requete
|
/* [1] On redige/execute la requete
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$deleted = Table::get('admin')
|
$deleted = Table::get('admin')
|
||||||
->whereIdWarehouse($id_warehouse)
|
|
||||||
->whereId($id_admin)
|
->whereId($id_admin)
|
||||||
->delete();
|
->delete();
|
||||||
|
|
||||||
|
|
|
@ -88,37 +88,15 @@
|
||||||
* FALSE si aucun résultat
|
* FALSE si aucun résultat
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static function getByIdMachine($id_warehouse, $id_machine){
|
public static function getByIdMachine($id_machine){
|
||||||
|
|
||||||
/* [1] On rédige/execute la requête
|
/* [1] On rédige/execute la requête
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$users = Table::get('user')
|
$machine = Table::get('history')
|
||||||
->whereIdWarehouse($id_warehouse)
|
->whereIdMachine($id_machine)
|
||||||
->select('id_user')
|
->orderby('timestamp', Rows::ORDER_DESC)
|
||||||
->select('username', null, null, 'user_name')
|
->select('*');
|
||||||
->select('firstname', null, null, 'user_firstname')
|
|
||||||
->select('lastname', null, null, 'user_lastname');
|
|
||||||
|
|
||||||
$machines = Table::get('machine')
|
return $machine->fetch();
|
||||||
->whereIdWarehouse($id_warehouse)
|
|
||||||
->whereId($id_machine)
|
|
||||||
->select('id_machine')
|
|
||||||
->select('name', null, null, 'machine_name');
|
|
||||||
|
|
||||||
$actions = Table::get('action')
|
|
||||||
->select('id_action')
|
|
||||||
->select('name', null, null, 'action_name');
|
|
||||||
|
|
||||||
|
|
||||||
$history = Table::get('history')
|
|
||||||
->join('id_user', $users)
|
|
||||||
->join('id_machine', $machines)
|
|
||||||
->join('id_action', $actions)
|
|
||||||
->select('id_history')
|
|
||||||
->select('timestamp')
|
|
||||||
->orderby('timestamp', Rows::ORDER_DESC);
|
|
||||||
|
|
||||||
return $history->fetch();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -156,23 +134,21 @@
|
||||||
|
|
||||||
/* RETOURNE UNE ENTREE SPECIFIQUE
|
/* RETOURNE UNE ENTREE SPECIFIQUE
|
||||||
*
|
*
|
||||||
* @id_entry<int> UID de l'entrée historique
|
* @id_history<int> UID de l'entree
|
||||||
*
|
*
|
||||||
* @return entry<Array> Données de l'entree
|
* @return entry<Array> Données de l'entree
|
||||||
* FALSE si erreur | aucun résultat
|
* FALSE si aucun résultat
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static function getById($id_entry){
|
public static function getById($id_history){
|
||||||
/* [1] On rédige/execute la requête
|
/* [1] On rédige/execute la requête
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$entry = Table::get('history')
|
$user = Table::get('user')
|
||||||
->whereId($id_entry)
|
->whereId($id_history)
|
||||||
->orderby('timestamp', Rows::ORDER_DESC)
|
->orderby('timestamp', Rows::ORDER_DESC)
|
||||||
->select('*')
|
->select('*');
|
||||||
->unique();
|
|
||||||
|
|
||||||
return $entry->fetch();
|
|
||||||
|
|
||||||
|
return $user->fetch();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -235,60 +211,34 @@
|
||||||
/* [1] Recherche dans les relations 'machines'
|
/* [1] Recherche dans les relations 'machines'
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
/* (1) On exécute la requête */
|
/* (1) On exécute la requête */
|
||||||
$machines_rq = new Repo('machine/search', [$id_warehouse, $keyword]);
|
$machines_r = new Repo('machine/search', [$id_warehouse, $keyword]);
|
||||||
|
|
||||||
$machines_rs = $machines_rq->answer();
|
|
||||||
|
|
||||||
/* (2) Gestion succès */
|
/* (2) Gestion succès */
|
||||||
if( is_array($machines_rs) )
|
if( $machines_r->error->get() == Err::Success )
|
||||||
foreach($machines_rs as $row)
|
foreach($machines_r->answer() as $row)
|
||||||
$machine_ids[] = $row['id_machine'];
|
$machine_ids[] = $row['id_machine'];
|
||||||
|
|
||||||
/* [2] Recherche dans les relations 'users'
|
/* [2] Recherche dans les relations 'users'
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
/* (1) On cherche dans les utilisateurs */
|
/* (1) On cherche dans les utilisateurs */
|
||||||
$users_rq = new Repo('user/search', [$id_warehouse, $keyword]);
|
$users_r = new Repo('user/search', [$id_warehouse, $keyword]);
|
||||||
|
|
||||||
$users_rs = $users_rq->answer();
|
|
||||||
|
|
||||||
/* (2) Gestion succès */
|
/* (2) Gestion succès */
|
||||||
if( is_array($users_rs) )
|
if( $users_r->error->get() == Err::Success )
|
||||||
foreach($users_rs as $row)
|
foreach($users_r->answer() as $row)
|
||||||
$user_ids[] = $row['id_user'];
|
$user_ids[] = $row['id_user'];
|
||||||
|
|
||||||
|
|
||||||
/* [3] On rédige/execute la requête
|
/* [3] On rédige/execute la requête
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
/* (1) Recherche par utilisateur */
|
$history_r = DatabaseDriver::getPDO()->prepare("SELECT id_history FROM history
|
||||||
$history_r_user = Table::get('history')
|
WHERE id_user IN (SELECT id_user FROM user WHERE username LIKE '%$keyword%')
|
||||||
->select('id_history')
|
or id_machine IN (SELECT id_machine FROM machine WHERE name LIKE '%$keyword%')
|
||||||
->whereIdUser([ $user_ids, Rows::COND_IN ]);
|
ORDER BY timestamp DESC;");
|
||||||
|
|
||||||
/* (2) Recherche par utilisateur */
|
$history_r->execute();
|
||||||
$history_r_machine = Table::get('history')
|
|
||||||
->select('id_history')
|
|
||||||
->whereIdMachine([ $machine_ids, Rows::COND_IN ]);
|
|
||||||
|
|
||||||
/* (3) On enregistre les entrées par utilisateur */
|
return DatabaseDriver::delNumeric( $history_r->fetchAll() );
|
||||||
$already_id = [];
|
|
||||||
$ids = $history_r_user->fetch();
|
|
||||||
|
|
||||||
foreach($ids as $user_result)
|
|
||||||
$already_id[ $user_result['id_history'] ] = null;
|
|
||||||
|
|
||||||
/* (4) On ajoute les entrées par machines (si pas déja) */
|
|
||||||
foreach($history_r_machine->fetch() as $machine_result)
|
|
||||||
|
|
||||||
if( !isset($already_id[$machine_result['id_history']]) ){
|
|
||||||
|
|
||||||
$ids[] = $machine_result;
|
|
||||||
$already_id[ $machine_result['id_history'] ] = null;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* (5) On retourne le total */
|
|
||||||
return $ids;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -65,75 +65,15 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static function search($id_warehouse, $keyword){
|
public static function search($id_warehouse, $keyword){
|
||||||
|
// On recupere les donnees
|
||||||
/* (1) Format keyword
|
$search = Table::get('machine')
|
||||||
---------------------------------------------------------*/ {
|
->whereIdWarehouse($id_warehouse)
|
||||||
|
->whereName(["%$keyword%", Rows::COND_LIKE])
|
||||||
/* (1) Make all lowercase */
|
|
||||||
$keyword = strtolower($keyword);
|
|
||||||
|
|
||||||
/* (2) Create a keyword set (separator: space) */
|
|
||||||
$keywords = [];
|
|
||||||
$keywords_tmp = explode(' ', $keyword);
|
|
||||||
|
|
||||||
/* (4) Trim each keyword + ignore empty ones (2 consecutive spaces) */
|
|
||||||
foreach($keywords_tmp as $kw){
|
|
||||||
|
|
||||||
// ignore empty keywords
|
|
||||||
if( strlen(trim($kw)) == 0 )
|
|
||||||
continue;
|
|
||||||
|
|
||||||
// store others
|
|
||||||
$keywords[] = trim($kw);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* (2) Search for each keyword
|
|
||||||
---------------------------------------------------------*/ {
|
|
||||||
|
|
||||||
/* (1) Initialise id list that will contain each matching user ids */
|
|
||||||
$mac_id_list = [];
|
|
||||||
|
|
||||||
/* (2) Request for each keyword */
|
|
||||||
foreach($keywords as $kw){
|
|
||||||
|
|
||||||
// {2.1} Request //
|
|
||||||
$searchmac = Table::get('machine')
|
|
||||||
->select('id_machine')
|
|
||||||
->whereIdWarehouse($id_warehouse)
|
|
||||||
->whereName(["%$kw%", Rows::COND_LIKE] );
|
|
||||||
|
|
||||||
// {2.2} Fetch result //
|
|
||||||
$matches = $searchmac->fetch();
|
|
||||||
|
|
||||||
// {2.3} Only add non-already added ids //
|
|
||||||
foreach($matches as $match){
|
|
||||||
|
|
||||||
// {2.4.1} If not already -> add it //
|
|
||||||
if( !isset($mac_id_list[ $match['id_machine'] ]) )
|
|
||||||
$mac_id_list[ $match['id_machine'] ] = null;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* (3) Join results
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
/* (1) Join request */
|
|
||||||
$join_rq = Table::get('machine')
|
|
||||||
->select('id_machine')
|
->select('id_machine')
|
||||||
->select('name')
|
->select('name')
|
||||||
->whereId([array_keys($mac_id_list), Rows::COND_IN]);
|
->orderby('name', Rows::ORDER_ASC);
|
||||||
|
|
||||||
/* (2) Return result */
|
|
||||||
return $join_rq->fetch();
|
|
||||||
|
|
||||||
|
return $search->fetch();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -66,82 +66,22 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static function search($id_warehouse, $keyword){
|
public static function search($id_warehouse, $keyword){
|
||||||
|
// On recupere les donnees
|
||||||
|
$searchusers = DatabaseDriver::getPDO()->prepare("SELECT * FROM user
|
||||||
|
WHERE id_warehouse = :id_warehouse
|
||||||
|
AND ( code LIKE '%".$keyword."%'
|
||||||
|
OR username LIKE '%".$keyword."%'
|
||||||
|
OR firstname LIKE '%".$keyword."%'
|
||||||
|
OR lastname LIKE '%".$keyword."%'
|
||||||
|
OR mail LIKE '%".$keyword."%'
|
||||||
|
)
|
||||||
|
");
|
||||||
|
|
||||||
/* (1) Format keyword
|
$searchusers->execute([
|
||||||
---------------------------------------------------------*/ {
|
':id_warehouse' => $id_warehouse
|
||||||
|
]);
|
||||||
|
|
||||||
/* (1) Make all lowercase */
|
return DatabaseDriver::delNumeric( $searchusers->fetchAll() );
|
||||||
$keyword = strtolower($keyword);
|
|
||||||
|
|
||||||
/* (2) Create a keyword set (separator: space) */
|
|
||||||
$keywords = [];
|
|
||||||
$keywords_tmp = explode(' ', $keyword);
|
|
||||||
|
|
||||||
/* (4) Trim each keyword + ignore empty ones (2 consecutive spaces) */
|
|
||||||
foreach($keywords_tmp as $kw){
|
|
||||||
|
|
||||||
// ignore empty keywords
|
|
||||||
if( strlen(trim($kw)) == 0 )
|
|
||||||
continue;
|
|
||||||
|
|
||||||
// store others
|
|
||||||
$keywords[] = trim($kw);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* (2) Search for each keyword
|
|
||||||
---------------------------------------------------------*/ {
|
|
||||||
|
|
||||||
/* (1) Initialise id list that will contain each matching user ids */
|
|
||||||
$user_id_list = [];
|
|
||||||
|
|
||||||
/* (2) Request for each keyword */
|
|
||||||
foreach($keywords as $kw){
|
|
||||||
|
|
||||||
// {2.1} Request //
|
|
||||||
$searchusers = DatabaseDriver::getPDO()->prepare("SELECT id_user FROM user
|
|
||||||
WHERE id_warehouse = :id_warehouse
|
|
||||||
AND ( LOWER(code) LIKE '%".$kw."%'
|
|
||||||
OR LOWER(username) LIKE '%".$kw."%'
|
|
||||||
OR LOWER(firstname) LIKE '%".$kw."%'
|
|
||||||
OR LOWER(lastname) LIKE '%".$kw."%'
|
|
||||||
OR LOWER(mail) LIKE '%".$kw."%'
|
|
||||||
)
|
|
||||||
");
|
|
||||||
|
|
||||||
// {2.2} Inject params //
|
|
||||||
$searchusers->execute([ ':id_warehouse' => $id_warehouse ]);
|
|
||||||
|
|
||||||
// {2.3} Fetch result //
|
|
||||||
$matches = DatabaseDriver::delNumeric( $searchusers->fetchAll() );
|
|
||||||
|
|
||||||
// {2.4} Only add non-already added ids //
|
|
||||||
foreach($matches as $match){
|
|
||||||
|
|
||||||
// {2.4.1} If not already -> add it //
|
|
||||||
if( !isset($user_id_list[ $match['id_user'] ]) )
|
|
||||||
$user_id_list[ $match['id_user'] ] = null;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* (3) Join results
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
/* (1) Join request */
|
|
||||||
$join_rq = Table::get('user')
|
|
||||||
->select('*')
|
|
||||||
->whereId([array_keys($user_id_list), Rows::COND_IN]);
|
|
||||||
|
|
||||||
/* (2) Return result */
|
|
||||||
return $join_rq->fetch();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
{% block search_bar %} <input type='text' class='searchbar' placeholder='Recherche'> {% endblock %}
|
{% block search_bar %} <input type='text' class='searchbar' placeholder='Recherche'> {% endblock %}
|
||||||
|
|
||||||
{% set count = 0 %}
|
{% set noresult = true %}
|
||||||
|
|
||||||
{# {% block user_cluster_list %} #}
|
{% block user_cluster_list %}
|
||||||
|
|
||||||
{% for user_cluster in core.get_clusters(0) %}
|
{% for user_cluster in core.get_clusters(0) %}
|
||||||
|
|
||||||
{% set count = count + 1 %}
|
{% set noresult = false %}
|
||||||
|
|
||||||
{% set id_user_cluster = 'u' ~ user_cluster.id_user_cluster %}
|
{% set id_user_cluster = 'u' ~ user_cluster.id_user_cluster %}
|
||||||
{% set memlen = core.get_members(user_cluster.id_user_cluster,0) | length %}
|
{% set memlen = core.get_members(user_cluster.id_user_cluster,0) | length %}
|
||||||
|
@ -58,16 +58,15 @@
|
||||||
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
{# {% endblock %} #}
|
{% endblock %}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{# {% block machines_cluster_list %} #}
|
{% block machines_cluster_list %}
|
||||||
|
|
||||||
{% for machine_cluster in core.get_clusters(1) %}
|
{% for machine_cluster in core.get_clusters(1) %}
|
||||||
|
|
||||||
{% set count = count + 1 %}
|
{% set noresult = false %}
|
||||||
|
|
||||||
|
|
||||||
{% set id_machine_cluster = 'm' ~ machine_cluster.id_machine_cluster %}
|
{% set id_machine_cluster = 'm' ~ machine_cluster.id_machine_cluster %}
|
||||||
{% set memlen = core.get_members(machine_cluster.id_machine_cluster,1) | length %}
|
{% set memlen = core.get_members(machine_cluster.id_machine_cluster,1) | length %}
|
||||||
|
@ -133,16 +132,16 @@
|
||||||
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
{# {% endblock %} #}
|
{% endblock %}
|
||||||
|
|
||||||
|
|
||||||
{# if no result #}
|
{# if no result #}
|
||||||
{% if count <= 0 %}
|
{% if noresult %}
|
||||||
|
|
||||||
{% block no_result %}
|
{% block no_result %}
|
||||||
|
|
||||||
<article class='inline-box'>
|
<article class='inline-box'>
|
||||||
<span>Aucun résultat {{ count }}</span>
|
<span>Aucun groupe trouvé</span>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -10,247 +10,11 @@
|
||||||
class main extends i_view{
|
class main extends i_view{
|
||||||
|
|
||||||
public $id_history;
|
public $id_history;
|
||||||
public $timeline = [];
|
|
||||||
public $entry = [];
|
|
||||||
|
|
||||||
|
|
||||||
/* (1) Constructor
|
|
||||||
*
|
|
||||||
* @id_history<id> UID of the history entry
|
|
||||||
*
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
public function __construct($id_history){
|
public function __construct($id_history){
|
||||||
/* (1) Set attributes
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
$this->id_history = $id_history;
|
$this->id_history = $id_history;
|
||||||
|
|
||||||
|
|
||||||
/* (3) Get entry data
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
/* (1) Request */
|
|
||||||
$entry_req = new Request('historyDefault/getById', [ 'id_entry' => $this->id_history ]);
|
|
||||||
|
|
||||||
/* (2) Get response */
|
|
||||||
$entry_res = $entry_req->dispatch();
|
|
||||||
|
|
||||||
/* (3) On success, store entry data */
|
|
||||||
if( $entry_res->error->get() == Err::Success )
|
|
||||||
$this->entry = $entry_res->get('entry');
|
|
||||||
|
|
||||||
|
|
||||||
/* (3) Get machine timeline
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
/* (1) Request */
|
|
||||||
$mac_req = new Request('historyDefault/get_timeline', [ 'id_entry' => $this->id_history ]);
|
|
||||||
|
|
||||||
/* (2) Get response */
|
|
||||||
$mac_res = $mac_req->dispatch();
|
|
||||||
|
|
||||||
/* (3) On success, store timeline data */
|
|
||||||
if( $mac_res->error->get() == Err::Success ){
|
|
||||||
$this->timeline = $mac_res->get('timeline');
|
|
||||||
|
|
||||||
// add date nodes to the timeline
|
|
||||||
$this->add_date_nodes();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* (2) Format timeline data to svg render
|
|
||||||
*
|
|
||||||
* @return svg<String> SVG raw render
|
|
||||||
*
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
public function svg(){
|
|
||||||
|
|
||||||
/* (1) Initialize variables
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
/* (1) Set date() timezone */
|
|
||||||
date_default_timezone_set('Europe/Paris');
|
|
||||||
debug();
|
|
||||||
|
|
||||||
/* (2) Init. result raw svg */
|
|
||||||
$RAW = '';
|
|
||||||
|
|
||||||
/* (3) Set global range */
|
|
||||||
$c = 0;
|
|
||||||
$cl = count($this->timeline);
|
|
||||||
|
|
||||||
// if no entry -> abort
|
|
||||||
if( $cl == 0 )
|
|
||||||
return '';
|
|
||||||
|
|
||||||
/* (4) Useful variables */
|
|
||||||
$y_pad = 50; // padding between each node
|
|
||||||
$line_pad = 50; // padding on each LINE end
|
|
||||||
$line_height = ( $cl + 1 ) * $y_pad; // line height (each node * @y_pad + @y_pad)
|
|
||||||
$height = $line_height + 2*$line_pad; // svg height
|
|
||||||
$width = 200; // svg width
|
|
||||||
$x = 50; // center width
|
|
||||||
|
|
||||||
/* (5) Svg tag */
|
|
||||||
$RAW .= "<svg width='$width' height='$height' viewBox='0 0 $width $height' class='timeline'>";
|
|
||||||
|
|
||||||
/* (6) Start CIRCLE */ {
|
|
||||||
|
|
||||||
// {6.1} Date node //
|
|
||||||
$y = $line_pad;
|
|
||||||
$RAW .= "<circle cx='$x' cy='$y' r='7' fill='#edf0f5' class='tstart'/>";
|
|
||||||
$RAW .= "<circle cx='$x' cy='$y' r='4' fill='#555' class='tstart'/>";
|
|
||||||
|
|
||||||
// {6.2} Date line to text //
|
|
||||||
$line_end_x = $x + (30-8);
|
|
||||||
$RAW .= "<path d='m".($x+8)." $y L$line_end_x $y' style='stroke-dasharray: 3px;' s stroke='#444'/>";
|
|
||||||
|
|
||||||
// {6.3} Date text //
|
|
||||||
$x_decal = $x + 30;
|
|
||||||
$y_decal = $y + 5;
|
|
||||||
$RAW .= "<text x='$x_decal' y='$y_decal' class='bold'>".date('d / m / Y', $this->timeline[0]['timestamp'])."</text>";
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* (2) Build barebone
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
/* (1) Default TIMELINE */
|
|
||||||
$line_end_y = $line_height + $line_pad;
|
|
||||||
$RAW .= "<path d='m$x $line_pad L$x $line_end_y' style='stroke-dasharray: 3px;' stroke='#444' class='timeline line'/>";
|
|
||||||
|
|
||||||
|
|
||||||
/* (3) Build each action
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
for( $c = 0 ; $c < $cl ; $c++ ){
|
|
||||||
|
|
||||||
/* (1) Calculate X */
|
|
||||||
$y = $line_pad + $y_pad + $c*$y_pad;
|
|
||||||
|
|
||||||
/* (2) Get entry data */
|
|
||||||
$entry = $this->timeline[$c];
|
|
||||||
|
|
||||||
/* (2.1) If DATE NODE -> add it */
|
|
||||||
if( isset($entry['date_node']) ){
|
|
||||||
|
|
||||||
// {2.1.1} Date node //
|
|
||||||
$RAW .= "<circle cx='$x' cy='$y' r='7' fill='#edf0f5' class='tstart'/>";
|
|
||||||
$RAW .= "<circle cx='$x' cy='$y' r='4' fill='#555' class='tstart'/>";
|
|
||||||
|
|
||||||
// {2.1.2} Date line to text //
|
|
||||||
$line_end_x = $x + (30-8);
|
|
||||||
$RAW .= "<path d='m".($x+8)." $y L$line_end_x $y' style='stroke-dasharray: 3px;' stroke='#555'/>";
|
|
||||||
|
|
||||||
// {2.1.3} Date text //
|
|
||||||
$x_decal = $x + 30;
|
|
||||||
$y_decal = $y + 5;
|
|
||||||
$RAW .= "<text x='$x_decal' y='$y_decal' class='bold'>".$entry['date_node']."</text>";
|
|
||||||
|
|
||||||
continue;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* (3) Get useful data */
|
|
||||||
$action_class = strtolower($entry['action_name']);
|
|
||||||
$icon_uri = '/src/static/timeline/'.$action_class.'@ffffff.svg';
|
|
||||||
$data_entry = "data-entry='".$entry['id_history']."'";
|
|
||||||
$data_user = " data-user='".$entry['user_name']."'";
|
|
||||||
$data_machine = " data-machine='".$entry['machine_name']."'";
|
|
||||||
$data_action = " data-action='".$entry['action_name']."'";
|
|
||||||
$data_time = " data-time='".date('H:i:s d/m/Y', $entry['timestamp'])."'";
|
|
||||||
$data_tags = $data_entry.$data_user.$data_machine.$data_action.$data_time;
|
|
||||||
|
|
||||||
$y_img = $y - 5.5;
|
|
||||||
|
|
||||||
/* (4) Draw entry circles */
|
|
||||||
$RAW .= "<circle cx='$x' cy='$y' r='15' class='timeline around $action_class' $data_tags id='e".$entry['id_history']."' data-y='$y' />";
|
|
||||||
$RAW .= "<circle cx='$x' cy='$y' r='12' class='timeline center $action_class' />";
|
|
||||||
|
|
||||||
/* (5) Draw entry icon (action) */
|
|
||||||
$x_decal = $x - 5.5;
|
|
||||||
$RAW .= "\t<image x='$x_decal' y='$y_img' width='12' height='12' xlink:href='$icon_uri' class='icon' />";
|
|
||||||
|
|
||||||
/* (6) Draw circle below if current user */
|
|
||||||
if( $this->entry['id_user'] == $entry['id_user'] ){
|
|
||||||
|
|
||||||
$x_decal = $x - 25;
|
|
||||||
|
|
||||||
// {6.1} If current ENTRY -> draw big circle //
|
|
||||||
if( $this->entry['id_history'] == $entry['id_history'] )
|
|
||||||
$RAW .= "<circle cx='$x_decal' cy='$y' r='4' class='timeline below $action_class' />";
|
|
||||||
|
|
||||||
// {6.2} Else -> draw little circle //
|
|
||||||
else
|
|
||||||
$RAW .= "<circle cx='$x_decal' cy='$y' r='2' class='timeline below $action_class' />";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* (6) Hour */
|
|
||||||
$x_decal = $x + 25;
|
|
||||||
$y_decal = $y + 5;
|
|
||||||
$RAW .= "<text x='$x_decal' y='$y_decal' class='$action_class'>".date('H:i:s', $entry['timestamp'])." - ".$entry['user_name']."</text>";
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* (4) Close SVG
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
/* (1) Stop CIRCLE */
|
|
||||||
$y = $line_height + $line_pad;
|
|
||||||
$RAW .= "<circle cx='$x' cy='$y' r='6' fill='#edf0f5' class='tstop' />";
|
|
||||||
$RAW .= "<circle cx='$x' cy='$y' r='4' fill='#555' class='tstop' />";
|
|
||||||
|
|
||||||
/* (2) Close SVG tag */
|
|
||||||
$RAW .= "</svg>";
|
|
||||||
|
|
||||||
|
|
||||||
/* (5) Create invisible infobox (for now)
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
$RAW .= "<div class='timeline infobox'></div>";
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return $RAW;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* (3) Add events for new day in @this->timeline
|
|
||||||
*
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
private function add_date_nodes(){
|
|
||||||
|
|
||||||
/* (1) Initialization
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
/* (1) Initialize variables */
|
|
||||||
$last_day = null;
|
|
||||||
$new_timeline = []; // will contain the new @timeline data
|
|
||||||
|
|
||||||
|
|
||||||
/* (2) Browse each entry
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
foreach($this->timeline as $entry){
|
|
||||||
|
|
||||||
/* (1) If different day (not null) -> add a node + update last_day */
|
|
||||||
if( !is_null($last_day) && $last_day != date('d / m / Y', $entry['timestamp']) )
|
|
||||||
$new_timeline[] = [ 'date_node' => $last_day ];
|
|
||||||
|
|
||||||
/* (2) In all cases -> copy the event */
|
|
||||||
$new_timeline[] = $entry;
|
|
||||||
|
|
||||||
/* (3) Update the day */
|
|
||||||
$last_day = date('d / m / Y', $entry['timestamp']);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* (3) Update the result
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
$this->timeline = $new_timeline;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,6 +1 @@
|
||||||
<!-- <span class='in-dev'>In development.. This feature will soon be available.</span> -->
|
<span class='in-dev'>In development.. This feature will soon be available.</span>
|
||||||
|
|
||||||
<article class='timeline container' data-length='{{ core.timeline | length }}'>
|
|
||||||
{{ core.svg() | raw }}
|
|
||||||
</article>
|
|
||||||
|
|
|
@ -72,7 +72,7 @@
|
||||||
{% block no_result %}
|
{% block no_result %}
|
||||||
|
|
||||||
<article class='inline-box'>
|
<article class='inline-box'>
|
||||||
<span>Aucun groupe machine trouvé.</span>
|
<span>Aucun groupe trouvé.</span>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
{% block generated %}
|
{% block generated %}
|
||||||
|
|
||||||
<input id='admin_password' type='text' placeholder='Mot de passe généré...'><br>
|
<input id='admin_password' type='text' placeholder='Mot de passe généré...' disabled><br>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
|
|
||||||
public function get_admins(){
|
public function get_admins(){
|
||||||
/* (1) On exécute la requête */
|
/* (1) On exécute la requête */
|
||||||
$adminListRq = new Request('adminDefault/getAll');
|
$adminListRq = new Request('authenticationDefault/get_admins');
|
||||||
|
|
||||||
/* (2) On recupere la reponse */
|
/* (2) On recupere la reponse */
|
||||||
$adminListRs = $adminListRq->dispatch();
|
$adminListRs = $adminListRq->dispatch();
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
{% block entry_tag %} <article class='inline-row' id='{{ admin.id_admin }}'> {% endblock %}
|
{% block entry_tag %} <article class='inline-row' id='{{ admin.id_admin }}'> {% endblock %}
|
||||||
|
|
||||||
{% block entry_name %} <span data-admin='{{ admin.id_admin }}' class='title'><span style='color: {{ core.theme }};'>{{ admin.username }}</span></span> {% endblock %}
|
{% block entry_name %} <span data-admin='{{ admin.id_admin }}' class='title'><span style='color: {{ core.theme }};'>#{{ admin.username }}</span></span> {% endblock %}
|
||||||
|
|
||||||
{% block entry_mail %}
|
{% block entry_mail %}
|
||||||
|
|
||||||
|
|
|
@ -55,7 +55,7 @@
|
||||||
{% block no_result %}
|
{% block no_result %}
|
||||||
|
|
||||||
<article class='inline-box'>
|
<article class='inline-box'>
|
||||||
<span>Aucun groupe utilisateur trouvé.</span>
|
<span>Aucun groupe trouvé.</span>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
|
|
||||||
/* [2] Define headers
|
/* [2] Define headers
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$this->headers = self::getallheaders_adapter();
|
$this->headers = \getallheaders();
|
||||||
|
|
||||||
|
|
||||||
/* [3] Define default datasets (GET, POST)
|
/* [3] Define default datasets (GET, POST)
|
||||||
|
@ -201,30 +201,4 @@
|
||||||
public function HEADERS(){ return $this->headers; }
|
public function HEADERS(){ return $this->headers; }
|
||||||
public function METHOD(){ return $this->method; }
|
public function METHOD(){ return $this->method; }
|
||||||
public function URI(){ return $this->uri; }
|
public function URI(){ return $this->uri; }
|
||||||
|
|
||||||
|
|
||||||
private static function getallheaders_adapter(){
|
|
||||||
/* (1) If exists -> use it
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
if( function_exists('getallheaders') )
|
|
||||||
return getallheaders();
|
|
||||||
|
|
||||||
/* (2) If does not (php-fpm)
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
/* (1) init. variables */
|
|
||||||
$fetched_headers = [];
|
|
||||||
|
|
||||||
/* (2) Get all headers from $_SERVER */
|
|
||||||
foreach($_SERVER as $hname=>$hvalue ){
|
|
||||||
|
|
||||||
// {1} Store only if begins with 'HTTP_' //
|
|
||||||
if( substr($hname,0,5) == 'HTTP_' )
|
|
||||||
$fetched_headers[ str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($hname,5)))))] = $hvalue;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/* (3) Return created headers */
|
|
||||||
return $fetched_headers;
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -237,7 +237,7 @@
|
||||||
/* [3] If `IN` condition
|
/* [3] If `IN` condition
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$defaultWhere = $this->where;
|
$defaultWhere = $this->where;
|
||||||
$inCond = is_array($args[0]) && count($args[0]) > 1 && is_array($args[0][0]) && $args[0][1] == self::COND_IN;
|
$inCond = count($args[0]) > 1 && is_array($args[0][0]) && $args[0][1] == self::COND_IN;
|
||||||
|
|
||||||
// erreur
|
// erreur
|
||||||
if( is_array($args[0][0]) && !$inCond )
|
if( is_array($args[0][0]) && !$inCond )
|
||||||
|
|
|
@ -132,10 +132,7 @@
|
||||||
/* [1] On construit la requête
|
/* [1] On construit la requête
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
/* (1) Chamo */
|
/* (1) Chamo */
|
||||||
if( $value[1] == Rows::COND_LIKE ) // make LIKE lowercase
|
$sql .= $field[0].'.'.$field[1].' ';
|
||||||
$sql .= 'LOWER('.$field[0].'.'.$field[1].') ';
|
|
||||||
else
|
|
||||||
$sql .= $field[0].'.'.$field[1].' ';
|
|
||||||
|
|
||||||
/* (2) Opérateur */
|
/* (2) Opérateur */
|
||||||
$sql .= substr($value[1], 2, -2).' ';
|
$sql .= substr($value[1], 2, -2).' ';
|
||||||
|
@ -146,7 +143,7 @@
|
||||||
$sql .= 'NULL';
|
$sql .= 'NULL';
|
||||||
return $sql;
|
return $sql;
|
||||||
}
|
}
|
||||||
|
|
||||||
// {2} Si not NULL //
|
// {2} Si not NULL //
|
||||||
$sql .= ':'.$field[0].'_x_'.$field[1].'_'.$offset;
|
$sql .= ':'.$field[0].'_x_'.$field[1].'_'.$offset;
|
||||||
|
|
||||||
|
|
|
@ -18,10 +18,6 @@ class Router{
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public function __construct($url){
|
public function __construct($url){
|
||||||
// Format URI (ne doit pas avoir le premier '/')
|
|
||||||
if( preg_match("@^/@", $url) )
|
|
||||||
$url = substr($url, 1);
|
|
||||||
|
|
||||||
$this->url = $url;
|
$this->url = $url;
|
||||||
|
|
||||||
// On initialise les routes
|
// On initialise les routes
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace token\core;
|
|
||||||
|
|
||||||
class TreeTokenNull{
|
|
||||||
|
|
||||||
public function __construct(){}
|
|
||||||
|
|
||||||
public function init_parent(){ return true; }
|
|
||||||
|
|
||||||
public function init_child(){ return true; }
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -4,20 +4,21 @@
|
||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
|
"hash": "a67d059eefe03511f76073ba76c61878",
|
||||||
"content-hash": "98f631539238eb6dba4f74f1ae9e4744",
|
"content-hash": "98f631539238eb6dba4f74f1ae9e4744",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-mbstring",
|
"name": "symfony/polyfill-mbstring",
|
||||||
"version": "v1.7.0",
|
"version": "v1.6.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
||||||
"reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b"
|
"reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b",
|
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296",
|
||||||
"reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b",
|
"reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -29,7 +30,7 @@
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "1.7-dev"
|
"dev-master": "1.6-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
@ -63,7 +64,7 @@
|
||||||
"portable",
|
"portable",
|
||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"time": "2018-01-30T19:27:44+00:00"
|
"time": "2017-10-11 12:05:26"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "twig/twig",
|
"name": "twig/twig",
|
||||||
|
@ -129,22 +130,22 @@
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"templating"
|
"templating"
|
||||||
],
|
],
|
||||||
"time": "2017-09-27T17:50:14+00:00"
|
"time": "2017-09-27 17:50:14"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"packages-dev": [
|
"packages-dev": [
|
||||||
{
|
{
|
||||||
"name": "composer/ca-bundle",
|
"name": "composer/ca-bundle",
|
||||||
"version": "1.1.0",
|
"version": "1.0.8",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/composer/ca-bundle.git",
|
"url": "https://github.com/composer/ca-bundle.git",
|
||||||
"reference": "943b2c4fcad1ef178d16a713c2468bf7e579c288"
|
"reference": "9dd73a03951357922d8aee6cc084500de93e2343"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/composer/ca-bundle/zipball/943b2c4fcad1ef178d16a713c2468bf7e579c288",
|
"url": "https://api.github.com/repos/composer/ca-bundle/zipball/9dd73a03951357922d8aee6cc084500de93e2343",
|
||||||
"reference": "943b2c4fcad1ef178d16a713c2468bf7e579c288",
|
"reference": "9dd73a03951357922d8aee6cc084500de93e2343",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -153,9 +154,12 @@
|
||||||
"php": "^5.3.2 || ^7.0"
|
"php": "^5.3.2 || ^7.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpunit/phpunit": "^4.8.35",
|
"phpunit/phpunit": "^4.5",
|
||||||
"psr/log": "^1.0",
|
"psr/log": "^1.0",
|
||||||
"symfony/process": "^2.5 || ^3.0 || ^4.0"
|
"symfony/process": "^2.5 || ^3.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"symfony/process": "This is necessary to reliably check whether openssl_x509_parse is vulnerable on older php versions, but can be ignored on PHP 5.5.6+"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
|
@ -187,39 +191,39 @@
|
||||||
"ssl",
|
"ssl",
|
||||||
"tls"
|
"tls"
|
||||||
],
|
],
|
||||||
"time": "2017-11-29T09:37:33+00:00"
|
"time": "2017-09-11 07:24:36"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "composer/composer",
|
"name": "composer/composer",
|
||||||
"version": "1.6.3",
|
"version": "1.5.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/composer/composer.git",
|
"url": "https://github.com/composer/composer.git",
|
||||||
"reference": "88a69fda0f2187ad8714cedffd7a8872dceaa4c2"
|
"reference": "c639623fa2178b404ed4bab80f0d1263853fa4ae"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/composer/composer/zipball/88a69fda0f2187ad8714cedffd7a8872dceaa4c2",
|
"url": "https://api.github.com/repos/composer/composer/zipball/c639623fa2178b404ed4bab80f0d1263853fa4ae",
|
||||||
"reference": "88a69fda0f2187ad8714cedffd7a8872dceaa4c2",
|
"reference": "c639623fa2178b404ed4bab80f0d1263853fa4ae",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"composer/ca-bundle": "^1.0",
|
"composer/ca-bundle": "^1.0",
|
||||||
"composer/semver": "^1.0",
|
"composer/semver": "^1.0",
|
||||||
"composer/spdx-licenses": "^1.2",
|
"composer/spdx-licenses": "^1.0",
|
||||||
"justinrainbow/json-schema": "^3.0 || ^4.0 || ^5.0",
|
"justinrainbow/json-schema": "^3.0 || ^4.0 || ^5.0",
|
||||||
"php": "^5.3.2 || ^7.0",
|
"php": "^5.3.2 || ^7.0",
|
||||||
"psr/log": "^1.0",
|
"psr/log": "^1.0",
|
||||||
"seld/cli-prompt": "^1.0",
|
"seld/cli-prompt": "^1.0",
|
||||||
"seld/jsonlint": "^1.4",
|
"seld/jsonlint": "^1.4",
|
||||||
"seld/phar-utils": "^1.0",
|
"seld/phar-utils": "^1.0",
|
||||||
"symfony/console": "^2.7 || ^3.0 || ^4.0",
|
"symfony/console": "^2.7 || ^3.0",
|
||||||
"symfony/filesystem": "^2.7 || ^3.0 || ^4.0",
|
"symfony/filesystem": "^2.7 || ^3.0",
|
||||||
"symfony/finder": "^2.7 || ^3.0 || ^4.0",
|
"symfony/finder": "^2.7 || ^3.0",
|
||||||
"symfony/process": "^2.7 || ^3.0 || ^4.0"
|
"symfony/process": "^2.7 || ^3.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpunit/phpunit": "^4.8.35 || ^5.7",
|
"phpunit/phpunit": "^4.5 || ^5.0.5",
|
||||||
"phpunit/phpunit-mock-objects": "^2.3 || ^3.0"
|
"phpunit/phpunit-mock-objects": "^2.3 || ^3.0"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
|
@ -233,7 +237,7 @@
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "1.6-dev"
|
"dev-master": "1.5-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
@ -264,7 +268,7 @@
|
||||||
"dependency",
|
"dependency",
|
||||||
"package"
|
"package"
|
||||||
],
|
],
|
||||||
"time": "2018-01-31T15:28:18+00:00"
|
"time": "2017-09-11 14:59:26"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "composer/semver",
|
"name": "composer/semver",
|
||||||
|
@ -326,27 +330,27 @@
|
||||||
"validation",
|
"validation",
|
||||||
"versioning"
|
"versioning"
|
||||||
],
|
],
|
||||||
"time": "2016-08-30T16:08:34+00:00"
|
"time": "2016-08-30 16:08:34"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "composer/spdx-licenses",
|
"name": "composer/spdx-licenses",
|
||||||
"version": "1.3.0",
|
"version": "1.1.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/composer/spdx-licenses.git",
|
"url": "https://github.com/composer/spdx-licenses.git",
|
||||||
"reference": "7e111c50db92fa2ced140f5ba23b4e261bc77a30"
|
"reference": "2603a0d7ddc00a015deb576fa5297ca43dee6b1c"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/composer/spdx-licenses/zipball/7e111c50db92fa2ced140f5ba23b4e261bc77a30",
|
"url": "https://api.github.com/repos/composer/spdx-licenses/zipball/2603a0d7ddc00a015deb576fa5297ca43dee6b1c",
|
||||||
"reference": "7e111c50db92fa2ced140f5ba23b4e261bc77a30",
|
"reference": "2603a0d7ddc00a015deb576fa5297ca43dee6b1c",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^5.3.2 || ^7.0"
|
"php": "^5.3.2 || ^7.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5",
|
"phpunit/phpunit": "^4.5 || ^5.0.5",
|
||||||
"phpunit/phpunit-mock-objects": "2.3.0 || ^3.0"
|
"phpunit/phpunit-mock-objects": "2.3.0 || ^3.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
|
@ -387,24 +391,24 @@
|
||||||
"spdx",
|
"spdx",
|
||||||
"validator"
|
"validator"
|
||||||
],
|
],
|
||||||
"time": "2018-01-31T13:17:27+00:00"
|
"time": "2017-04-03 19:08:52"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "doctrine/collections",
|
"name": "doctrine/collections",
|
||||||
"version": "v1.5.0",
|
"version": "v1.4.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/doctrine/collections.git",
|
"url": "https://github.com/doctrine/collections.git",
|
||||||
"reference": "a01ee38fcd999f34d9bfbcee59dbda5105449cbf"
|
"reference": "1a4fb7e902202c33cce8c55989b945612943c2ba"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/doctrine/collections/zipball/a01ee38fcd999f34d9bfbcee59dbda5105449cbf",
|
"url": "https://api.github.com/repos/doctrine/collections/zipball/1a4fb7e902202c33cce8c55989b945612943c2ba",
|
||||||
"reference": "a01ee38fcd999f34d9bfbcee59dbda5105449cbf",
|
"reference": "1a4fb7e902202c33cce8c55989b945612943c2ba",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^7.1"
|
"php": "^5.6 || ^7.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"doctrine/coding-standard": "~0.1@dev",
|
"doctrine/coding-standard": "~0.1@dev",
|
||||||
|
@ -454,28 +458,26 @@
|
||||||
"collections",
|
"collections",
|
||||||
"iterator"
|
"iterator"
|
||||||
],
|
],
|
||||||
"time": "2017-07-22T10:37:32+00:00"
|
"time": "2017-01-03 10:49:41"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "gitonomy/gitlib",
|
"name": "gitonomy/gitlib",
|
||||||
"version": "v1.0.3",
|
"version": "v1.0.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/gitonomy/gitlib.git",
|
"url": "https://github.com/gitonomy/gitlib.git",
|
||||||
"reference": "1c2b0605115786613cb517798046c8ab57c17097"
|
"reference": "b4b916423a2e2da631cf3b3787beb9386a7b253c"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/gitonomy/gitlib/zipball/1c2b0605115786613cb517798046c8ab57c17097",
|
"url": "https://api.github.com/repos/gitonomy/gitlib/zipball/b4b916423a2e2da631cf3b3787beb9386a7b253c",
|
||||||
"reference": "1c2b0605115786613cb517798046c8ab57c17097",
|
"reference": "b4b916423a2e2da631cf3b3787beb9386a7b253c",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^5.3 || ^7.0",
|
"symfony/process": "^2.3|^3.0"
|
||||||
"symfony/process": "^2.3|^3.0|^4.0"
|
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpunit/phpunit": "^4.8.35|^5.7",
|
|
||||||
"psr/log": "^1.0"
|
"psr/log": "^1.0"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
|
@ -510,7 +512,7 @@
|
||||||
],
|
],
|
||||||
"description": "Library for accessing git",
|
"description": "Library for accessing git",
|
||||||
"homepage": "http://gitonomy.com",
|
"homepage": "http://gitonomy.com",
|
||||||
"time": "2018-01-10T11:34:47+00:00"
|
"time": "2016-05-11 08:25:40"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "jakub-onderka/php-parallel-lint",
|
"name": "jakub-onderka/php-parallel-lint",
|
||||||
|
@ -557,7 +559,7 @@
|
||||||
],
|
],
|
||||||
"description": "This tool check syntax of PHP files about 20x faster than serial check.",
|
"description": "This tool check syntax of PHP files about 20x faster than serial check.",
|
||||||
"homepage": "https://github.com/JakubOnderka/PHP-Parallel-Lint",
|
"homepage": "https://github.com/JakubOnderka/PHP-Parallel-Lint",
|
||||||
"time": "2015-12-15T10:42:16+00:00"
|
"time": "2015-12-15 10:42:16"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "justinrainbow/json-schema",
|
"name": "justinrainbow/json-schema",
|
||||||
|
@ -623,7 +625,7 @@
|
||||||
"json",
|
"json",
|
||||||
"schema"
|
"schema"
|
||||||
],
|
],
|
||||||
"time": "2017-10-21T13:15:38+00:00"
|
"time": "2017-10-21 13:15:38"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "kahlan/kahlan",
|
"name": "kahlan/kahlan",
|
||||||
|
@ -677,7 +679,7 @@
|
||||||
"testing",
|
"testing",
|
||||||
"unit test"
|
"unit test"
|
||||||
],
|
],
|
||||||
"time": "2017-08-12T20:37:11+00:00"
|
"time": "2017-08-12 20:37:11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "monolog/monolog",
|
"name": "monolog/monolog",
|
||||||
|
@ -755,31 +757,31 @@
|
||||||
"logging",
|
"logging",
|
||||||
"psr-3"
|
"psr-3"
|
||||||
],
|
],
|
||||||
"time": "2017-06-19T01:22:40+00:00"
|
"time": "2017-06-19 01:22:40"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "ocramius/package-versions",
|
"name": "ocramius/package-versions",
|
||||||
"version": "1.3.0",
|
"version": "1.1.3",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/Ocramius/PackageVersions.git",
|
"url": "https://github.com/Ocramius/PackageVersions.git",
|
||||||
"reference": "4489d5002c49d55576fa0ba786f42dbb009be46f"
|
"reference": "72b226d2957e9e6a9ed09aeaa29cabd840d1a3b7"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/Ocramius/PackageVersions/zipball/4489d5002c49d55576fa0ba786f42dbb009be46f",
|
"url": "https://api.github.com/repos/Ocramius/PackageVersions/zipball/72b226d2957e9e6a9ed09aeaa29cabd840d1a3b7",
|
||||||
"reference": "4489d5002c49d55576fa0ba786f42dbb009be46f",
|
"reference": "72b226d2957e9e6a9ed09aeaa29cabd840d1a3b7",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"composer-plugin-api": "^1.0.0",
|
"composer-plugin-api": "^1.0",
|
||||||
"php": "^7.1.0"
|
"php": "~7.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"composer/composer": "^1.6.3",
|
"composer/composer": "^1.3",
|
||||||
"ext-zip": "*",
|
"ext-zip": "*",
|
||||||
"infection/infection": "^0.7.1",
|
"humbug/humbug": "dev-master",
|
||||||
"phpunit/phpunit": "^7.0.0"
|
"phpunit/phpunit": "^5.7.5"
|
||||||
},
|
},
|
||||||
"type": "composer-plugin",
|
"type": "composer-plugin",
|
||||||
"extra": {
|
"extra": {
|
||||||
|
@ -804,37 +806,33 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
|
"description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
|
||||||
"time": "2018-02-05T13:05:30+00:00"
|
"time": "2017-09-06 15:24:43"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "ocramius/proxy-manager",
|
"name": "ocramius/proxy-manager",
|
||||||
"version": "2.1.1",
|
"version": "2.0.4",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/Ocramius/ProxyManager.git",
|
"url": "https://github.com/Ocramius/ProxyManager.git",
|
||||||
"reference": "e18ac876b2e4819c76349de8f78ccc8ef1554cd7"
|
"reference": "a55d08229f4f614bf335759ed0cf63378feeb2e6"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/Ocramius/ProxyManager/zipball/e18ac876b2e4819c76349de8f78ccc8ef1554cd7",
|
"url": "https://api.github.com/repos/Ocramius/ProxyManager/zipball/a55d08229f4f614bf335759ed0cf63378feeb2e6",
|
||||||
"reference": "e18ac876b2e4819c76349de8f78ccc8ef1554cd7",
|
"reference": "a55d08229f4f614bf335759ed0cf63378feeb2e6",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"ocramius/package-versions": "^1.1.1",
|
"ocramius/package-versions": "^1.0",
|
||||||
"php": "^7.1.0",
|
"php": "7.0.0 - 7.0.5 || ^7.0.7",
|
||||||
"zendframework/zend-code": "^3.1.0"
|
"zendframework/zend-code": "3.0.0 - 3.0.2 || ^3.0.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"couscous/couscous": "^1.5.2",
|
"couscous/couscous": "^1.4.0",
|
||||||
"ext-phar": "*",
|
"ext-phar": "*",
|
||||||
"humbug/humbug": "dev-master@DEV",
|
"phpbench/phpbench": "^0.11.2",
|
||||||
"nikic/php-parser": "^3.0.4",
|
"phpunit/phpunit": "^5.4.6",
|
||||||
"phpbench/phpbench": "^0.12.2",
|
"squizlabs/php_codesniffer": "^2.6.0"
|
||||||
"phpstan/phpstan": "^0.6.4",
|
|
||||||
"phpunit/phpunit": "^5.6.4",
|
|
||||||
"phpunit/phpunit-mock-objects": "^3.4.1",
|
|
||||||
"squizlabs/php_codesniffer": "^2.7.0"
|
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"ocramius/generated-hydrator": "To have very fast object to array to object conversion for ghost objects",
|
"ocramius/generated-hydrator": "To have very fast object to array to object conversion for ghost objects",
|
||||||
|
@ -873,7 +871,7 @@
|
||||||
"proxy pattern",
|
"proxy pattern",
|
||||||
"service proxies"
|
"service proxies"
|
||||||
],
|
],
|
||||||
"time": "2017-05-04T11:12:50+00:00"
|
"time": "2016-11-04 15:53:15"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpro/grumphp",
|
"name": "phpro/grumphp",
|
||||||
|
@ -970,7 +968,7 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "A composer plugin that enables source code quality checks.",
|
"description": "A composer plugin that enables source code quality checks.",
|
||||||
"time": "2017-05-31T17:49:48+00:00"
|
"time": "2017-05-31 17:49:48"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "psr/container",
|
"name": "psr/container",
|
||||||
|
@ -1019,7 +1017,7 @@
|
||||||
"container-interop",
|
"container-interop",
|
||||||
"psr"
|
"psr"
|
||||||
],
|
],
|
||||||
"time": "2017-02-14T16:28:37+00:00"
|
"time": "2017-02-14 16:28:37"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "psr/log",
|
"name": "psr/log",
|
||||||
|
@ -1066,7 +1064,7 @@
|
||||||
"psr",
|
"psr",
|
||||||
"psr-3"
|
"psr-3"
|
||||||
],
|
],
|
||||||
"time": "2016-10-10T12:19:37+00:00"
|
"time": "2016-10-10 12:19:37"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "seld/cli-prompt",
|
"name": "seld/cli-prompt",
|
||||||
|
@ -1114,27 +1112,27 @@
|
||||||
"input",
|
"input",
|
||||||
"prompt"
|
"prompt"
|
||||||
],
|
],
|
||||||
"time": "2017-03-18T11:32:45+00:00"
|
"time": "2017-03-18 11:32:45"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "seld/jsonlint",
|
"name": "seld/jsonlint",
|
||||||
"version": "1.7.1",
|
"version": "1.6.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/Seldaek/jsonlint.git",
|
"url": "https://github.com/Seldaek/jsonlint.git",
|
||||||
"reference": "d15f59a67ff805a44c50ea0516d2341740f81a38"
|
"reference": "50d63f2858d87c4738d5b76a7dcbb99fa8cf7c77"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/d15f59a67ff805a44c50ea0516d2341740f81a38",
|
"url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/50d63f2858d87c4738d5b76a7dcbb99fa8cf7c77",
|
||||||
"reference": "d15f59a67ff805a44c50ea0516d2341740f81a38",
|
"reference": "50d63f2858d87c4738d5b76a7dcbb99fa8cf7c77",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^5.3 || ^7.0"
|
"php": "^5.3 || ^7.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
|
"phpunit/phpunit": "^4.5"
|
||||||
},
|
},
|
||||||
"bin": [
|
"bin": [
|
||||||
"bin/jsonlint"
|
"bin/jsonlint"
|
||||||
|
@ -1163,7 +1161,7 @@
|
||||||
"parser",
|
"parser",
|
||||||
"validator"
|
"validator"
|
||||||
],
|
],
|
||||||
"time": "2018-01-24T12:46:19+00:00"
|
"time": "2017-06-18 15:11:04"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "seld/phar-utils",
|
"name": "seld/phar-utils",
|
||||||
|
@ -1207,34 +1205,34 @@
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"phra"
|
"phra"
|
||||||
],
|
],
|
||||||
"time": "2015-10-13T18:44:15+00:00"
|
"time": "2015-10-13 18:44:15"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/config",
|
"name": "symfony/config",
|
||||||
"version": "v3.4.4",
|
"version": "v3.3.10",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/config.git",
|
"url": "https://github.com/symfony/config.git",
|
||||||
"reference": "72689b934d6c6ecf73eca874e98933bf055313c9"
|
"reference": "4ab62407bff9cd97c410a7feaef04c375aaa5cfd"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/config/zipball/72689b934d6c6ecf73eca874e98933bf055313c9",
|
"url": "https://api.github.com/repos/symfony/config/zipball/4ab62407bff9cd97c410a7feaef04c375aaa5cfd",
|
||||||
"reference": "72689b934d6c6ecf73eca874e98933bf055313c9",
|
"reference": "4ab62407bff9cd97c410a7feaef04c375aaa5cfd",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^5.5.9|>=7.0.8",
|
"php": "^5.5.9|>=7.0.8",
|
||||||
"symfony/filesystem": "~2.8|~3.0|~4.0"
|
"symfony/filesystem": "~2.8|~3.0"
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symfony/dependency-injection": "<3.3",
|
"symfony/dependency-injection": "<3.3",
|
||||||
"symfony/finder": "<3.3"
|
"symfony/finder": "<3.3"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"symfony/dependency-injection": "~3.3|~4.0",
|
"symfony/dependency-injection": "~3.3",
|
||||||
"symfony/finder": "~3.3|~4.0",
|
"symfony/finder": "~3.3",
|
||||||
"symfony/yaml": "~3.0|~4.0"
|
"symfony/yaml": "~3.0"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"symfony/yaml": "To use the yaml reference dumper"
|
"symfony/yaml": "To use the yaml reference dumper"
|
||||||
|
@ -1242,7 +1240,7 @@
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "3.4-dev"
|
"dev-master": "3.3-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
@ -1269,49 +1267,48 @@
|
||||||
],
|
],
|
||||||
"description": "Symfony Config Component",
|
"description": "Symfony Config Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2018-01-21T19:05:02+00:00"
|
"time": "2017-10-04 18:56:58"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/console",
|
"name": "symfony/console",
|
||||||
"version": "v3.4.4",
|
"version": "v3.3.10",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/console.git",
|
"url": "https://github.com/symfony/console.git",
|
||||||
"reference": "26b6f419edda16c19775211987651cb27baea7f1"
|
"reference": "116bc56e45a8e5572e51eb43ab58c769a352366c"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/console/zipball/26b6f419edda16c19775211987651cb27baea7f1",
|
"url": "https://api.github.com/repos/symfony/console/zipball/116bc56e45a8e5572e51eb43ab58c769a352366c",
|
||||||
"reference": "26b6f419edda16c19775211987651cb27baea7f1",
|
"reference": "116bc56e45a8e5572e51eb43ab58c769a352366c",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^5.5.9|>=7.0.8",
|
"php": "^5.5.9|>=7.0.8",
|
||||||
"symfony/debug": "~2.8|~3.0|~4.0",
|
"symfony/debug": "~2.8|~3.0",
|
||||||
"symfony/polyfill-mbstring": "~1.0"
|
"symfony/polyfill-mbstring": "~1.0"
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symfony/dependency-injection": "<3.4",
|
"symfony/dependency-injection": "<3.3"
|
||||||
"symfony/process": "<3.3"
|
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"psr/log": "~1.0",
|
"psr/log": "~1.0",
|
||||||
"symfony/config": "~3.3|~4.0",
|
"symfony/config": "~3.3",
|
||||||
"symfony/dependency-injection": "~3.4|~4.0",
|
"symfony/dependency-injection": "~3.3",
|
||||||
"symfony/event-dispatcher": "~2.8|~3.0|~4.0",
|
"symfony/event-dispatcher": "~2.8|~3.0",
|
||||||
"symfony/lock": "~3.4|~4.0",
|
"symfony/filesystem": "~2.8|~3.0",
|
||||||
"symfony/process": "~3.3|~4.0"
|
"symfony/process": "~2.8|~3.0"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"psr/log": "For using the console logger",
|
"psr/log": "For using the console logger",
|
||||||
"symfony/event-dispatcher": "",
|
"symfony/event-dispatcher": "",
|
||||||
"symfony/lock": "",
|
"symfony/filesystem": "",
|
||||||
"symfony/process": ""
|
"symfony/process": ""
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "3.4-dev"
|
"dev-master": "3.3-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
@ -1338,36 +1335,36 @@
|
||||||
],
|
],
|
||||||
"description": "Symfony Console Component",
|
"description": "Symfony Console Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2018-01-29T09:03:43+00:00"
|
"time": "2017-10-02 06:42:24"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/debug",
|
"name": "symfony/debug",
|
||||||
"version": "v4.0.4",
|
"version": "v3.3.10",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/debug.git",
|
"url": "https://github.com/symfony/debug.git",
|
||||||
"reference": "c77bb31d0f6310a2ac11e657475d396a92e5dc54"
|
"reference": "eb95d9ce8f18dcc1b3dfff00cb624c402be78ffd"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/debug/zipball/c77bb31d0f6310a2ac11e657475d396a92e5dc54",
|
"url": "https://api.github.com/repos/symfony/debug/zipball/eb95d9ce8f18dcc1b3dfff00cb624c402be78ffd",
|
||||||
"reference": "c77bb31d0f6310a2ac11e657475d396a92e5dc54",
|
"reference": "eb95d9ce8f18dcc1b3dfff00cb624c402be78ffd",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^7.1.3",
|
"php": "^5.5.9|>=7.0.8",
|
||||||
"psr/log": "~1.0"
|
"psr/log": "~1.0"
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symfony/http-kernel": "<3.4"
|
"symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"symfony/http-kernel": "~3.4|~4.0"
|
"symfony/http-kernel": "~2.8|~3.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "4.0-dev"
|
"dev-master": "3.3-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
@ -1394,20 +1391,20 @@
|
||||||
],
|
],
|
||||||
"description": "Symfony Debug Component",
|
"description": "Symfony Debug Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2018-01-18T22:19:33+00:00"
|
"time": "2017-10-02 06:42:24"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/dependency-injection",
|
"name": "symfony/dependency-injection",
|
||||||
"version": "v3.4.4",
|
"version": "v3.3.10",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/dependency-injection.git",
|
"url": "https://github.com/symfony/dependency-injection.git",
|
||||||
"reference": "4b2717ee2499390e371e1fc7abaf886c1c83e83d"
|
"reference": "8ebad929aee3ca185b05f55d9cc5521670821ad1"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/4b2717ee2499390e371e1fc7abaf886c1c83e83d",
|
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/8ebad929aee3ca185b05f55d9cc5521670821ad1",
|
||||||
"reference": "4b2717ee2499390e371e1fc7abaf886c1c83e83d",
|
"reference": "8ebad929aee3ca185b05f55d9cc5521670821ad1",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -1415,18 +1412,17 @@
|
||||||
"psr/container": "^1.0"
|
"psr/container": "^1.0"
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symfony/config": "<3.3.7",
|
"symfony/config": "<3.3.1",
|
||||||
"symfony/finder": "<3.3",
|
"symfony/finder": "<3.3",
|
||||||
"symfony/proxy-manager-bridge": "<3.4",
|
"symfony/yaml": "<3.3"
|
||||||
"symfony/yaml": "<3.4"
|
|
||||||
},
|
},
|
||||||
"provide": {
|
"provide": {
|
||||||
"psr/container-implementation": "1.0"
|
"psr/container-implementation": "1.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"symfony/config": "~3.3|~4.0",
|
"symfony/config": "~3.3",
|
||||||
"symfony/expression-language": "~2.8|~3.0|~4.0",
|
"symfony/expression-language": "~2.8|~3.0",
|
||||||
"symfony/yaml": "~3.4|~4.0"
|
"symfony/yaml": "~3.3"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"symfony/config": "",
|
"symfony/config": "",
|
||||||
|
@ -1438,7 +1434,7 @@
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "3.4-dev"
|
"dev-master": "3.3-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
@ -1465,20 +1461,20 @@
|
||||||
],
|
],
|
||||||
"description": "Symfony DependencyInjection Component",
|
"description": "Symfony DependencyInjection Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2018-01-29T09:16:57+00:00"
|
"time": "2017-10-04 17:15:30"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/event-dispatcher",
|
"name": "symfony/event-dispatcher",
|
||||||
"version": "v3.4.4",
|
"version": "v3.3.10",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/event-dispatcher.git",
|
"url": "https://github.com/symfony/event-dispatcher.git",
|
||||||
"reference": "26b87b6bca8f8f797331a30b76fdae5342dc26ca"
|
"reference": "d7ba037e4b8221956ab1e221c73c9e27e05dd423"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/26b87b6bca8f8f797331a30b76fdae5342dc26ca",
|
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d7ba037e4b8221956ab1e221c73c9e27e05dd423",
|
||||||
"reference": "26b87b6bca8f8f797331a30b76fdae5342dc26ca",
|
"reference": "d7ba037e4b8221956ab1e221c73c9e27e05dd423",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -1489,10 +1485,10 @@
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"psr/log": "~1.0",
|
"psr/log": "~1.0",
|
||||||
"symfony/config": "~2.8|~3.0|~4.0",
|
"symfony/config": "~2.8|~3.0",
|
||||||
"symfony/dependency-injection": "~3.3|~4.0",
|
"symfony/dependency-injection": "~3.3",
|
||||||
"symfony/expression-language": "~2.8|~3.0|~4.0",
|
"symfony/expression-language": "~2.8|~3.0",
|
||||||
"symfony/stopwatch": "~2.8|~3.0|~4.0"
|
"symfony/stopwatch": "~2.8|~3.0"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"symfony/dependency-injection": "",
|
"symfony/dependency-injection": "",
|
||||||
|
@ -1501,7 +1497,7 @@
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "3.4-dev"
|
"dev-master": "3.3-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
@ -1528,20 +1524,20 @@
|
||||||
],
|
],
|
||||||
"description": "Symfony EventDispatcher Component",
|
"description": "Symfony EventDispatcher Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2018-01-03T07:37:34+00:00"
|
"time": "2017-10-02 06:42:24"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/filesystem",
|
"name": "symfony/filesystem",
|
||||||
"version": "v3.4.4",
|
"version": "v3.3.10",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/filesystem.git",
|
"url": "https://github.com/symfony/filesystem.git",
|
||||||
"reference": "e078773ad6354af38169faf31c21df0f18ace03d"
|
"reference": "90bc45abf02ae6b7deb43895c1052cb0038506f1"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/filesystem/zipball/e078773ad6354af38169faf31c21df0f18ace03d",
|
"url": "https://api.github.com/repos/symfony/filesystem/zipball/90bc45abf02ae6b7deb43895c1052cb0038506f1",
|
||||||
"reference": "e078773ad6354af38169faf31c21df0f18ace03d",
|
"reference": "90bc45abf02ae6b7deb43895c1052cb0038506f1",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -1550,7 +1546,7 @@
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "3.4-dev"
|
"dev-master": "3.3-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
@ -1577,20 +1573,20 @@
|
||||||
],
|
],
|
||||||
"description": "Symfony Filesystem Component",
|
"description": "Symfony Filesystem Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2018-01-03T07:37:34+00:00"
|
"time": "2017-10-03 13:33:10"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/finder",
|
"name": "symfony/finder",
|
||||||
"version": "v3.4.4",
|
"version": "v3.3.10",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/finder.git",
|
"url": "https://github.com/symfony/finder.git",
|
||||||
"reference": "613e26310776f49a1773b6737c6bd554b8bc8c6f"
|
"reference": "773e19a491d97926f236942484cb541560ce862d"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/finder/zipball/613e26310776f49a1773b6737c6bd554b8bc8c6f",
|
"url": "https://api.github.com/repos/symfony/finder/zipball/773e19a491d97926f236942484cb541560ce862d",
|
||||||
"reference": "613e26310776f49a1773b6737c6bd554b8bc8c6f",
|
"reference": "773e19a491d97926f236942484cb541560ce862d",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -1599,7 +1595,7 @@
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "3.4-dev"
|
"dev-master": "3.3-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
@ -1626,20 +1622,20 @@
|
||||||
],
|
],
|
||||||
"description": "Symfony Finder Component",
|
"description": "Symfony Finder Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2018-01-03T07:37:34+00:00"
|
"time": "2017-10-02 06:42:24"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/options-resolver",
|
"name": "symfony/options-resolver",
|
||||||
"version": "v3.4.4",
|
"version": "v3.3.10",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/options-resolver.git",
|
"url": "https://github.com/symfony/options-resolver.git",
|
||||||
"reference": "f3109a6aedd20e35c3a33190e932c2b063b7b50e"
|
"reference": "ee4e22978fe885b54ee5da8c7964f0a5301abfb6"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/f3109a6aedd20e35c3a33190e932c2b063b7b50e",
|
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/ee4e22978fe885b54ee5da8c7964f0a5301abfb6",
|
||||||
"reference": "f3109a6aedd20e35c3a33190e932c2b063b7b50e",
|
"reference": "ee4e22978fe885b54ee5da8c7964f0a5301abfb6",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -1648,7 +1644,7 @@
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "3.4-dev"
|
"dev-master": "3.3-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
@ -1680,20 +1676,20 @@
|
||||||
"configuration",
|
"configuration",
|
||||||
"options"
|
"options"
|
||||||
],
|
],
|
||||||
"time": "2018-01-11T07:56:07+00:00"
|
"time": "2017-07-29 21:54:42"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/process",
|
"name": "symfony/process",
|
||||||
"version": "v3.4.4",
|
"version": "v3.3.10",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/process.git",
|
"url": "https://github.com/symfony/process.git",
|
||||||
"reference": "09a5172057be8fc677840e591b17f385e58c7c0d"
|
"reference": "fdf89e57a723a29baf536e288d6e232c059697b1"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/process/zipball/09a5172057be8fc677840e591b17f385e58c7c0d",
|
"url": "https://api.github.com/repos/symfony/process/zipball/fdf89e57a723a29baf536e288d6e232c059697b1",
|
||||||
"reference": "09a5172057be8fc677840e591b17f385e58c7c0d",
|
"reference": "fdf89e57a723a29baf536e288d6e232c059697b1",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -1702,7 +1698,7 @@
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "3.4-dev"
|
"dev-master": "3.3-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
@ -1729,34 +1725,34 @@
|
||||||
],
|
],
|
||||||
"description": "Symfony Process Component",
|
"description": "Symfony Process Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2018-01-29T09:03:43+00:00"
|
"time": "2017-10-02 06:42:24"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/proxy-manager-bridge",
|
"name": "symfony/proxy-manager-bridge",
|
||||||
"version": "v3.4.4",
|
"version": "v3.3.10",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/proxy-manager-bridge.git",
|
"url": "https://github.com/symfony/proxy-manager-bridge.git",
|
||||||
"reference": "ffb375b65cf112364b5374ed99059975ca84a6bd"
|
"reference": "8c88403febb02a49e3f55512fced3c400c80cf28"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/proxy-manager-bridge/zipball/ffb375b65cf112364b5374ed99059975ca84a6bd",
|
"url": "https://api.github.com/repos/symfony/proxy-manager-bridge/zipball/8c88403febb02a49e3f55512fced3c400c80cf28",
|
||||||
"reference": "ffb375b65cf112364b5374ed99059975ca84a6bd",
|
"reference": "8c88403febb02a49e3f55512fced3c400c80cf28",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"ocramius/proxy-manager": "~0.4|~1.0|~2.0",
|
"ocramius/proxy-manager": "~0.4|~1.0|~2.0",
|
||||||
"php": "^5.5.9|>=7.0.8",
|
"php": "^5.5.9|>=7.0.8",
|
||||||
"symfony/dependency-injection": "~3.4|~4.0"
|
"symfony/dependency-injection": "~2.8|~3.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"symfony/config": "~2.8|~3.0|~4.0"
|
"symfony/config": "~2.8|~3.0"
|
||||||
},
|
},
|
||||||
"type": "symfony-bridge",
|
"type": "symfony-bridge",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "3.4-dev"
|
"dev-master": "3.3-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
@ -1783,30 +1779,27 @@
|
||||||
],
|
],
|
||||||
"description": "Symfony ProxyManager Bridge",
|
"description": "Symfony ProxyManager Bridge",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2018-01-03T07:37:34+00:00"
|
"time": "2017-10-02 06:42:24"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/yaml",
|
"name": "symfony/yaml",
|
||||||
"version": "v3.4.4",
|
"version": "v3.3.10",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/yaml.git",
|
"url": "https://github.com/symfony/yaml.git",
|
||||||
"reference": "eab73b6c21d27ae4cd037c417618dfd4befb0bfe"
|
"reference": "8c7bf1e7d5d6b05a690b715729cb4cd0c0a99c46"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/eab73b6c21d27ae4cd037c417618dfd4befb0bfe",
|
"url": "https://api.github.com/repos/symfony/yaml/zipball/8c7bf1e7d5d6b05a690b715729cb4cd0c0a99c46",
|
||||||
"reference": "eab73b6c21d27ae4cd037c417618dfd4befb0bfe",
|
"reference": "8c7bf1e7d5d6b05a690b715729cb4cd0c0a99c46",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^5.5.9|>=7.0.8"
|
"php": "^5.5.9|>=7.0.8"
|
||||||
},
|
},
|
||||||
"conflict": {
|
|
||||||
"symfony/console": "<3.4"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"symfony/console": "~3.4|~4.0"
|
"symfony/console": "~2.8|~3.0"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"symfony/console": "For validating YAML files using the lint command"
|
"symfony/console": "For validating YAML files using the lint command"
|
||||||
|
@ -1814,7 +1807,7 @@
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "3.4-dev"
|
"dev-master": "3.3-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
@ -1841,31 +1834,31 @@
|
||||||
],
|
],
|
||||||
"description": "Symfony Yaml Component",
|
"description": "Symfony Yaml Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2018-01-21T19:05:02+00:00"
|
"time": "2017-10-05 14:43:42"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "zendframework/zend-code",
|
"name": "zendframework/zend-code",
|
||||||
"version": "3.3.0",
|
"version": "3.1.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/zendframework/zend-code.git",
|
"url": "https://github.com/zendframework/zend-code.git",
|
||||||
"reference": "6b1059db5b368db769e4392c6cb6cc139e56640d"
|
"reference": "2899c17f83a7207f2d7f53ec2f421204d3beea27"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/zendframework/zend-code/zipball/6b1059db5b368db769e4392c6cb6cc139e56640d",
|
"url": "https://api.github.com/repos/zendframework/zend-code/zipball/2899c17f83a7207f2d7f53ec2f421204d3beea27",
|
||||||
"reference": "6b1059db5b368db769e4392c6cb6cc139e56640d",
|
"reference": "2899c17f83a7207f2d7f53ec2f421204d3beea27",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^7.1",
|
"php": "^5.6 || 7.0.0 - 7.0.4 || ^7.0.6",
|
||||||
"zendframework/zend-eventmanager": "^2.6 || ^3.0"
|
"zendframework/zend-eventmanager": "^2.6 || ^3.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"doctrine/annotations": "~1.0",
|
"doctrine/annotations": "~1.0",
|
||||||
"ext-phar": "*",
|
"ext-phar": "*",
|
||||||
"phpunit/phpunit": "^6.2.3",
|
"phpunit/phpunit": "^4.8.21",
|
||||||
"zendframework/zend-coding-standard": "^1.0.0",
|
"squizlabs/php_codesniffer": "^2.5",
|
||||||
"zendframework/zend-stdlib": "^2.7 || ^3.0"
|
"zendframework/zend-stdlib": "^2.7 || ^3.0"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
|
@ -1875,8 +1868,8 @@
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "3.2-dev",
|
"dev-master": "3.1-dev",
|
||||||
"dev-develop": "3.3-dev"
|
"dev-develop": "3.2-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
@ -1894,7 +1887,7 @@
|
||||||
"code",
|
"code",
|
||||||
"zf2"
|
"zf2"
|
||||||
],
|
],
|
||||||
"time": "2017-10-20T15:21:32+00:00"
|
"time": "2016-10-24 13:23:32"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "zendframework/zend-eventmanager",
|
"name": "zendframework/zend-eventmanager",
|
||||||
|
@ -1948,7 +1941,7 @@
|
||||||
"events",
|
"events",
|
||||||
"zf2"
|
"zf2"
|
||||||
],
|
],
|
||||||
"time": "2017-07-11T19:17:22+00:00"
|
"time": "2017-07-11 19:17:22"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
"documentationDefault": {
|
"documentationDefault": {
|
||||||
|
|
||||||
"apiBlueprint": {
|
"POST::apiBlueprint": {
|
||||||
"description": "Retourne une documentation de l'API au format API Blueprint.",
|
"description": "Retourne une documentation de l'API au format API Blueprint.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"options": { "download": true },
|
"options": { "download": true },
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
"motheure": {
|
"motheure": {
|
||||||
|
|
||||||
"getCount": {
|
"POST::getCount": {
|
||||||
"description": "Retourne le compteur horaire du moteur d'une machine donnée",
|
"description": "Retourne le compteur horaire du moteur d'une machine donnée",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -24,8 +24,7 @@
|
||||||
"count": { "description": "Compte horaire (en secondes)", "type": "int" }
|
"count": { "description": "Compte horaire (en secondes)", "type": "int" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"POST::increment": {
|
||||||
"increment": {
|
|
||||||
"description": "Incrémente le comptheure horaire d'une machine.",
|
"description": "Incrémente le comptheure horaire d'une machine.",
|
||||||
"permissions": [["sats"]],
|
"permissions": [["sats"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -38,7 +37,7 @@
|
||||||
|
|
||||||
|
|
||||||
"authenticationDefault": {
|
"authenticationDefault": {
|
||||||
"warehouse": {
|
"POST::warehouse": {
|
||||||
"description": "Connexion de premier niveau : entrepot.",
|
"description": "Connexion de premier niveau : entrepot.",
|
||||||
"permissions": [],
|
"permissions": [],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -50,7 +49,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"admin": {
|
"POST::admin": {
|
||||||
"description": "Connexion de second niveau : administrateur.",
|
"description": "Connexion de second niveau : administrateur.",
|
||||||
"permissions": [["warehouse"]],
|
"permissions": [["warehouse"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -62,23 +61,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"update_warehouse": {
|
"POST::get_admins": {
|
||||||
"description": "Changement de code d'accés de l'entrepôt",
|
|
||||||
"permissions": [["admin"]],
|
|
||||||
"parameters": {
|
|
||||||
"old": { "description": "Mot de passe actuel", "type": "text" },
|
|
||||||
"new": { "description": "Nouveau mot de passe", "type": "text" },
|
|
||||||
"confirm": { "description": "Confirmation du nouveau mot de passe", "type": "text" }
|
|
||||||
},
|
|
||||||
"output": {}
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
"adminDefault": {
|
|
||||||
|
|
||||||
"getAll": {
|
|
||||||
"description": "Retourne la liste des administrateurs de l'entrepôt.",
|
"description": "Retourne la liste des administrateurs de l'entrepôt.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {},
|
"parameters": {},
|
||||||
|
@ -87,7 +70,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"update": {
|
"POST::update_admin": {
|
||||||
"description": "Changement de mot de passe administrateur",
|
"description": "Changement de mot de passe administrateur",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -98,16 +81,18 @@
|
||||||
"output": {}
|
"output": {}
|
||||||
},
|
},
|
||||||
|
|
||||||
"delete": {
|
"POST::update_warehouse": {
|
||||||
"description": "Suppression d'un accès administrateur",
|
"description": "Changement de code d'accés de l'entrepôt",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
"id_admin": { "description": "Identifiant de l'administrateur", "type": "id" }
|
"old": { "description": "Mot de passe actuel", "type": "text" },
|
||||||
|
"new": { "description": "Nouveau mot de passe", "type": "text" },
|
||||||
|
"confirm": { "description": "Confirmation du nouveau mot de passe", "type": "text" }
|
||||||
},
|
},
|
||||||
"output": {}
|
"output": {}
|
||||||
},
|
},
|
||||||
|
|
||||||
"create": {
|
"POST::create_admin": {
|
||||||
"description": "Création d'un administrateur",
|
"description": "Création d'un administrateur",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -124,7 +109,7 @@
|
||||||
|
|
||||||
"userDefault": {
|
"userDefault": {
|
||||||
|
|
||||||
"create": {
|
"POST::create": {
|
||||||
"description": "Création d'un nouvel utilisateur.",
|
"description": "Création d'un nouvel utilisateur.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -139,7 +124,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"link": {
|
"POST::link": {
|
||||||
"description": "Ajout d'un utilisateur à un groupe.",
|
"description": "Ajout d'un utilisateur à un groupe.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -150,7 +135,7 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
"unlink": {
|
"POST::unlink": {
|
||||||
"description": "Retrait d'un utilisateur d'un groupe",
|
"description": "Retrait d'un utilisateur d'un groupe",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -160,7 +145,7 @@
|
||||||
"output": {}
|
"output": {}
|
||||||
},
|
},
|
||||||
|
|
||||||
"search": {
|
"POST::search": {
|
||||||
"description": "Recherche d'un utilisateur par mots-clés.",
|
"description": "Recherche d'un utilisateur par mots-clés.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -171,7 +156,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"getAll": {
|
"POST::getAll": {
|
||||||
"description": "Liste de tous les utilisateurs",
|
"description": "Liste de tous les utilisateurs",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {},
|
"parameters": {},
|
||||||
|
@ -180,7 +165,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"getById": {
|
"POST::getById": {
|
||||||
"description": "Retourne un utilisateur spécifique.",
|
"description": "Retourne un utilisateur spécifique.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -191,7 +176,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"getByCode": {
|
"POST::getByCode": {
|
||||||
"description": "Retourne un utilisateur de Code RFID donné.",
|
"description": "Retourne un utilisateur de Code RFID donné.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -202,7 +187,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"getByUsername": {
|
"POST::getByUsername": {
|
||||||
"description": "Retourne un utilisateur d'identifiant donné.",
|
"description": "Retourne un utilisateur d'identifiant donné.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -213,7 +198,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"getClusters": {
|
"POST::getClusters": {
|
||||||
"description": "Retourne les groupes d'un utilisateur.",
|
"description": "Retourne les groupes d'un utilisateur.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -224,7 +209,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"edit": {
|
"POST::edit": {
|
||||||
"description": "Modifie les attributs d'un utilisateur.",
|
"description": "Modifie les attributs d'un utilisateur.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -243,7 +228,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"delete": {
|
"POST::delete": {
|
||||||
"description": "Suppression d'un utilisateur.",
|
"description": "Suppression d'un utilisateur.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -259,7 +244,7 @@
|
||||||
|
|
||||||
"machineDefault": {
|
"machineDefault": {
|
||||||
|
|
||||||
"update": {
|
"POST::update": {
|
||||||
"description": "Mise à jour d'un SATS.",
|
"description": "Mise à jour d'un SATS.",
|
||||||
"permissions": [["sats"]],
|
"permissions": [["sats"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -270,7 +255,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"sync": {
|
"POST::sync": {
|
||||||
"description": "Synchronisation d'un SATS.",
|
"description": "Synchronisation d'un SATS.",
|
||||||
"permissions": [["warehouse"]],
|
"permissions": [["warehouse"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -283,7 +268,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"create": {
|
"POST::create": {
|
||||||
"description": "Création d'une nouvelle machine.",
|
"description": "Création d'une nouvelle machine.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -294,7 +279,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"link": {
|
"POST::link": {
|
||||||
"description": "Ajout d'une machine à un groupe.",
|
"description": "Ajout d'une machine à un groupe.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -304,7 +289,7 @@
|
||||||
"output": {}
|
"output": {}
|
||||||
},
|
},
|
||||||
|
|
||||||
"unlink": {
|
"POST::unlink": {
|
||||||
"description": "Retrait d'une machine d'un groupe.",
|
"description": "Retrait d'une machine d'un groupe.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -314,7 +299,7 @@
|
||||||
"output": {}
|
"output": {}
|
||||||
},
|
},
|
||||||
|
|
||||||
"search": {
|
"POST::search": {
|
||||||
"description": "Recherche une machine par mots-clés.",
|
"description": "Recherche une machine par mots-clés.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -325,7 +310,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"getAll": {
|
"POST::getAll": {
|
||||||
"description": "Retourne la liste de toutes les machines.",
|
"description": "Retourne la liste de toutes les machines.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {},
|
"parameters": {},
|
||||||
|
@ -334,7 +319,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"getById": {
|
"POST::getById": {
|
||||||
"description": "Retourne les données d'une machine.",
|
"description": "Retourne les données d'une machine.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -345,7 +330,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"getByName": {
|
"POST::getByName": {
|
||||||
"description": "Retourne les données d'une machine de nom donné.",
|
"description": "Retourne les données d'une machine de nom donné.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -356,7 +341,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"getClusters": {
|
"POST::getClusters": {
|
||||||
"description": "Retourne les groupes d'une machine.",
|
"description": "Retourne les groupes d'une machine.",
|
||||||
"permissions": [["admin"], ["sats"]],
|
"permissions": [["admin"], ["sats"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -367,7 +352,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"edit": {
|
"POST::edit": {
|
||||||
"description": "Modifie les attributs d'une machine.",
|
"description": "Modifie les attributs d'une machine.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -377,7 +362,7 @@
|
||||||
"output": {}
|
"output": {}
|
||||||
},
|
},
|
||||||
|
|
||||||
"delete": {
|
"POST::delete": {
|
||||||
"description": "Supprime une machine.",
|
"description": "Supprime une machine.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -388,7 +373,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"getState": {
|
"POST::getState": {
|
||||||
"description": "Retourne l'état d'une machine.",
|
"description": "Retourne l'état d'une machine.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -404,7 +389,7 @@
|
||||||
|
|
||||||
"clusterDefault": {
|
"clusterDefault": {
|
||||||
|
|
||||||
"create": {
|
"POST::create": {
|
||||||
"description": "Création d'un nouveau groupe.",
|
"description": "Création d'un nouveau groupe.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -416,7 +401,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"search": {
|
"POST::search": {
|
||||||
"description": "Recherche d'un groupe par mots-clés.",
|
"description": "Recherche d'un groupe par mots-clés.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -428,7 +413,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"getAll": {
|
"POST::getAll": {
|
||||||
"description": "Liste de tous les groupes",
|
"description": "Liste de tous les groupes",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -439,7 +424,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"getById": {
|
"POST::getById": {
|
||||||
"description": "Retourne un groupe spécifique.",
|
"description": "Retourne un groupe spécifique.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -451,7 +436,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"getByName": {
|
"POST::getByName": {
|
||||||
"description": "Retourne un groupe de nom donné.",
|
"description": "Retourne un groupe de nom donné.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -463,7 +448,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"getMembers": {
|
"POST::getMembers": {
|
||||||
"description": "Retourne les membres d'un groupe.",
|
"description": "Retourne les membres d'un groupe.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -475,7 +460,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"edit": {
|
"POST::edit": {
|
||||||
"description": "Modifie le nom d'un groupe.",
|
"description": "Modifie le nom d'un groupe.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -488,7 +473,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"delete": {
|
"POST::delete": {
|
||||||
"description": "Suppression d'un groupe.",
|
"description": "Suppression d'un groupe.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -500,7 +485,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"addPermission": {
|
"POST::addPermission": {
|
||||||
"description": "Ajout d'une permission",
|
"description": "Ajout d'une permission",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -511,7 +496,7 @@
|
||||||
"output": {}
|
"output": {}
|
||||||
},
|
},
|
||||||
|
|
||||||
"remPermission": {
|
"POST::remPermission": {
|
||||||
"description": "Suppression d'une permission",
|
"description": "Suppression d'une permission",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -522,7 +507,7 @@
|
||||||
"output": {}
|
"output": {}
|
||||||
},
|
},
|
||||||
|
|
||||||
"getPermissions": {
|
"POST::getPermissions": {
|
||||||
"description": "Retourne la liste des permissions",
|
"description": "Retourne la liste des permissions",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {},
|
"parameters": {},
|
||||||
|
@ -531,7 +516,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"getAuthenticatedClusters": {
|
"POST::getAuthenticatedClusters": {
|
||||||
"description": "Retourne les groupes d'utilisateurs ayant une action sur un groupe de machine.",
|
"description": "Retourne les groupes d'utilisateurs ayant une action sur un groupe de machine.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -543,7 +528,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"getModules": {
|
"POST::getModules": {
|
||||||
"description": "Retourne les modules d'un groupe de machines",
|
"description": "Retourne les modules d'un groupe de machines",
|
||||||
"permissions": [["admin"], ["sats"]],
|
"permissions": [["admin"], ["sats"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -554,7 +539,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"getEtrees": {
|
"POST::getEtrees": {
|
||||||
"description": "Retourne les e-trees d'un groupe de machines",
|
"description": "Retourne les e-trees d'un groupe de machines",
|
||||||
"permissions": [["admin"], ["sats"]],
|
"permissions": [["admin"], ["sats"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -568,7 +553,7 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
"historyDefault": {
|
"historyDefault": {
|
||||||
"create": {
|
"POST::create": {
|
||||||
"description": "Retourne l'historique complet",
|
"description": "Retourne l'historique complet",
|
||||||
"permissions": [["admin"], ["sats"]],
|
"permissions": [["admin"], ["sats"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -579,7 +564,7 @@
|
||||||
},
|
},
|
||||||
"output": {}
|
"output": {}
|
||||||
},
|
},
|
||||||
"getAll": {
|
"POST::getAll": {
|
||||||
"description": "Retourne l'historique complet",
|
"description": "Retourne l'historique complet",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {},
|
"parameters": {},
|
||||||
|
@ -588,7 +573,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"search": {
|
"POST::search": {
|
||||||
"description": "Recherche une entrée historique par mots-clés.",
|
"description": "Recherche une entrée historique par mots-clés.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -599,40 +584,18 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"archive": {
|
"POST::archive": {
|
||||||
"description": "Archive de l'historique complet.",
|
"description": "Archive de l'historique complet.",
|
||||||
"permissions": [["admin"]],
|
"permissions": [["admin"]],
|
||||||
"options": { "download": true },
|
"options": { "download": true },
|
||||||
"parameters": {},
|
"parameters": {},
|
||||||
"output": {}
|
"output": {}
|
||||||
},
|
|
||||||
|
|
||||||
"get_timeline": {
|
|
||||||
"description": "Retourne la timeline d'une machine pour associée à une entrée historique.",
|
|
||||||
"permissions": [["admin"]],
|
|
||||||
"parameters": {
|
|
||||||
"id_entry": { "description": "UID de l'entrée historique", "type": "id" }
|
|
||||||
},
|
|
||||||
"output": {
|
|
||||||
"timeline": { "description": "Données de la timeline.", "type": "array" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
"getById": {
|
|
||||||
"description": "Retourne les données associées à une entrée historique.",
|
|
||||||
"permissions": [["admin"]],
|
|
||||||
"parameters": {
|
|
||||||
"id_entry": { "description": "UID de l'entrée historique", "type": "id" }
|
|
||||||
},
|
|
||||||
"output": {
|
|
||||||
"entry": { "description": "Données de l'entrée.", "type": "array" }
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
"fetchDefault": {
|
"fetchDefault": {
|
||||||
"dispatch": {
|
"POST::dispatch": {
|
||||||
"description": "Dispatche la gestion des données reçues par un SATS",
|
"description": "Dispatche la gestion des données reçues par un SATS",
|
||||||
"permissions": [["sats"]],
|
"permissions": [["sats"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -644,7 +607,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"rfid_read": {
|
"POST::rfid_read": {
|
||||||
"description": "Enregistrement de l'historique de l'e-tree READ du module RFID",
|
"description": "Enregistrement de l'historique de l'e-tree READ du module RFID",
|
||||||
"permissions": [["sats"]],
|
"permissions": [["sats"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -655,7 +618,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"motheure_simple": {
|
"POST::motheure_simple": {
|
||||||
"description": "Enregistrement du compte horaire de l'e-tree SIMPLE du module MOTHEURE",
|
"description": "Enregistrement du compte horaire de l'e-tree SIMPLE du module MOTHEURE",
|
||||||
"permissions": [["sats"]],
|
"permissions": [["sats"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -669,7 +632,7 @@
|
||||||
|
|
||||||
"deployDefault": {
|
"deployDefault": {
|
||||||
|
|
||||||
"dispatch": {
|
"POST::dispatch": {
|
||||||
"description": "Dispatche la gestion des données à synchroniser par un SATS",
|
"description": "Dispatche la gestion des données à synchroniser par un SATS",
|
||||||
"permissions": [["sats"]],
|
"permissions": [["sats"]],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -680,7 +643,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"rfid_read": {
|
"POST::rfid_read": {
|
||||||
"description": "Enregistrement de l'historique de l'e-tree READ du module RFID",
|
"description": "Enregistrement de l'historique de l'e-tree READ du module RFID",
|
||||||
"permissions": [["sats"]],
|
"permissions": [["sats"]],
|
||||||
"parameters": {},
|
"parameters": {},
|
||||||
|
|
|
@ -18,7 +18,6 @@
|
||||||
"search",
|
"search",
|
||||||
|
|
||||||
"getAll",
|
"getAll",
|
||||||
"getById",
|
|
||||||
"getByIdUser",
|
"getByIdUser",
|
||||||
"getByIdMachine",
|
"getByIdMachine",
|
||||||
"getByIdAction"
|
"getByIdAction"
|
||||||
|
|
253
logauth.sql
253
logauth.sql
|
@ -3,7 +3,7 @@
|
||||||
-- http://www.phpmyadmin.net
|
-- http://www.phpmyadmin.net
|
||||||
--
|
--
|
||||||
-- Host: localhost
|
-- Host: localhost
|
||||||
-- Generation Time: Nov 13, 2017 at 08:18 AM
|
-- Generation Time: Oct 12, 2017 at 09:32 PM
|
||||||
-- Server version: 5.7.19-0ubuntu0.16.04.1
|
-- Server version: 5.7.19-0ubuntu0.16.04.1
|
||||||
-- PHP Version: 7.0.22-0ubuntu0.16.04.1
|
-- PHP Version: 7.0.22-0ubuntu0.16.04.1
|
||||||
|
|
||||||
|
@ -19,6 +19,8 @@ SET time_zone = "+00:00";
|
||||||
--
|
--
|
||||||
-- Database: `logauth`
|
-- Database: `logauth`
|
||||||
--
|
--
|
||||||
|
CREATE DATABASE IF NOT EXISTS `logauth` DEFAULT CHARACTER SET latin1 COLLATE latin1_bin;
|
||||||
|
USE `logauth`;
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
@ -26,6 +28,7 @@ SET time_zone = "+00:00";
|
||||||
-- Table structure for table `action`
|
-- Table structure for table `action`
|
||||||
--
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `action`;
|
||||||
CREATE TABLE `action` (
|
CREATE TABLE `action` (
|
||||||
`id_action` int(11) NOT NULL,
|
`id_action` int(11) NOT NULL,
|
||||||
`name` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
|
`name` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
|
||||||
|
@ -52,6 +55,7 @@ INSERT INTO `action` (`id_action`, `name`, `timeout`, `required`, `action`) VALU
|
||||||
-- Table structure for table `action_merge`
|
-- Table structure for table `action_merge`
|
||||||
--
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `action_merge`;
|
||||||
CREATE TABLE `action_merge` (
|
CREATE TABLE `action_merge` (
|
||||||
`id_action_merge` int(11) NOT NULL,
|
`id_action_merge` int(11) NOT NULL,
|
||||||
`id_target` int(11) NOT NULL,
|
`id_target` int(11) NOT NULL,
|
||||||
|
@ -101,6 +105,7 @@ INSERT INTO `action_merge` (`id_action_merge`, `id_target`, `id_source`, `id_act
|
||||||
-- Table structure for table `admin`
|
-- Table structure for table `admin`
|
||||||
--
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `admin`;
|
||||||
CREATE TABLE `admin` (
|
CREATE TABLE `admin` (
|
||||||
`id_admin` int(11) NOT NULL,
|
`id_admin` int(11) NOT NULL,
|
||||||
`id_warehouse` int(11) NOT NULL,
|
`id_warehouse` int(11) NOT NULL,
|
||||||
|
@ -116,10 +121,8 @@ CREATE TABLE `admin` (
|
||||||
|
|
||||||
INSERT INTO `admin` (`id_admin`, `id_warehouse`, `username`, `mail`, `password`, `token`) VALUES
|
INSERT INTO `admin` (`id_admin`, `id_warehouse`, `username`, `mail`, `password`, `token`) VALUES
|
||||||
(1, 7, 'adrien.marques', 'adminmail@gmail.com', 'eb35bccc794d3151b050285c3f6f6d084faadcc7345302b639fbb036cf623b7befcbf7ea08579c612f6201b22cdbc98d6d5d39354b3d31f51ba0426a5299371d', '434f3494ca228538463320eccf93ba67ca29e734073fbf7a9178ba7494b0e26365bb5ae2ead89428f515cdcb9ac75f0ec2200033c3911f4a49f133dfb6dd4aca'),
|
(1, 7, 'adrien.marques', 'adminmail@gmail.com', 'eb35bccc794d3151b050285c3f6f6d084faadcc7345302b639fbb036cf623b7befcbf7ea08579c612f6201b22cdbc98d6d5d39354b3d31f51ba0426a5299371d', '434f3494ca228538463320eccf93ba67ca29e734073fbf7a9178ba7494b0e26365bb5ae2ead89428f515cdcb9ac75f0ec2200033c3911f4a49f133dfb6dd4aca'),
|
||||||
(4, 7, 'willy.fontaine', 'willy.fontaine@stef.com', '08678556fd8223eb5d6014deeec072b809df8ac1dd6e087150f2b9e3820640ed92e33db793b9a02f31615490cee7b01c659865a6322a9d784bf86747ec41d7aa', '728caa787cf2f567cfeacf682e64b36a6387955cc441dc62c59fc51df034760e76fccb934b82f4495cfe860c3092665811d93bd1549f7d286d0ad071ee45b6fd'),
|
(2, 8, 'alexandre.marques', 'admin2mail@gmail.com', 'b70896036f6d717f938ca09f531364c17910fc6a2011166e2c2bac6f505bda52e8d8993fefb7a6fdf13b1fd5368280f064ff87e01ae74aadf7e14f582dede676', '287361328d110cbc2e78464563e005dc82a6a0d501b84cba6770dd3d173b65eef0b226fcb8326cc14fb4ee9dec5df6622a11fd8e6e8a6e518a7eca055e67e8c5'),
|
||||||
(5, 8, 'willy.fontaine', 'willy.fontaine@stef.com', '08678556fd8223eb5d6014deeec072b809df8ac1dd6e087150f2b9e3820640ed92e33db793b9a02f31615490cee7b01c659865a6322a9d784bf86747ec41d7aa', '9e8d9632bde19a34e1d0cc953c4ad59f59ed6f8ce981e655fccc6083e8dc2dfbc754230277ec5aa2c5e884a4fd71ee229b2d9e49492ce283fb40c23a73e432f3'),
|
(4, 8, 'willy.fontaine', 'willy.fontaine@stef.com', '08678556fd8223eb5d6014deeec072b809df8ac1dd6e087150f2b9e3820640ed92e33db793b9a02f31615490cee7b01c659865a6322a9d784bf86747ec41d7aa', '728caa787cf2f567cfeacf682e64b36a6387955cc441dc62c59fc51df034760e76fccb934b82f4495cfe860c3092665811d93bd1549f7d286d0ad071ee45b6fd');
|
||||||
(8, 8, 'patrick.letort', 'patrick.letort@stef.com', '2dae3e1c28554b77c2e1ec20fba4405937b159f7607802f8e88df8cefaa53a683f143edad0e1196dd13c58dc180e3bbd23e97ed320361ac33b99500e5f63071c', '8cfae3acc5917a8656e5603f7e7171265342c04af4d3a1c5ddb183905ab8bd0030edc64a4beee67b92bcbdfbbf5299625adfbbc48fb27f42a98e0a0b8afc4e09'),
|
|
||||||
(9, 8, 'adrien.marques', 'marquesadri1@gmail.com', 'e8bf5e2e0fa92a3dabfa3563c49c55ad1741faf71783d86c3342cd3bd04b46c8b138cb4efeb078c98daa777856de7eccad2189fc5f4f6fe58ffb1dec2baf38b3', '395c9e06462072e0e724be228cddccbf5189ef1f52558241ae2f89cfdf83f825b3c718396f8002a097e4648199ab8094c1390e31f0b77dbc4004093a62115822');
|
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
@ -127,6 +130,7 @@ INSERT INTO `admin` (`id_admin`, `id_warehouse`, `username`, `mail`, `password`,
|
||||||
-- Table structure for table `chip`
|
-- Table structure for table `chip`
|
||||||
--
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `chip`;
|
||||||
CREATE TABLE `chip` (
|
CREATE TABLE `chip` (
|
||||||
`id_chip` int(11) NOT NULL,
|
`id_chip` int(11) NOT NULL,
|
||||||
`id_module` int(11) DEFAULT NULL,
|
`id_module` int(11) DEFAULT NULL,
|
||||||
|
@ -150,6 +154,7 @@ INSERT INTO `chip` (`id_chip`, `id_module`, `name`, `position`, `type`, `pins`)
|
||||||
-- Table structure for table `etree`
|
-- Table structure for table `etree`
|
||||||
--
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `etree`;
|
||||||
CREATE TABLE `etree` (
|
CREATE TABLE `etree` (
|
||||||
`id_etree` int(11) NOT NULL,
|
`id_etree` int(11) NOT NULL,
|
||||||
`id_module` int(11) NOT NULL,
|
`id_module` int(11) NOT NULL,
|
||||||
|
@ -172,6 +177,7 @@ INSERT INTO `etree` (`id_etree`, `id_module`, `daemon`) VALUES
|
||||||
-- Table structure for table `global_state`
|
-- Table structure for table `global_state`
|
||||||
--
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `global_state`;
|
||||||
CREATE TABLE `global_state` (
|
CREATE TABLE `global_state` (
|
||||||
`id_global_state` int(11) NOT NULL,
|
`id_global_state` int(11) NOT NULL,
|
||||||
`global_state` varchar(20) COLLATE utf8_unicode_ci NOT NULL COMMENT 'started | signaled | locked',
|
`global_state` varchar(20) COLLATE utf8_unicode_ci NOT NULL COMMENT 'started | signaled | locked',
|
||||||
|
@ -194,6 +200,7 @@ INSERT INTO `global_state` (`id_global_state`, `global_state`, `chips`) VALUES
|
||||||
-- Table structure for table `history`
|
-- Table structure for table `history`
|
||||||
--
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `history`;
|
||||||
CREATE TABLE `history` (
|
CREATE TABLE `history` (
|
||||||
`id_history` int(11) NOT NULL,
|
`id_history` int(11) NOT NULL,
|
||||||
`timestamp` int(11) NOT NULL,
|
`timestamp` int(11) NOT NULL,
|
||||||
|
@ -207,117 +214,68 @@ CREATE TABLE `history` (
|
||||||
--
|
--
|
||||||
|
|
||||||
INSERT INTO `history` (`id_history`, `timestamp`, `id_user`, `id_machine`, `id_action`) VALUES
|
INSERT INTO `history` (`id_history`, `timestamp`, `id_user`, `id_machine`, `id_action`) VALUES
|
||||||
(504, 1508073591, 210, 127, 1),
|
(285, 1506950713, 215, 126, 1),
|
||||||
(505, 1508073598, 210, 127, 5),
|
(286, 1506950739, 215, 126, 5),
|
||||||
(506, 1508073601, 210, 127, 1),
|
(287, 1506950740, 215, 126, 1),
|
||||||
(507, 1508073644, 210, 127, 5),
|
(288, 1506950741, 215, 126, 5),
|
||||||
(508, 1508073654, 210, 127, 1),
|
(289, 1506950742, 215, 126, 1),
|
||||||
(509, 1508073657, 210, 127, 2),
|
(290, 1506950804, 215, 126, 5),
|
||||||
(510, 1508073659, 210, 127, 3),
|
(291, 1506950807, 215, 126, 2),
|
||||||
(511, 1508073682, 218, 127, 4),
|
(292, 1506950810, 215, 126, 5),
|
||||||
(512, 1508073687, 210, 127, 1),
|
(293, 1506950811, 215, 126, 1),
|
||||||
(513, 1508129928, 210, 127, 5),
|
(294, 1506950812, 215, 126, 5),
|
||||||
(514, 1508129955, 210, 127, 1),
|
(295, 1506950813, 215, 126, 1),
|
||||||
(515, 1508129964, 210, 127, 5),
|
(296, 1506950815, 210, 126, 6),
|
||||||
(516, 1508129991, 210, 127, 1),
|
(297, 1506950819, 215, 126, 5),
|
||||||
(517, 1508130001, 210, 127, 5),
|
(298, 1506950822, 215, 126, 2),
|
||||||
(518, 1508130011, 210, 127, 1),
|
(299, 1506950824, 215, 126, 3),
|
||||||
(519, 1508130022, 210, 127, 5),
|
(300, 1506950829, 210, 126, 4),
|
||||||
(520, 1508130024, 210, 127, 1),
|
(301, 1506950831, 215, 126, 1),
|
||||||
(521, 1508130027, 210, 127, 2),
|
(302, 1506951006, 215, 126, 5),
|
||||||
(522, 1508130029, 210, 127, 3),
|
(303, 1506951006, 215, 126, 1),
|
||||||
(523, 1508130114, 218, 127, 4),
|
(304, 1506951007, 215, 126, 5),
|
||||||
(524, 1508130137, 210, 127, 1),
|
(305, 1506951188, 215, 126, 1),
|
||||||
(525, 1508130156, 210, 127, 5),
|
(306, 1506951190, 215, 126, 5),
|
||||||
(526, 1508130160, 210, 127, 1),
|
(307, 1506951201, 215, 126, 1),
|
||||||
(527, 1508130198, 210, 127, 5),
|
(308, 1506951205, 215, 126, 5),
|
||||||
(528, 1508130200, 210, 127, 1),
|
(309, 1506951209, 215, 126, 1),
|
||||||
(529, 1508130203, 210, 127, 2),
|
(310, 1506951210, 215, 126, 5),
|
||||||
(530, 1508130332, 218, 127, 6),
|
(311, 1506951211, 215, 126, 1),
|
||||||
(531, 1508130339, 210, 127, 5),
|
(312, 1506951211, 215, 126, 5),
|
||||||
(532, 1508130349, 210, 127, 1),
|
(313, 1506951212, 215, 126, 1),
|
||||||
(533, 1508130447, 210, 127, 5),
|
(314, 1506951213, 215, 126, 5),
|
||||||
(534, 1508130449, 210, 127, 1),
|
(315, 1506951218, 215, 126, 1),
|
||||||
(535, 1508130451, 210, 127, 5),
|
(316, 1506951219, 215, 126, 5),
|
||||||
(536, 1508130459, 210, 127, 1),
|
(317, 1506951219, 215, 126, 1),
|
||||||
(537, 1508130644, 210, 127, 5),
|
(318, 1506951219, 215, 126, 5),
|
||||||
(538, 1508130652, 210, 127, 1),
|
(319, 1506951220, 215, 126, 1),
|
||||||
(539, 1508130654, 210, 127, 5),
|
(320, 1506951221, 215, 126, 5),
|
||||||
(540, 1508130663, 210, 127, 1),
|
(321, 1506951221, 215, 126, 1),
|
||||||
(541, 1508130668, 210, 127, 5),
|
(322, 1506951225, 215, 126, 5),
|
||||||
(542, 1508131094, 210, 127, 1),
|
(323, 1506951235, 215, 126, 1),
|
||||||
(543, 1508131102, 210, 127, 5),
|
(324, 1506951237, 215, 126, 5),
|
||||||
(544, 1508131107, 210, 127, 1),
|
(325, 1506951271, 215, 126, 1),
|
||||||
(545, 1508131120, 210, 127, 5),
|
(326, 1506951274, 215, 126, 2),
|
||||||
(546, 1508131149, 210, 127, 1),
|
(327, 1506951276, 215, 126, 3),
|
||||||
(547, 1508131167, 210, 127, 5),
|
(328, 1506951341, 210, 126, 4),
|
||||||
(548, 1508131176, 210, 127, 1),
|
(329, 1506951345, 215, 126, 1),
|
||||||
(549, 1508131281, 210, 127, 5),
|
(330, 1506951370, 215, 126, 5),
|
||||||
(550, 1508131286, 210, 127, 1),
|
(331, 1506951372, 215, 126, 1),
|
||||||
(551, 1508131313, 210, 127, 5),
|
(332, 1506951375, 215, 126, 2),
|
||||||
(552, 1508131320, 210, 127, 1),
|
(333, 1506951377, 215, 126, 3),
|
||||||
(553, 1508131323, 210, 127, 5),
|
(334, 1506951480, 210, 126, 4),
|
||||||
(554, 1508136438, 210, 127, 1),
|
(335, 1507815648, 215, 127, 1),
|
||||||
(555, 1508136455, 210, 127, 5),
|
(336, 1507815649, 215, 127, 5),
|
||||||
(556, 1508136480, 210, 127, 1),
|
(337, 1507816917, 215, 127, 1),
|
||||||
(557, 1508136499, 210, 127, 5),
|
(338, 1507820260, 215, 127, 5),
|
||||||
(558, 1508137679, 210, 127, 1),
|
(339, 1507820263, 215, 127, 2),
|
||||||
(559, 1508137723, 210, 127, 5),
|
(340, 1507830442, 215, 127, 5),
|
||||||
(560, 1508137727, 210, 127, 1),
|
(341, 1507830445, 215, 127, 1),
|
||||||
(561, 1508137737, 210, 127, 5),
|
(342, 1507830516, 215, 127, 5),
|
||||||
(562, 1508137744, 210, 127, 1),
|
(343, 1507830518, 215, 127, 1),
|
||||||
(563, 1508152269, 210, 127, 5),
|
(344, 1507830586, 215, 127, 5),
|
||||||
(564, 1508153966, 210, 127, 1),
|
(345, 1507830587, 215, 127, 1),
|
||||||
(565, 1508163844, 210, 127, 5),
|
(346, 1507830590, 210, 127, 6);
|
||||||
(566, 1508163848, 210, 127, 1),
|
|
||||||
(567, 1508163849, 210, 127, 5),
|
|
||||||
(568, 1508163873, 210, 127, 1),
|
|
||||||
(569, 1508163879, 210, 127, 5),
|
|
||||||
(570, 1508220239, 210, 127, 1),
|
|
||||||
(571, 1508220269, 210, 127, 5),
|
|
||||||
(572, 1508220272, 210, 127, 1),
|
|
||||||
(573, 1508220284, 210, 127, 5),
|
|
||||||
(574, 1508220292, 210, 127, 1),
|
|
||||||
(575, 1508226597, 210, 127, 5),
|
|
||||||
(576, 1508227895, 210, 127, 1),
|
|
||||||
(577, 1508233976, 210, 127, 5),
|
|
||||||
(578, 1508236312, 210, 127, 1),
|
|
||||||
(579, 1508248170, 210, 127, 5),
|
|
||||||
(580, 1508249485, 210, 127, 1),
|
|
||||||
(581, 1508253739, 210, 127, 5),
|
|
||||||
(582, 1508296080, 210, 127, 1),
|
|
||||||
(583, 1508296083, 210, 127, 5),
|
|
||||||
(584, 1508296086, 210, 127, 1),
|
|
||||||
(585, 1508296091, 210, 127, 5),
|
|
||||||
(586, 1508296095, 210, 127, 1),
|
|
||||||
(587, 1508296106, 210, 127, 5),
|
|
||||||
(588, 1508296155, 210, 127, 1),
|
|
||||||
(589, 1508296156, 210, 127, 5),
|
|
||||||
(590, 1508296248, 210, 127, 1),
|
|
||||||
(591, 1508296252, 210, 127, 5),
|
|
||||||
(592, 1508306368, 210, 127, 1),
|
|
||||||
(593, 1508325871, 210, 127, 5),
|
|
||||||
(594, 1508387103, 210, 127, 1),
|
|
||||||
(595, 1508389196, 210, 127, 5),
|
|
||||||
(596, 1508389201, 210, 127, 1),
|
|
||||||
(597, 1508389202, 210, 127, 5),
|
|
||||||
(598, 1508389203, 210, 127, 1),
|
|
||||||
(599, 1508389205, 210, 127, 5),
|
|
||||||
(600, 1508389216, 210, 127, 1),
|
|
||||||
(601, 1508389224, 210, 127, 5),
|
|
||||||
(602, 1508389226, 210, 127, 1),
|
|
||||||
(603, 1508389235, 210, 127, 5),
|
|
||||||
(604, 1508534088, 210, 127, 1),
|
|
||||||
(605, 1508534098, 210, 127, 5),
|
|
||||||
(606, 1508534099, 210, 127, 1),
|
|
||||||
(607, 1508534383, 210, 127, 5),
|
|
||||||
(608, 1508650844, 210, 127, 1),
|
|
||||||
(609, 1508659205, 210, 127, 5),
|
|
||||||
(610, 1508659207, 210, 127, 1),
|
|
||||||
(611, 1508665004, 210, 127, 5),
|
|
||||||
(612, 1508665006, 210, 127, 1),
|
|
||||||
(613, 1508665094, 210, 127, 5),
|
|
||||||
(614, 1508667146, 210, 127, 1);
|
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
@ -325,6 +283,7 @@ INSERT INTO `history` (`id_history`, `timestamp`, `id_user`, `id_machine`, `id_a
|
||||||
-- Table structure for table `log`
|
-- Table structure for table `log`
|
||||||
--
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `log`;
|
||||||
CREATE TABLE `log` (
|
CREATE TABLE `log` (
|
||||||
`id_log` int(11) NOT NULL,
|
`id_log` int(11) NOT NULL,
|
||||||
`id_feature` int(11) NOT NULL,
|
`id_feature` int(11) NOT NULL,
|
||||||
|
@ -339,6 +298,7 @@ CREATE TABLE `log` (
|
||||||
-- Table structure for table `machine`
|
-- Table structure for table `machine`
|
||||||
--
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `machine`;
|
||||||
CREATE TABLE `machine` (
|
CREATE TABLE `machine` (
|
||||||
`id_machine` int(11) NOT NULL,
|
`id_machine` int(11) NOT NULL,
|
||||||
`id_warehouse` int(11) NOT NULL,
|
`id_warehouse` int(11) NOT NULL,
|
||||||
|
@ -463,12 +423,12 @@ INSERT INTO `machine` (`id_machine`, `id_warehouse`, `name`, `token`, `unlock_co
|
||||||
(115, 7, 'sd', NULL, NULL, NULL, NULL),
|
(115, 7, 'sd', NULL, NULL, NULL, NULL),
|
||||||
(116, 7, 'machine13', NULL, NULL, NULL, NULL),
|
(116, 7, 'machine13', NULL, NULL, NULL, NULL),
|
||||||
(121, 7, 'dsad', NULL, NULL, NULL, NULL),
|
(121, 7, 'dsad', NULL, NULL, NULL, NULL),
|
||||||
(122, 8, 'surgel1', '7853cb554aebb76640df3e066b67a099720939aa86e52b9c17bb236d090121936fb018b301fb1ab1b49d68e360a3ebbc0a2a9be99cfadf20f69facf058a1ad4a', NULL, '6452a1', '192.168.0.21'),
|
(122, 8, 'surgel1', NULL, '5f4769b43bba1ad8ee063b917a77a54569280cee4b04b65e251b3fa80a25867645356e99a1178830824be5ae4bd72196d2781d7324a6ca965406676f80e6c159', NULL, NULL),
|
||||||
(123, 8, 'surgel2', NULL, '24d74a635267b26a587a9902ab19275f889c8c693538373ca4c9f85eb4fb75625a07fdef5289161b9fe78156c78a777185efef2bc249f6647538d5758f5b7210', NULL, NULL),
|
(123, 8, 'surgel2', NULL, NULL, NULL, NULL),
|
||||||
(124, 8, 'surgel3', NULL, NULL, NULL, NULL),
|
(124, 8, 'surgel3', NULL, NULL, NULL, NULL),
|
||||||
(125, 8, 'surgel4', NULL, NULL, NULL, NULL),
|
(125, 8, 'surgel4', NULL, NULL, NULL, NULL),
|
||||||
(126, 8, 'lait1', NULL, NULL, NULL, NULL),
|
(126, 8, 'lait1', 'd1607996880675c78ecdf3507540fdf6fbfb4a9fc10f350929e24e5c0b3cea03e444348f7aac7c77410a1fd61745c4f0a370a89621237174a575870d7108d8e4', NULL, '6452a1', '192.168.0.44'),
|
||||||
(127, 8, 'lait2', '207a8ef6a121fbffbedd7affcdf1c4eccf3918941d186ef93ddc03b7eeebc721b58155c10e20d2b45e41de71428f49d51da8a4223284e19d52bea7a1df2f6807', NULL, '23c683', '192.168.1.100'),
|
(127, 8, 'lait2', '14e7f5ba1e789b622bdc1a9770452b71bb8959d694b48fc65610649fdf57d6113b0d4c89216b08633beec11f14764b8854ba7962eb8516d5b90466148f2b8871', NULL, '6452a1', '192.168.0.44'),
|
||||||
(128, 8, 'lait3', NULL, NULL, NULL, NULL),
|
(128, 8, 'lait3', NULL, NULL, NULL, NULL),
|
||||||
(129, 8, 'lait4', NULL, NULL, NULL, NULL);
|
(129, 8, 'lait4', NULL, NULL, NULL, NULL);
|
||||||
|
|
||||||
|
@ -478,6 +438,7 @@ INSERT INTO `machine` (`id_machine`, `id_warehouse`, `name`, `token`, `unlock_co
|
||||||
-- Table structure for table `machine_cluster`
|
-- Table structure for table `machine_cluster`
|
||||||
--
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `machine_cluster`;
|
||||||
CREATE TABLE `machine_cluster` (
|
CREATE TABLE `machine_cluster` (
|
||||||
`id_machine_cluster` int(11) NOT NULL,
|
`id_machine_cluster` int(11) NOT NULL,
|
||||||
`id_warehouse` int(11) NOT NULL,
|
`id_warehouse` int(11) NOT NULL,
|
||||||
|
@ -501,6 +462,7 @@ INSERT INTO `machine_cluster` (`id_machine_cluster`, `id_warehouse`, `name`) VAL
|
||||||
-- Table structure for table `machine_cluster_merge`
|
-- Table structure for table `machine_cluster_merge`
|
||||||
--
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `machine_cluster_merge`;
|
||||||
CREATE TABLE `machine_cluster_merge` (
|
CREATE TABLE `machine_cluster_merge` (
|
||||||
`id_machine_cluster_merge` int(11) NOT NULL,
|
`id_machine_cluster_merge` int(11) NOT NULL,
|
||||||
`id_machine_cluster` int(11) NOT NULL,
|
`id_machine_cluster` int(11) NOT NULL,
|
||||||
|
@ -515,15 +477,14 @@ INSERT INTO `machine_cluster_merge` (`id_machine_cluster_merge`, `id_machine_clu
|
||||||
(3, 1, 58),
|
(3, 1, 58),
|
||||||
(4, 2, 75),
|
(4, 2, 75),
|
||||||
(5, 3, 6),
|
(5, 3, 6),
|
||||||
|
(6, 2, 58),
|
||||||
|
(9, 4, 122),
|
||||||
(10, 4, 123),
|
(10, 4, 123),
|
||||||
(11, 4, 124),
|
(11, 4, 124),
|
||||||
(12, 4, 125),
|
(12, 4, 125),
|
||||||
(13, 5, 126),
|
(13, 5, 126),
|
||||||
(16, 5, 129),
|
(14, 5, 127),
|
||||||
(18, 5, 127),
|
(16, 5, 129);
|
||||||
(19, 4, 122),
|
|
||||||
(20, 5, 128),
|
|
||||||
(22, 3, 58);
|
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
@ -531,6 +492,7 @@ INSERT INTO `machine_cluster_merge` (`id_machine_cluster_merge`, `id_machine_clu
|
||||||
-- Table structure for table `module`
|
-- Table structure for table `module`
|
||||||
--
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `module`;
|
||||||
CREATE TABLE `module` (
|
CREATE TABLE `module` (
|
||||||
`id_module` int(11) NOT NULL,
|
`id_module` int(11) NOT NULL,
|
||||||
`name` varchar(50) COLLATE utf8_unicode_ci NOT NULL
|
`name` varchar(50) COLLATE utf8_unicode_ci NOT NULL
|
||||||
|
@ -552,6 +514,7 @@ INSERT INTO `module` (`id_module`, `name`) VALUES
|
||||||
-- Table structure for table `module_availability`
|
-- Table structure for table `module_availability`
|
||||||
--
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `module_availability`;
|
||||||
CREATE TABLE `module_availability` (
|
CREATE TABLE `module_availability` (
|
||||||
`id_warehouse` int(11) NOT NULL,
|
`id_warehouse` int(11) NOT NULL,
|
||||||
`id_module` int(11) NOT NULL
|
`id_module` int(11) NOT NULL
|
||||||
|
@ -574,6 +537,7 @@ INSERT INTO `module_availability` (`id_warehouse`, `id_module`) VALUES
|
||||||
-- Table structure for table `module_merge`
|
-- Table structure for table `module_merge`
|
||||||
--
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `module_merge`;
|
||||||
CREATE TABLE `module_merge` (
|
CREATE TABLE `module_merge` (
|
||||||
`id_module_merge` int(11) NOT NULL,
|
`id_module_merge` int(11) NOT NULL,
|
||||||
`id_machine_cluster` int(11) NOT NULL,
|
`id_machine_cluster` int(11) NOT NULL,
|
||||||
|
@ -599,26 +563,20 @@ INSERT INTO `module_merge` (`id_module_merge`, `id_machine_cluster`, `id_etree`,
|
||||||
-- Table structure for table `motheure`
|
-- Table structure for table `motheure`
|
||||||
--
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `motheure`;
|
||||||
CREATE TABLE `motheure` (
|
CREATE TABLE `motheure` (
|
||||||
`id_motheure` int(11) NOT NULL,
|
`id_motheure` int(11) NOT NULL,
|
||||||
`id_machine` int(11) NOT NULL,
|
`id_machine` int(11) NOT NULL,
|
||||||
`count` bigint(11) NOT NULL
|
`count` int(11) NOT NULL
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_bin;
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_bin;
|
||||||
|
|
||||||
--
|
|
||||||
-- Dumping data for table `motheure`
|
|
||||||
--
|
|
||||||
|
|
||||||
INSERT INTO `motheure` (`id_motheure`, `id_machine`, `count`) VALUES
|
|
||||||
(3, 122, 13),
|
|
||||||
(6, 127, 2890);
|
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table structure for table `state`
|
-- Table structure for table `state`
|
||||||
--
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `state`;
|
||||||
CREATE TABLE `state` (
|
CREATE TABLE `state` (
|
||||||
`id_state` int(11) NOT NULL,
|
`id_state` int(11) NOT NULL,
|
||||||
`id_chip` int(11) NOT NULL,
|
`id_chip` int(11) NOT NULL,
|
||||||
|
@ -644,6 +602,7 @@ INSERT INTO `state` (`id_state`, `id_chip`, `state`, `value`) VALUES
|
||||||
-- Table structure for table `user`
|
-- Table structure for table `user`
|
||||||
--
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `user`;
|
||||||
CREATE TABLE `user` (
|
CREATE TABLE `user` (
|
||||||
`id_user` int(11) NOT NULL,
|
`id_user` int(11) NOT NULL,
|
||||||
`id_warehouse` int(11) NOT NULL,
|
`id_warehouse` int(11) NOT NULL,
|
||||||
|
@ -751,7 +710,7 @@ INSERT INTO `user` (`id_user`, `id_warehouse`, `code`, `username`, `firstname`,
|
||||||
(215, 8, 'F9-7D-5D-9E', 'Pass-A', 'Pass', 'A-1', 'passA@logauth.xdrm.io'),
|
(215, 8, 'F9-7D-5D-9E', 'Pass-A', 'Pass', 'A-1', 'passA@logauth.xdrm.io'),
|
||||||
(216, 8, 'D2-E2-CA-12', 'Card-D', 'Carte', 'D-3', 'cardD@logauth.xdrm.io'),
|
(216, 8, 'D2-E2-CA-12', 'Card-D', 'Carte', 'D-3', 'cardD@logauth.xdrm.io'),
|
||||||
(217, 8, 'D4-34-E8-AB', 'Pass-E', 'Pass', 'E-4', 'passE@logauth.xdrm.io'),
|
(217, 8, 'D4-34-E8-AB', 'Pass-E', 'Pass', 'E-4', 'passE@logauth.xdrm.io'),
|
||||||
(218, 8, 'A9-05-5D-9E', 'Pass-F', 'Pass', 'F-5', 'passF@logauth.xdrm.io');
|
(218, 8, 'A9-5B-5D-9E', 'Pass-F', 'Pass', 'F-5', 'passF@logauth.xdrm.io');
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
@ -759,6 +718,7 @@ INSERT INTO `user` (`id_user`, `id_warehouse`, `code`, `username`, `firstname`,
|
||||||
-- Table structure for table `user_cluster`
|
-- Table structure for table `user_cluster`
|
||||||
--
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `user_cluster`;
|
||||||
CREATE TABLE `user_cluster` (
|
CREATE TABLE `user_cluster` (
|
||||||
`id_user_cluster` int(11) NOT NULL,
|
`id_user_cluster` int(11) NOT NULL,
|
||||||
`id_warehouse` int(11) NOT NULL,
|
`id_warehouse` int(11) NOT NULL,
|
||||||
|
@ -783,6 +743,7 @@ INSERT INTO `user_cluster` (`id_user_cluster`, `id_warehouse`, `name`) VALUES
|
||||||
-- Table structure for table `user_cluster_merge`
|
-- Table structure for table `user_cluster_merge`
|
||||||
--
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `user_cluster_merge`;
|
||||||
CREATE TABLE `user_cluster_merge` (
|
CREATE TABLE `user_cluster_merge` (
|
||||||
`id_user_cluster_merge` int(11) NOT NULL,
|
`id_user_cluster_merge` int(11) NOT NULL,
|
||||||
`id_user_cluster` int(11) NOT NULL,
|
`id_user_cluster` int(11) NOT NULL,
|
||||||
|
@ -808,8 +769,7 @@ INSERT INTO `user_cluster_merge` (`id_user_cluster_merge`, `id_user_cluster`, `i
|
||||||
(91, 5, 210),
|
(91, 5, 210),
|
||||||
(92, 7, 216),
|
(92, 7, 216),
|
||||||
(94, 6, 218),
|
(94, 6, 218),
|
||||||
(99, 8, 217),
|
(99, 8, 217);
|
||||||
(100, 5, 216);
|
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
@ -817,6 +777,7 @@ INSERT INTO `user_cluster_merge` (`id_user_cluster_merge`, `id_user_cluster`, `i
|
||||||
-- Table structure for table `warehouse`
|
-- Table structure for table `warehouse`
|
||||||
--
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `warehouse`;
|
||||||
CREATE TABLE `warehouse` (
|
CREATE TABLE `warehouse` (
|
||||||
`id_warehouse` int(11) NOT NULL,
|
`id_warehouse` int(11) NOT NULL,
|
||||||
`name` varchar(30) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
|
`name` varchar(30) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
|
||||||
|
@ -831,7 +792,7 @@ CREATE TABLE `warehouse` (
|
||||||
|
|
||||||
INSERT INTO `warehouse` (`id_warehouse`, `name`, `theme`, `password`, `token`) VALUES
|
INSERT INTO `warehouse` (`id_warehouse`, `name`, `theme`, `password`, `token`) VALUES
|
||||||
(7, 'stef-montauban', '3091DB', '53859350c1eb59e301d8fe747f4d1c96d3ec31d95cd1bc72c81d72800edbc6ab45da0d5b6208080fb2e519b1f9848ce0a1289775800912068f32e390f5e1bb6c', '2046c66738b4f1f1e6460537f11970ec5b2cfa65f295b2ca0d2036609dcd3f8ccb6ec271e15440933d3b24ae27eba71423a4545583ab6f3736a5d4f7c8f8c53e'),
|
(7, 'stef-montauban', '3091DB', '53859350c1eb59e301d8fe747f4d1c96d3ec31d95cd1bc72c81d72800edbc6ab45da0d5b6208080fb2e519b1f9848ce0a1289775800912068f32e390f5e1bb6c', '2046c66738b4f1f1e6460537f11970ec5b2cfa65f295b2ca0d2036609dcd3f8ccb6ec271e15440933d3b24ae27eba71423a4545583ab6f3736a5d4f7c8f8c53e'),
|
||||||
(8, 'stef-montbartier', 'DB554E', '034a8313428d9780e4c5bc4bc25ae3985d1d987f4c6928f888e61685ec3f183f7ec0c83f691da2eeb64f27d916fb44aafdef66113892dbc800218b3b512e316e', '52131065a906de90e26da0732e58400edd6739cfa03fc658e7593abef4a4504e18e66e1a8fe9da374a8e8f753603463e4777789262b3ee945d4bf72dd8d6399c');
|
(8, 'stef-toulouse', 'DB554E', '273bd225482d20c061620c80e3bb87528d9e178bd572acd47feb58eee7e8a3847cb308b287d9d94c7a292b33d4c766cdb7c95c2828f53b97bbc0f80fa44aeb83', '52131065a906de90e26da0732e58400edd6739cfa03fc658e7593abef4a4504e18e66e1a8fe9da374a8e8f753603463e4777789262b3ee945d4bf72dd8d6399c');
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Indexes for dumped tables
|
-- Indexes for dumped tables
|
||||||
|
@ -1001,7 +962,7 @@ ALTER TABLE `action_merge`
|
||||||
-- AUTO_INCREMENT for table `admin`
|
-- AUTO_INCREMENT for table `admin`
|
||||||
--
|
--
|
||||||
ALTER TABLE `admin`
|
ALTER TABLE `admin`
|
||||||
MODIFY `id_admin` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10;
|
MODIFY `id_admin` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
|
||||||
--
|
--
|
||||||
-- AUTO_INCREMENT for table `chip`
|
-- AUTO_INCREMENT for table `chip`
|
||||||
--
|
--
|
||||||
|
@ -1021,7 +982,7 @@ ALTER TABLE `global_state`
|
||||||
-- AUTO_INCREMENT for table `history`
|
-- AUTO_INCREMENT for table `history`
|
||||||
--
|
--
|
||||||
ALTER TABLE `history`
|
ALTER TABLE `history`
|
||||||
MODIFY `id_history` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=615;
|
MODIFY `id_history` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=347;
|
||||||
--
|
--
|
||||||
-- AUTO_INCREMENT for table `log`
|
-- AUTO_INCREMENT for table `log`
|
||||||
--
|
--
|
||||||
|
@ -1041,7 +1002,7 @@ ALTER TABLE `machine_cluster`
|
||||||
-- AUTO_INCREMENT for table `machine_cluster_merge`
|
-- AUTO_INCREMENT for table `machine_cluster_merge`
|
||||||
--
|
--
|
||||||
ALTER TABLE `machine_cluster_merge`
|
ALTER TABLE `machine_cluster_merge`
|
||||||
MODIFY `id_machine_cluster_merge` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=25;
|
MODIFY `id_machine_cluster_merge` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=19;
|
||||||
--
|
--
|
||||||
-- AUTO_INCREMENT for table `module`
|
-- AUTO_INCREMENT for table `module`
|
||||||
--
|
--
|
||||||
|
@ -1056,7 +1017,7 @@ ALTER TABLE `module_merge`
|
||||||
-- AUTO_INCREMENT for table `motheure`
|
-- AUTO_INCREMENT for table `motheure`
|
||||||
--
|
--
|
||||||
ALTER TABLE `motheure`
|
ALTER TABLE `motheure`
|
||||||
MODIFY `id_motheure` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;
|
MODIFY `id_motheure` int(11) NOT NULL AUTO_INCREMENT;
|
||||||
--
|
--
|
||||||
-- AUTO_INCREMENT for table `state`
|
-- AUTO_INCREMENT for table `state`
|
||||||
--
|
--
|
||||||
|
@ -1076,7 +1037,7 @@ ALTER TABLE `user_cluster`
|
||||||
-- AUTO_INCREMENT for table `user_cluster_merge`
|
-- AUTO_INCREMENT for table `user_cluster_merge`
|
||||||
--
|
--
|
||||||
ALTER TABLE `user_cluster_merge`
|
ALTER TABLE `user_cluster_merge`
|
||||||
MODIFY `id_user_cluster_merge` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=101;
|
MODIFY `id_user_cluster_merge` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=100;
|
||||||
--
|
--
|
||||||
-- AUTO_INCREMENT for table `warehouse`
|
-- AUTO_INCREMENT for table `warehouse`
|
||||||
--
|
--
|
||||||
|
@ -1161,6 +1122,12 @@ ALTER TABLE `module_merge`
|
||||||
ADD CONSTRAINT `fk_module_merge_id_machine_cluster` FOREIGN KEY (`id_machine_cluster`) REFERENCES `machine_cluster` (`id_machine_cluster`) ON DELETE CASCADE ON UPDATE CASCADE,
|
ADD CONSTRAINT `fk_module_merge_id_machine_cluster` FOREIGN KEY (`id_machine_cluster`) REFERENCES `machine_cluster` (`id_machine_cluster`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||||
ADD CONSTRAINT `fk_module_merge_id_warehouse` FOREIGN KEY (`id_warehouse`) REFERENCES `warehouse` (`id_warehouse`) ON DELETE CASCADE ON UPDATE CASCADE;
|
ADD CONSTRAINT `fk_module_merge_id_warehouse` FOREIGN KEY (`id_warehouse`) REFERENCES `warehouse` (`id_warehouse`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Constraints for table `motheure`
|
||||||
|
--
|
||||||
|
ALTER TABLE `motheure`
|
||||||
|
ADD CONSTRAINT `fk_motheure_id_machine` FOREIGN KEY (`id_machine`) REFERENCES `machine` (`id_machine`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Constraints for table `state`
|
-- Constraints for table `state`
|
||||||
--
|
--
|
||||||
|
|
|
@ -12,12 +12,10 @@ $form-valid-color: #27a560;
|
||||||
$form-neutral-color: #2193e6;
|
$form-neutral-color: #2193e6;
|
||||||
$form-search-color: #5630ed;
|
$form-search-color: #5630ed;
|
||||||
$form-invalid-color: #d52918;
|
$form-invalid-color: #d52918;
|
||||||
$form-grey-color: #8d8d8d;
|
|
||||||
|
|
||||||
|
|
||||||
/* GESTION DES LONGUEURS */
|
/* GESTION DES LONGUEURS */
|
||||||
$menu-side-width: 4em;
|
$menu-side-width: 4em;
|
||||||
$sub-menu-side-width: 7.5em;
|
|
||||||
|
|
||||||
|
|
||||||
// POUR RESOURCE_DISPATCHER
|
// POUR RESOURCE_DISPATCHER
|
||||||
|
|
|
@ -13,11 +13,10 @@
|
||||||
// @active + .list
|
// @active + .list
|
||||||
& > section.active{
|
& > section.active{
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: row wrap;
|
flex-direction: row;
|
||||||
|
align-items: flex-start;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
align-items: stretch;
|
flex-wrap: wrap;
|
||||||
align-content: flex-start;
|
|
||||||
|
|
||||||
&.contain-check-table{
|
&.contain-check-table{
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
@ -26,13 +25,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.inline-box{
|
.inline-box{
|
||||||
flex: 1 1 20%;
|
flex: 0 0 1;
|
||||||
height: auto;
|
|
||||||
min-height: 10em;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.inline-row{
|
.inline-row{
|
||||||
flex: 0 0 2.3em;
|
flex: 3em 0 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Barre de recherche
|
// Barre de recherche
|
||||||
|
@ -65,7 +62,7 @@
|
||||||
.error, .in-dev{
|
.error, .in-dev{
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
position: relative;
|
position: relative;
|
||||||
// width: calc( 100% - 2*1em - 2*1em );
|
width: calc( 100% - 2*1em - 2*1em );
|
||||||
height: 1em;
|
height: 1em;
|
||||||
margin: 1em;
|
margin: 1em;
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
|
@ -99,7 +96,6 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
// width: calc( 50% - 2*1em - 2*1em );
|
// width: calc( 50% - 2*1em - 2*1em );
|
||||||
flex: calc( 50% - 2*1em - 2*1em );
|
flex: calc( 50% - 2*1em - 2*1em );
|
||||||
height: auto;
|
|
||||||
margin: 1em;
|
margin: 1em;
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
|
|
||||||
|
@ -373,7 +369,6 @@
|
||||||
&.list{
|
&.list{
|
||||||
float: none;
|
float: none;
|
||||||
margin-left: 50%;
|
margin-left: 50%;
|
||||||
-webkit-transform: translateX(-50%);
|
|
||||||
transform: translateX(-50%);
|
transform: translateX(-50%);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -461,209 +456,388 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* [3] Formulaires
|
||||||
|
|
||||||
|
|
||||||
/* [4] Tableau à cocher
|
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
article.check-table{
|
& > section > form, .form{
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
left: 50%;
|
||||||
|
margin: .3em 0;
|
||||||
|
padding: 1em;
|
||||||
|
|
||||||
|
border-radius: 3px;
|
||||||
|
border-color: $form-invalid-color;
|
||||||
|
box-shadow: 0 0 1px #b7b7b7;
|
||||||
|
|
||||||
|
background-color: #fff;
|
||||||
|
|
||||||
|
transform: translateX(-50%);
|
||||||
|
|
||||||
|
&#choose-cluster{
|
||||||
|
left: 0;
|
||||||
|
transform: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.valid{
|
||||||
|
border-color: $form-valid-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.neutral{
|
||||||
|
border-color: $form-neutral-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.search{
|
||||||
|
border-color: $form-neutral-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Textes centres
|
||||||
|
.edit_search_view,
|
||||||
|
.remove_search_view{
|
||||||
|
display: inline-block;
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
text-align: center;
|
||||||
|
color: #aaaaaa;
|
||||||
|
|
||||||
|
span{
|
||||||
|
color: #888888;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
span.error-msg{
|
||||||
|
display: inline-block;
|
||||||
|
color: #F03C3C;
|
||||||
|
font-size: 0.7em;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* (1) Champs de texte */
|
||||||
|
input[type=text],
|
||||||
|
input[type=mail],
|
||||||
|
input[type=password],
|
||||||
|
select,
|
||||||
|
&.invalid > input[type=text],
|
||||||
|
&.invalid > input[type=mail],
|
||||||
|
&.invalid > input[type=password],
|
||||||
|
&.invalid > select,
|
||||||
|
input.invalid[type=text],
|
||||||
|
input.invalid[type=mail],
|
||||||
|
input.invalid[type=password],
|
||||||
|
select.invalid{
|
||||||
|
display: inline-block;
|
||||||
|
margin: 1em 0;
|
||||||
|
padding: .7em 1em;
|
||||||
|
|
||||||
|
border-radius: 3px;
|
||||||
|
border: 1px solid #d7dde8;
|
||||||
|
|
||||||
|
color: #2f3033;
|
||||||
|
|
||||||
|
transition: border .4s ease-in-out;
|
||||||
|
|
||||||
|
&:focus,
|
||||||
|
&:hover{
|
||||||
|
border-color: $form-invalid-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
select{
|
||||||
|
width: 100%;
|
||||||
|
display: block;
|
||||||
|
background: #fff;
|
||||||
|
|
||||||
|
option{
|
||||||
|
padding: .5em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Champs valides
|
||||||
|
.valid > input[type=text],
|
||||||
|
.valid > input[type=mail],
|
||||||
|
.valid > input[type=password],
|
||||||
|
.valid > select,
|
||||||
|
input.valid[type=text],
|
||||||
|
input.valid[type=mail],
|
||||||
|
input.valid[type=password],
|
||||||
|
select.valid{
|
||||||
|
&:focus,
|
||||||
|
&:hover{
|
||||||
|
border-color: $form-valid-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Champs neutres
|
||||||
|
.neutral > input[type=text],
|
||||||
|
.neutral > input[type=mail],
|
||||||
|
.neutral > input[type=password],
|
||||||
|
.neutral > select,
|
||||||
|
input.neutral[type=text],
|
||||||
|
input.neutral[type=mail],
|
||||||
|
input.neutral[type=password],
|
||||||
|
select.neutral{
|
||||||
|
&:focus,
|
||||||
|
&:hover{
|
||||||
|
border-color: $form-neutral-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Champs neutres
|
||||||
|
.search > input[type=text],
|
||||||
|
.search > input[type=mail],
|
||||||
|
.search > input[type=password],
|
||||||
|
.search > select,
|
||||||
|
input.search[type=text],
|
||||||
|
input.search[type=mail],
|
||||||
|
input.search[type=password]{
|
||||||
|
&:focus,
|
||||||
|
&:hover{
|
||||||
|
border-color: $form-search-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* (2) Boutons */
|
||||||
|
button,
|
||||||
|
button.invalid,
|
||||||
|
.invalid > button{
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
left: 50%;
|
||||||
|
|
||||||
|
padding: .7em 1em;
|
||||||
|
|
||||||
|
border-radius: 3px;
|
||||||
|
border: 1px solid $form-invalid-color;
|
||||||
|
|
||||||
|
background: $form-invalid-color center center no-repeat;
|
||||||
|
|
||||||
|
color: #fff;
|
||||||
|
|
||||||
|
transition: background .4s ease-in-out;
|
||||||
|
|
||||||
|
transform: translateX(-50%);
|
||||||
|
|
||||||
|
&:hover,
|
||||||
|
&:focus,
|
||||||
|
&:disabled{
|
||||||
|
background-color: #fff;
|
||||||
|
color: $form-invalid-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Boutons valides
|
||||||
|
button.valid,
|
||||||
|
.valid > button{
|
||||||
|
border-color: $form-valid-color;
|
||||||
|
|
||||||
|
background-color: $form-valid-color;
|
||||||
|
|
||||||
|
&:hover,
|
||||||
|
&:focus,
|
||||||
|
&:disabled{
|
||||||
|
background-color: #fff;
|
||||||
|
color: $form-valid-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Boutons neutres
|
||||||
|
button.neutral,
|
||||||
|
.neutral > button{
|
||||||
|
border-color: $form-neutral-color;
|
||||||
|
|
||||||
|
background-color: $form-neutral-color;
|
||||||
|
|
||||||
|
&:hover,
|
||||||
|
&:focus,
|
||||||
|
&:disabled{
|
||||||
|
background-color: #fff;
|
||||||
|
color: $form-neutral-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Boutons recherche
|
||||||
|
button.search,
|
||||||
|
.search > button{
|
||||||
|
border-color: $form-search-color;
|
||||||
|
|
||||||
|
background-color: $form-search-color;
|
||||||
|
|
||||||
|
&:hover,
|
||||||
|
&:focus,
|
||||||
|
&:disabled{
|
||||||
|
background-color: #fff;
|
||||||
|
color: $form-search-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Boutons quand action validee
|
||||||
|
.invalid > button.active,
|
||||||
|
button.invalid.active,
|
||||||
|
button.active{
|
||||||
|
background-color: #fff;
|
||||||
|
background-image: url('/src/static/container/active@#{$rd-form-invalid-color}.svg') !important;
|
||||||
|
background-size: 1em auto;
|
||||||
|
|
||||||
|
color: transparent !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
button.valid.active,
|
||||||
|
.valid > button.active{
|
||||||
|
background-image: url('/src/static/container/active@#{$rd-form-valid-color}.svg') !important;
|
||||||
|
}
|
||||||
|
button.neutral.active,
|
||||||
|
.neutral > button.active{
|
||||||
|
background-image: url('/src/static/container/active@#{$rd-form-neutral-color}.svg') !important;
|
||||||
|
}
|
||||||
|
button.search.active,
|
||||||
|
.search > button.active{
|
||||||
|
background-image: url('/src/static/container/active@#{$rd-form-search-color}.svg') !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// "OU" separant les boutons
|
||||||
|
hr.OR[data-label]{
|
||||||
|
display: block;
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
height: 0;
|
||||||
|
|
||||||
|
border: 0;
|
||||||
|
border-bottom: 1px dashed $form-invalid-color;
|
||||||
|
|
||||||
|
&:before{
|
||||||
|
content: attr(data-label);
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
padding: 0 1em;
|
||||||
|
|
||||||
|
background-color: #fff;
|
||||||
|
|
||||||
|
color: $form-invalid-color;
|
||||||
|
|
||||||
|
transform: translateX(-50%) translatey(-50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// "OU" valide
|
||||||
|
.valid > hr.OR,
|
||||||
|
hr.OR.valid{
|
||||||
|
border-bottom: 1px dashed $form-valid-color;
|
||||||
|
&:before{
|
||||||
|
color: $form-valid-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// "OU" neutre
|
||||||
|
.neutral > hr.OR,
|
||||||
|
hr.OR.neutral{
|
||||||
|
border-bottom: 1px dashed $form-neutral-color;
|
||||||
|
&:before{
|
||||||
|
color: $form-neutral-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// "OU" recherche
|
||||||
|
.search > hr.OR,
|
||||||
|
hr.OR.search{
|
||||||
|
border-bottom: 1px dashed $form-search-color;
|
||||||
|
&:before{
|
||||||
|
color: $form-search-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* [4] Tableau à cocher
|
||||||
|
=========================================================*/
|
||||||
|
article.check-table{
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
border-radius: 3px;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
|
||||||
|
|
||||||
|
& > div{
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
flex-wrap: wrap;
|
flex-wrap: nowrap;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
border-radius: 3px;
|
flex: 100%;
|
||||||
border: 1px solid #ddd;
|
padding: .8em 0;
|
||||||
|
|
||||||
|
color: #333;
|
||||||
|
|
||||||
& > div{
|
background: #f8f8f8;
|
||||||
display: flex;
|
border-bottom: 1px solid #eee;
|
||||||
|
|
||||||
flex-direction: row;
|
transition: background .2s ease-in-out;
|
||||||
flex-wrap: nowrap;
|
|
||||||
justify-content: space-between;
|
|
||||||
|
|
||||||
flex: 100%;
|
|
||||||
padding: .8em 0;
|
|
||||||
|
|
||||||
color: #333;
|
|
||||||
|
|
||||||
background: #f8f8f8;
|
|
||||||
border-bottom: 1px solid #eee;
|
|
||||||
|
|
||||||
transition: background .2s ease-in-out;
|
|
||||||
|
|
||||||
&:nth-child(2n){
|
|
||||||
background: #fdfdfd;
|
|
||||||
}
|
|
||||||
|
|
||||||
overflow: hidden;
|
|
||||||
|
|
||||||
|
|
||||||
& > span{
|
|
||||||
flex: 100%;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
flex-wrap: nowrap;
|
|
||||||
justify-content: center;
|
|
||||||
|
|
||||||
|
|
||||||
/* (1) Gestion du checkbox hack */
|
|
||||||
input[type='checkbox']{ display: none; }
|
|
||||||
|
|
||||||
input[type='checkbox'] + label[for]{
|
|
||||||
display: inline-block;
|
|
||||||
position: absolute;
|
|
||||||
width: 1.2em;
|
|
||||||
height: 1.2em;
|
|
||||||
|
|
||||||
// border-radius: 50% / 50%;
|
|
||||||
|
|
||||||
background: url('/src/static/container/checkbox@999999.svg') center center no-repeat;
|
|
||||||
background-size: 100% auto;;
|
|
||||||
|
|
||||||
transition: box-shadow .2s ease-in-out;
|
|
||||||
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
input[type='checkbox']:checked + label[for]{
|
|
||||||
background-image: url('/src/static/container/checkbox@checked@007dd8.svg');
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
&:nth-child(2n){
|
||||||
|
background: #fdfdfd;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* [5] Timeline SVG
|
|
||||||
=========================================================*/
|
|
||||||
article.timeline.container{
|
|
||||||
|
|
||||||
display: block;
|
|
||||||
position: absolute;
|
|
||||||
width: calc( 100vw - #{$menu-side-width} - #{$sub-menu-side-width} - 11em );
|
|
||||||
flex: 1em;
|
|
||||||
|
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
// overflow-x: auto;
|
|
||||||
|
|
||||||
svg.timeline{
|
|
||||||
|
|
||||||
/* (1) svg circles -> set right transform-origin */
|
& > span{
|
||||||
& circle.timeline{
|
flex: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
-webkit-transform-origin: 50% 50% 0;
|
|
||||||
transform-origin: 50% 50% 0;
|
|
||||||
|
|
||||||
transition: transform .2s ease-in-out;
|
/* (1) Gestion du checkbox hack */
|
||||||
|
input[type='checkbox']{ display: none; }
|
||||||
|
|
||||||
/* (2) Set cursor to pointer */
|
input[type='checkbox'] + label[for]{
|
||||||
&.around{
|
display: inline-block;
|
||||||
cursor: pointer;
|
position: absolute;
|
||||||
|
width: 1.2em;
|
||||||
|
height: 1.2em;
|
||||||
|
|
||||||
/* (3) Dispatch event to next nodes */
|
// border-radius: 50% / 50%;
|
||||||
&:hover + .center{ // center node
|
|
||||||
|
|
||||||
-webkit-transform: scale(1.2);
|
background: url('/src/static/container/checkbox@999999.svg') center center no-repeat;
|
||||||
transform: scale(1.2);
|
background-size: 100% auto;;
|
||||||
|
|
||||||
}
|
transition: box-shadow .2s ease-in-out;
|
||||||
|
|
||||||
&:hover + .center + image + .below{ // below node
|
|
||||||
|
|
||||||
-webkit-transform: translateX(-100%);
|
|
||||||
transform: translateX(-100%);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/* (4) Remove center circle event */
|
|
||||||
&.center{
|
|
||||||
|
|
||||||
-webkit-pointer-events: none;
|
|
||||||
pointer-events: none;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/* (5) Set colors according to action type */
|
|
||||||
&.around, &.center, &.below{
|
|
||||||
|
|
||||||
&.start{ fill: #2cde8b; }
|
|
||||||
&.stop{ fill: #3a3a3a; }
|
|
||||||
&.lock{ fill: #e04343; }
|
|
||||||
&.unlock{ fill: #af1c1c; }
|
|
||||||
&.signal{ fill: #3258d8; }
|
|
||||||
&.unsignal{ fill: #2041ab; }
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/* (6) Make around circles a bit transparent */
|
|
||||||
&.around{ opacity: .6; }
|
|
||||||
|
|
||||||
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (7) Avoid icons inside center circles to block :hover */
|
input[type='checkbox']:checked + label[for]{
|
||||||
image{
|
background-image: url('/src/static/container/checkbox@checked@007dd8.svg');
|
||||||
|
|
||||||
-webkit-pointer-events: none;
|
|
||||||
pointer-events: none;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/* (8) Default 'text' font*/
|
|
||||||
text{
|
|
||||||
fill: #444;
|
|
||||||
font-size: 14px;
|
|
||||||
font-family: 'Open Sans';
|
|
||||||
|
|
||||||
&.bold{
|
|
||||||
font-size: 16px;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
&.start{ fill: #2cde8b; }
|
|
||||||
&.stop{ fill: #3a3a3a; }
|
|
||||||
&.lock{ fill: #e04343; }
|
|
||||||
&.unlock{ fill: #af1c1c; }
|
|
||||||
&.signal{ fill: #3258d8; }
|
|
||||||
&.unsignal{ fill: #2041ab; }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (9) Timeline infobox */
|
|
||||||
div.timeline.infobox{
|
|
||||||
display: none;
|
|
||||||
position: absolute;
|
|
||||||
top: 80px;
|
|
||||||
left: 0;
|
|
||||||
width: auto;
|
|
||||||
height: auto;
|
|
||||||
|
|
||||||
padding: .5em 1em;
|
|
||||||
|
|
||||||
border: 1px solid #b1b6c0;
|
|
||||||
border-radius: 3px;
|
|
||||||
|
|
||||||
background: #d8deea;
|
|
||||||
color: #444;
|
|
||||||
|
|
||||||
&.active{
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
/* COULEUR DU THEME */
|
||||||
|
/* COULEUR DU SOUS-MENU */
|
||||||
|
/* COULEUR DES ERREURS */
|
||||||
|
/* FORMULAIRES */
|
||||||
|
/* GESTION DES LONGUEURS */
|
||||||
|
|
||||||
|
/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiY29uc3RhbnRzLmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vY29uc3RhbnRzLnNjc3MiCgldLAoJInNvdXJjZXNDb250ZW50IjogWwoJCSIvKiBDT1VMRVVSIERVIFRIRU1FICovXG4kdGhlbWUtY29sb3I6ICNmNDRmMDY7XG5cbi8qIENPVUxFVVIgRFUgU09VUy1NRU5VICovXG4kc3ViLW1lbnUtY29sb3I6ICM1YjVlNjM7XG5cbi8qIENPVUxFVVIgREVTIEVSUkVVUlMgKi9cbiRlcnJvci1jb2xvcjogI2NjNTg1NztcblxuLyogRk9STVVMQUlSRVMgKi9cbiRmb3JtLXZhbGlkLWNvbG9yOiAgICMyN2E1NjA7XG4kZm9ybS1uZXV0cmFsLWNvbG9yOiAjMjE5M2U2O1xuJGZvcm0tc2VhcmNoLWNvbG9yOiAgIzU2MzBlZDtcbiRmb3JtLWludmFsaWQtY29sb3I6ICNkNTI5MTg7XG5cblxuLyogR0VTVElPTiBERVMgTE9OR1VFVVJTICovXG4kbWVudS1zaWRlLXdpZHRoOiA0ZW07XG5cblxuLy8gUE9VUiBSRVNPVVJDRV9ESVNQQVRDSEVSXG4kcmQtZm9ybS12YWxpZC1jb2xvcjogICAnMjdhNTYwJztcbiRyZC1mb3JtLW5ldXRyYWwtY29sb3I6ICcyMTkzZTYnO1xuJHJkLWZvcm0tc2VhcmNoLWNvbG9yOiAgJzU2MzBlZCc7XG4kcmQtZm9ybS1pbnZhbGlkLWNvbG9yOiAnZDUyOTE4JztcbiIKCV0sCgkibWFwcGluZ3MiOiAiQUFBQSxzQkFBc0I7QUFHdEIsMEJBQTBCO0FBRzFCLHlCQUF5QjtBQUd6QixpQkFBaUI7QUFPakIsMkJBQTJCIiwKCSJuYW1lcyI6IFtdCn0= */
|
|
@ -0,0 +1,619 @@
|
||||||
|
@charset "UTF-8";
|
||||||
|
/* COULEUR DU THEME */
|
||||||
|
/* COULEUR DU SOUS-MENU */
|
||||||
|
/* COULEUR DES ERREURS */
|
||||||
|
/* FORMULAIRES */
|
||||||
|
/* GESTION DES LONGUEURS */
|
||||||
|
#WRAPPER > #CONTAINER {
|
||||||
|
/* [1] Section (contenu)
|
||||||
|
=========================================================*/
|
||||||
|
/* [2] INLINE-BOX pour afficher les listes de donnees
|
||||||
|
=========================================================*/
|
||||||
|
/* [2-2] INLINE-ROW pour afficher des lignes
|
||||||
|
=========================================================*/
|
||||||
|
/* [3] Formulaires
|
||||||
|
=========================================================*/
|
||||||
|
/* (1) Champs de texte */
|
||||||
|
/* (2) Boutons */
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section {
|
||||||
|
display: none;
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section.active {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: flex-start;
|
||||||
|
justify-content: flex-start;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section.active .inline-box {
|
||||||
|
flex: 0 0 1;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section.active .inline-row {
|
||||||
|
flex: 3em 0 1;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section.active .searchbar {
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
flex: calc( 100% - 2*1em - 2*1em );
|
||||||
|
margin: 1em;
|
||||||
|
padding: .5em 1em;
|
||||||
|
padding-left: 2em;
|
||||||
|
border-radius: 3px;
|
||||||
|
border: 1px solid #b1b1b1;
|
||||||
|
background: #fff url("/src/static/sub-menu-side/search@b1b1b1.svg") 0.5em center no-repeat;
|
||||||
|
background-size: 1em;
|
||||||
|
transition: border .4s ease-in-out;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section.active .searchbar:hover, #WRAPPER > #CONTAINER > section.active .searchbar:focus {
|
||||||
|
border-color: #5630ed;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section.active .error {
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
width: calc( 100% - 2*1em - 2*1em );
|
||||||
|
height: 1em;
|
||||||
|
margin: 1em;
|
||||||
|
padding: 1em;
|
||||||
|
border-radius: 3px;
|
||||||
|
border: 1px solid #d52918;
|
||||||
|
background: #d52918;
|
||||||
|
color: #fff;
|
||||||
|
text-shadow: 1px 1px #a72013;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box, #WRAPPER > #CONTAINER > section > .inline-row {
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
flex: calc( 50% - 2*1em - 2*1em );
|
||||||
|
margin: 1em;
|
||||||
|
padding: 1em;
|
||||||
|
border-radius: 3px;
|
||||||
|
box-shadow: 0 0 1px #b7b7b7;
|
||||||
|
background-color: #fff;
|
||||||
|
/* (0) Etat des machines */
|
||||||
|
/* (1) Titre de l'element */
|
||||||
|
/* (2) Code RFID */
|
||||||
|
/* (3) Adresse mail */
|
||||||
|
/* (4) Groupes */
|
||||||
|
/* (5) Lien vers la modification */
|
||||||
|
/* (6) Lien vers la suppression */
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box.hidden, #WRAPPER > #CONTAINER > section > .inline-row.hidden {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box a, #WRAPPER > #CONTAINER > section > .inline-row a {
|
||||||
|
text-decoration: none;
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box.selected, #WRAPPER > #CONTAINER > section > .inline-row.selected {
|
||||||
|
border: 1px solid #7362ff;
|
||||||
|
transition: box-shadow .2s ease-in-out;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box.selected:hover, #WRAPPER > #CONTAINER > section > .inline-row.selected:hover {
|
||||||
|
box-shadow: 2px 2px 7px #aaa;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .state, #WRAPPER > #CONTAINER > section > .inline-row .state {
|
||||||
|
display: inline-block;
|
||||||
|
width: .7em;
|
||||||
|
height: .7em;
|
||||||
|
margin-right: .3em;
|
||||||
|
border-radius: 50% / 50%;
|
||||||
|
background-color: #ddd;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .state[data-state='stopped'], #WRAPPER > #CONTAINER > section > .inline-row .state[data-state='stopped'] {
|
||||||
|
background-color: #ddd;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .state[data-state='started'], #WRAPPER > #CONTAINER > section > .inline-row .state[data-state='started'] {
|
||||||
|
background-color: #22E07B;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .state[data-state='signaled'], #WRAPPER > #CONTAINER > section > .inline-row .state[data-state='signaled'] {
|
||||||
|
background-color: #3897D6;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .state[data-state='locked'], #WRAPPER > #CONTAINER > section > .inline-row .state[data-state='locked'] {
|
||||||
|
background-color: #EA460A;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .state[data-state='detached'], #WRAPPER > #CONTAINER > section > .inline-row .state[data-state='detached'] {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .title, #WRAPPER > #CONTAINER > section > .inline-row .title {
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 1.15em;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #ea4c06;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .title > span, #WRAPPER > #CONTAINER > section > .inline-row .title > span {
|
||||||
|
font-size: .8em;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .code,
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .mail, #WRAPPER > #CONTAINER > section > .inline-row .code,
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-row .mail {
|
||||||
|
display: block;
|
||||||
|
margin: 1em;
|
||||||
|
color: #333;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .code svg,
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .mail svg, #WRAPPER > #CONTAINER > section > .inline-row .code svg,
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-row .mail svg {
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
margin-left: .5em;
|
||||||
|
margin-right: .5em;
|
||||||
|
margin-bottom: -.6em;
|
||||||
|
width: 1.5em;
|
||||||
|
height: 2em;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .code svg path#stylisable,
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .mail svg path#stylisable, #WRAPPER > #CONTAINER > section > .inline-row .code svg path#stylisable,
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-row .mail svg path#stylisable {
|
||||||
|
fill: #333 !important;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .code svg path#stroke-stylisable,
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .mail svg path#stroke-stylisable, #WRAPPER > #CONTAINER > section > .inline-row .code svg path#stroke-stylisable,
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-row .mail svg path#stroke-stylisable {
|
||||||
|
stroke: #333 !important;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .groups, #WRAPPER > #CONTAINER > section > .inline-row .groups {
|
||||||
|
display: block;
|
||||||
|
margin: 1em;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .groups svg, #WRAPPER > #CONTAINER > section > .inline-row .groups svg {
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
margin-left: .5em;
|
||||||
|
margin-right: .5em;
|
||||||
|
margin-bottom: -.6em;
|
||||||
|
width: 1.5em;
|
||||||
|
height: 2em;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .groups svg path, #WRAPPER > #CONTAINER > section > .inline-row .groups svg path {
|
||||||
|
fill: #333 !important;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore), #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore), #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span {
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
padding: .1em .5em;
|
||||||
|
margin-right: calc( .4em + 2em );
|
||||||
|
margin-bottom: .5em;
|
||||||
|
border-radius: 3px 0 0 3px;
|
||||||
|
border: 1px solid #bdbdbd;
|
||||||
|
box-shadow: inset 0 0 2px #fafafa;
|
||||||
|
background-color: #f9f9f9;
|
||||||
|
color: #333;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-permission, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-group, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-member, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-permission, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-group, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-member, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-permission, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-group, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-member, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-permission, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-group, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-member {
|
||||||
|
border-radius: 3px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-permission > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-group > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-member > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-permission > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-group > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-member > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-permission > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-group > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-member > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-permission > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-group > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-member > div.dropdown {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
flex: 100%;
|
||||||
|
justify-content: space-between;
|
||||||
|
position: absolute;
|
||||||
|
top: calc( 100% + 5px );
|
||||||
|
left: 0;
|
||||||
|
width: 12em;
|
||||||
|
height: 500%;
|
||||||
|
border-radius: 3px;
|
||||||
|
overflow: hidden;
|
||||||
|
overflow-y: auto;
|
||||||
|
background: #fff;
|
||||||
|
box-shadow: 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
|
||||||
|
z-index: 100;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-permission > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-group > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-member > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-permission > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-group > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-member > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-permission > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-group > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-member > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-permission > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-group > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-member > div.dropdown > span {
|
||||||
|
padding: .5em;
|
||||||
|
padding-left: 1em;
|
||||||
|
flex: 2em 1 1;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-permission > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-group > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-member > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-permission > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-group > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-member > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-permission > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-group > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-member > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-permission > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-group > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-member > div.dropdown > span:hover {
|
||||||
|
background-color: #F8F8F8;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.rem-group, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.icon-permission, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.rem-permission, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.rem-member, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.rem-group, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.icon-permission, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.rem-permission, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.rem-member, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.rem-group, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.icon-permission, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.rem-permission, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.rem-member, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.rem-group, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.icon-permission, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.rem-permission, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.rem-member {
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
top: -1px;
|
||||||
|
left: 100%;
|
||||||
|
width: 1em;
|
||||||
|
height: calc( 100% - .1em - 2px );
|
||||||
|
padding: .12em .5em;
|
||||||
|
border-radius: 0 3px 3px 0;
|
||||||
|
border: 1px solid #bdbdbd;
|
||||||
|
box-shadow: inset 0 0 2px #fafafa;
|
||||||
|
background: url("/src/static/sub-menu-side/remove.svg") center center no-repeat;
|
||||||
|
background-size: auto 70%;
|
||||||
|
background-color: #f9f9f9;
|
||||||
|
color: inherit;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.rem-group:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.icon-permission:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.rem-permission:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.rem-member:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.rem-group:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.icon-permission:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.rem-permission:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.rem-member:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.rem-group:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.icon-permission:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.rem-permission:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.rem-member:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.rem-group:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.icon-permission:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.rem-permission:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.rem-member:hover {
|
||||||
|
background-image: url("/src/static/sub-menu-side/remove@d52918.svg");
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.icon-permission, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.icon-permission:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.icon-permission, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.icon-permission:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.icon-permission, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.icon-permission:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.icon-permission, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.icon-permission:hover {
|
||||||
|
border-color: #ddd;
|
||||||
|
background-color: #eee;
|
||||||
|
cursor: default;
|
||||||
|
background-image: url("/src/static/sub-menu-side/permission.svg");
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .link_edit,
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .link_remove, #WRAPPER > #CONTAINER > section > .inline-row .link_edit,
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-row .link_remove {
|
||||||
|
display: inline-block;
|
||||||
|
float: right;
|
||||||
|
position: relative;
|
||||||
|
width: 1em;
|
||||||
|
height: 1em;
|
||||||
|
margin-left: 1em;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .link_edit > svg,
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .link_remove > svg, #WRAPPER > #CONTAINER > section > .inline-row .link_edit > svg,
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-row .link_remove > svg {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
fill: #ddd !important;
|
||||||
|
transition: fill .4s ease-in-out;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .link_edit:hover > svg,
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .link_remove:hover > svg, #WRAPPER > #CONTAINER > section > .inline-row .link_edit:hover > svg,
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-row .link_remove:hover > svg {
|
||||||
|
fill: #2193e6 !important;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-box .link_remove:hover > svg, #WRAPPER > #CONTAINER > section > .inline-row .link_remove:hover > svg {
|
||||||
|
fill: #d52918 !important;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section.fstart {
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: flex-start;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section.fstart .searchbar {
|
||||||
|
flex: auto 1 1;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section.active > .inline-row {
|
||||||
|
flex: auto 1 1;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-row {
|
||||||
|
width: calc( 100% - 4em - 2*1em );
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-row > span {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-around;
|
||||||
|
flex: 100% 1 1;
|
||||||
|
border-left: 1px solid #ddd;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-row > span:first-child {
|
||||||
|
border-left: 0;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > .inline-row button {
|
||||||
|
flex: auto;
|
||||||
|
width: 5em;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > form, #WRAPPER > #CONTAINER .form {
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
left: 50%;
|
||||||
|
margin: .3em 0;
|
||||||
|
padding: 1em;
|
||||||
|
border-radius: 3px;
|
||||||
|
border-color: #d52918;
|
||||||
|
box-shadow: 0 0 1px #b7b7b7;
|
||||||
|
background-color: #fff;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > form.valid, #WRAPPER > #CONTAINER .form.valid {
|
||||||
|
border-color: #27a560;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > form.neutral, #WRAPPER > #CONTAINER .form.neutral {
|
||||||
|
border-color: #2193e6;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > form.search, #WRAPPER > #CONTAINER .form.search {
|
||||||
|
border-color: #2193e6;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > form .edit_search_view,
|
||||||
|
#WRAPPER > #CONTAINER > section > form .remove_search_view, #WRAPPER > #CONTAINER .form .edit_search_view,
|
||||||
|
#WRAPPER > #CONTAINER .form .remove_search_view {
|
||||||
|
display: inline-block;
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
color: #aaaaaa;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > form .edit_search_view span,
|
||||||
|
#WRAPPER > #CONTAINER > section > form .remove_search_view span, #WRAPPER > #CONTAINER .form .edit_search_view span,
|
||||||
|
#WRAPPER > #CONTAINER .form .remove_search_view span {
|
||||||
|
color: #888888;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER > section > form span.error-msg, #WRAPPER > #CONTAINER .form span.error-msg {
|
||||||
|
display: inline-block;
|
||||||
|
color: #F03C3C;
|
||||||
|
font-size: 0.7em;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER input[type=text],
|
||||||
|
#WRAPPER > #CONTAINER input[type=mail],
|
||||||
|
#WRAPPER > #CONTAINER input[type=password],
|
||||||
|
#WRAPPER > #CONTAINER select, #WRAPPER > #CONTAINER.invalid > input[type=text], #WRAPPER > #CONTAINER.invalid > input[type=mail], #WRAPPER > #CONTAINER.invalid > input[type=password], #WRAPPER > #CONTAINER.invalid > select,
|
||||||
|
#WRAPPER > #CONTAINER input.invalid[type=text],
|
||||||
|
#WRAPPER > #CONTAINER input.invalid[type=mail],
|
||||||
|
#WRAPPER > #CONTAINER input.invalid[type=password],
|
||||||
|
#WRAPPER > #CONTAINER select.invalid {
|
||||||
|
display: inline-block;
|
||||||
|
margin: 1em 0;
|
||||||
|
padding: .7em 1em;
|
||||||
|
border-radius: 3px;
|
||||||
|
border: 1px solid #d7dde8;
|
||||||
|
color: #2f3033;
|
||||||
|
transition: border .4s ease-in-out;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER input[type=text]:focus, #WRAPPER > #CONTAINER input[type=text]:hover,
|
||||||
|
#WRAPPER > #CONTAINER input[type=mail]:focus,
|
||||||
|
#WRAPPER > #CONTAINER input[type=mail]:hover,
|
||||||
|
#WRAPPER > #CONTAINER input[type=password]:focus,
|
||||||
|
#WRAPPER > #CONTAINER input[type=password]:hover,
|
||||||
|
#WRAPPER > #CONTAINER select:focus,
|
||||||
|
#WRAPPER > #CONTAINER select:hover, #WRAPPER > #CONTAINER.invalid > input[type=text]:focus, #WRAPPER > #CONTAINER.invalid > input[type=text]:hover, #WRAPPER > #CONTAINER.invalid > input[type=mail]:focus, #WRAPPER > #CONTAINER.invalid > input[type=mail]:hover, #WRAPPER > #CONTAINER.invalid > input[type=password]:focus, #WRAPPER > #CONTAINER.invalid > input[type=password]:hover, #WRAPPER > #CONTAINER.invalid > select:focus, #WRAPPER > #CONTAINER.invalid > select:hover,
|
||||||
|
#WRAPPER > #CONTAINER input.invalid[type=text]:focus,
|
||||||
|
#WRAPPER > #CONTAINER input.invalid[type=text]:hover,
|
||||||
|
#WRAPPER > #CONTAINER input.invalid[type=mail]:focus,
|
||||||
|
#WRAPPER > #CONTAINER input.invalid[type=mail]:hover,
|
||||||
|
#WRAPPER > #CONTAINER input.invalid[type=password]:focus,
|
||||||
|
#WRAPPER > #CONTAINER input.invalid[type=password]:hover,
|
||||||
|
#WRAPPER > #CONTAINER select.invalid:focus,
|
||||||
|
#WRAPPER > #CONTAINER select.invalid:hover {
|
||||||
|
border-color: #d52918;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER select {
|
||||||
|
width: 100%;
|
||||||
|
display: block;
|
||||||
|
background: #fff;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER select option {
|
||||||
|
padding: .5em;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER .valid > input[type=text]:focus, #WRAPPER > #CONTAINER .valid > input[type=text]:hover,
|
||||||
|
#WRAPPER > #CONTAINER .valid > input[type=mail]:focus,
|
||||||
|
#WRAPPER > #CONTAINER .valid > input[type=mail]:hover,
|
||||||
|
#WRAPPER > #CONTAINER .valid > input[type=password]:focus,
|
||||||
|
#WRAPPER > #CONTAINER .valid > input[type=password]:hover,
|
||||||
|
#WRAPPER > #CONTAINER .valid > select:focus,
|
||||||
|
#WRAPPER > #CONTAINER .valid > select:hover,
|
||||||
|
#WRAPPER > #CONTAINER input.valid[type=text]:focus,
|
||||||
|
#WRAPPER > #CONTAINER input.valid[type=text]:hover,
|
||||||
|
#WRAPPER > #CONTAINER input.valid[type=mail]:focus,
|
||||||
|
#WRAPPER > #CONTAINER input.valid[type=mail]:hover,
|
||||||
|
#WRAPPER > #CONTAINER input.valid[type=password]:focus,
|
||||||
|
#WRAPPER > #CONTAINER input.valid[type=password]:hover,
|
||||||
|
#WRAPPER > #CONTAINER select.valid:focus,
|
||||||
|
#WRAPPER > #CONTAINER select.valid:hover {
|
||||||
|
border-color: #27a560;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER .neutral > input[type=text]:focus, #WRAPPER > #CONTAINER .neutral > input[type=text]:hover,
|
||||||
|
#WRAPPER > #CONTAINER .neutral > input[type=mail]:focus,
|
||||||
|
#WRAPPER > #CONTAINER .neutral > input[type=mail]:hover,
|
||||||
|
#WRAPPER > #CONTAINER .neutral > input[type=password]:focus,
|
||||||
|
#WRAPPER > #CONTAINER .neutral > input[type=password]:hover,
|
||||||
|
#WRAPPER > #CONTAINER .neutral > select:focus,
|
||||||
|
#WRAPPER > #CONTAINER .neutral > select:hover,
|
||||||
|
#WRAPPER > #CONTAINER input.neutral[type=text]:focus,
|
||||||
|
#WRAPPER > #CONTAINER input.neutral[type=text]:hover,
|
||||||
|
#WRAPPER > #CONTAINER input.neutral[type=mail]:focus,
|
||||||
|
#WRAPPER > #CONTAINER input.neutral[type=mail]:hover,
|
||||||
|
#WRAPPER > #CONTAINER input.neutral[type=password]:focus,
|
||||||
|
#WRAPPER > #CONTAINER input.neutral[type=password]:hover,
|
||||||
|
#WRAPPER > #CONTAINER select.neutral:focus,
|
||||||
|
#WRAPPER > #CONTAINER select.neutral:hover {
|
||||||
|
border-color: #2193e6;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER .search > input[type=text]:focus, #WRAPPER > #CONTAINER .search > input[type=text]:hover,
|
||||||
|
#WRAPPER > #CONTAINER .search > input[type=mail]:focus,
|
||||||
|
#WRAPPER > #CONTAINER .search > input[type=mail]:hover,
|
||||||
|
#WRAPPER > #CONTAINER .search > input[type=password]:focus,
|
||||||
|
#WRAPPER > #CONTAINER .search > input[type=password]:hover,
|
||||||
|
#WRAPPER > #CONTAINER .search > select:focus,
|
||||||
|
#WRAPPER > #CONTAINER .search > select:hover,
|
||||||
|
#WRAPPER > #CONTAINER input.search[type=text]:focus,
|
||||||
|
#WRAPPER > #CONTAINER input.search[type=text]:hover,
|
||||||
|
#WRAPPER > #CONTAINER input.search[type=mail]:focus,
|
||||||
|
#WRAPPER > #CONTAINER input.search[type=mail]:hover,
|
||||||
|
#WRAPPER > #CONTAINER input.search[type=password]:focus,
|
||||||
|
#WRAPPER > #CONTAINER input.search[type=password]:hover {
|
||||||
|
border-color: #5630ed;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER button,
|
||||||
|
#WRAPPER > #CONTAINER button.invalid,
|
||||||
|
#WRAPPER > #CONTAINER .invalid > button {
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
left: 50%;
|
||||||
|
padding: .7em 1em;
|
||||||
|
border-radius: 3px;
|
||||||
|
border: 1px solid #d52918;
|
||||||
|
background: #d52918 center center no-repeat;
|
||||||
|
color: #fff;
|
||||||
|
transition: background .4s ease-in-out;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER button:hover, #WRAPPER > #CONTAINER button:focus, #WRAPPER > #CONTAINER button:disabled,
|
||||||
|
#WRAPPER > #CONTAINER button.invalid:hover,
|
||||||
|
#WRAPPER > #CONTAINER button.invalid:focus,
|
||||||
|
#WRAPPER > #CONTAINER button.invalid:disabled,
|
||||||
|
#WRAPPER > #CONTAINER .invalid > button:hover,
|
||||||
|
#WRAPPER > #CONTAINER .invalid > button:focus,
|
||||||
|
#WRAPPER > #CONTAINER .invalid > button:disabled {
|
||||||
|
background-color: #fff;
|
||||||
|
color: #d52918;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER button.valid,
|
||||||
|
#WRAPPER > #CONTAINER .valid > button {
|
||||||
|
border-color: #27a560;
|
||||||
|
background-color: #27a560;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER button.valid:hover, #WRAPPER > #CONTAINER button.valid:focus, #WRAPPER > #CONTAINER button.valid:disabled,
|
||||||
|
#WRAPPER > #CONTAINER .valid > button:hover,
|
||||||
|
#WRAPPER > #CONTAINER .valid > button:focus,
|
||||||
|
#WRAPPER > #CONTAINER .valid > button:disabled {
|
||||||
|
background-color: #fff;
|
||||||
|
color: #27a560;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER button.neutral,
|
||||||
|
#WRAPPER > #CONTAINER .neutral > button {
|
||||||
|
border-color: #2193e6;
|
||||||
|
background-color: #2193e6;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER button.neutral:hover, #WRAPPER > #CONTAINER button.neutral:focus, #WRAPPER > #CONTAINER button.neutral:disabled,
|
||||||
|
#WRAPPER > #CONTAINER .neutral > button:hover,
|
||||||
|
#WRAPPER > #CONTAINER .neutral > button:focus,
|
||||||
|
#WRAPPER > #CONTAINER .neutral > button:disabled {
|
||||||
|
background-color: #fff;
|
||||||
|
color: #2193e6;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER button.search,
|
||||||
|
#WRAPPER > #CONTAINER .search > button {
|
||||||
|
border-color: #5630ed;
|
||||||
|
background-color: #5630ed;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER button.search:hover, #WRAPPER > #CONTAINER button.search:focus, #WRAPPER > #CONTAINER button.search:disabled,
|
||||||
|
#WRAPPER > #CONTAINER .search > button:hover,
|
||||||
|
#WRAPPER > #CONTAINER .search > button:focus,
|
||||||
|
#WRAPPER > #CONTAINER .search > button:disabled {
|
||||||
|
background-color: #fff;
|
||||||
|
color: #5630ed;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER .invalid > button.active,
|
||||||
|
#WRAPPER > #CONTAINER button.invalid.active,
|
||||||
|
#WRAPPER > #CONTAINER button.active {
|
||||||
|
background-color: #fff;
|
||||||
|
background-image: url("/src/static/container/active@d52918.svg") !important;
|
||||||
|
background-size: 1em auto;
|
||||||
|
color: transparent !important;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER button.valid.active,
|
||||||
|
#WRAPPER > #CONTAINER .valid > button.active {
|
||||||
|
background-image: url("/src/static/container/active@27a560.svg") !important;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER button.neutral.active,
|
||||||
|
#WRAPPER > #CONTAINER .neutral > button.active {
|
||||||
|
background-image: url("/src/static/container/active@2193e6.svg") !important;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER button.search.active,
|
||||||
|
#WRAPPER > #CONTAINER .search > button.active {
|
||||||
|
background-image: url("/src/static/container/active@5630ed.svg") !important;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER hr.OR[data-label] {
|
||||||
|
display: block;
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
height: 0;
|
||||||
|
border: 0;
|
||||||
|
border-bottom: 1px dashed #d52918;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER hr.OR[data-label]:before {
|
||||||
|
content: attr(data-label);
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
padding: 0 1em;
|
||||||
|
background-color: #fff;
|
||||||
|
color: #d52918;
|
||||||
|
transform: translateX(-50%) translatey(-50%);
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER .valid > hr.OR,
|
||||||
|
#WRAPPER > #CONTAINER hr.OR.valid {
|
||||||
|
border-bottom: 1px dashed #27a560;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER .valid > hr.OR:before,
|
||||||
|
#WRAPPER > #CONTAINER hr.OR.valid:before {
|
||||||
|
color: #27a560;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER .neutral > hr.OR,
|
||||||
|
#WRAPPER > #CONTAINER hr.OR.neutral {
|
||||||
|
border-bottom: 1px dashed #2193e6;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER .neutral > hr.OR:before,
|
||||||
|
#WRAPPER > #CONTAINER hr.OR.neutral:before {
|
||||||
|
color: #2193e6;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER .search > hr.OR,
|
||||||
|
#WRAPPER > #CONTAINER hr.OR.search {
|
||||||
|
border-bottom: 1px dashed #5630ed;
|
||||||
|
}
|
||||||
|
#WRAPPER > #CONTAINER .search > hr.OR:before,
|
||||||
|
#WRAPPER > #CONTAINER hr.OR.search:before {
|
||||||
|
color: #5630ed;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* [4] Tableau à cocher
|
||||||
|
=========================================================*/
|
||||||
|
article.check-table {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
border-radius: 3px;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
}
|
||||||
|
article.check-table > div {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
flex: 100%;
|
||||||
|
padding: .8em 0;
|
||||||
|
color: #333;
|
||||||
|
background: #f8f8f8;
|
||||||
|
border-bottom: 1px solid #eee;
|
||||||
|
transition: background .2s ease-in-out;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
article.check-table > div:nth-child(2n) {
|
||||||
|
background: #fdfdfd;
|
||||||
|
}
|
||||||
|
article.check-table > div > span {
|
||||||
|
flex: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
justify-content: center;
|
||||||
|
/* (1) Gestion du checkbox hack */
|
||||||
|
}
|
||||||
|
article.check-table > div > span input[type='checkbox'] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
article.check-table > div > span input[type='checkbox'] + label[for] {
|
||||||
|
display: inline-block;
|
||||||
|
position: absolute;
|
||||||
|
width: 1.2em;
|
||||||
|
height: 1.2em;
|
||||||
|
background: url("/src/static/container/checkbox@999999.svg") center center no-repeat;
|
||||||
|
background-size: 100% auto;
|
||||||
|
transition: box-shadow .2s ease-in-out;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
article.check-table > div > span input[type='checkbox']:checked + label[for] {
|
||||||
|
background-image: url("/src/static/container/checkbox@checked@007dd8.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=container.css.map */
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiZ2xvYmFsLmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vZ2xvYmFsLnNjc3MiCgldLAoJInNvdXJjZXNDb250ZW50IjogWwoJCSIiCgldLAoJIm1hcHBpbmdzIjogIiIsCgkibmFtZXMiOiBbXQp9 */
|
|
@ -0,0 +1,31 @@
|
||||||
|
/* COULEUR DU THEME */
|
||||||
|
/* COULEUR DU SOUS-MENU */
|
||||||
|
/* COULEUR DES ERREURS */
|
||||||
|
/* FORMULAIRES */
|
||||||
|
/* GESTION DES LONGUEURS */
|
||||||
|
#WRAPPER > #HEADER {
|
||||||
|
/* Animation de chargement qudnd chargement ajax */
|
||||||
|
}
|
||||||
|
|
||||||
|
#WRAPPER > #HEADER > .icon {
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 4em;
|
||||||
|
height: 4em;
|
||||||
|
background-color: #c23f05;
|
||||||
|
background-image: url("/src/static/iconv2.svg");
|
||||||
|
background-position: center center;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: 50% 50%;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: all .3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
#WRAPPER > #HEADER.loading > .icon {
|
||||||
|
background-image: url("/src/static/loaderv2.svg");
|
||||||
|
background-size: 70% 70%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiaGVhZGVyLmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vaGVhZGVyLnNjc3MiLAoJCSIuLi9jb25zdGFudHMuc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIkBpbXBvcnQgJ2NvbnN0YW50cyc7XG5cblxuI1dSQVBQRVIgPiAjSEVBREVSe1xuXHQvLyBJY29uZSBkdSBzaXRlXG5cdCYgPiAuaWNvbntcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0d2lkdGg6ICRtZW51LXNpZGUtd2lkdGg7XG5cdFx0XHRoZWlnaHQ6ICRtZW51LXNpZGUtd2lkdGg7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHRoZW1lLWNvbG9yLCAxMCk7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcvc3JjL3N0YXRpYy9pY29udjIuc3ZnJyk7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogNTAlIDUwJTtcblxuXHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdHRyYW5zaXRpb246IGFsbCAuM3M7XG5cblx0fVxuXG5cdC8qIEFuaW1hdGlvbiBkZSBjaGFyZ2VtZW50IHF1ZG5kIGNoYXJnZW1lbnQgYWpheCAqL1xuXHQmLmxvYWRpbmcgPiAuaWNvbntcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9zcmMvc3RhdGljL2xvYWRlcnYyLnN2ZycpO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogNzAlIDcwJTtcblx0fVxuXG59XG4iLAoJCSIvKiBDT1VMRVVSIERVIFRIRU1FICovXG4kdGhlbWUtY29sb3I6ICNmNDRmMDY7XG5cbi8qIENPVUxFVVIgRFUgU09VUy1NRU5VICovXG4kc3ViLW1lbnUtY29sb3I6ICM1YjVlNjM7XG5cbi8qIENPVUxFVVIgREVTIEVSUkVVUlMgKi9cbiRlcnJvci1jb2xvcjogI2NjNTg1NztcblxuLyogRk9STVVMQUlSRVMgKi9cbiRmb3JtLXZhbGlkLWNvbG9yOiAgICMyN2E1NjA7XG4kZm9ybS1uZXV0cmFsLWNvbG9yOiAjMjE5M2U2O1xuJGZvcm0tc2VhcmNoLWNvbG9yOiAgIzU2MzBlZDtcbiRmb3JtLWludmFsaWQtY29sb3I6ICNkNTI5MTg7XG5cblxuLyogR0VTVElPTiBERVMgTE9OR1VFVVJTICovXG4kbWVudS1zaWRlLXdpZHRoOiA0ZW07XG5cblxuLy8gUE9VUiBSRVNPVVJDRV9ESVNQQVRDSEVSXG4kcmQtZm9ybS12YWxpZC1jb2xvcjogICAnMjdhNTYwJztcbiRyZC1mb3JtLW5ldXRyYWwtY29sb3I6ICcyMTkzZTYnO1xuJHJkLWZvcm0tc2VhcmNoLWNvbG9yOiAgJzU2MzBlZCc7XG4kcmQtZm9ybS1pbnZhbGlkLWNvbG9yOiAnZDUyOTE4JztcbiIKCV0sCgkibWFwcGluZ3MiOiAiQUNBQSxzQkFBc0I7QUFHdEIsMEJBQTBCO0FBRzFCLHlCQUF5QjtBQUd6QixpQkFBaUI7QUFPakIsMkJBQTJCO0FEYjNCLEFBQVcsUUFBSCxHQUFHLE9BQU8sQ0FBQTtFQXNCakIsbURBQW1EO0NBTW5EOztBQTVCRCxBQUVLLFFBRkcsR0FBRyxPQUFPLEdBRWIsS0FBSyxDQUFBO0VBQ1IsT0FBTyxFQUFFLEtBQU07RUFDZixRQUFRLEVBQUUsUUFBUztFQUNsQixHQUFHLEVBQUUsQ0FBRTtFQUNQLElBQUksRUFBRSxDQUFFO0VBQ1IsS0FBSyxFQ09VLEdBQUc7RURObEIsTUFBTSxFQ01TLEdBQUc7RURKbkIsZ0JBQWdCLEVBQUUsT0FBTTtFQUN4QixnQkFBZ0IsRUFBRSw2QkFBRztFQUNyQixtQkFBbUIsRUFBRSxhQUFjO0VBQ25DLGlCQUFpQixFQUFFLFNBQVU7RUFDN0IsZUFBZSxFQUFFLE9BQVE7RUFFekIsTUFBTSxFQUFFLE9BQVE7RUFFaEIsVUFBVSxFQUFFLE9BQVE7Q0FFcEI7O0FBcEJGLEFBdUJhLFFBdkJMLEdBQUcsT0FBTyxBQXVCaEIsUUFBUSxHQUFHLEtBQUssQ0FBQTtFQUNoQixnQkFBZ0IsRUFBRSwrQkFBRztFQUNyQixlQUFlLEVBQUUsT0FBUTtDQUN6QiIsCgkibmFtZXMiOiBbXQp9 */
|
|
@ -0,0 +1,62 @@
|
||||||
|
/* COULEUR DU THEME */
|
||||||
|
/* COULEUR DU SOUS-MENU */
|
||||||
|
/* COULEUR DES ERREURS */
|
||||||
|
/* FORMULAIRES */
|
||||||
|
/* GESTION DES LONGUEURS */
|
||||||
|
#WRAPPER {
|
||||||
|
display: block;
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background-color: #edf0f5;
|
||||||
|
font-family: 'Open Sans', 'Ubuntu';
|
||||||
|
/* [1] Header de la page
|
||||||
|
==========================================*/
|
||||||
|
/* [2] Side-Menu de la page
|
||||||
|
==========================================*/
|
||||||
|
/* [3] Container de la page
|
||||||
|
==========================================*/
|
||||||
|
}
|
||||||
|
|
||||||
|
#WRAPPER > #HEADER {
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: calc( 4em - 1px);
|
||||||
|
border-bottom: 1px solid #c23f05;
|
||||||
|
background-color: #f44f06;
|
||||||
|
z-index: 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
#WRAPPER > #MENU-SIDE {
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
top: 4em;
|
||||||
|
left: 0;
|
||||||
|
width: 4em;
|
||||||
|
height: 100%;
|
||||||
|
box-shadow: 2px 1px 3px #ddd;
|
||||||
|
background-color: #fff;
|
||||||
|
transition: all .3s;
|
||||||
|
z-index: 9;
|
||||||
|
}
|
||||||
|
|
||||||
|
#WRAPPER > #CONTAINER {
|
||||||
|
display: flex;
|
||||||
|
position: absolute;
|
||||||
|
top: 4em;
|
||||||
|
left: 4em;
|
||||||
|
width: calc( 100% - 4em - 2*1em);
|
||||||
|
height: calc( 100% - 4em - 2*1em);
|
||||||
|
padding: 1em;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: space-between;
|
||||||
|
overflow-x: none;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAibGF5b3V0LmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vbGF5b3V0LnNjc3MiLAoJCSIuLi9jb25zdGFudHMuc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIkBpbXBvcnQgJ2NvbnN0YW50cyc7XG5cbiNXUkFQUEVSe1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmMGY1O1xuXG5cdGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgJ1VidW50dSc7XG5cblxuXHQvKiBbMV0gSGVhZGVyIGRlIGxhIHBhZ2Vcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblx0JiA+ICNIRUFERVJ7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiBjYWxjKCAjeyRtZW51LXNpZGUtd2lkdGh9IC0gMXB4ICk7XG5cblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2VuKCR0aGVtZS1jb2xvciwgMTApO1xuXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuXG5cdFx0ei1pbmRleDogMTA7XG5cblx0fVxuXG5cblx0LyogWzJdIFNpZGUtTWVudSBkZSBsYSBwYWdlXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cdC8vIEdlc3Rpb24gZHUgbWVudVxuXHQmID4gI01FTlUtU0lERXtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6ICRtZW51LXNpZGUtd2lkdGg7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0d2lkdGg6ICRtZW51LXNpZGUtd2lkdGg7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cblx0XHRib3gtc2hhZG93OiAycHggMXB4IDNweCAjZGRkO1xuXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblxuXHRcdHRyYW5zaXRpb246IGFsbCAuM3M7XG5cblx0XHR6LWluZGV4OiA5O1xuXHR9XG5cblxuXHQvKiBbM10gQ29udGFpbmVyIGRlIGxhIHBhZ2Vcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblx0JiA+ICNDT05UQUlORVJ7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6ICRtZW51LXNpZGUtd2lkdGg7XG5cdFx0XHRsZWZ0OiAkbWVudS1zaWRlLXdpZHRoO1xuXHRcdFx0d2lkdGg6IGNhbGMoIDEwMCUgLSAjeyRtZW51LXNpZGUtd2lkdGh9IC0gMioxZW0gKTtcblx0XHRcdGhlaWdodDogY2FsYyggMTAwJSAtICN7JG1lbnUtc2lkZS13aWR0aH0gLSAyKjFlbSApO1xuXHRcdHBhZGRpbmc6IDFlbTtcblxuXHRcdC8vIEZsZXggcHJvcGVydGllc1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdFx0b3ZlcmZsb3cteDogbm9uZTtcblx0XHRvdmVyZmxvdy15OiBhdXRvO1xuXHR9XG59XG4iLAoJCSIvKiBDT1VMRVVSIERVIFRIRU1FICovXG4kdGhlbWUtY29sb3I6ICNmNDRmMDY7XG5cbi8qIENPVUxFVVIgRFUgU09VUy1NRU5VICovXG4kc3ViLW1lbnUtY29sb3I6ICM1YjVlNjM7XG5cbi8qIENPVUxFVVIgREVTIEVSUkVVUlMgKi9cbiRlcnJvci1jb2xvcjogI2NjNTg1NztcblxuLyogRk9STVVMQUlSRVMgKi9cbiRmb3JtLXZhbGlkLWNvbG9yOiAgICMyN2E1NjA7XG4kZm9ybS1uZXV0cmFsLWNvbG9yOiAjMjE5M2U2O1xuJGZvcm0tc2VhcmNoLWNvbG9yOiAgIzU2MzBlZDtcbiRmb3JtLWludmFsaWQtY29sb3I6ICNkNTI5MTg7XG5cblxuLyogR0VTVElPTiBERVMgTE9OR1VFVVJTICovXG4kbWVudS1zaWRlLXdpZHRoOiA0ZW07XG5cblxuLy8gUE9VUiBSRVNPVVJDRV9ESVNQQVRDSEVSXG4kcmQtZm9ybS12YWxpZC1jb2xvcjogICAnMjdhNTYwJztcbiRyZC1mb3JtLW5ldXRyYWwtY29sb3I6ICcyMTkzZTYnO1xuJHJkLWZvcm0tc2VhcmNoLWNvbG9yOiAgJzU2MzBlZCc7XG4kcmQtZm9ybS1pbnZhbGlkLWNvbG9yOiAnZDUyOTE4JztcbiIKCV0sCgkibWFwcGluZ3MiOiAiQUNBQSxzQkFBc0I7QUFHdEIsMEJBQTBCO0FBRzFCLHlCQUF5QjtBQUd6QixpQkFBaUI7QUFPakIsMkJBQTJCO0FEZDNCLEFBQUEsUUFBUSxDQUFBO0VBQ1AsT0FBTyxFQUFFLEtBQU07RUFDZixRQUFRLEVBQUUsS0FBTTtFQUNmLEdBQUcsRUFBRSxDQUFFO0VBQ1AsSUFBSSxFQUFFLENBQUU7RUFDUixLQUFLLEVBQUUsSUFBSztFQUNaLE1BQU0sRUFBRSxJQUFLO0VBRWQsZ0JBQWdCLEVBQUUsT0FBUTtFQUUxQixXQUFXLEVBQUUscUJBQXNCO0VBR25DOzZDQUM0QztFQWtCNUM7NkNBQzRDO0VBb0I1Qzs2Q0FDNEM7Q0FpQjVDOztBQXZFRCxBQWVLLFFBZkcsR0FlSCxPQUFPLENBQUE7RUFDVixPQUFPLEVBQUUsS0FBTTtFQUNmLFFBQVEsRUFBRSxRQUFTO0VBQ2xCLEdBQUcsRUFBRSxDQUFFO0VBQ1AsSUFBSSxFQUFFLENBQUU7RUFDUixLQUFLLEVBQUUsSUFBSztFQUNaLE1BQU0sRUFBRSxnQkFBSTtFQUViLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU07RUFFL0IsZ0JBQWdCLEVDMUJKLE9BQU87RUQ0Qm5CLE9BQU8sRUFBRSxFQUFHO0NBRVo7O0FBN0JGLEFBbUNLLFFBbkNHLEdBbUNILFVBQVUsQ0FBQTtFQUNiLE9BQU8sRUFBRSxLQUFNO0VBQ2YsUUFBUSxFQUFFLFFBQVM7RUFDbEIsR0FBRyxFQ3ZCWSxHQUFHO0VEd0JsQixJQUFJLEVBQUUsQ0FBRTtFQUNSLEtBQUssRUN6QlUsR0FBRztFRDBCbEIsTUFBTSxFQUFFLElBQUs7RUFFZCxVQUFVLEVBQUUsZ0JBQWlCO0VBRTdCLGdCQUFnQixFQUFFLElBQUs7RUFFdkIsVUFBVSxFQUFFLE9BQVE7RUFFcEIsT0FBTyxFQUFFLENBQUU7Q0FDWDs7QUFsREYsQUF1REssUUF2REcsR0F1REgsVUFBVSxDQUFBO0VBQ2IsT0FBTyxFQUFFLElBQUs7RUFDZCxRQUFRLEVBQUUsUUFBUztFQUNsQixHQUFHLEVDM0NZLEdBQUc7RUQ0Q2xCLElBQUksRUM1Q1csR0FBRztFRDZDbEIsS0FBSyxFQUFFLHlCQUFJO0VBQ1gsTUFBTSxFQUFFLHlCQUFJO0VBQ2IsT0FBTyxFQUFFLEdBQUk7RUFHYixjQUFjLEVBQUUsR0FBSTtFQUNwQixlQUFlLEVBQUUsYUFBYztFQUUvQixVQUFVLEVBQUUsSUFBSztFQUNqQixVQUFVLEVBQUUsSUFBSztDQUNqQiIsCgkibmFtZXMiOiBbXQp9 */
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,54 @@
|
||||||
|
/* COULEUR DU THEME */
|
||||||
|
/* COULEUR DU SOUS-MENU */
|
||||||
|
/* COULEUR DES ERREURS */
|
||||||
|
/* FORMULAIRES */
|
||||||
|
/* GESTION DES LONGUEURS */
|
||||||
|
#CONTAINER > .sub-menu-side {
|
||||||
|
display: block;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
#CONTAINER > .sub-menu-side > span[data-sublink] {
|
||||||
|
display: block;
|
||||||
|
position: relative;
|
||||||
|
width: 7.5em;
|
||||||
|
padding: .3em 1em .3em 2em;
|
||||||
|
margin: 1em;
|
||||||
|
border-radius: 3px;
|
||||||
|
color: #5b5e63;
|
||||||
|
text-shadow: 1px 1px white;
|
||||||
|
white-space: nowrap;
|
||||||
|
transition: all .2s;
|
||||||
|
cursor: pointer;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
#CONTAINER > .sub-menu-side > span[data-sublink] > .svg > svg {
|
||||||
|
display: inline-block;
|
||||||
|
position: absolute;
|
||||||
|
left: .5em;
|
||||||
|
top: 50%;
|
||||||
|
width: 1em;
|
||||||
|
height: 1em;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
#CONTAINER > .sub-menu-side > span[data-sublink] > .svg > svg path {
|
||||||
|
fill: #5b5e63 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#CONTAINER > .sub-menu-side > span[data-sublink]:hover, #CONTAINER > .sub-menu-side > span[data-sublink].active {
|
||||||
|
color: #121213;
|
||||||
|
background-color: #d8deea;
|
||||||
|
box-shadow: inset 0 0 4px #c8ced9;
|
||||||
|
}
|
||||||
|
|
||||||
|
#CONTAINER > .sub-menu-side > span[data-sublink]:hover > .svg > svg path, #CONTAINER > .sub-menu-side > span[data-sublink].active > .svg > svg path {
|
||||||
|
fill: #121213 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#CONTAINER > .sub-menu-side > span[data-sublink]:nth-child(1) {
|
||||||
|
margin-top: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAic3VibWVudS1zaWRlLmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vc3VibWVudS1zaWRlLnNjc3MiLAoJCSIuLi9jb25zdGFudHMuc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIkBpbXBvcnQgJ2NvbnN0YW50cyc7XG5cblxuI0NPTlRBSU5FUiA+IC5zdWItbWVudS1zaWRle1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdC8vIExlcyBsaWVucyBkdSBtZW51XG5cdCYgPiBzcGFuW2RhdGEtc3VibGlua117XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0d2lkdGg6IDcuNWVtO1xuXG5cdFx0cGFkZGluZzogLjNlbSAxZW0gLjNlbSAyZW07XG5cdFx0bWFyZ2luOiAxZW07XG5cblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cblx0XHRjb2xvcjogJHN1Yi1tZW51LWNvbG9yO1xuXHRcdHRleHQtc2hhZG93OiAxcHggMXB4IHdoaXRlO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cblx0XHR0cmFuc2l0aW9uOiBhbGwgLjJzO1xuXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdC8vIERpbWVuc2lvbi9Qb3NpdGlvbiBkZXMgc3ZnIChpY29uZXMpXG5cdFx0JiA+IC5zdmcgPiBzdmd7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGxlZnQ6IC41ZW07XG5cdFx0XHRcdC8vIGxlZnQ6IDEwMCU7XG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHR3aWR0aDogMWVtO1xuXHRcdFx0XHRoZWlnaHQ6IDFlbTtcblxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG5cdFx0XHQvLyBDb2xvcmF0aW9uIHBvdXIgdG91cyBsZXMgZWxlbWVudHMgZHUgc3ZnXG5cdFx0XHQmIHBhdGh7XG5cdFx0XHRcdGZpbGw6ICRzdWItbWVudS1jb2xvciAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6aG92ZXIsXG5cdFx0Ji5hY3RpdmV7XG5cdFx0XHRjb2xvcjogZGFya2VuKCRzdWItbWVudS1jb2xvciwgMzApO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2Q4ZGVlYTtcblx0XHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMCA0cHggI2M4Y2VkOTtcblxuXHRcdFx0JiA+IC5zdmcgPiBzdmcgcGF0aHtcblx0XHRcdFx0ZmlsbDogZGFya2VuKCRzdWItbWVudS1jb2xvciwgMzApICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG5cblx0Ly8gT24gZGVjYWxlIGxlIHByZW1pZXJcblx0JiA+IHNwYW5bZGF0YS1zdWJsaW5rXTpudGgtY2hpbGQoMSl7XG5cdFx0bWFyZ2luLXRvcDogMWVtO1xuXHR9XG5cbn1cbiIsCgkJIi8qIENPVUxFVVIgRFUgVEhFTUUgKi9cbiR0aGVtZS1jb2xvcjogI2Y0NGYwNjtcblxuLyogQ09VTEVVUiBEVSBTT1VTLU1FTlUgKi9cbiRzdWItbWVudS1jb2xvcjogIzViNWU2MztcblxuLyogQ09VTEVVUiBERVMgRVJSRVVSUyAqL1xuJGVycm9yLWNvbG9yOiAjY2M1ODU3O1xuXG4vKiBGT1JNVUxBSVJFUyAqL1xuJGZvcm0tdmFsaWQtY29sb3I6ICAgIzI3YTU2MDtcbiRmb3JtLW5ldXRyYWwtY29sb3I6ICMyMTkzZTY7XG4kZm9ybS1zZWFyY2gtY29sb3I6ICAjNTYzMGVkO1xuJGZvcm0taW52YWxpZC1jb2xvcjogI2Q1MjkxODtcblxuXG4vKiBHRVNUSU9OIERFUyBMT05HVUVVUlMgKi9cbiRtZW51LXNpZGUtd2lkdGg6IDRlbTtcblxuXG4vLyBQT1VSIFJFU09VUkNFX0RJU1BBVENIRVJcbiRyZC1mb3JtLXZhbGlkLWNvbG9yOiAgICcyN2E1NjAnO1xuJHJkLWZvcm0tbmV1dHJhbC1jb2xvcjogJzIxOTNlNic7XG4kcmQtZm9ybS1zZWFyY2gtY29sb3I6ICAnNTYzMGVkJztcbiRyZC1mb3JtLWludmFsaWQtY29sb3I6ICdkNTI5MTgnO1xuIgoJXSwKCSJtYXBwaW5ncyI6ICJBQ0FBLHNCQUFzQjtBQUd0QiwwQkFBMEI7QUFHMUIseUJBQXlCO0FBR3pCLGlCQUFpQjtBQU9qQiwyQkFBMkI7QURiM0IsQUFBYSxVQUFILEdBQUcsY0FBYyxDQUFBO0VBQzFCLE9BQU8sRUFBRSxLQUFNO0VBQ2YsUUFBUSxFQUFFLFFBQVM7Q0E2RG5COztBQS9ERCxBQUtzQixVQUxaLEdBQUcsY0FBYyxHQUt0QixJQUFJLENBQUEsQUFBQSxZQUFDLEFBQUEsRUFBYTtFQUNyQixPQUFPLEVBQUUsS0FBTTtFQUNmLFFBQVEsRUFBRSxRQUFTO0VBQ2xCLEtBQUssRUFBRSxLQUFNO0VBRWQsT0FBTyxFQUFFLGlCQUFrQjtFQUMzQixNQUFNLEVBQUUsR0FBSTtFQUVaLGFBQWEsRUFBRSxHQUFJO0VBRW5CLEtBQUssRUNkVSxPQUFPO0VEZXRCLFdBQVcsRUFBRSxhQUFjO0VBQzNCLFdBQVcsRUFBRSxNQUFPO0VBRXBCLFVBQVUsRUFBRSxPQUFRO0VBRXBCLE1BQU0sRUFBRSxPQUFRO0VBRWhCLFFBQVEsRUFBRSxNQUFPO0NBZ0NqQjs7QUF2REYsQUEwQmEsVUExQkgsR0FBRyxjQUFjLEdBS3RCLElBQUksQ0FBQSxBQUFBLFlBQUMsQUFBQSxJQXFCSixJQUFJLEdBQUcsR0FBRyxDQUFBO0VBQ2IsT0FBTyxFQUFFLFlBQWE7RUFDdEIsUUFBUSxFQUFFLFFBQVM7RUFDbEIsSUFBSSxFQUFFLElBQUs7RUFFWCxHQUFHLEVBQUUsR0FBSTtFQUNULEtBQUssRUFBRSxHQUFJO0VBQ1gsTUFBTSxFQUFFLEdBQUk7RUFFYixTQUFTLEVBQUUsZ0JBQVU7Q0FNckI7O0FBekNILEFBc0NLLFVBdENLLEdBQUcsY0FBYyxHQUt0QixJQUFJLENBQUEsQUFBQSxZQUFDLEFBQUEsSUFxQkosSUFBSSxHQUFHLEdBQUcsQ0FZWCxJQUFJLENBQUE7RUFDTCxJQUFJLEVDdENTLE9BQU8sQ0RzQ0UsVUFBVTtDQUNoQzs7QUF4Q0osQUFLc0IsVUFMWixHQUFHLGNBQWMsR0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLENBc0NQLE1BQU0sRUEzQ1QsQUFLc0IsVUFMWixHQUFHLGNBQWMsR0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLENBdUNQLE9BQU8sQ0FBQTtFQUNQLEtBQUssRUFBRSxPQUFNO0VBQ2IsZ0JBQWdCLEVBQUUsT0FBUTtFQUMxQixVQUFVLEVBQUUscUJBQXNCO0NBTWxDOztBQXJESCxBQWlEa0IsVUFqRFIsR0FBRyxjQUFjLEdBS3RCLElBQUksQ0FBQSxBQUFBLFlBQUMsQUFBQSxDQXNDUCxNQUFNLEdBTUYsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBakR0QixBQWlEa0IsVUFqRFIsR0FBRyxjQUFjLEdBS3RCLElBQUksQ0FBQSxBQUFBLFlBQUMsQUFBQSxDQXVDUCxPQUFPLEdBS0gsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUE7RUFDbEIsSUFBSSxFQUFFLE9BQU0sQ0FBc0IsVUFBVTtDQUM1Qzs7QUFuREosQUEyRG1DLFVBM0R6QixHQUFHLGNBQWMsR0EyRHRCLElBQUksQ0FBQSxBQUFBLFlBQUMsQUFBQSxDQUFhLFVBQVcsQ0FBQSxBQUFBLENBQUMsRUFBQztFQUNsQyxVQUFVLEVBQUUsR0FBSTtDQUNoQiIsCgkibmFtZXMiOiBbXQp9 */
|
|
@ -1,324 +0,0 @@
|
||||||
@import 'constants';
|
|
||||||
|
|
||||||
/* [3] Formulaires
|
|
||||||
=========================================================*/
|
|
||||||
section > form, .form{
|
|
||||||
display: inline-block;
|
|
||||||
position: relative;
|
|
||||||
left: 50%;
|
|
||||||
margin: .3em 0;
|
|
||||||
padding: 1em;
|
|
||||||
|
|
||||||
border-radius: 3px;
|
|
||||||
border-color: $form-invalid-color;
|
|
||||||
box-shadow: 0 0 1px #b7b7b7;
|
|
||||||
|
|
||||||
background-color: #fff;
|
|
||||||
|
|
||||||
-webkit-transform: translateX(-50%);
|
|
||||||
transform: translateX(-50%);
|
|
||||||
|
|
||||||
&#choose-cluster{
|
|
||||||
left: 0;
|
|
||||||
-webkit-transform: none;
|
|
||||||
transform: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
&.valid{
|
|
||||||
border-color: $form-valid-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
&.neutral{
|
|
||||||
border-color: $form-neutral-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
&.search{
|
|
||||||
border-color: $form-neutral-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Textes centres
|
|
||||||
.edit_search_view,
|
|
||||||
.remove_search_view{
|
|
||||||
display: inline-block;
|
|
||||||
width: 100%;
|
|
||||||
|
|
||||||
text-align: center;
|
|
||||||
color: #aaaaaa;
|
|
||||||
|
|
||||||
span{
|
|
||||||
color: #888888;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
span.error-msg{
|
|
||||||
display: inline-block;
|
|
||||||
color: #F03C3C;
|
|
||||||
font-size: 0.7em;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* (1) Champs de texte */
|
|
||||||
input[type=text],
|
|
||||||
input[type=mail],
|
|
||||||
input[type=password],
|
|
||||||
select,
|
|
||||||
.invalid > input[type=text],
|
|
||||||
.invalid > input[type=mail],
|
|
||||||
.invalid > input[type=password],
|
|
||||||
.invalid > select,
|
|
||||||
input.invalid[type=text],
|
|
||||||
input.invalid[type=mail],
|
|
||||||
input.invalid[type=password],
|
|
||||||
select.invalid{
|
|
||||||
display: inline-block;
|
|
||||||
margin: 1em 0;
|
|
||||||
padding: .7em 1em;
|
|
||||||
|
|
||||||
border-radius: 3px;
|
|
||||||
border: 1px solid #d7dde8;
|
|
||||||
|
|
||||||
color: #2f3033;
|
|
||||||
|
|
||||||
transition: border .4s ease-in-out;
|
|
||||||
|
|
||||||
&:focus,
|
|
||||||
&:hover{
|
|
||||||
border-color: $form-invalid-color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
select{
|
|
||||||
width: 100%;
|
|
||||||
display: block;
|
|
||||||
background: #fff;
|
|
||||||
|
|
||||||
option{
|
|
||||||
padding: .5em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Champs valides
|
|
||||||
.valid > input[type=text],
|
|
||||||
.valid > input[type=mail],
|
|
||||||
.valid > input[type=password],
|
|
||||||
.valid > select,
|
|
||||||
input.valid[type=text],
|
|
||||||
input.valid[type=mail],
|
|
||||||
input.valid[type=password],
|
|
||||||
select.valid{
|
|
||||||
&:focus,
|
|
||||||
&:hover{
|
|
||||||
border-color: $form-valid-color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Champs neutres
|
|
||||||
.neutral > input[type=text],
|
|
||||||
.neutral > input[type=mail],
|
|
||||||
.neutral > input[type=password],
|
|
||||||
.neutral > select,
|
|
||||||
input.neutral[type=text],
|
|
||||||
input.neutral[type=mail],
|
|
||||||
input.neutral[type=password],
|
|
||||||
select.neutral{
|
|
||||||
&:focus,
|
|
||||||
&:hover{
|
|
||||||
border-color: $form-neutral-color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Champs neutres
|
|
||||||
.search > input[type=text],
|
|
||||||
.search > input[type=mail],
|
|
||||||
.search > input[type=password],
|
|
||||||
.search > select,
|
|
||||||
input.search[type=text],
|
|
||||||
input.search[type=mail],
|
|
||||||
input.search[type=password]{
|
|
||||||
&:focus,
|
|
||||||
&:hover{
|
|
||||||
border-color: $form-search-color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* (2) Boutons */
|
|
||||||
button,
|
|
||||||
button.invalid,
|
|
||||||
.invalid > button{
|
|
||||||
display: inline-block;
|
|
||||||
position: relative;
|
|
||||||
left: 50%;
|
|
||||||
|
|
||||||
padding: .7em 1em;
|
|
||||||
|
|
||||||
border-radius: 3px;
|
|
||||||
border: 1px solid $form-invalid-color;
|
|
||||||
|
|
||||||
background: $form-invalid-color center center no-repeat;
|
|
||||||
|
|
||||||
color: #fff;
|
|
||||||
|
|
||||||
transition: background .4s ease-in-out;
|
|
||||||
|
|
||||||
-webkit-transform: translateX(-50%);
|
|
||||||
transform: translateX(-50%);
|
|
||||||
|
|
||||||
&:hover,
|
|
||||||
&:focus,
|
|
||||||
&:disabled{
|
|
||||||
background-color: #fff;
|
|
||||||
color: $form-invalid-color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Boutons grisés
|
|
||||||
button.grey,
|
|
||||||
.grey > button{
|
|
||||||
border-color: $form-grey-color;
|
|
||||||
|
|
||||||
background-color: $form-grey-color;
|
|
||||||
|
|
||||||
&:hover,
|
|
||||||
&:focus,
|
|
||||||
&:disabled{
|
|
||||||
background-color: #fff;
|
|
||||||
color: $form-grey-color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Boutons valides
|
|
||||||
button.valid,
|
|
||||||
.valid > button{
|
|
||||||
border-color: $form-valid-color;
|
|
||||||
|
|
||||||
background-color: $form-valid-color;
|
|
||||||
|
|
||||||
&:hover,
|
|
||||||
&:focus,
|
|
||||||
&:disabled{
|
|
||||||
background-color: #fff;
|
|
||||||
color: $form-valid-color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Boutons neutres
|
|
||||||
button.neutral,
|
|
||||||
.neutral > button{
|
|
||||||
border-color: $form-neutral-color;
|
|
||||||
|
|
||||||
background-color: $form-neutral-color;
|
|
||||||
|
|
||||||
&:hover,
|
|
||||||
&:focus,
|
|
||||||
&:disabled{
|
|
||||||
background-color: #fff;
|
|
||||||
color: $form-neutral-color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Boutons recherche
|
|
||||||
button.search,
|
|
||||||
.search > button{
|
|
||||||
border-color: $form-search-color;
|
|
||||||
|
|
||||||
background-color: $form-search-color;
|
|
||||||
|
|
||||||
&:hover,
|
|
||||||
&:focus,
|
|
||||||
&:disabled{
|
|
||||||
background-color: #fff;
|
|
||||||
color: $form-search-color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Boutons quand action validee
|
|
||||||
.invalid > button.active,
|
|
||||||
button.invalid.active,
|
|
||||||
button.active{
|
|
||||||
background-color: #fff;
|
|
||||||
background-image: url('/src/static/container/active@#{$rd-form-invalid-color}.svg') !important;
|
|
||||||
background-size: 1em auto;
|
|
||||||
|
|
||||||
color: transparent !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
button.valid.active,
|
|
||||||
.valid > button.active{
|
|
||||||
background-image: url('/src/static/container/active@#{$rd-form-valid-color}.svg') !important;
|
|
||||||
}
|
|
||||||
button.neutral.active,
|
|
||||||
.neutral > button.active{
|
|
||||||
background-image: url('/src/static/container/active@#{$rd-form-neutral-color}.svg') !important;
|
|
||||||
}
|
|
||||||
button.search.active,
|
|
||||||
.search > button.active{
|
|
||||||
background-image: url('/src/static/container/active@#{$rd-form-search-color}.svg') !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// "OU" separant les boutons
|
|
||||||
hr.OR[data-label]{
|
|
||||||
display: block;
|
|
||||||
position: relative;
|
|
||||||
width: 100%;
|
|
||||||
height: 0;
|
|
||||||
|
|
||||||
border: 0;
|
|
||||||
border-bottom: 1px dashed $form-invalid-color;
|
|
||||||
|
|
||||||
&:before{
|
|
||||||
content: attr(data-label);
|
|
||||||
display: inline-block;
|
|
||||||
position: relative;
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
padding: 0 1em;
|
|
||||||
|
|
||||||
background-color: #fff;
|
|
||||||
|
|
||||||
color: $form-invalid-color;
|
|
||||||
|
|
||||||
-webkit-transform: translateX(-50%) translatey(-50%);
|
|
||||||
transform: translateX(-50%) translatey(-50%);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// "OU" valide
|
|
||||||
.valid > hr.OR,
|
|
||||||
hr.OR.valid{
|
|
||||||
border-bottom: 1px dashed $form-valid-color;
|
|
||||||
&:before{
|
|
||||||
color: $form-valid-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// "OU" neutre
|
|
||||||
.neutral > hr.OR,
|
|
||||||
hr.OR.neutral{
|
|
||||||
border-bottom: 1px dashed $form-neutral-color;
|
|
||||||
&:before{
|
|
||||||
color: $form-neutral-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// "OU" recherche
|
|
||||||
.search > hr.OR,
|
|
||||||
hr.OR.search{
|
|
||||||
border-bottom: 1px dashed $form-search-color;
|
|
||||||
&:before{
|
|
||||||
color: $form-search-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -9,7 +9,7 @@
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
width: $menu-side-width;
|
width: $menu-side-width;
|
||||||
height: calc( #{$menu-side-width} - 1px );
|
height: $menu-side-width;
|
||||||
|
|
||||||
background-color: darken($theme-color, 10);
|
background-color: darken($theme-color, 10);
|
||||||
background-image: url('/src/static/iconv3.svg');
|
background-image: url('/src/static/iconv3.svg');
|
||||||
|
|
|
@ -68,114 +68,7 @@
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
overflow: hidden;
|
overflow-x: none;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* [4] Popup background - window
|
|
||||||
==========================================*/
|
|
||||||
& > #POPUP{
|
|
||||||
display: none;
|
|
||||||
position: fixed;
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
min-width: 50%;
|
|
||||||
max-width: 50%;
|
|
||||||
min-height: 30%;
|
|
||||||
max-height: 50%;
|
|
||||||
|
|
||||||
border-radius: 5px;
|
|
||||||
|
|
||||||
background: #fff;
|
|
||||||
color: #34495e;
|
|
||||||
|
|
||||||
box-shadow: -10px 10px 0 rgba(26, 33, 40, .8);
|
|
||||||
|
|
||||||
-webkit-transform: translateX(-50%) translateY(-50%);
|
|
||||||
transform: translateX(-50%) translateY(-50%);
|
|
||||||
|
|
||||||
z-index: 101;
|
|
||||||
|
|
||||||
flex-flow: column nowrap;
|
|
||||||
justify-content: space-between;
|
|
||||||
|
|
||||||
&.active{
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
& > .header{
|
|
||||||
display: block;
|
|
||||||
position: relative;
|
|
||||||
width: calc( 100% - 2*1em );
|
|
||||||
|
|
||||||
padding: 1em;
|
|
||||||
|
|
||||||
border-radius: 5px 5px 0 0;
|
|
||||||
border-bottom: 2px solid #ecf0f1;
|
|
||||||
|
|
||||||
font-size: 1.1em;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
& > .body{
|
|
||||||
display: block;
|
|
||||||
position: relative;
|
|
||||||
width: calc( 100% - 2*1em );
|
|
||||||
|
|
||||||
padding: 1em;
|
|
||||||
|
|
||||||
b, strong{
|
|
||||||
color: #5630ed;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
& > .footer{
|
|
||||||
display: flex;
|
|
||||||
position: relative;
|
|
||||||
width: calc( 100% - 2*1em );
|
|
||||||
|
|
||||||
padding: 1em;
|
|
||||||
|
|
||||||
background-color: #ecf0f1;
|
|
||||||
|
|
||||||
border-radius: 0 0 5px 5px;
|
|
||||||
|
|
||||||
// flex props.
|
|
||||||
flex-direction: row;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
justify-content: flex-end;
|
|
||||||
|
|
||||||
& button{
|
|
||||||
left: auto;
|
|
||||||
margin: 0 1em;
|
|
||||||
-webkit-transform: none;
|
|
||||||
transform: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
& > #POPUP-BG{
|
|
||||||
display: none;
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
|
|
||||||
background: #29333f;
|
|
||||||
background: rgba(41, 51, 63, .8);
|
|
||||||
|
|
||||||
z-index: 100;
|
|
||||||
}
|
|
||||||
|
|
||||||
& #POPUP.active ~ #POPUP-BG{
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -87,7 +87,6 @@
|
||||||
box-shadow: inset 0 0 .5em #eee;
|
box-shadow: inset 0 0 .5em #eee;
|
||||||
|
|
||||||
&:hover:after{
|
&:hover:after{
|
||||||
-webkit-transform: scaleX(1);
|
|
||||||
transform: scaleX(1);
|
transform: scaleX(1);
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,4 +3,6 @@
|
||||||
/* COULEUR DES ERREURS */
|
/* COULEUR DES ERREURS */
|
||||||
/* FORMULAIRES */
|
/* FORMULAIRES */
|
||||||
/* GESTION DES LONGUEURS */
|
/* GESTION DES LONGUEURS */
|
||||||
/*# sourceMappingURL=constants.css.map */
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL= constants.css.map */
|
File diff suppressed because it is too large
Load Diff
|
@ -2,41 +2,50 @@
|
||||||
font-family: 'Open Sans';
|
font-family: 'Open Sans';
|
||||||
src: url("/css/font/Open Sans/R.ttf");
|
src: url("/css/font/Open Sans/R.ttf");
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal; }
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Open Sans sb';
|
font-family: 'Open Sans sb';
|
||||||
src: url("/css/font/Open Sans/SB.ttf");
|
src: url("/css/font/Open Sans/SB.ttf");
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal; }
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Open Sans';
|
font-family: 'Open Sans';
|
||||||
src: url("/css/font/Open Sans/b.ttf");
|
src: url("/css/font/Open Sans/b.ttf");
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-style: normal; }
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Open Sans';
|
font-family: 'Open Sans';
|
||||||
src: url("/css/font/Open Sans/i.ttf");
|
src: url("/css/font/Open Sans/i.ttf");
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: italic; }
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Open Sans';
|
font-family: 'Open Sans';
|
||||||
src: url("/css/font/Open Sans/bi.ttf");
|
src: url("/css/font/Open Sans/bi.ttf");
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-style: italic; }
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Open Sans';
|
font-family: 'Open Sans';
|
||||||
src: url("/css/font/Open Sans/L.ttf");
|
src: url("/css/font/Open Sans/L.ttf");
|
||||||
font-weight: 100;
|
font-weight: 100;
|
||||||
font-style: normal; }
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Open Sans';
|
font-family: 'Open Sans';
|
||||||
src: url("/css/font/Open Sans/Li.ttf");
|
src: url("/css/font/Open Sans/Li.ttf");
|
||||||
font-weight: 100;
|
font-weight: 100;
|
||||||
font-style: italic; }
|
font-style: italic;
|
||||||
/*# sourceMappingURL=font.css.map */
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL= font.css.map */
|
|
@ -0,0 +1,37 @@
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Open Sans';
|
||||||
|
src: url("/css/font/Open Sans/R.ttf");
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal; }
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Open Sans sb';
|
||||||
|
src: url("/css/font/Open Sans/SB.ttf");
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal; }
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Open Sans';
|
||||||
|
src: url("/css/font/Open Sans/b.ttf");
|
||||||
|
font-weight: bold;
|
||||||
|
font-style: normal; }
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Open Sans';
|
||||||
|
src: url("/css/font/Open Sans/i.ttf");
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: italic; }
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Open Sans';
|
||||||
|
src: url("/css/font/Open Sans/bi.ttf");
|
||||||
|
font-weight: bold;
|
||||||
|
font-style: italic; }
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Open Sans';
|
||||||
|
src: url("/css/font/Open Sans/L.ttf");
|
||||||
|
font-weight: 100;
|
||||||
|
font-style: normal; }
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Open Sans';
|
||||||
|
src: url("/css/font/Open Sans/Li.ttf");
|
||||||
|
font-weight: 100;
|
||||||
|
font-style: italic; }
|
||||||
|
|
||||||
|
/*# sourceMappingURL=fonts.css.map */
|
|
@ -1,275 +1,3 @@
|
||||||
/* COULEUR DU THEME */
|
/* No CSS */
|
||||||
/* COULEUR DU SOUS-MENU */
|
|
||||||
/* COULEUR DES ERREURS */
|
|
||||||
/* FORMULAIRES */
|
|
||||||
/* GESTION DES LONGUEURS */
|
|
||||||
/* [3] Formulaires
|
|
||||||
=========================================================*/
|
|
||||||
section > form, .form {
|
|
||||||
display: inline-block;
|
|
||||||
position: relative;
|
|
||||||
left: 50%;
|
|
||||||
margin: .3em 0;
|
|
||||||
padding: 1em;
|
|
||||||
border-radius: 3px;
|
|
||||||
border-color: #d52918;
|
|
||||||
box-shadow: 0 0 1px #b7b7b7;
|
|
||||||
background-color: #fff;
|
|
||||||
-webkit-transform: translateX(-50%);
|
|
||||||
transform: translateX(-50%); }
|
|
||||||
section > form#choose-cluster, .form#choose-cluster {
|
|
||||||
left: 0;
|
|
||||||
-webkit-transform: none;
|
|
||||||
transform: none; }
|
|
||||||
section > form.valid, .form.valid {
|
|
||||||
border-color: #27a560; }
|
|
||||||
section > form.neutral, .form.neutral {
|
|
||||||
border-color: #2193e6; }
|
|
||||||
section > form.search, .form.search {
|
|
||||||
border-color: #2193e6; }
|
|
||||||
section > form .edit_search_view,
|
|
||||||
section > form .remove_search_view, .form .edit_search_view,
|
|
||||||
.form .remove_search_view {
|
|
||||||
display: inline-block;
|
|
||||||
width: 100%;
|
|
||||||
text-align: center;
|
|
||||||
color: #aaaaaa; }
|
|
||||||
section > form .edit_search_view span,
|
|
||||||
section > form .remove_search_view span, .form .edit_search_view span,
|
|
||||||
.form .remove_search_view span {
|
|
||||||
color: #888888; }
|
|
||||||
section > form span.error-msg, .form span.error-msg {
|
|
||||||
display: inline-block;
|
|
||||||
color: #F03C3C;
|
|
||||||
font-size: 0.7em; }
|
|
||||||
|
|
||||||
/* (1) Champs de texte */
|
/*# sourceMappingURL= global.css.map */
|
||||||
input[type=text],
|
|
||||||
input[type=mail],
|
|
||||||
input[type=password],
|
|
||||||
select,
|
|
||||||
.invalid > input[type=text],
|
|
||||||
.invalid > input[type=mail],
|
|
||||||
.invalid > input[type=password],
|
|
||||||
.invalid > select,
|
|
||||||
input.invalid[type=text],
|
|
||||||
input.invalid[type=mail],
|
|
||||||
input.invalid[type=password],
|
|
||||||
select.invalid {
|
|
||||||
display: inline-block;
|
|
||||||
margin: 1em 0;
|
|
||||||
padding: .7em 1em;
|
|
||||||
border-radius: 3px;
|
|
||||||
border: 1px solid #d7dde8;
|
|
||||||
color: #2f3033;
|
|
||||||
transition: border .4s ease-in-out; }
|
|
||||||
input[type=text]:focus, input[type=text]:hover,
|
|
||||||
input[type=mail]:focus,
|
|
||||||
input[type=mail]:hover,
|
|
||||||
input[type=password]:focus,
|
|
||||||
input[type=password]:hover,
|
|
||||||
select:focus,
|
|
||||||
select:hover,
|
|
||||||
.invalid > input[type=text]:focus,
|
|
||||||
.invalid > input[type=text]:hover,
|
|
||||||
.invalid > input[type=mail]:focus,
|
|
||||||
.invalid > input[type=mail]:hover,
|
|
||||||
.invalid > input[type=password]:focus,
|
|
||||||
.invalid > input[type=password]:hover,
|
|
||||||
.invalid > select:focus,
|
|
||||||
.invalid > select:hover,
|
|
||||||
input.invalid[type=text]:focus,
|
|
||||||
input.invalid[type=text]:hover,
|
|
||||||
input.invalid[type=mail]:focus,
|
|
||||||
input.invalid[type=mail]:hover,
|
|
||||||
input.invalid[type=password]:focus,
|
|
||||||
input.invalid[type=password]:hover,
|
|
||||||
select.invalid:focus,
|
|
||||||
select.invalid:hover {
|
|
||||||
border-color: #d52918; }
|
|
||||||
|
|
||||||
select {
|
|
||||||
width: 100%;
|
|
||||||
display: block;
|
|
||||||
background: #fff; }
|
|
||||||
select option {
|
|
||||||
padding: .5em; }
|
|
||||||
|
|
||||||
.valid > input[type=text]:focus, .valid > input[type=text]:hover,
|
|
||||||
.valid > input[type=mail]:focus,
|
|
||||||
.valid > input[type=mail]:hover,
|
|
||||||
.valid > input[type=password]:focus,
|
|
||||||
.valid > input[type=password]:hover,
|
|
||||||
.valid > select:focus,
|
|
||||||
.valid > select:hover,
|
|
||||||
input.valid[type=text]:focus,
|
|
||||||
input.valid[type=text]:hover,
|
|
||||||
input.valid[type=mail]:focus,
|
|
||||||
input.valid[type=mail]:hover,
|
|
||||||
input.valid[type=password]:focus,
|
|
||||||
input.valid[type=password]:hover,
|
|
||||||
select.valid:focus,
|
|
||||||
select.valid:hover {
|
|
||||||
border-color: #27a560; }
|
|
||||||
|
|
||||||
.neutral > input[type=text]:focus, .neutral > input[type=text]:hover,
|
|
||||||
.neutral > input[type=mail]:focus,
|
|
||||||
.neutral > input[type=mail]:hover,
|
|
||||||
.neutral > input[type=password]:focus,
|
|
||||||
.neutral > input[type=password]:hover,
|
|
||||||
.neutral > select:focus,
|
|
||||||
.neutral > select:hover,
|
|
||||||
input.neutral[type=text]:focus,
|
|
||||||
input.neutral[type=text]:hover,
|
|
||||||
input.neutral[type=mail]:focus,
|
|
||||||
input.neutral[type=mail]:hover,
|
|
||||||
input.neutral[type=password]:focus,
|
|
||||||
input.neutral[type=password]:hover,
|
|
||||||
select.neutral:focus,
|
|
||||||
select.neutral:hover {
|
|
||||||
border-color: #2193e6; }
|
|
||||||
|
|
||||||
.search > input[type=text]:focus, .search > input[type=text]:hover,
|
|
||||||
.search > input[type=mail]:focus,
|
|
||||||
.search > input[type=mail]:hover,
|
|
||||||
.search > input[type=password]:focus,
|
|
||||||
.search > input[type=password]:hover,
|
|
||||||
.search > select:focus,
|
|
||||||
.search > select:hover,
|
|
||||||
input.search[type=text]:focus,
|
|
||||||
input.search[type=text]:hover,
|
|
||||||
input.search[type=mail]:focus,
|
|
||||||
input.search[type=mail]:hover,
|
|
||||||
input.search[type=password]:focus,
|
|
||||||
input.search[type=password]:hover {
|
|
||||||
border-color: #5630ed; }
|
|
||||||
|
|
||||||
/* (2) Boutons */
|
|
||||||
button,
|
|
||||||
button.invalid,
|
|
||||||
.invalid > button {
|
|
||||||
display: inline-block;
|
|
||||||
position: relative;
|
|
||||||
left: 50%;
|
|
||||||
padding: .7em 1em;
|
|
||||||
border-radius: 3px;
|
|
||||||
border: 1px solid #d52918;
|
|
||||||
background: #d52918 center center no-repeat;
|
|
||||||
color: #fff;
|
|
||||||
transition: background .4s ease-in-out;
|
|
||||||
-webkit-transform: translateX(-50%);
|
|
||||||
transform: translateX(-50%); }
|
|
||||||
button:hover, button:focus, button:disabled,
|
|
||||||
button.invalid:hover,
|
|
||||||
button.invalid:focus,
|
|
||||||
button.invalid:disabled,
|
|
||||||
.invalid > button:hover,
|
|
||||||
.invalid > button:focus,
|
|
||||||
.invalid > button:disabled {
|
|
||||||
background-color: #fff;
|
|
||||||
color: #d52918; }
|
|
||||||
|
|
||||||
button.grey,
|
|
||||||
.grey > button {
|
|
||||||
border-color: #8d8d8d;
|
|
||||||
background-color: #8d8d8d; }
|
|
||||||
button.grey:hover, button.grey:focus, button.grey:disabled,
|
|
||||||
.grey > button:hover,
|
|
||||||
.grey > button:focus,
|
|
||||||
.grey > button:disabled {
|
|
||||||
background-color: #fff;
|
|
||||||
color: #8d8d8d; }
|
|
||||||
|
|
||||||
button.valid,
|
|
||||||
.valid > button {
|
|
||||||
border-color: #27a560;
|
|
||||||
background-color: #27a560; }
|
|
||||||
button.valid:hover, button.valid:focus, button.valid:disabled,
|
|
||||||
.valid > button:hover,
|
|
||||||
.valid > button:focus,
|
|
||||||
.valid > button:disabled {
|
|
||||||
background-color: #fff;
|
|
||||||
color: #27a560; }
|
|
||||||
|
|
||||||
button.neutral,
|
|
||||||
.neutral > button {
|
|
||||||
border-color: #2193e6;
|
|
||||||
background-color: #2193e6; }
|
|
||||||
button.neutral:hover, button.neutral:focus, button.neutral:disabled,
|
|
||||||
.neutral > button:hover,
|
|
||||||
.neutral > button:focus,
|
|
||||||
.neutral > button:disabled {
|
|
||||||
background-color: #fff;
|
|
||||||
color: #2193e6; }
|
|
||||||
|
|
||||||
button.search,
|
|
||||||
.search > button {
|
|
||||||
border-color: #5630ed;
|
|
||||||
background-color: #5630ed; }
|
|
||||||
button.search:hover, button.search:focus, button.search:disabled,
|
|
||||||
.search > button:hover,
|
|
||||||
.search > button:focus,
|
|
||||||
.search > button:disabled {
|
|
||||||
background-color: #fff;
|
|
||||||
color: #5630ed; }
|
|
||||||
|
|
||||||
.invalid > button.active,
|
|
||||||
button.invalid.active,
|
|
||||||
button.active {
|
|
||||||
background-color: #fff;
|
|
||||||
background-image: url("/src/static/container/active@d52918.svg") !important;
|
|
||||||
background-size: 1em auto;
|
|
||||||
color: transparent !important; }
|
|
||||||
|
|
||||||
button.valid.active,
|
|
||||||
.valid > button.active {
|
|
||||||
background-image: url("/src/static/container/active@27a560.svg") !important; }
|
|
||||||
|
|
||||||
button.neutral.active,
|
|
||||||
.neutral > button.active {
|
|
||||||
background-image: url("/src/static/container/active@2193e6.svg") !important; }
|
|
||||||
|
|
||||||
button.search.active,
|
|
||||||
.search > button.active {
|
|
||||||
background-image: url("/src/static/container/active@5630ed.svg") !important; }
|
|
||||||
|
|
||||||
hr.OR[data-label] {
|
|
||||||
display: block;
|
|
||||||
position: relative;
|
|
||||||
width: 100%;
|
|
||||||
height: 0;
|
|
||||||
border: 0;
|
|
||||||
border-bottom: 1px dashed #d52918; }
|
|
||||||
hr.OR[data-label]:before {
|
|
||||||
content: attr(data-label);
|
|
||||||
display: inline-block;
|
|
||||||
position: relative;
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
padding: 0 1em;
|
|
||||||
background-color: #fff;
|
|
||||||
color: #d52918;
|
|
||||||
-webkit-transform: translateX(-50%) translatey(-50%);
|
|
||||||
transform: translateX(-50%) translatey(-50%); }
|
|
||||||
|
|
||||||
.valid > hr.OR,
|
|
||||||
hr.OR.valid {
|
|
||||||
border-bottom: 1px dashed #27a560; }
|
|
||||||
.valid > hr.OR:before,
|
|
||||||
hr.OR.valid:before {
|
|
||||||
color: #27a560; }
|
|
||||||
|
|
||||||
.neutral > hr.OR,
|
|
||||||
hr.OR.neutral {
|
|
||||||
border-bottom: 1px dashed #2193e6; }
|
|
||||||
.neutral > hr.OR:before,
|
|
||||||
hr.OR.neutral:before {
|
|
||||||
color: #2193e6; }
|
|
||||||
|
|
||||||
.search > hr.OR,
|
|
||||||
hr.OR.search {
|
|
||||||
border-bottom: 1px dashed #5630ed; }
|
|
||||||
.search > hr.OR:before,
|
|
||||||
hr.OR.search:before {
|
|
||||||
color: #5630ed; }
|
|
||||||
/*# sourceMappingURL=global.css.map */
|
|
|
@ -4,34 +4,45 @@
|
||||||
/* FORMULAIRES */
|
/* FORMULAIRES */
|
||||||
/* GESTION DES LONGUEURS */
|
/* GESTION DES LONGUEURS */
|
||||||
#WRAPPER > #HEADER {
|
#WRAPPER > #HEADER {
|
||||||
/* Animation de chargement qudnd chargement ajax */ }
|
/* Animation de chargement qudnd chargement ajax */
|
||||||
#WRAPPER > #HEADER > .icon {
|
}
|
||||||
display: block;
|
|
||||||
position: absolute;
|
#WRAPPER > #HEADER > .icon {
|
||||||
top: 0;
|
display: block;
|
||||||
left: 0;
|
position: absolute;
|
||||||
width: 4em;
|
top: 0;
|
||||||
height: calc( 4em - 1px);
|
left: 0;
|
||||||
background-color: #c23f05;
|
width: 4em;
|
||||||
background-image: url("/src/static/iconv3.svg");
|
height: 4em;
|
||||||
background-position: center center;
|
background-color: #c23f05;
|
||||||
background-repeat: no-repeat;
|
background-image: url("/src/static/iconv3.svg");
|
||||||
background-size: 50% 50%;
|
background-position: center center;
|
||||||
cursor: pointer;
|
background-repeat: no-repeat;
|
||||||
transition: all .3s; }
|
background-size: 50% 50%;
|
||||||
#WRAPPER > #HEADER.loading > .icon {
|
cursor: pointer;
|
||||||
background-image: url("/src/static/loaderv2.svg");
|
transition: all .3s;
|
||||||
background-size: 70% 70%; }
|
}
|
||||||
#WRAPPER > #HEADER > .logout-icon {
|
|
||||||
display: block;
|
#WRAPPER > #HEADER.loading > .icon {
|
||||||
position: absolute;
|
background-image: url("/src/static/loaderv2.svg");
|
||||||
top: 0;
|
background-size: 70% 70%;
|
||||||
left: calc( 100% - 4em);
|
}
|
||||||
width: 4em;
|
|
||||||
height: 4em;
|
#WRAPPER > #HEADER > .logout-icon {
|
||||||
background: transparent url("/src/static/logout@e0e7ed.svg") center center no-repeat;
|
display: block;
|
||||||
background-size: 40%;
|
position: absolute;
|
||||||
cursor: pointer; }
|
top: 0;
|
||||||
#WRAPPER > #HEADER > .logout-icon:hover {
|
left: calc( 100% - 4em);
|
||||||
background-image: url("/src/static/logout@ffffff.svg"); }
|
width: 4em;
|
||||||
/*# sourceMappingURL=header.css.map */
|
height: 4em;
|
||||||
|
background: transparent url("/src/static/logout@e0e7ed.svg") center center no-repeat;
|
||||||
|
background-size: 40%;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
#WRAPPER > #HEADER > .logout-icon:hover {
|
||||||
|
background-image: url("/src/static/logout@ffffff.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL= header.css.map */
|
|
@ -18,102 +18,46 @@
|
||||||
==========================================*/
|
==========================================*/
|
||||||
/* [3] Container de la page
|
/* [3] Container de la page
|
||||||
==========================================*/
|
==========================================*/
|
||||||
/* [4] Popup background - window
|
}
|
||||||
==========================================*/ }
|
|
||||||
#WRAPPER > #HEADER {
|
#WRAPPER > #HEADER {
|
||||||
display: block;
|
display: block;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: calc( 4em - 1px);
|
height: calc( 4em - 1px);
|
||||||
border-bottom: 1px solid #c23f05;
|
border-bottom: 1px solid #c23f05;
|
||||||
background-color: #f44f06;
|
background-color: #f44f06;
|
||||||
z-index: 10; }
|
z-index: 10;
|
||||||
#WRAPPER > #MENU-SIDE {
|
}
|
||||||
display: block;
|
|
||||||
position: absolute;
|
#WRAPPER > #MENU-SIDE {
|
||||||
top: 4em;
|
display: block;
|
||||||
left: 0;
|
position: absolute;
|
||||||
width: 4em;
|
top: 4em;
|
||||||
height: 100%;
|
left: 0;
|
||||||
box-shadow: 2px 1px 3px #ddd;
|
width: 4em;
|
||||||
background-color: #fff;
|
height: 100%;
|
||||||
transition: all .3s;
|
box-shadow: 2px 1px 3px #ddd;
|
||||||
z-index: 9; }
|
background-color: #fff;
|
||||||
#WRAPPER > #CONTAINER {
|
transition: all .3s;
|
||||||
display: flex;
|
z-index: 9;
|
||||||
position: absolute;
|
}
|
||||||
top: 4em;
|
|
||||||
left: 4em;
|
#WRAPPER > #CONTAINER {
|
||||||
width: calc( 100% - 4em - 2*1em);
|
display: flex;
|
||||||
height: calc( 100% - 4em - 2*1em);
|
position: absolute;
|
||||||
padding: 1em;
|
top: 4em;
|
||||||
flex-direction: row;
|
left: 4em;
|
||||||
justify-content: space-between;
|
width: calc( 100% - 4em - 2*1em);
|
||||||
overflow: hidden;
|
height: calc( 100% - 4em - 2*1em);
|
||||||
overflow-y: auto; }
|
padding: 1em;
|
||||||
#WRAPPER > #POPUP {
|
flex-direction: row;
|
||||||
display: none;
|
justify-content: space-between;
|
||||||
position: fixed;
|
overflow-x: none;
|
||||||
top: 50%;
|
overflow-y: auto;
|
||||||
left: 50%;
|
}
|
||||||
min-width: 50%;
|
|
||||||
max-width: 50%;
|
|
||||||
min-height: 30%;
|
/*# sourceMappingURL= layout.css.map */
|
||||||
max-height: 50%;
|
|
||||||
border-radius: 5px;
|
|
||||||
background: #fff;
|
|
||||||
color: #34495e;
|
|
||||||
box-shadow: -10px 10px 0 rgba(26, 33, 40, 0.8);
|
|
||||||
-webkit-transform: translateX(-50%) translateY(-50%);
|
|
||||||
transform: translateX(-50%) translateY(-50%);
|
|
||||||
z-index: 101;
|
|
||||||
flex-flow: column nowrap;
|
|
||||||
justify-content: space-between; }
|
|
||||||
#WRAPPER > #POPUP.active {
|
|
||||||
display: flex; }
|
|
||||||
#WRAPPER > #POPUP > .header {
|
|
||||||
display: block;
|
|
||||||
position: relative;
|
|
||||||
width: calc( 100% - 2*1em);
|
|
||||||
padding: 1em;
|
|
||||||
border-radius: 5px 5px 0 0;
|
|
||||||
border-bottom: 2px solid #ecf0f1;
|
|
||||||
font-size: 1.1em;
|
|
||||||
font-weight: bold; }
|
|
||||||
#WRAPPER > #POPUP > .body {
|
|
||||||
display: block;
|
|
||||||
position: relative;
|
|
||||||
width: calc( 100% - 2*1em);
|
|
||||||
padding: 1em; }
|
|
||||||
#WRAPPER > #POPUP > .body b, #WRAPPER > #POPUP > .body strong {
|
|
||||||
color: #5630ed; }
|
|
||||||
#WRAPPER > #POPUP > .footer {
|
|
||||||
display: flex;
|
|
||||||
position: relative;
|
|
||||||
width: calc( 100% - 2*1em);
|
|
||||||
padding: 1em;
|
|
||||||
background-color: #ecf0f1;
|
|
||||||
border-radius: 0 0 5px 5px;
|
|
||||||
flex-direction: row;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
justify-content: flex-end; }
|
|
||||||
#WRAPPER > #POPUP > .footer button {
|
|
||||||
left: auto;
|
|
||||||
margin: 0 1em;
|
|
||||||
-webkit-transform: none;
|
|
||||||
transform: none; }
|
|
||||||
#WRAPPER > #POPUP-BG {
|
|
||||||
display: none;
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
background: #29333f;
|
|
||||||
background: rgba(41, 51, 63, 0.8);
|
|
||||||
z-index: 100; }
|
|
||||||
#WRAPPER #POPUP.active ~ #POPUP-BG {
|
|
||||||
display: block; }
|
|
||||||
/*# sourceMappingURL=layout.css.map */
|
|
|
@ -15,46 +15,68 @@
|
||||||
color: #a2a2a2;
|
color: #a2a2a2;
|
||||||
line-height: calc( 4em - 2*.7em - 2*.55em - 2*.01em);
|
line-height: calc( 4em - 2*.7em - 2*.55em - 2*.01em);
|
||||||
transition: color .3s, border .3s;
|
transition: color .3s, border .3s;
|
||||||
cursor: pointer; }
|
cursor: pointer;
|
||||||
#WRAPPER > #MENU-SIDE > span[data-link].mt {
|
}
|
||||||
margin-top: 3em; }
|
|
||||||
#WRAPPER > #MENU-SIDE > span[data-link].mb {
|
#WRAPPER > #MENU-SIDE > span[data-link].mt {
|
||||||
margin-bottom: 3em; }
|
margin-top: 3em;
|
||||||
#WRAPPER > #MENU-SIDE > span[data-link] svg, #WRAPPER > #MENU-SIDE > span[data-link] svg * {
|
}
|
||||||
width: calc( 4em / 2.5);
|
|
||||||
height: calc( 4em / 2.5);
|
#WRAPPER > #MENU-SIDE > span[data-link].mb {
|
||||||
transition: fill .3s, stroke .3s;
|
margin-bottom: 3em;
|
||||||
pointer-events: none; }
|
}
|
||||||
#WRAPPER > #MENU-SIDE > span[data-link] svg #stylisable, #WRAPPER > #MENU-SIDE > span[data-link] svg * #stylisable {
|
|
||||||
fill: #a2a2a2 !important; }
|
#WRAPPER > #MENU-SIDE > span[data-link] svg, #WRAPPER > #MENU-SIDE > span[data-link] svg * {
|
||||||
#WRAPPER > #MENU-SIDE > span[data-link] svg #stroke-stylisable, #WRAPPER > #MENU-SIDE > span[data-link] svg * #stroke-stylisable {
|
width: calc( 4em / 2.5);
|
||||||
stroke: #a2a2a2 !important; }
|
height: calc( 4em / 2.5);
|
||||||
#WRAPPER > #MENU-SIDE > span[data-link][data-desc]:after {
|
transition: fill .3s, stroke .3s;
|
||||||
content: attr(data-desc);
|
pointer-events: none;
|
||||||
display: block;
|
}
|
||||||
position: absolute;
|
|
||||||
top: calc( 4em / 4 - 2*.3em);
|
#WRAPPER > #MENU-SIDE > span[data-link] svg #stylisable, #WRAPPER > #MENU-SIDE > span[data-link] svg * #stylisable {
|
||||||
left: calc( 4em * 1.15 - 2*.3em);
|
fill: #a2a2a2 !important;
|
||||||
padding: .3em;
|
}
|
||||||
border-radius: 3px;
|
|
||||||
background-color: #2a2a2a;
|
#WRAPPER > #MENU-SIDE > span[data-link] svg #stroke-stylisable, #WRAPPER > #MENU-SIDE > span[data-link] svg * #stroke-stylisable {
|
||||||
color: #e2e2e2;
|
stroke: #a2a2a2 !important;
|
||||||
white-space: nowrap;
|
}
|
||||||
transition: transform .1s;
|
|
||||||
-webkit-transform-origin: 0 0;
|
#WRAPPER > #MENU-SIDE > span[data-link][data-desc]:after {
|
||||||
transform-origin: 0 0;
|
content: attr(data-desc);
|
||||||
-webkit-transform: scaleX(0);
|
display: block;
|
||||||
transform: scaleX(0); }
|
position: absolute;
|
||||||
#WRAPPER > #MENU-SIDE > span[data-link]:hover, #WRAPPER > #MENU-SIDE > span[data-link].active {
|
top: calc( 4em / 4 - 2*.3em);
|
||||||
color: #f44f06;
|
left: calc( 4em * 1.15 - 2*.3em);
|
||||||
border-color: #e6e6e6;
|
padding: .3em;
|
||||||
box-shadow: inset 0 0 .5em #eee; }
|
border-radius: 3px;
|
||||||
#WRAPPER > #MENU-SIDE > span[data-link]:hover:hover:after, #WRAPPER > #MENU-SIDE > span[data-link].active:hover:after {
|
background-color: #2a2a2a;
|
||||||
-webkit-transform: scaleX(1);
|
color: #e2e2e2;
|
||||||
transform: scaleX(1);
|
white-space: nowrap;
|
||||||
color: #fff; }
|
transition: transform .1s;
|
||||||
#WRAPPER > #MENU-SIDE > span[data-link]:hover svg #stylisable, #WRAPPER > #MENU-SIDE > span[data-link].active svg #stylisable {
|
-webkit-transform-origin: 0 0;
|
||||||
fill: #000 !important; }
|
transform-origin: 0 0;
|
||||||
#WRAPPER > #MENU-SIDE > span[data-link]:hover svg #stroke-stylisable, #WRAPPER > #MENU-SIDE > span[data-link].active svg #stroke-stylisable {
|
-webkit-transform: scaleX(0);
|
||||||
stroke: #000 !important; }
|
transform: scaleX(0);
|
||||||
/*# sourceMappingURL=menu-side.css.map */
|
}
|
||||||
|
|
||||||
|
#WRAPPER > #MENU-SIDE > span[data-link]:hover, #WRAPPER > #MENU-SIDE > span[data-link].active {
|
||||||
|
color: #f44f06;
|
||||||
|
border-color: #e6e6e6;
|
||||||
|
box-shadow: inset 0 0 .5em #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
#WRAPPER > #MENU-SIDE > span[data-link]:hover:hover:after, #WRAPPER > #MENU-SIDE > span[data-link].active:hover:after {
|
||||||
|
transform: scaleX(1);
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#WRAPPER > #MENU-SIDE > span[data-link]:hover svg #stylisable, #WRAPPER > #MENU-SIDE > span[data-link].active svg #stylisable {
|
||||||
|
fill: #000 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#WRAPPER > #MENU-SIDE > span[data-link]:hover svg #stroke-stylisable, #WRAPPER > #MENU-SIDE > span[data-link].active svg #stroke-stylisable {
|
||||||
|
stroke: #000 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL= menu-side.css.map */
|
|
@ -10,7 +10,8 @@ html {
|
||||||
-ms-text-size-adjust: 100%;
|
-ms-text-size-adjust: 100%;
|
||||||
/* 2 */
|
/* 2 */
|
||||||
-webkit-text-size-adjust: 100%;
|
-webkit-text-size-adjust: 100%;
|
||||||
/* 2 */ }
|
/* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove default margin.
|
* Remove default margin.
|
||||||
|
@ -19,7 +20,8 @@ body {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-family: 'Open Sans', 'Ubuntu', 'Verdana', 'Arial';
|
font-family: 'Open Sans', 'Ubuntu', 'Verdana', 'Arial';
|
||||||
font-weight: normal; }
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
/* HTML5 display definitions
|
/* HTML5 display definitions
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
@ -41,7 +43,8 @@ menu,
|
||||||
nav,
|
nav,
|
||||||
section,
|
section,
|
||||||
summary {
|
summary {
|
||||||
display: block; }
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 1. Correct `inline-block` display not defined in IE 8/9.
|
* 1. Correct `inline-block` display not defined in IE 8/9.
|
||||||
|
@ -54,7 +57,8 @@ video {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
/* 1 */
|
/* 1 */
|
||||||
vertical-align: baseline;
|
vertical-align: baseline;
|
||||||
/* 2 */ }
|
/* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Prevent modern browsers from displaying `audio` without controls.
|
* Prevent modern browsers from displaying `audio` without controls.
|
||||||
|
@ -62,7 +66,8 @@ video {
|
||||||
*/
|
*/
|
||||||
audio:not([controls]) {
|
audio:not([controls]) {
|
||||||
display: none;
|
display: none;
|
||||||
height: 0; }
|
height: 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Address `[hidden]` styling not present in IE 8/9/10.
|
* Address `[hidden]` styling not present in IE 8/9/10.
|
||||||
|
@ -70,7 +75,8 @@ audio:not([controls]) {
|
||||||
*/
|
*/
|
||||||
[hidden],
|
[hidden],
|
||||||
template {
|
template {
|
||||||
display: none; }
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
/* Links
|
/* Links
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
@ -78,7 +84,8 @@ template {
|
||||||
* Remove the gray background color from active links in IE 10.
|
* Remove the gray background color from active links in IE 10.
|
||||||
*/
|
*/
|
||||||
a {
|
a {
|
||||||
background-color: transparent; }
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Improve readability of focused elements when they are also in an
|
* Improve readability of focused elements when they are also in an
|
||||||
|
@ -86,7 +93,8 @@ a {
|
||||||
*/
|
*/
|
||||||
a:active,
|
a:active,
|
||||||
a:hover {
|
a:hover {
|
||||||
outline: 0; }
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* Text-level semantics
|
/* Text-level semantics
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
@ -101,7 +109,8 @@ abbr[title] {
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
/* 2 */
|
/* 2 */
|
||||||
text-decoration: underline dotted;
|
text-decoration: underline dotted;
|
||||||
/* 2 */ }
|
/* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Address inconsistent styling of b and strong.
|
* Address inconsistent styling of b and strong.
|
||||||
|
@ -111,18 +120,21 @@ abbr[title] {
|
||||||
b,
|
b,
|
||||||
strong {
|
strong {
|
||||||
font-weight: inherit;
|
font-weight: inherit;
|
||||||
/* 1 */ }
|
/* 1 */
|
||||||
|
}
|
||||||
|
|
||||||
b,
|
b,
|
||||||
strong {
|
strong {
|
||||||
font-weight: bolder;
|
font-weight: bolder;
|
||||||
/* 2 */ }
|
/* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Address styling not present in Safari and Chrome.
|
* Address styling not present in Safari and Chrome.
|
||||||
*/
|
*/
|
||||||
dfn {
|
dfn {
|
||||||
font-style: italic; }
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Address variable `h1` font-size and margin within `section` and `article`
|
* Address variable `h1` font-size and margin within `section` and `article`
|
||||||
|
@ -130,20 +142,23 @@ dfn {
|
||||||
*/
|
*/
|
||||||
h1 {
|
h1 {
|
||||||
font-size: 2em;
|
font-size: 2em;
|
||||||
margin: 0.67em 0; }
|
margin: 0.67em 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Address styling not present in IE 8/9.
|
* Address styling not present in IE 8/9.
|
||||||
*/
|
*/
|
||||||
mark {
|
mark {
|
||||||
background-color: #ff0;
|
background-color: #ff0;
|
||||||
color: #000; }
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Address inconsistent and variable font size in all browsers.
|
* Address inconsistent and variable font size in all browsers.
|
||||||
*/
|
*/
|
||||||
small {
|
small {
|
||||||
font-size: 80%; }
|
font-size: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
|
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
|
||||||
|
@ -153,13 +168,16 @@ sup {
|
||||||
font-size: 75%;
|
font-size: 75%;
|
||||||
line-height: 0;
|
line-height: 0;
|
||||||
position: relative;
|
position: relative;
|
||||||
vertical-align: baseline; }
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
sup {
|
sup {
|
||||||
top: -0.5em; }
|
top: -0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
sub {
|
sub {
|
||||||
bottom: -0.25em; }
|
bottom: -0.25em;
|
||||||
|
}
|
||||||
|
|
||||||
/* Embedded content
|
/* Embedded content
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
@ -167,13 +185,15 @@ sub {
|
||||||
* Remove border when inside `a` element in IE 8/9/10.
|
* Remove border when inside `a` element in IE 8/9/10.
|
||||||
*/
|
*/
|
||||||
img {
|
img {
|
||||||
border: 0; }
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Correct overflow not hidden in IE 9/10/11.
|
* Correct overflow not hidden in IE 9/10/11.
|
||||||
*/
|
*/
|
||||||
svg:not(:root) {
|
svg:not(:root) {
|
||||||
overflow: hidden; }
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
/* Grouping content
|
/* Grouping content
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
@ -181,7 +201,8 @@ svg:not(:root) {
|
||||||
* Address margin not present in IE 8/9 and Safari.
|
* Address margin not present in IE 8/9 and Safari.
|
||||||
*/
|
*/
|
||||||
figure {
|
figure {
|
||||||
margin: 1em 40px; }
|
margin: 1em 40px;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Address inconsistent styling of `hr`.
|
* Address inconsistent styling of `hr`.
|
||||||
|
@ -194,13 +215,15 @@ hr {
|
||||||
height: 0;
|
height: 0;
|
||||||
/* 1 */
|
/* 1 */
|
||||||
overflow: visible;
|
overflow: visible;
|
||||||
/* 2 */ }
|
/* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Contain overflow in all browsers.
|
* Contain overflow in all browsers.
|
||||||
*/
|
*/
|
||||||
pre {
|
pre {
|
||||||
overflow: auto; }
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 1. Correct inheritance and scaling of font-size for preformatted text.
|
* 1. Correct inheritance and scaling of font-size for preformatted text.
|
||||||
|
@ -213,7 +236,8 @@ samp {
|
||||||
font-family: monospace, monospace;
|
font-family: monospace, monospace;
|
||||||
/* 1 */
|
/* 1 */
|
||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
/* 2 */ }
|
/* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
/* Forms
|
/* Forms
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
@ -233,13 +257,15 @@ textarea {
|
||||||
font: inherit;
|
font: inherit;
|
||||||
/* 1 */
|
/* 1 */
|
||||||
margin: 0;
|
margin: 0;
|
||||||
/* 2 */ }
|
/* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Address `overflow` set to `hidden` in IE 8/9/10/11.
|
* Address `overflow` set to `hidden` in IE 8/9/10/11.
|
||||||
*/
|
*/
|
||||||
button {
|
button {
|
||||||
overflow: visible; }
|
overflow: visible;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Address inconsistent `text-transform` inheritance for `button` and `select`.
|
* Address inconsistent `text-transform` inheritance for `button` and `select`.
|
||||||
|
@ -249,7 +275,8 @@ button {
|
||||||
*/
|
*/
|
||||||
button,
|
button,
|
||||||
select {
|
select {
|
||||||
text-transform: none; }
|
text-transform: none;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
|
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
|
||||||
|
@ -265,14 +292,16 @@ input[type="submit"] {
|
||||||
-webkit-appearance: button;
|
-webkit-appearance: button;
|
||||||
/* 2 */
|
/* 2 */
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
/* 3 */ }
|
/* 3 */
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Re-set default cursor for disabled elements.
|
* Re-set default cursor for disabled elements.
|
||||||
*/
|
*/
|
||||||
button[disabled],
|
button[disabled],
|
||||||
html input[disabled] {
|
html input[disabled] {
|
||||||
cursor: default; }
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove inner padding and border in Firefox 4+.
|
* Remove inner padding and border in Firefox 4+.
|
||||||
|
@ -280,14 +309,16 @@ html input[disabled] {
|
||||||
button::-moz-focus-inner,
|
button::-moz-focus-inner,
|
||||||
input::-moz-focus-inner {
|
input::-moz-focus-inner {
|
||||||
border: 0;
|
border: 0;
|
||||||
padding: 0; }
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Address Firefox 4+ setting `line-height` on `input` using `!important` in
|
* Address Firefox 4+ setting `line-height` on `input` using `!important` in
|
||||||
* the UA stylesheet.
|
* the UA stylesheet.
|
||||||
*/
|
*/
|
||||||
input {
|
input {
|
||||||
line-height: normal; }
|
line-height: normal;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* It's recommended that you don't attempt to style these elements.
|
* It's recommended that you don't attempt to style these elements.
|
||||||
|
@ -301,7 +332,8 @@ input[type="radio"] {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
/* 1 */
|
/* 1 */
|
||||||
padding: 0;
|
padding: 0;
|
||||||
/* 2 */ }
|
/* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fix the cursor style for Chrome's increment/decrement buttons. For certain
|
* Fix the cursor style for Chrome's increment/decrement buttons. For certain
|
||||||
|
@ -310,13 +342,15 @@ input[type="radio"] {
|
||||||
*/
|
*/
|
||||||
input[type="number"]::-webkit-inner-spin-button,
|
input[type="number"]::-webkit-inner-spin-button,
|
||||||
input[type="number"]::-webkit-outer-spin-button {
|
input[type="number"]::-webkit-outer-spin-button {
|
||||||
height: auto; }
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Address `appearance` set to `searchfield` in Safari and Chrome.
|
* Address `appearance` set to `searchfield` in Safari and Chrome.
|
||||||
*/
|
*/
|
||||||
input[type="search"] {
|
input[type="search"] {
|
||||||
-webkit-appearance: textfield; }
|
-webkit-appearance: textfield;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove inner padding and search cancel button in Safari and Chrome on OS X.
|
* Remove inner padding and search cancel button in Safari and Chrome on OS X.
|
||||||
|
@ -325,7 +359,8 @@ input[type="search"] {
|
||||||
*/
|
*/
|
||||||
input[type="search"]::-webkit-search-cancel-button,
|
input[type="search"]::-webkit-search-cancel-button,
|
||||||
input[type="search"]::-webkit-search-decoration {
|
input[type="search"]::-webkit-search-decoration {
|
||||||
-webkit-appearance: none; }
|
-webkit-appearance: none;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Define consistent border, margin, and padding.
|
* Define consistent border, margin, and padding.
|
||||||
|
@ -333,7 +368,8 @@ input[type="search"]::-webkit-search-decoration {
|
||||||
fieldset {
|
fieldset {
|
||||||
border: 1px solid #c0c0c0;
|
border: 1px solid #c0c0c0;
|
||||||
margin: 0 2px;
|
margin: 0 2px;
|
||||||
padding: 0.35em 0.625em 0.75em; }
|
padding: 0.35em 0.625em 0.75em;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 1. Correct `color` not being inherited in IE 8/9/10/11.
|
* 1. Correct `color` not being inherited in IE 8/9/10/11.
|
||||||
|
@ -343,20 +379,23 @@ legend {
|
||||||
border: 0;
|
border: 0;
|
||||||
/* 1 */
|
/* 1 */
|
||||||
padding: 0;
|
padding: 0;
|
||||||
/* 2 */ }
|
/* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove default vertical scrollbar in IE 8/9/10/11.
|
* Remove default vertical scrollbar in IE 8/9/10/11.
|
||||||
*/
|
*/
|
||||||
textarea {
|
textarea {
|
||||||
overflow: auto; }
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 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.
|
* NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
|
||||||
*/
|
*/
|
||||||
optgroup {
|
optgroup {
|
||||||
font-weight: bold; }
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
/* Tables
|
/* Tables
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
@ -365,9 +404,13 @@ optgroup {
|
||||||
*/
|
*/
|
||||||
table {
|
table {
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
border-spacing: 0; }
|
border-spacing: 0;
|
||||||
|
}
|
||||||
|
|
||||||
td,
|
td,
|
||||||
th {
|
th {
|
||||||
padding: 0; }
|
padding: 0;
|
||||||
/*# sourceMappingURL=reset.css.map */
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL= reset.css.map */
|
|
@ -5,37 +5,51 @@
|
||||||
/* GESTION DES LONGUEURS */
|
/* GESTION DES LONGUEURS */
|
||||||
#CONTAINER > .sub-menu-side {
|
#CONTAINER > .sub-menu-side {
|
||||||
display: block;
|
display: block;
|
||||||
position: relative; }
|
position: relative;
|
||||||
#CONTAINER > .sub-menu-side > span[data-sublink] {
|
}
|
||||||
display: block;
|
|
||||||
position: relative;
|
#CONTAINER > .sub-menu-side > span[data-sublink] {
|
||||||
width: 7.5em;
|
display: block;
|
||||||
padding: .3em 1em .3em 2em;
|
position: relative;
|
||||||
margin: 1em;
|
width: 7.5em;
|
||||||
border-radius: 3px;
|
padding: .3em 1em .3em 2em;
|
||||||
color: #5b5e63;
|
margin: 1em;
|
||||||
text-shadow: 1px 1px white;
|
border-radius: 3px;
|
||||||
white-space: nowrap;
|
color: #5b5e63;
|
||||||
transition: all .2s;
|
text-shadow: 1px 1px white;
|
||||||
cursor: pointer;
|
white-space: nowrap;
|
||||||
overflow: hidden; }
|
transition: all .2s;
|
||||||
#CONTAINER > .sub-menu-side > span[data-sublink] > .svg > svg {
|
cursor: pointer;
|
||||||
display: inline-block;
|
overflow: hidden;
|
||||||
position: absolute;
|
}
|
||||||
left: .5em;
|
|
||||||
top: 50%;
|
#CONTAINER > .sub-menu-side > span[data-sublink] > .svg > svg {
|
||||||
width: 1em;
|
display: inline-block;
|
||||||
height: 1em;
|
position: absolute;
|
||||||
-webkit-transform: translateY(-50%);
|
left: .5em;
|
||||||
transform: translateY(-50%); }
|
top: 50%;
|
||||||
#CONTAINER > .sub-menu-side > span[data-sublink] > .svg > svg path {
|
width: 1em;
|
||||||
fill: #5b5e63 !important; }
|
height: 1em;
|
||||||
#CONTAINER > .sub-menu-side > span[data-sublink]:hover, #CONTAINER > .sub-menu-side > span[data-sublink].active {
|
transform: translateY(-50%);
|
||||||
color: #121213;
|
}
|
||||||
background-color: #d8deea;
|
|
||||||
box-shadow: inset 0 0 4px #c8ced9; }
|
#CONTAINER > .sub-menu-side > span[data-sublink] > .svg > svg path {
|
||||||
#CONTAINER > .sub-menu-side > span[data-sublink]:hover > .svg > svg path, #CONTAINER > .sub-menu-side > span[data-sublink].active > .svg > svg path {
|
fill: #5b5e63 !important;
|
||||||
fill: #121213 !important; }
|
}
|
||||||
#CONTAINER > .sub-menu-side > span[data-sublink]:nth-child(1) {
|
|
||||||
margin-top: 1em; }
|
#CONTAINER > .sub-menu-side > span[data-sublink]:hover, #CONTAINER > .sub-menu-side > span[data-sublink].active {
|
||||||
/*# sourceMappingURL=submenu-side.css.map */
|
color: #121213;
|
||||||
|
background-color: #d8deea;
|
||||||
|
box-shadow: inset 0 0 4px #c8ced9;
|
||||||
|
}
|
||||||
|
|
||||||
|
#CONTAINER > .sub-menu-side > span[data-sublink]:hover > .svg > svg path, #CONTAINER > .sub-menu-side > span[data-sublink].active > .svg > svg path {
|
||||||
|
fill: #121213 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#CONTAINER > .sub-menu-side > span[data-sublink]:nth-child(1) {
|
||||||
|
margin-top: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL= submenu-side.css.map */
|
|
@ -9,7 +9,7 @@
|
||||||
& > span[data-sublink]{
|
& > span[data-sublink]{
|
||||||
display: block;
|
display: block;
|
||||||
position: relative;
|
position: relative;
|
||||||
width: $sub-menu-side-width;
|
width: 7.5em;
|
||||||
|
|
||||||
padding: .3em 1em .3em 2em;
|
padding: .3em 1em .3em 2em;
|
||||||
margin: 1em;
|
margin: 1em;
|
||||||
|
@ -36,7 +36,6 @@
|
||||||
width: 1em;
|
width: 1em;
|
||||||
height: 1em;
|
height: 1em;
|
||||||
|
|
||||||
-webkit-transform: translateY(-50%);
|
|
||||||
transform: translateY(-50%);
|
transform: translateY(-50%);
|
||||||
|
|
||||||
// Coloration pour tous les elements du svg
|
// Coloration pour tous les elements du svg
|
||||||
|
|
|
@ -3,16 +3,16 @@
|
||||||
require_once '../vendor/autoload.php';
|
require_once '../vendor/autoload.php';
|
||||||
|
|
||||||
use \router\core\Router;
|
use \router\core\Router;
|
||||||
use \api\core\Loader;
|
|
||||||
use \api\core\Request;
|
use \api\core\Request;
|
||||||
use \api\core\Response;
|
use \api\core\Response;
|
||||||
use \database\core\DatabaseDriver;
|
use \database\core\DatabaseDriver;
|
||||||
use \api\core\AuthSystemDefault;
|
use \api\core\AuthSystemDefault;
|
||||||
use \token\core\TreeTokenNull;
|
use \token\core\TreeToken;
|
||||||
use \log\core\Log;
|
use \log\core\Log;
|
||||||
|
|
||||||
$page_log = Log::get('router');
|
$page_log = Log::get('router');
|
||||||
$session_guard = new TreeTokenNull(1000);
|
$session_guard = new TreeToken(1000);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************/
|
/*******************************************/
|
||||||
|
@ -89,9 +89,6 @@
|
||||||
|
|
||||||
global $auth;
|
global $auth;
|
||||||
|
|
||||||
// session timeout warning
|
|
||||||
$session_warn = 5; // 5 minutes before expiration
|
|
||||||
|
|
||||||
// {1} Disable cache //
|
// {1} Disable cache //
|
||||||
header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
|
header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
|
||||||
header('Cache-Control: post-check=0, pre-check=0', false);
|
header('Cache-Control: post-check=0, pre-check=0', false);
|
||||||
|
@ -117,41 +114,8 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// session timeout
|
|
||||||
echo "\n\t},\n";
|
|
||||||
echo "\tsession: {\n";
|
|
||||||
echo "\t\ttimeout: '".( (ini_get('session.gc_maxlifetime')-$session_warn*60) * 1000 )."'\n";
|
|
||||||
echo "\n\t}\n";
|
echo "\n\t}\n";
|
||||||
|
echo "};\n";
|
||||||
echo "};\n\n";
|
|
||||||
|
|
||||||
// {3} Function that reloads or logout the user
|
|
||||||
echo "var KEEP_SESSION = function(keep){\n";
|
|
||||||
echo "\tdocument.location = ( keep ) ? '' : '/logout';\n";
|
|
||||||
echo "};\n\n";
|
|
||||||
|
|
||||||
// {4} Function called at session timeout
|
|
||||||
echo "var SESSION_TIMEOUT_FUNC = function(){\n";
|
|
||||||
|
|
||||||
// {4.1} setup POPUP window
|
|
||||||
echo "\tvar popup = new Popup();\n";
|
|
||||||
echo "\tvar popup_content = {\n";
|
|
||||||
echo "\t\ttitle: 'Expiration de connexion',\n";
|
|
||||||
echo "\t\tcontent: 'Vous n\'avez rien fait depuis un moment. Vous serez déconnecté dans <b>".round(.5+$session_warn)." minutes</b>. Vous pouvez recharger la page pour garder votre connexion.',\n";
|
|
||||||
echo "\t\ttype: 'search',\n";
|
|
||||||
echo "\t\taction: 'Recharger la page'\n";
|
|
||||||
echo "\t}\n";
|
|
||||||
|
|
||||||
// {4.2} Show popup dialog -> on reload: reload page ; on cancel: logout
|
|
||||||
echo "\tpopup.ask(popup_content, KEEP_SESSION);\n";
|
|
||||||
|
|
||||||
// {4.3} Logout by default 5min if no popup response
|
|
||||||
echo "\tsetTimeout(function(){ KEEP_SESSION(false); }, (.5+$session_warn)*60*1000);\n";
|
|
||||||
|
|
||||||
echo "};\n\n";
|
|
||||||
|
|
||||||
// {5} Set the timeout
|
|
||||||
echo "var SESSION_TIMEOUT = setTimeout(SESSION_TIMEOUT_FUNC, SERVER.session.timeout);\n";
|
|
||||||
|
|
||||||
die();
|
die();
|
||||||
|
|
||||||
|
@ -239,7 +203,7 @@
|
||||||
if( !$GLOBALS['session_guard']->init_child() )
|
if( !$GLOBALS['session_guard']->init_child() )
|
||||||
die(json_encode([ 'error' => 100, 'ErrorDescription' => 'session_guard.child error' ]));
|
die(json_encode([ 'error' => 100, 'ErrorDescription' => 'session_guard.child error' ]));
|
||||||
|
|
||||||
$request = Loader::remote($url[0]);
|
$request = Request::remote($url[0]);
|
||||||
$answer = $request->dispatch();
|
$answer = $request->dispatch();
|
||||||
|
|
||||||
// Si c'est une réponse (et non un download)
|
// Si c'est une réponse (et non un download)
|
||||||
|
|
|
@ -71,7 +71,7 @@ APIClass.prototype = {
|
||||||
// Récupération token TreeToken
|
// Récupération token TreeToken
|
||||||
window._tree_token_ = ptrAPI.xhr[i].getResponseHeader('X-Tree-Token');
|
window._tree_token_ = ptrAPI.xhr[i].getResponseHeader('X-Tree-Token');
|
||||||
|
|
||||||
var parsedResponse = {error:-1, ErrorDescription:'Erreur au niveau de api.js'};
|
var parsedResponse = {ModuleError:-1, ErrorDescription:'Erreur au niveau de api.js'};
|
||||||
|
|
||||||
// On essaie de parser le json
|
// On essaie de parser le json
|
||||||
try{
|
try{
|
||||||
|
@ -81,21 +81,15 @@ APIClass.prototype = {
|
||||||
// On lance la handler
|
// On lance la handler
|
||||||
console.log('api response', parsedResponse);
|
console.log('api response', parsedResponse);
|
||||||
|
|
||||||
if( parsedResponse.hasOwnProperty('error') && parsedResponse.error != 0 )
|
if( parsedResponse.hasOwnProperty('ModuleError') && parsedResponse.ModuleError != 0 )
|
||||||
console.error('ModuleError::'+parsedResponse.error);
|
console.error('ModuleError::'+parsedResponse.ModuleError);
|
||||||
|
|
||||||
// If success -> reload session_timeout
|
|
||||||
if( parsedResponse.hasOwnProperty('error') && parsedResponse.error == 0 ){
|
|
||||||
clearTimeout(SESSION_TIMEOUT);
|
|
||||||
SESSION_TIMEOUT = setTimeout(SESSION_TIMEOUT_FUNC, SERVER.session.timeout);
|
|
||||||
}
|
|
||||||
|
|
||||||
pHandler(parsedResponse, ptrAPI.optionalParams[i]);
|
pHandler(parsedResponse, ptrAPI.optionalParams[i]);
|
||||||
|
|
||||||
}
|
}
|
||||||
/* sinon retourne obj.request = 'unreachable' */
|
/* sinon retourne obj.request = 'unreachable' */
|
||||||
else
|
else
|
||||||
pHandler({error:-2, ErrorDescription:'Erreur au niveau d\'AJAX.'});
|
pHandler({ModuleError:-2, ModuleDescription:'Erreur au niveau d\'AJAX.'});
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -130,6 +124,8 @@ APIClass.prototype = {
|
||||||
// Header pour dire que c'est AJAX
|
// Header pour dire que c'est AJAX
|
||||||
this.xhr[i].setRequestHeader('X-Requested-With', 'XMLHttpRequest');
|
this.xhr[i].setRequestHeader('X-Requested-With', 'XMLHttpRequest');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
this.xhr[i].send( form );
|
this.xhr[i].send( form );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
function APIClass(e){this.target=e}APIClass.prototype={xhr:[],buffer:null,optionalParams:[],send:function(e,r,t){e.hasOwnProperty("path")||r({ModuleError:4});for(var s=0;s<this.xhr.length;s++)4==this.xhr[s].readyState&&this.xhr.splice(s,1);if(this.xhr.push(null),s=this.xhr.length-1,this.optionalParams[s]=[],arguments.length>3)for(var o=3;o<arguments.length;o++)this.optionalParams[s].push(arguments[o]);window.XMLHttpRequest?this.xhr[s]=new XMLHttpRequest:this.xhr[s]=new ActiveXObject("Microsoft.XMLHttpRequest");var n=this;this.xhr[s].onreadystatechange=function(){if(4==n.xhr[s].readyState)if(n.buffer=n.xhr[s].responseText,console.log("api request",e),[0,200,417].indexOf(n.xhr[s].status)>-1){window._tree_token_=n.xhr[s].getResponseHeader("X-Tree-Token");var t={error:-1,ErrorDescription:"Erreur au niveau de api.js"};try{t=JSON.parse(n.xhr[s].responseText)}catch(e){}console.log("api response",t),t.hasOwnProperty("error")&&0!=t.error&&console.error("ModuleError::"+t.error),t.hasOwnProperty("error")&&0==t.error&&(clearTimeout(SESSION_TIMEOUT),SESSION_TIMEOUT=setTimeout(SESSION_TIMEOUT_FUNC,SERVER.session.timeout)),r(t,n.optionalParams[s])}else r({error:-2,ErrorDescription:"Erreur au niveau d'AJAX."})};var a=new FormData;for(var i in e)"path"==i?a.append(i,e[i]):e[i]instanceof File?a.append(i,e[i]):a.append(i,JSON.stringify(e[i]));this.xhr[s].open("POST",this.target,!0),null!=t&&this.xhr[s].setRequestHeader("Authorization","Digest "+t),null==window._tree_token_?this.xhr[s].setRequestHeader("X-Tree-Token",JSON.parse('{"'+document.cookie.replace(/=/g,'":"').replace(/; /g,'","')+'"}')._PUBLIC_):this.xhr[s].setRequestHeader("X-Tree-Token",window._tree_token_),this.xhr[s].setRequestHeader("X-Requested-With","XMLHttpRequest"),this.xhr[s].send(a)}};
|
function APIClass(e){this.target=e}APIClass.prototype={xhr:[],buffer:null,optionalParams:[],send:function(e,r,t){e.hasOwnProperty("path")||r({ModuleError:4});for(var s=0;s<this.xhr.length;s++)4==this.xhr[s].readyState&&this.xhr.splice(s,1);if(this.xhr.push(null),s=this.xhr.length-1,this.optionalParams[s]=[],arguments.length>3)for(var o=3;o<arguments.length;o++)this.optionalParams[s].push(arguments[o]);window.XMLHttpRequest?this.xhr[s]=new XMLHttpRequest:this.xhr[s]=new ActiveXObject("Microsoft.XMLHttpRequest");var n=this;this.xhr[s].onreadystatechange=function(){if(4==n.xhr[s].readyState)if(n.buffer=n.xhr[s].responseText,console.log("api request",e),[0,200,417].indexOf(n.xhr[s].status)>-1){window._tree_token_=n.xhr[s].getResponseHeader("X-Tree-Token");var t={ModuleError:-1,ErrorDescription:"Erreur au niveau de api.js"};try{t=JSON.parse(n.xhr[s].responseText)}catch(e){}console.log("api response",t),t.hasOwnProperty("ModuleError")&&0!=t.ModuleError&&console.error("ModuleError::"+t.ModuleError),r(t,n.optionalParams[s])}else r({ModuleError:-2,ModuleDescription:"Erreur au niveau d'AJAX."})};var a=new FormData;for(var i in e)"path"==i?a.append(i,e[i]):e[i]instanceof File?a.append(i,e[i]):a.append(i,JSON.stringify(e[i]));this.xhr[s].open("POST",this.target,!0),null!=t&&this.xhr[s].setRequestHeader("Authorization","Digest "+t),null==window._tree_token_?this.xhr[s].setRequestHeader("X-Tree-Token",JSON.parse('{"'+document.cookie.replace(/=/g,'":"').replace(/; /g,'","')+'"}')._PUBLIC_):this.xhr[s].setRequestHeader("X-Tree-Token",window._tree_token_),this.xhr[s].setRequestHeader("X-Requested-With","XMLHttpRequest"),this.xhr[s].send(a)}};
|
|
@ -1 +1,19 @@
|
||||||
function pageManagerClass(){}var ptrPageManagerClass;pageManagerClass.prototype={loaded:null,depJS:null,depCSS:null,xhr:[],activeXHR:null,page:null,vars:[],root:"",path:"",jsPath:"js",cssPath:"css",pagelist:null,container:null,refresher:function(){},ajax:function(t,e,s,i){var h;h=this.xhr.push(window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHttpRequest"))-1,this.activeXHR=this.xhr[h],this.xhr[h].addEventListener("readystatechange",function(t){if(void 0!=this.xhr[t]&&4===this.xhr[t].readyState){[0,200].indexOf(this.xhr[t].status)>-1?e(this.xhr[t].responseText):e(),this.xhr[t]=null;for(var s=!0,t=0;t<this.xhr.length;t++)if(null!==this.xhr[t]){s=!1;break}s&&(this.xhr=[])}}.bind(this,h),!1);var n="string"==typeof s&&/^POST|GET$/i.test(s)?s.toUpperCase():"POST",a="POST"==n&&"object"==typeof i&&i instanceof FormData?i:null;return this.xhr[h].open(n,t,!0),this.xhr[h].send(a),this},explodeURL:function(t){if(t=arguments.length>=1?t:document.URL,null!=this.pagelist&&/^(?:(?:https?:\/\/)?[^\/]+)\/([a-z0-9_]+)(?:\/|((?:\/\w+)+)\/?)?(#.*)?$/i.test(t)){var e=RegExp.$2.split("/").slice(1);return this.pagelist.indexOf(RegExp.$1)>-1?{page:RegExp.$1,var:e}:null}return null},loadDependencies:function(){"object"==typeof this.depCSS&&this.depCSS instanceof Element&&this.depCSS.parentNode==document.head&&document.head.removeChild(this.depCSS),"object"==typeof this.depJS&&this.depJS instanceof Element&&this.depJS.parentNode==document.head&&document.head.removeChild(this.depJS),this.ajax(this.root+this.path+"/"+this.cssPath+"/"+this.page+".css",function(t){return null==t?void console.warn("[loadDependencies_Error] - ("+this.root+this.path+"/"+this.cssPath+"/"+this.page+".css)"):(this.depCSS=document.createElement("link"),this.depCSS.rel="stylesheet",this.depCSS.type="text/css",this.depCSS.innerHTML=t,void document.head.appendChild(this.depCSS))}.bind(this),"GET"),this.ajax(this.root+this.path+"/"+this.jsPath+"/"+this.page+".js",function(t){return null==t?void console.warn("[loadDependencies_Error] - ("+this.root+this.path+"/"+this.jsPath+"/"+this.page+".js)"):(this.depJS=document.createElement("script"),this.depJS.type="text/javascript",this.depJS.innerHTML=t,void document.head.appendChild(this.depJS))}.bind(this),"GET")},updateURL:function(){this.vars.length>0?window.history.pushState(this.page,this.page,this.root+"/"+this.page+"/"+this.vars.join("/")+"/"):window.history.pushState(this.page,this.page,this.root+"/"+this.page+"/")},setPage:function(t,e,s,i,h){var n="object"==typeof i&&i instanceof Array?i:null;if(null!=n)for(var a=0;a<n.length&&(n="string"==typeof n[a]&&/^[a-z0-9_]+$/i.test(n[a])?n:null,null!=n);a++);if(this.pagelist=null!=n?n:this.pagelist,this.root="string"==typeof h?h:this.root,this.path="string"==typeof e?e:this.path,this.container="object"==typeof s&&s instanceof Element?s:this.container,this.pagelist&&this.container){if(t===!0){for(var r=new FormData,a=0;a<this.vars.length;a++)r.append(this.vars[a],null);return this.updateURL(),this.ajax(this.root+this.path+"/"+this.page+".php",function(t){this.container.innerHTML=t,this.loadDependencies(),this.refresher.apply(this),this.updateURL()}.bind(this),"POST",r),this}if("string"==typeof t&&this.pagelist.indexOf(t)>-1){this.page=t;for(var r=new FormData,a=0;a<this.vars.length;a++)r.append(this.vars[a],null);this.ajax(this.root+this.path+"/"+this.page+".php",function(t){this.container.innerHTML=t,this.loadDependencies()}.bind(this),"POST",r),this.updateURL()}else{var o=this.explodeURL();if(null!=o){var r=new FormData;this.vars.length=0;for(var a=0;a<o.var.length;a++)this.vars[a]=o.var[a],r.append(this.vars[a],null);if(o.page==this.page)return this;this.page=o.page,this.ajax(this.root+this.path+"/"+this.page+".php",function(t){this.container.innerHTML=t,this.loadDependencies()}.bind(this),"POST",r),this.updateURL()}else this.setPage(this.pagelist[0])}}else console.warn("pagelist et container manquant");return this},refresh:function(t){return t instanceof Function?void(this.refresher=t):this.setPage(!0)}};
|
/***************************************/
|
||||||
|
function pageManagerClass(){}var ptrPageManagerClass
|
||||||
|
pageManagerClass.prototype={loaded:null,depJS:null,depCSS:null,xhr:[],activeXHR:null,page:null,vars:[],root:"",path:"",jsPath:"js",cssPath:"css",pagelist:null,container:null,refresher:function(){},ajax:function(t,e,s,i){var h
|
||||||
|
h=this.xhr.push(window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHttpRequest"))-1,this.activeXHR=this.xhr[h],this.xhr[h].addEventListener("readystatechange",function(t){if(void 0!=this.xhr[t]&&4===this.xhr[t].readyState){[0,200].indexOf(this.xhr[t].status)>-1?e(this.xhr[t].responseText):e(),this.xhr[t]=null
|
||||||
|
for(var s=!0,t=0;t<this.xhr.length;t++)if(null!==this.xhr[t]){s=!1
|
||||||
|
break}s&&(this.xhr=[])}}.bind(this,h),!1)
|
||||||
|
var n="string"==typeof s&&/^POST|GET$/i.test(s)?s.toUpperCase():"POST",a="POST"==n&&"object"==typeof i&&i instanceof FormData?i:null
|
||||||
|
return this.xhr[h].open(n,t,!0),this.xhr[h].send(a),this},explodeURL:function(t){if(t=arguments.length>=1?t:document.URL,null!=this.pagelist&&/^(?:(?:https?:\/\/)?[^\/]+)\/([a-z0-9_]+)(?:\/|((?:\/\w+)+)\/?)?(#.*)?$/i.test(t)){var e=RegExp.$2.split("/").slice(1)
|
||||||
|
return this.pagelist.indexOf(RegExp.$1)>-1?{page:RegExp.$1,var:e}:null}return null},loadDependencies:function(){"object"==typeof this.depCSS&&this.depCSS instanceof Element&&this.depCSS.parentNode==document.head&&document.head.removeChild(this.depCSS),"object"==typeof this.depJS&&this.depJS instanceof Element&&this.depJS.parentNode==document.head&&document.head.removeChild(this.depJS),this.ajax(this.root+this.path+"/"+this.cssPath+"/"+this.page+".css",function(t){null!=t?(this.depCSS=document.createElement("link"),this.depCSS.rel="stylesheet",this.depCSS.type="text/css",this.depCSS.href=this.root+this.path+"/"+this.cssPath+"/"+this.page+".css",document.head.appendChild(this.depCSS)):console.warn("[loadDependencies_Error] - ("+this.root+this.path+"/"+this.cssPath+"/"+this.page+".css)")}.bind(this)),this.ajax(this.root+this.path+"/"+this.jsPath+"/"+this.page+".js",function(t){null!=t?(this.depJS=document.createElement("script"),this.depJS.type="text/javascript",this.depJS.src=this.root+this.path+"/"+this.jsPath+"/"+this.page+".js",document.head.appendChild(this.depJS)):console.warn("[loadDependencies_Error] - ("+this.root+this.path+"/"+this.jsPath+"/"+this.page+".js)")}.bind(this))},updateURL:function(){this.vars.length>0?window.history.pushState(this.page,this.page,this.root+"/"+this.page+"/"+this.vars.join("/")+"/"):window.history.pushState(this.page,this.page,this.root+"/"+this.page+"/")},setPage:function(t,e,s,i,h){var n="object"==typeof i&&i instanceof Array?i:null
|
||||||
|
if(null!=n)for(var a=0;a<n.length&&(n="string"==typeof n[a]&&/^[a-z0-9_]+$/i.test(n[a])?n:null,null!=n);a++);if(this.pagelist=null!=n?n:this.pagelist,this.root="string"==typeof h?h:this.root,this.path="string"==typeof e?e:this.path,this.container="object"==typeof s&&s instanceof Element?s:this.container,this.pagelist&&this.container){if(t===!0){for(var r=new FormData,a=0;a<this.vars.length;a++)r.append(this.vars[a],null)
|
||||||
|
return this.updateURL(),this.ajax(this.root+this.path+"/"+this.page+".php",function(t){this.container.innerHTML=t,this.loadDependencies(),this.refresher.apply(this),this.updateURL()}.bind(this),"POST",r),this}if("string"==typeof t&&this.pagelist.indexOf(t)>-1){this.page=t
|
||||||
|
for(var r=new FormData,a=0;a<this.vars.length;a++)r.append(this.vars[a],null)
|
||||||
|
this.ajax(this.root+this.path+"/"+this.page+".php",function(t){this.container.innerHTML=t,this.loadDependencies()}.bind(this),"POST",r),this.updateURL()}else{var p=this.explodeURL()
|
||||||
|
if(null!=p){var r=new FormData
|
||||||
|
this.vars.length=0
|
||||||
|
for(var a=0;a<p.var.length;a++)this.vars[a]=p.var[a],r.append(this.vars[a],null)
|
||||||
|
if(p.page==this.page)return this
|
||||||
|
this.page=p.page,this.ajax(this.root+this.path+"/"+this.page+".php",function(t){this.container.innerHTML=t,this.loadDependencies()}.bind(this),"POST",r),this.updateURL()}else this.setPage(this.pagelist[0])}}else console.warn("pagelist et container manquant")
|
||||||
|
return this},refresh:function(t){return t instanceof Function?void(this.refresher=t):this.setPage(!0)}}
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
function Popup(){this.element={background:document.querySelector("#POPUP-BG"),frame:document.querySelector("#POPUP"),header:document.querySelector("#POPUP .header"),body:document.querySelector("#POPUP .body"),footer:document.querySelector("#POPUP .footer")},this.element.background.addEventListener("click",function(e){this.hide().handler(!1)}.bind(this),!1)}Popup.prototype={handler:null,element:{frame:null,header:null,body:null,footer:null},show:function(){return this.element.frame.addClass("active"),this},hide:function(){return this.element.frame.remClass("active"),this},ask:function(e,n){function t(e){this.hide(),this.handler("grey"!=e.target.className)}if(!(e instanceof Object))return null;if(null==e.title)return null;if(null==e.content)return null;if(null==e.type)return null;if(null==e.action)return null;if(!(n instanceof Function))return null;this.element.header.innerHTML=e.title,this.element.body.innerHTML=e.content,this.handler=n;var r=document.createElement("button");r.className=e.type,r.innerHTML=e.action;var l=document.createElement("button");return l.className="grey",l.innerHTML="Annuler",r.addEventListener("click",t.bind(this),!1),l.addEventListener("click",t.bind(this),!1),this.element.footer.innerHTML="",this.element.footer.appendChild(r),this.element.footer.appendChild(l),this.show()}};
|
|
|
@ -155,33 +155,26 @@ pageManagerClass.prototype = {
|
||||||
|
|
||||||
// si le fichier css existe
|
// si le fichier css existe
|
||||||
this.ajax(this.root+this.path+'/'+this.cssPath+'/'+this.page+'.css', function(e){
|
this.ajax(this.root+this.path+'/'+this.cssPath+'/'+this.page+'.css', function(e){
|
||||||
if( e == null ){ // on charge la dépendance CSS si le fichier existe
|
if( e != null ){ // on charge la dépendance CSS si le fichier existe
|
||||||
|
this.depCSS = document.createElement('link');
|
||||||
|
this.depCSS.rel = 'stylesheet';
|
||||||
|
this.depCSS.type = 'text/css';
|
||||||
|
this.depCSS.href = this.root+this.path+'/'+this.cssPath+'/'+this.page+'.css';
|
||||||
|
document.head.appendChild(this.depCSS);
|
||||||
|
}else
|
||||||
console.warn('[loadDependencies_Error] - ('+this.root+this.path+'/'+this.cssPath+'/'+this.page+'.css)');
|
console.warn('[loadDependencies_Error] - ('+this.root+this.path+'/'+this.cssPath+'/'+this.page+'.css)');
|
||||||
return;
|
}.bind(this));
|
||||||
}
|
|
||||||
|
|
||||||
this.depCSS = document.createElement('link');
|
|
||||||
this.depCSS.rel = 'stylesheet';
|
|
||||||
this.depCSS.type = 'text/css';
|
|
||||||
// this.depCSS.href = this.root+this.path+'/'+this.cssPath+'/'+this.page+'.css';
|
|
||||||
this.depCSS.innerHTML = e;
|
|
||||||
document.head.appendChild(this.depCSS);
|
|
||||||
}.bind(this), 'GET');
|
|
||||||
|
|
||||||
// si le fichier js existe
|
// si le fichier js existe
|
||||||
this.ajax(this.root+this.path+'/'+this.jsPath+'/'+this.page+'.js', function(e){
|
this.ajax(this.root+this.path+'/'+this.jsPath+'/'+this.page+'.js', function(e){
|
||||||
if( e == null ){ // on charge la dépendance JS si le fichier existe
|
if( e != null ){ // on charge la dépendance JS si le fichier existe
|
||||||
|
this.depJS = document.createElement('script');
|
||||||
|
this.depJS.type = 'text/javascript';
|
||||||
|
this.depJS.src = this.root+this.path+'/'+this.jsPath+'/'+this.page+'.js';
|
||||||
|
document.head.appendChild(this.depJS);
|
||||||
|
}else
|
||||||
console.warn('[loadDependencies_Error] - ('+this.root+this.path+'/'+this.jsPath+'/'+this.page+'.js)');
|
console.warn('[loadDependencies_Error] - ('+this.root+this.path+'/'+this.jsPath+'/'+this.page+'.js)');
|
||||||
return;
|
}.bind(this));
|
||||||
}
|
|
||||||
|
|
||||||
this.depJS = document.createElement('script');
|
|
||||||
this.depJS.type = 'text/javascript';
|
|
||||||
// this.depJS.src = this.root+this.path+'/'+this.jsPath+'/'+this.page+'.js';
|
|
||||||
this.depJS.innerHTML = e;
|
|
||||||
document.head.appendChild(this.depJS);
|
|
||||||
|
|
||||||
}.bind(this), 'GET');
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/* =======================================================================
|
/* =======================================================================
|
||||||
|
@ -247,7 +240,7 @@ pageManagerClass.prototype = {
|
||||||
fd.append(this.vars[i], null);
|
fd.append(this.vars[i], null);
|
||||||
|
|
||||||
this.updateURL(); // could be useful for content or dep
|
this.updateURL(); // could be useful for content or dep
|
||||||
|
|
||||||
this.ajax(this.root+this.path+'/'+this.page+'.php', function(e){
|
this.ajax(this.root+this.path+'/'+this.page+'.php', function(e){
|
||||||
this.container.innerHTML = e;
|
this.container.innerHTML = e;
|
||||||
this.loadDependencies();
|
this.loadDependencies();
|
||||||
|
|
|
@ -1,101 +0,0 @@
|
||||||
function Popup(){
|
|
||||||
|
|
||||||
/* (1) Fetch DOM elements */
|
|
||||||
this.element = {
|
|
||||||
background: document.querySelector('#POPUP-BG'),
|
|
||||||
frame: document.querySelector('#POPUP'),
|
|
||||||
header: document.querySelector('#POPUP .header'),
|
|
||||||
body: document.querySelector('#POPUP .body'),
|
|
||||||
footer: document.querySelector('#POPUP .footer')
|
|
||||||
};
|
|
||||||
|
|
||||||
/* (2) Set background click === to CANCEL action */
|
|
||||||
this.element.background.addEventListener('click', function(e){
|
|
||||||
this.hide().handler(false);
|
|
||||||
}.bind(this), false);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
Popup.prototype = {
|
|
||||||
|
|
||||||
handler: null,
|
|
||||||
element: { frame: null, header: null, body: null, footer: null },
|
|
||||||
|
|
||||||
show: function(){
|
|
||||||
this.element.frame.addClass('active');
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
hide: function(){
|
|
||||||
this.element.frame.remClass('active');
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
ask: function(pObject, pHandler){
|
|
||||||
/* (1) Check argument
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
/* (1) Check type */
|
|
||||||
if( !(pObject instanceof Object) )
|
|
||||||
return null;
|
|
||||||
|
|
||||||
/* (2) Check Title */
|
|
||||||
if( pObject.title == null )
|
|
||||||
return null;
|
|
||||||
|
|
||||||
/* (3) Check Content */
|
|
||||||
if( pObject.content == null )
|
|
||||||
return null;
|
|
||||||
|
|
||||||
/* (4) Check Type */
|
|
||||||
if( pObject.type == null )
|
|
||||||
return null;
|
|
||||||
|
|
||||||
/* (5) Check Action */
|
|
||||||
if( pObject.action == null )
|
|
||||||
return null;
|
|
||||||
|
|
||||||
/* (6) Check handler */
|
|
||||||
if( !(pHandler instanceof Function) )
|
|
||||||
return null;
|
|
||||||
|
|
||||||
|
|
||||||
/* (2) Set the content
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
/* (1) Title */
|
|
||||||
this.element.header.innerHTML = pObject.title;
|
|
||||||
|
|
||||||
/* (2) Content */
|
|
||||||
this.element.body.innerHTML = pObject.content;
|
|
||||||
|
|
||||||
/* (3) Store the handler */
|
|
||||||
this.handler = pHandler;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* (3) Set the buttons (action)
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
/* (1) Define action button */
|
|
||||||
var action_btn = document.createElement('button');
|
|
||||||
action_btn.className = pObject.type;
|
|
||||||
action_btn.innerHTML = pObject.action;
|
|
||||||
|
|
||||||
/* (2) Define cancel button */
|
|
||||||
var cancel_btn = document.createElement('button');
|
|
||||||
cancel_btn.className = 'grey';
|
|
||||||
cancel_btn.innerHTML = 'Annuler';
|
|
||||||
|
|
||||||
/* (3) Bind events */
|
|
||||||
function handler(e){ this.hide(); this.handler( e.target.className != 'grey' ); }
|
|
||||||
|
|
||||||
action_btn.addEventListener('click', handler.bind(this), false);
|
|
||||||
cancel_btn.addEventListener('click', handler.bind(this), false);
|
|
||||||
|
|
||||||
/* (4) Add elements to the object */
|
|
||||||
this.element.footer.innerHTML = '';
|
|
||||||
this.element.footer.appendChild(action_btn);
|
|
||||||
this.element.footer.appendChild(cancel_btn);
|
|
||||||
|
|
||||||
return this.show();
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
|
@ -105,6 +105,8 @@ Element.prototype.anim = function(className, timeout){
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* DEFINITION DES FORMATS UTILES POUR INPUT-CHECKER
|
/* DEFINITION DES FORMATS UTILES POUR INPUT-CHECKER
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
var sha256={hash:function(a){a=a.utf8Encode();var d=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,
|
||||||
|
3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],b=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];a+=String.fromCharCode(128);for(var g=Math.ceil((a.length/4+2)/16),h=Array(g),f=0;f<g;f++){h[f]=Array(16);for(var e=0;16>e;e++)h[f][e]=a.charCodeAt(64*f+4*e)<<24|a.charCodeAt(64*
|
||||||
|
f+4*e+1)<<16|a.charCodeAt(64*f+4*e+2)<<8|a.charCodeAt(64*f+4*e+3)}h[g-1][14]=8*(a.length-1)/Math.pow(2,32);h[g-1][14]=Math.floor(h[g-1][14]);h[g-1][15]=8*(a.length-1)&4294967295;a=Array(64);for(var l,m,q,k,n,p,r,f=0;f<g;f++){for(var c=0;16>c;c++)a[c]=h[f][c];for(c=16;64>c;c++)a[c]=sha256.\u03c31(a[c-2])+a[c-7]+sha256.\u03c30(a[c-15])+a[c-16]&4294967295;e=b[0];l=b[1];m=b[2];q=b[3];k=b[4];n=b[5];p=b[6];r=b[7];for(c=0;64>c;c++){var t=r+sha256.\u03a31(k)+sha256.Ch(k,n,p)+d[c]+a[c],u=sha256.\u03a30(e)+
|
||||||
|
sha256.Maj(e,l,m);r=p;p=n;n=k;k=q+t&4294967295;q=m;m=l;l=e;e=t+u&4294967295}b[0]=b[0]+e&4294967295;b[1]=b[1]+l&4294967295;b[2]=b[2]+m&4294967295;b[3]=b[3]+q&4294967295;b[4]=b[4]+k&4294967295;b[5]=b[5]+n&4294967295;b[6]=b[6]+p&4294967295;b[7]=b[7]+r&4294967295}return sha256.toHexStr(b[0])+sha256.toHexStr(b[1])+sha256.toHexStr(b[2])+sha256.toHexStr(b[3])+sha256.toHexStr(b[4])+sha256.toHexStr(b[5])+sha256.toHexStr(b[6])+sha256.toHexStr(b[7])},ROTR:function(a,d){return d>>>a|d<<32-a},"\u03a30":function(a){return sha256.ROTR(2,
|
||||||
|
a)^sha256.ROTR(13,a)^sha256.ROTR(22,a)},"\u03a31":function(a){return sha256.ROTR(6,a)^sha256.ROTR(11,a)^sha256.ROTR(25,a)},"\u03c30":function(a){return sha256.ROTR(7,a)^sha256.ROTR(18,a)^a>>>3},"\u03c31":function(a){return sha256.ROTR(17,a)^sha256.ROTR(19,a)^a>>>10},Ch:function(a,d,b){return a&d^~a&b},Maj:function(a,d,b){return a&d^a&b^d&b},toHexStr:function(a){for(var d="",b,g=7;0<=g;g--)b=a>>>4*g&15,d+=b.toString(16);return d}};
|
||||||
|
"undefined"==typeof String.prototype.utf8Encode&&(String.prototype.utf8Encode=function(){return unescape(encodeURIComponent(this))});"undefined"==typeof String.prototype.utf8Decode&&(String.prototype.utf8Decode=function(){try{return decodeURIComponent(escape(this))}catch(a){return this}});"undefined"!=typeof module&&module.exports&&(module.exports=sha256);"function"==typeof define&&define.amd&&define([],function(){return sha256});
|
|
@ -1,51 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
enable-background="new 0 0 141.732 141.732"
|
|
||||||
height="32"
|
|
||||||
id="Livello_1"
|
|
||||||
version="1.1"
|
|
||||||
viewBox="0 0 32.000002 32.000001"
|
|
||||||
width="32"
|
|
||||||
xml:space="preserve"
|
|
||||||
inkscape:version="0.91 r13725"
|
|
||||||
sodipodi:docname="lock.svg"><metadata
|
|
||||||
id="metadata11"><rdf:RDF><cc:Work
|
|
||||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
|
|
||||||
id="defs9" /><sodipodi:namedview
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1"
|
|
||||||
objecttolerance="10"
|
|
||||||
gridtolerance="10"
|
|
||||||
guidetolerance="10"
|
|
||||||
inkscape:pageopacity="0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:window-width="1920"
|
|
||||||
inkscape:window-height="1056"
|
|
||||||
id="namedview7"
|
|
||||||
showgrid="false"
|
|
||||||
fit-margin-top="0"
|
|
||||||
fit-margin-left="0"
|
|
||||||
fit-margin-right="0"
|
|
||||||
fit-margin-bottom="0"
|
|
||||||
inkscape:snap-page="true"
|
|
||||||
inkscape:zoom="9.41931"
|
|
||||||
inkscape:cx="5.9336621"
|
|
||||||
inkscape:cy="7.2474796"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="24"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
inkscape:current-layer="Livello_1" /><g
|
|
||||||
id="Livello_113"
|
|
||||||
transform="translate(-17.238667,-109.21765)" /><path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
d="m 22.378488,16.002563 0,-4.570818 a 6.3784857,6.856227 0 1 0 -12.7569707,0 l 0,4.570818 z m -19.1354571,0 2.1261615,0 0,-4.570818 a 10.630811,11.427045 0 1 1 21.2616196,0 l 0,4.570818 2.126162,0 0,15.997863 -25.5139431,0 z"
|
|
||||||
id="stylisable" /></svg>
|
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1,60 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
height="32"
|
|
||||||
viewBox="0 0 32 32"
|
|
||||||
width="32"
|
|
||||||
id="svg2"
|
|
||||||
version="1.1"
|
|
||||||
inkscape:version="0.91 r13725"
|
|
||||||
sodipodi:docname="signal.svg">
|
|
||||||
<metadata
|
|
||||||
id="metadata10">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
<dc:title></dc:title>
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<defs
|
|
||||||
id="defs8" />
|
|
||||||
<sodipodi:namedview
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1"
|
|
||||||
objecttolerance="10"
|
|
||||||
gridtolerance="10"
|
|
||||||
guidetolerance="10"
|
|
||||||
inkscape:pageopacity="0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:window-width="1920"
|
|
||||||
inkscape:window-height="1056"
|
|
||||||
id="namedview6"
|
|
||||||
showgrid="false"
|
|
||||||
fit-margin-top="0"
|
|
||||||
fit-margin-left="0"
|
|
||||||
fit-margin-right="0"
|
|
||||||
fit-margin-bottom="0"
|
|
||||||
inkscape:snap-page="true"
|
|
||||||
inkscape:zoom="14.481547"
|
|
||||||
inkscape:cx="22.770708"
|
|
||||||
inkscape:cy="28.336291"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="24"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
inkscape:current-layer="svg2" />
|
|
||||||
<path
|
|
||||||
d="m 20.363634,25.4545 0,5.091 q 0,0.5909 -0.43181,1.0227 Q 19.500004,32 18.909094,32 l -5.81818,0 q -0.59091,0 -1.02273,-0.4318 -0.43182,-0.4318 -0.43182,-1.0227 l 0,-5.091 q 0,-0.5909 0.43182,-1.0227 Q 12.500004,24 13.090914,24 l 5.81818,0 q 0.59091,0 1.02273,0.4318 0.43181,0.4318 0.43181,1.0227 z M 21.045454,1.4544998 20.409094,18.9091 q -0.0227,0.5909 -0.46591,1.0227 -0.44318,0.4318 -1.03409,0.4318 l -5.81818,0 q -0.59091,0 -1.03409,-0.4318 -0.44319,-0.4318 -0.46591,-1.0227 L 10.954544,1.4544998 Q 10.931844,0.86359978 11.352274,0.43179978 11.772734,-2.22046e-7 12.363634,-2.22046e-7 l 7.27273,0 q 0.59091,0 1.01137,0.431800002046 0.42045,0.4318 0.39772,1.02270002 z"
|
|
||||||
id="stylisable"
|
|
||||||
inkscape:connector-curvature="0" />
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.3 KiB |
|
@ -1,48 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
height="32"
|
|
||||||
id="Layer_1"
|
|
||||||
version="1.1"
|
|
||||||
viewBox="0 0 31.999999 32"
|
|
||||||
width="32"
|
|
||||||
xml:space="preserve"
|
|
||||||
inkscape:version="0.91 r13725"
|
|
||||||
sodipodi:docname="start.svg"><metadata
|
|
||||||
id="metadata9"><rdf:RDF><cc:Work
|
|
||||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
|
|
||||||
id="defs7" /><sodipodi:namedview
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1"
|
|
||||||
objecttolerance="10"
|
|
||||||
gridtolerance="10"
|
|
||||||
guidetolerance="10"
|
|
||||||
inkscape:pageopacity="0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:window-width="1920"
|
|
||||||
inkscape:window-height="1056"
|
|
||||||
id="namedview5"
|
|
||||||
showgrid="false"
|
|
||||||
fit-margin-top="0"
|
|
||||||
fit-margin-left="0"
|
|
||||||
fit-margin-right="0"
|
|
||||||
fit-margin-bottom="0"
|
|
||||||
inkscape:snap-page="true"
|
|
||||||
inkscape:zoom="14.5625"
|
|
||||||
inkscape:cx="13.38136"
|
|
||||||
inkscape:cy="12.329643"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="24"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
inkscape:current-layer="Layer_1" /><path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
d="M 7.9999977,4.9999997e-8 7.9999977,17.6 l 4.8000003,0 0,14.4 11.2,-19.2 -6.4,0 6.4,-12.799999950000003 z"
|
|
||||||
id="stylisable" /></svg>
|
|
Before Width: | Height: | Size: 1.7 KiB |
|
@ -1,49 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
height="32"
|
|
||||||
id="Layer_1"
|
|
||||||
version="1.2"
|
|
||||||
viewBox="0 0 32 32"
|
|
||||||
width="32"
|
|
||||||
xml:space="preserve"
|
|
||||||
inkscape:version="0.91 r13725"
|
|
||||||
sodipodi:docname="stop.svg"><metadata
|
|
||||||
id="metadata11"><rdf:RDF><cc:Work
|
|
||||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
|
|
||||||
id="defs9" /><sodipodi:namedview
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1"
|
|
||||||
objecttolerance="10"
|
|
||||||
gridtolerance="10"
|
|
||||||
guidetolerance="10"
|
|
||||||
inkscape:pageopacity="0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:window-width="1920"
|
|
||||||
inkscape:window-height="1056"
|
|
||||||
id="namedview7"
|
|
||||||
showgrid="false"
|
|
||||||
fit-margin-top="0"
|
|
||||||
fit-margin-left="0"
|
|
||||||
fit-margin-right="0"
|
|
||||||
fit-margin-bottom="0"
|
|
||||||
inkscape:zoom="9.8333333"
|
|
||||||
inkscape:cx="-11.033899"
|
|
||||||
inkscape:cy="6.0000006"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="24"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
inkscape:current-layer="Layer_1" /><g
|
|
||||||
id="g3"
|
|
||||||
transform="matrix(2.0564972,0,0,2.0564972,-8.6779661,-8.6779661)" /><path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
d="m 20.295204,16 6.442427,-6.4424263 c 1.185984,-1.1859835 1.185984,-3.1092209 0,-4.294445 -1.185984,-1.1859835 -3.10998,-1.1859835 -4.295964,0 L 16,11.704796 9.5575738,5.2631287 c -1.1859835,-1.1859835 -3.1092211,-1.1859835 -4.2952047,0 -1.1859835,1.1859835 -1.1859835,3.1099803 0,4.294445 L 11.704796,16 5.2623691,22.442427 c -1.1859835,1.185983 -1.1859835,3.10922 0,4.294445 1.1859836,1.185983 3.1092212,1.185983 4.2952047,0 L 16,20.295204 l 6.441667,6.441668 c 1.185984,1.185983 3.10998,1.185983 4.295964,0 1.185984,-1.185984 1.185984,-3.109981 0,-4.294445 L 20.295204,16 Z"
|
|
||||||
id="stylisable" /></svg>
|
|
Before Width: | Height: | Size: 2.2 KiB |
|
@ -1,70 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
height="32"
|
|
||||||
viewBox="0 0 32 32"
|
|
||||||
width="32"
|
|
||||||
id="svg2"
|
|
||||||
version="1.1"
|
|
||||||
inkscape:version="0.91 r13725"
|
|
||||||
sodipodi:docname="unsignal.svg">
|
|
||||||
<metadata
|
|
||||||
id="metadata10">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
<dc:title></dc:title>
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<defs
|
|
||||||
id="defs8" />
|
|
||||||
<sodipodi:namedview
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1"
|
|
||||||
objecttolerance="10"
|
|
||||||
gridtolerance="10"
|
|
||||||
guidetolerance="10"
|
|
||||||
inkscape:pageopacity="0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:window-width="1920"
|
|
||||||
inkscape:window-height="1056"
|
|
||||||
id="namedview6"
|
|
||||||
showgrid="false"
|
|
||||||
fit-margin-top="0"
|
|
||||||
fit-margin-left="0"
|
|
||||||
fit-margin-right="0"
|
|
||||||
fit-margin-bottom="0"
|
|
||||||
inkscape:snap-page="true"
|
|
||||||
inkscape:zoom="14.481547"
|
|
||||||
inkscape:cx="12.792553"
|
|
||||||
inkscape:cy="12.35049"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="24"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
inkscape:current-layer="svg2" />
|
|
||||||
<g
|
|
||||||
transform="matrix(1.1851852,0,0,1.1851852,-3.5555556,-3.5555556)"
|
|
||||||
style="fill:none;fill-rule:evenodd;stroke:none;stroke-width:1"
|
|
||||||
id="Page-1">
|
|
||||||
<g
|
|
||||||
style="fill:#157efb"
|
|
||||||
id="icon-24-key">
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
d="M 18.532404,19.467596 14,24 l -3,0 0,3 -3,0 0,3 -5,0 0,-5 10.532404,-10.532404 C 13.188157,13.543721 13,12.543834 13,11.5 13,6.8055794 16.805579,3 21.5,3 26.194421,3 30,6.8055794 30,11.5 30,16.194421 26.194421,20 21.5,20 20.456166,20 19.456279,19.811843 18.532404,19.467596 l 0,0 0,0 z M 27,9 c 0,-1.6568543 -1.343146,-3 -3,-3 -1.656854,0 -3,1.3431457 -3,3 0,1.656854 1.343146,3 3,3 1.656854,0 3,-1.343146 3,-3 l 0,0 z"
|
|
||||||
id="stylisable"
|
|
||||||
style="fill:#000000" />
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.3 KiB |
|
@ -1,70 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
height="32"
|
|
||||||
viewBox="0 0 32 32"
|
|
||||||
width="32"
|
|
||||||
id="svg2"
|
|
||||||
version="1.1"
|
|
||||||
inkscape:version="0.91 r13725"
|
|
||||||
sodipodi:docname="unsignal.svg">
|
|
||||||
<metadata
|
|
||||||
id="metadata10">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
<dc:title></dc:title>
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<defs
|
|
||||||
id="defs8" />
|
|
||||||
<sodipodi:namedview
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1"
|
|
||||||
objecttolerance="10"
|
|
||||||
gridtolerance="10"
|
|
||||||
guidetolerance="10"
|
|
||||||
inkscape:pageopacity="0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:window-width="1920"
|
|
||||||
inkscape:window-height="1056"
|
|
||||||
id="namedview6"
|
|
||||||
showgrid="false"
|
|
||||||
fit-margin-top="0"
|
|
||||||
fit-margin-left="0"
|
|
||||||
fit-margin-right="0"
|
|
||||||
fit-margin-bottom="0"
|
|
||||||
inkscape:snap-page="true"
|
|
||||||
inkscape:zoom="14.481547"
|
|
||||||
inkscape:cx="12.792553"
|
|
||||||
inkscape:cy="12.35049"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="24"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
inkscape:current-layer="svg2" />
|
|
||||||
<g
|
|
||||||
transform="matrix(1.1851852,0,0,1.1851852,-3.5555556,-3.5555556)"
|
|
||||||
style="fill:none;fill-rule:evenodd;stroke:none;stroke-width:1"
|
|
||||||
id="Page-1">
|
|
||||||
<g
|
|
||||||
style="fill:#157efb"
|
|
||||||
id="icon-24-key">
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
d="M 18.532404,19.467596 14,24 l -3,0 0,3 -3,0 0,3 -5,0 0,-5 10.532404,-10.532404 C 13.188157,13.543721 13,12.543834 13,11.5 13,6.8055794 16.805579,3 21.5,3 26.194421,3 30,6.8055794 30,11.5 30,16.194421 26.194421,20 21.5,20 20.456166,20 19.456279,19.811843 18.532404,19.467596 l 0,0 0,0 z M 27,9 c 0,-1.6568543 -1.343146,-3 -3,-3 -1.656854,0 -3,1.3431457 -3,3 0,1.656854 1.343146,3 3,3 1.656854,0 3,-1.343146 3,-3 l 0,0 z"
|
|
||||||
id="stylisable"
|
|
||||||
style="fill:#000000" />
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.3 KiB |
|
@ -10,7 +10,7 @@
|
||||||
<meta name='desctiption' content="Système de gestion des véhicules pour STEF.">
|
<meta name='desctiption' content="Système de gestion des véhicules pour STEF.">
|
||||||
|
|
||||||
<!-- Dépendences CSS -->
|
<!-- Dépendences CSS -->
|
||||||
<link type='text/css' rel='stylesheet' href='/css/min/font.css' /> <!-- Chargement des fonts -->
|
<link type='text/css' rel='stylesheet' href='/css/min/fonts.css' /> <!-- Chargement des fonts -->
|
||||||
<link type='text/css' rel='stylesheet' href='/css/min/reset.css' /> <!-- Reset du css natif des browsers -->
|
<link type='text/css' rel='stylesheet' href='/css/min/reset.css' /> <!-- Reset du css natif des browsers -->
|
||||||
|
|
||||||
<!-- Icone -->
|
<!-- Icone -->
|
||||||
|
@ -22,8 +22,6 @@
|
||||||
<script type='text/javascript' src='/js/lib/min/api.js' ></script> <!-- Gestion des transactions avec le serveur -->
|
<script type='text/javascript' src='/js/lib/min/api.js' ></script> <!-- Gestion des transactions avec le serveur -->
|
||||||
<script type='text/javascript' src='/js/lib/page-manager.js' ></script> <!-- Gestion des transactions avec le serveur -->
|
<script type='text/javascript' src='/js/lib/page-manager.js' ></script> <!-- Gestion des transactions avec le serveur -->
|
||||||
|
|
||||||
<script type='text/javascript' src='/serverinfo.js' ></script> <!-- Gestion dynamique des info server -->
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<style type='text/css'>
|
<style type='text/css'>
|
||||||
body{
|
body{
|
||||||
|
|
|
@ -43,22 +43,6 @@ if( section.view.element != null ){
|
||||||
|
|
||||||
/* (2) Gestion de la recherche instantannee */
|
/* (2) Gestion de la recherche instantannee */
|
||||||
section.view.search.func = function(){
|
section.view.search.func = function(){
|
||||||
|
|
||||||
// if no keyword -> show all
|
|
||||||
if( section.view.search.bar.value.length == 0 ){
|
|
||||||
|
|
||||||
// On recupere la liste des elements correspondants aux utilisateurs
|
|
||||||
var history_list = document.querySelectorAll(section.view.text + '> article.inline-row[id]');
|
|
||||||
|
|
||||||
// Affiche chaque carte
|
|
||||||
for( var i = 0 ; i < history_list.length ; i++ )
|
|
||||||
history_list[i].remClass('hidden');
|
|
||||||
|
|
||||||
return;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
var search = {
|
var search = {
|
||||||
path: 'historyDefault/search',
|
path: 'historyDefault/search',
|
||||||
keywords: section.view.search.bar.value
|
keywords: section.view.search.bar.value
|
||||||
|
@ -135,31 +119,12 @@ if( section.archive.element != null ){
|
||||||
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
/* (2) Create popup */
|
api.send({path: 'historyDefault/archive'}, function(result){
|
||||||
var PopupManager = new Popup();
|
if( result.error == 0 ){
|
||||||
|
|
||||||
var confirm_content = {
|
document.location = result.link;
|
||||||
title: "Archivage de l'historique",
|
|
||||||
content: "L'historique sera définitivement supprimé de la plateforme après la création de l'archive. Cette opération ne peut être annulée.",
|
|
||||||
type: "search",
|
|
||||||
action: "Archiver"
|
|
||||||
};
|
|
||||||
|
|
||||||
/* (3) Ask for confirmation */
|
|
||||||
PopupManager.ask(confirm_content, function(is_confirmed){
|
|
||||||
|
|
||||||
// {3.1} If cancelled -> abort //
|
|
||||||
if( !is_confirmed )
|
|
||||||
return;
|
|
||||||
|
|
||||||
// {3.2} Manage request //
|
|
||||||
api.send({path: 'historyDefault/archive'}, function(result){
|
|
||||||
|
|
||||||
if( result.error == 0 )
|
|
||||||
document.location = result.link;
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}, false);
|
}, false);
|
||||||
|
@ -167,83 +132,3 @@ if( section.archive.element != null ){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* GESTION DE L'AFFICHAGE DES DETAILS
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
if( section.details.element != null ){
|
|
||||||
|
|
||||||
/* (0) On gère le zoom sur un log via URL */
|
|
||||||
if( pageManager.vars.length > 1 && !isNaN(pageManager.vars[1]) ){
|
|
||||||
// element
|
|
||||||
var element = document.getElementById('e'+pageManager.vars[1]);
|
|
||||||
|
|
||||||
// if element exist -> scroll to event
|
|
||||||
if( element != null )
|
|
||||||
DOM.CONTAINER.scrollTo( 0, element.getData('y') );
|
|
||||||
}
|
|
||||||
|
|
||||||
/* (1) Get useful DOM Elements
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
/* (1) Get parent */
|
|
||||||
section.details.parent = {
|
|
||||||
text: section.details.text+'article.timeline.container ',
|
|
||||||
element: document.querySelector( section.details.text+'article.timeline.container ' )
|
|
||||||
};
|
|
||||||
|
|
||||||
/* (2) Get SVG tag */
|
|
||||||
section.details.svg = {
|
|
||||||
text: section.details.parent.text+'svg.timeline ',
|
|
||||||
element: document.querySelector( section.details.parent.text+'svg.timeline ' )
|
|
||||||
};
|
|
||||||
|
|
||||||
/* (3) Get each event node */
|
|
||||||
section.details.event = {
|
|
||||||
text: section.details.svg.text+'circle.around ',
|
|
||||||
list: document.querySelectorAll( section.details.svg.text+'circle.around ' )
|
|
||||||
};
|
|
||||||
|
|
||||||
/* (4) Get infobox node */
|
|
||||||
section.details.info = {
|
|
||||||
text: section.details.parent.text+'div.timeline.infobox ',
|
|
||||||
element: document.querySelector( section.details.parent.text+'div.timeline.infobox ' )
|
|
||||||
};
|
|
||||||
|
|
||||||
/* (5) Bind infobox sub-elements */
|
|
||||||
section.details.info.input = {
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* (3) Function: show infobox on click on event
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
/* (1) Set click handler */
|
|
||||||
section.details.event.handler = function(target){
|
|
||||||
|
|
||||||
pageManager.vars[1] = target.getData('entry');
|
|
||||||
pageManager.refresh();
|
|
||||||
// section.details.info.element.addClass('active');
|
|
||||||
console.log('show infobox on element', target);
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
/* (2) Trigger event */
|
|
||||||
section.details.svg.element.addEventListener('click', function(e){
|
|
||||||
|
|
||||||
// {1} Trigger function only if element is an 'around circle' //
|
|
||||||
if( e.target.nodeName && e.target.getData('entry') && e.target.getData('user') && e.target.getData('machine') && e.target.getData('action') && e.target.getData('time') )
|
|
||||||
section.details.event.handler(e.target);
|
|
||||||
|
|
||||||
}, false);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -66,20 +66,6 @@ if( section.view.element != null ){
|
||||||
/* (3) Gestion de la recherche instantannee */
|
/* (3) Gestion de la recherche instantannee */
|
||||||
section.view.search.func = function(){
|
section.view.search.func = function(){
|
||||||
|
|
||||||
// if no keyword -> show all
|
|
||||||
if( section.view.search.bar.value.length == 0 ){
|
|
||||||
|
|
||||||
// On recupere la liste des elements correspondants aux utilisateurs
|
|
||||||
var mac_list = document.querySelectorAll(section.view.text + '> article.inline-box[id]');
|
|
||||||
|
|
||||||
// Affiche chaque carte
|
|
||||||
for( var i = 0 ; i < mac_list.length ; i++ )
|
|
||||||
mac_list[i].remClass('hidden');
|
|
||||||
|
|
||||||
return;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
var search = {
|
var search = {
|
||||||
path: 'machineDefault/search',
|
path: 'machineDefault/search',
|
||||||
keywords: section.view.search.bar.value
|
keywords: section.view.search.bar.value
|
||||||
|
@ -98,7 +84,6 @@ if( section.view.element != null ){
|
||||||
var machine_list = document.querySelectorAll(section.view.text + '> article.inline-box[id]');
|
var machine_list = document.querySelectorAll(section.view.text + '> article.inline-box[id]');
|
||||||
|
|
||||||
// Pour chaque machine
|
// Pour chaque machine
|
||||||
console.log(uid_list);
|
|
||||||
for( var i = 0 ; i < machine_list.length ; i++ ){
|
for( var i = 0 ; i < machine_list.length ; i++ ){
|
||||||
// Si doit etre visible
|
// Si doit etre visible
|
||||||
if( uid_list.indexOf(parseInt(machine_list[i].id)) > -1 )
|
if( uid_list.indexOf(parseInt(machine_list[i].id)) > -1 )
|
||||||
|
@ -518,26 +503,8 @@ if( section.remove.element != null ){
|
||||||
// On annule l'envoi de base (PHP)
|
// On annule l'envoi de base (PHP)
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
// Si l'id n'est pas défini -> abort
|
// Si l'id est defini
|
||||||
if( section.remove.input.search.id.value == '' )
|
if( section.remove.input.search.id.value != '' ){
|
||||||
return;
|
|
||||||
|
|
||||||
/* (1) Create popup */
|
|
||||||
var PopupManager = new Popup();
|
|
||||||
|
|
||||||
var confirm_content = {
|
|
||||||
title: "Suppression de machine",
|
|
||||||
content: "La machine <b>"+section.remove.input.name.value+"</b> sera définitivement supprimée de la plateforme. Cette opération ne peut être annulée.",
|
|
||||||
type: "invalid",
|
|
||||||
action: "Supprimer"
|
|
||||||
};
|
|
||||||
|
|
||||||
/* (2) Ask for confirmation */
|
|
||||||
PopupManager.ask(confirm_content, function(is_confirmed){
|
|
||||||
|
|
||||||
// {2.1} If cancelled -> abort //
|
|
||||||
if( !is_confirmed )
|
|
||||||
return;
|
|
||||||
|
|
||||||
/* (2) On supprime la machine */
|
/* (2) On supprime la machine */
|
||||||
var request = {
|
var request = {
|
||||||
|
@ -581,7 +548,7 @@ if( section.remove.element != null ){
|
||||||
console.error('ModuleError::'+answer.error);
|
console.error('ModuleError::'+answer.error);
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
}
|
||||||
|
|
||||||
}, false);
|
}, false);
|
||||||
|
|
||||||
|
|
|
@ -56,7 +56,7 @@ if( section.password.element != null ){
|
||||||
section.password.errmsg.confirm.innerHTML = '';
|
section.password.errmsg.confirm.innerHTML = '';
|
||||||
|
|
||||||
var request = {
|
var request = {
|
||||||
path: 'adminDefault/update', // On veut modifier le mot de passe admin
|
path: 'authenticationDefault/update_admin', // On veut modifier le mot de passe admin
|
||||||
old: section.password.input.old.value,
|
old: section.password.input.old.value,
|
||||||
new: section.password.input.new.value,
|
new: section.password.input.new.value,
|
||||||
confirm: section.password.input.confirm.value
|
confirm: section.password.input.confirm.value
|
||||||
|
|
|
@ -10,11 +10,6 @@ var section = {
|
||||||
element: document.querySelector('#CONTAINER > section[data-sublink="password"]')
|
element: document.querySelector('#CONTAINER > section[data-sublink="password"]')
|
||||||
},
|
},
|
||||||
|
|
||||||
admins: {
|
|
||||||
text: '#CONTAINER > section[data-sublink="admins"] ',
|
|
||||||
element: document.querySelector('#CONTAINER > section[data-sublink="admins"]')
|
|
||||||
},
|
|
||||||
|
|
||||||
admin: {
|
admin: {
|
||||||
text: '#CONTAINER > section[data-sublink="admin"] ',
|
text: '#CONTAINER > section[data-sublink="admin"] ',
|
||||||
element: document.querySelector('#CONTAINER > section[data-sublink="admin"]')
|
element: document.querySelector('#CONTAINER > section[data-sublink="admin"]')
|
||||||
|
@ -104,94 +99,8 @@ if( section.password.element != null ){
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* [3] admins -> Liste des administrateurs
|
|
||||||
=========================================================*/
|
|
||||||
if( section.admins.element != null ){
|
|
||||||
|
|
||||||
/* (1) Fetch the remove links
|
/* [3] admin -> Création d'administrateur
|
||||||
---------------------------------------------------------*/
|
|
||||||
section.admins.link = {};
|
|
||||||
section.admins.link.remove = document.querySelectorAll(section.admins.text + '.link_remove[data-admin]');
|
|
||||||
|
|
||||||
/* (2) Define admin-remove function
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
var remove_admin = function(entry_element){
|
|
||||||
/* (1) Get admin.id + admin.name */
|
|
||||||
var admin = {
|
|
||||||
id: parseInt(entry_element.id),
|
|
||||||
name: entry_element.children[0].children[0].innerHTML
|
|
||||||
};
|
|
||||||
|
|
||||||
/* (2) Create popup */
|
|
||||||
var PopupManager = new Popup();
|
|
||||||
|
|
||||||
var confirm_content = {
|
|
||||||
title: "Suppression d'un administrteur",
|
|
||||||
content: "L'administrateur <b>"+admin.name+"</b> sera définitivement supprimé de la plateforme, cette opération ne peut pas être annulée.",
|
|
||||||
type: "invalid",
|
|
||||||
action: "Supprimer"
|
|
||||||
};
|
|
||||||
|
|
||||||
/* (3) Ask for confirmation */
|
|
||||||
PopupManager.ask(confirm_content, function(is_confirmed){
|
|
||||||
|
|
||||||
/* (3.1) If cancelled -> abort */
|
|
||||||
if( !is_confirmed )
|
|
||||||
return;
|
|
||||||
|
|
||||||
/* (2.1) Manage deletion
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
/* (1) Create request */
|
|
||||||
var request = {
|
|
||||||
path: 'adminDefault/delete', // On veut créer un nouvel admin
|
|
||||||
id_admin: admin.id
|
|
||||||
};
|
|
||||||
|
|
||||||
/* (2) Send request + handle response */
|
|
||||||
api.send(request, function(answer){
|
|
||||||
|
|
||||||
if( answer.error == 0 ){ // Tout s'est bien deroule
|
|
||||||
|
|
||||||
console.log('Admin supprimé!');
|
|
||||||
|
|
||||||
// on supprime de la liste
|
|
||||||
entry_element.parentNode.removeChild(entry_element);
|
|
||||||
|
|
||||||
}else{ // Erreur
|
|
||||||
|
|
||||||
console.error('ModuleError::'+answer.error);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/* (3) Bind event for each remove link
|
|
||||||
---------------------------------------------------------*/
|
|
||||||
for( var i = 0 ; i < section.admins.link.remove.length ; i++ ){
|
|
||||||
|
|
||||||
section.admins.link.remove[i].addEventListener('click', function(e){
|
|
||||||
|
|
||||||
remove_admin(e.target.parentNode.parentNode);
|
|
||||||
|
|
||||||
}, false);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* [4] admin -> Création d'administrateur
|
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
if( section.admin.element != null ){
|
if( section.admin.element != null ){
|
||||||
|
|
||||||
|
@ -220,7 +129,7 @@ if( section.admin.element != null ){
|
||||||
section.admin.errmsg.mail.innerHTML = '';
|
section.admin.errmsg.mail.innerHTML = '';
|
||||||
|
|
||||||
var request = {
|
var request = {
|
||||||
path: 'adminDefault/create', // On veut créer un nouvel admin
|
path: 'authenticationDefault/create_admin', // On veut créer un nouvel admin
|
||||||
username: section.admin.input.username.value,
|
username: section.admin.input.username.value,
|
||||||
mail: section.admin.input.mail.value
|
mail: section.admin.input.mail.value
|
||||||
};
|
};
|
||||||
|
|
|
@ -71,20 +71,6 @@ if( section.view.element != null ){
|
||||||
/* (3) Gestion de la recherche instantannee */
|
/* (3) Gestion de la recherche instantannee */
|
||||||
section.view.search.func = function(){
|
section.view.search.func = function(){
|
||||||
|
|
||||||
// if no keyword -> show all
|
|
||||||
if( section.view.search.bar.value.length == 0 ){
|
|
||||||
|
|
||||||
// On recupere la liste des elements correspondants aux utilisateurs
|
|
||||||
var user_list = document.querySelectorAll(section.view.text + '> article.inline-box[id]');
|
|
||||||
|
|
||||||
// Affiche chaque carte
|
|
||||||
for( var i = 0 ; i < user_list.length ; i++ )
|
|
||||||
user_list[i].remClass('hidden');
|
|
||||||
|
|
||||||
return;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
var search = {
|
var search = {
|
||||||
path: 'userDefault/search',
|
path: 'userDefault/search',
|
||||||
keywords: section.view.search.bar.value
|
keywords: section.view.search.bar.value
|
||||||
|
@ -100,7 +86,7 @@ if( section.view.element != null ){
|
||||||
// On enregistre tous les UID dans un tableau
|
// On enregistre tous les UID dans un tableau
|
||||||
var uid_list = [];
|
var uid_list = [];
|
||||||
for( var i = 0 ; i < result.users.length ; i++ )
|
for( var i = 0 ; i < result.users.length ; i++ )
|
||||||
uid_list.push( result.users[i].id_user );
|
uid_list.push( result.users[i].id_user);
|
||||||
|
|
||||||
// On recupere la liste des elements correspondants aux utilisateurs
|
// On recupere la liste des elements correspondants aux utilisateurs
|
||||||
var user_list = document.querySelectorAll(section.view.text + '> article.inline-box[id]');
|
var user_list = document.querySelectorAll(section.view.text + '> article.inline-box[id]');
|
||||||
|
@ -108,7 +94,7 @@ if( section.view.element != null ){
|
||||||
// Pour chaque utilisateur
|
// Pour chaque utilisateur
|
||||||
for( var i = 0 ; i < user_list.length ; i++ ){
|
for( var i = 0 ; i < user_list.length ; i++ ){
|
||||||
// Si doit etre visible
|
// Si doit etre visible
|
||||||
if( uid_list.indexOf(parseInt(user_list[i].id)) > -1 )
|
if( uid_list.indexOf(user_list[i].id) > -1 )
|
||||||
user_list[i].remClass('hidden');
|
user_list[i].remClass('hidden');
|
||||||
// Si ne doit pas etre visible
|
// Si ne doit pas etre visible
|
||||||
else
|
else
|
||||||
|
@ -557,26 +543,8 @@ if( section.remove.element != null ){
|
||||||
// On annule l'envoi de base (PHP)
|
// On annule l'envoi de base (PHP)
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
// Si l'id n'est pas defini -> abort
|
// Si l'id est defini
|
||||||
if( section.remove.input.search.id.value == '' )
|
if( section.remove.input.search.id.value != '' ){
|
||||||
return;
|
|
||||||
|
|
||||||
/* (1) Create popup */
|
|
||||||
var PopupManager = new Popup();
|
|
||||||
|
|
||||||
var confirm_content = {
|
|
||||||
title: "Suppression d'utilisateur",
|
|
||||||
content: "L'utilisateur <b>"+section.remove.input.username.value+"</b> sera définitivement supprimé de la plateforme. Cette opération ne peut être annulée.",
|
|
||||||
type: "invalid",
|
|
||||||
action: "Supprimer"
|
|
||||||
};
|
|
||||||
|
|
||||||
/* (2) Ask for confirmation */
|
|
||||||
PopupManager.ask(confirm_content, function(is_confirmed){
|
|
||||||
|
|
||||||
// {2.1} If cancelled -> abort //
|
|
||||||
if( !is_confirmed )
|
|
||||||
return;
|
|
||||||
|
|
||||||
/* (2) On supprime l'utilisateur */
|
/* (2) On supprime l'utilisateur */
|
||||||
var request = {
|
var request = {
|
||||||
|
@ -621,7 +589,7 @@ if( section.remove.element != null ){
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
}
|
||||||
|
|
||||||
}, false);
|
}, false);
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
<!-- Dépendences CSS -->
|
<!-- Dépendences CSS -->
|
||||||
<link type='text/css' rel='stylesheet' href='/css/min/reset.css' /> <!-- Reset du css natif des browsers -->
|
<link type='text/css' rel='stylesheet' href='/css/min/reset.css' /> <!-- Reset du css natif des browsers -->
|
||||||
<link type='text/css' rel='stylesheet' href='/css/min/font.css' /> <!-- Positionnement global des pages -->
|
<link type='text/css' rel='stylesheet' href='/css/min/fonts.css' /> <!-- Positionnement global des pages -->
|
||||||
<link type='text/css' rel='stylesheet' href='/css/min/layout.css' /> <!-- Positionnement global des pages -->
|
<link type='text/css' rel='stylesheet' href='/css/min/layout.css' /> <!-- Positionnement global des pages -->
|
||||||
<link type='text/css' rel='stylesheet' href='/css/min/header.css' /> <!-- Gestion du header -->
|
<link type='text/css' rel='stylesheet' href='/css/min/header.css' /> <!-- Gestion du header -->
|
||||||
<link type='text/css' rel='stylesheet' href='/css/min/menu-side.css' /> <!-- Gestion du menu -->
|
<link type='text/css' rel='stylesheet' href='/css/min/menu-side.css' /> <!-- Gestion du menu -->
|
||||||
|
@ -28,7 +28,6 @@
|
||||||
<!-- Dépendences Javascript -->
|
<!-- Dépendences Javascript -->
|
||||||
<script type='text/javascript' src='/js/lib/min/input-checker.js' ></script> <!-- Gestion dynamique des saisies -->
|
<script type='text/javascript' src='/js/lib/min/input-checker.js' ></script> <!-- Gestion dynamique des saisies -->
|
||||||
<script type='text/javascript' src='/js/lib/min/reset.js' ></script> <!-- Corrections Javascript natif (ajouts) -->
|
<script type='text/javascript' src='/js/lib/min/reset.js' ></script> <!-- Corrections Javascript natif (ajouts) -->
|
||||||
<script type='text/javascript' src='/js/lib/min/popup.js' ></script> <!-- Gestion du pop-up gloabl -->
|
|
||||||
<script type='text/javascript' src='/js/lib/min/api.js' ></script> <!-- Gestion des transactions avec le serveur -->
|
<script type='text/javascript' src='/js/lib/min/api.js' ></script> <!-- Gestion des transactions avec le serveur -->
|
||||||
<script type='text/javascript' src='/js/lib/min/page-manager.js' ></script> <!-- Gestion réseau/chargement/liens/URL -->
|
<script type='text/javascript' src='/js/lib/min/page-manager.js' ></script> <!-- Gestion réseau/chargement/liens/URL -->
|
||||||
<script type='text/javascript' src='/js/lib/min/form-deflater.js' ></script> <!-- Gestion des formulaires (Object) -->
|
<script type='text/javascript' src='/js/lib/min/form-deflater.js' ></script> <!-- Gestion des formulaires (Object) -->
|
||||||
|
@ -51,24 +50,17 @@
|
||||||
|
|
||||||
<!-- MENU DE LA PAGE -->
|
<!-- MENU DE LA PAGE -->
|
||||||
<nav id='MENU-SIDE'>
|
<nav id='MENU-SIDE'>
|
||||||
<span data-link='profile' data-desc='Profil' class='mb' ><?= file_get_contents(__PUBLIC__.'/src/static/menu-side/profile.svg'); ?></span>
|
<span data-link='profile' data-desc='Profil' class='mb' ><?= file_get_contents(__PUBLIC__.'/src/static/menu-side/profile.svg'); ?></span>
|
||||||
|
|
||||||
<span data-link='history' data-desc='Journal des accès' class='apart' ><?= file_get_contents(__PUBLIC__.'/src/static/menu-side/history.svg'); ?></span>
|
<span data-link='history' data-desc='Journal des accès' class='apart' ><?= file_get_contents(__PUBLIC__.'/src/static/menu-side/history.svg'); ?></span>
|
||||||
<span data-link='machines' data-desc='Systèmes' ><?= file_get_contents(__PUBLIC__.'/src/static/menu-side/device.svg'); ?></span>
|
<span data-link='machines' data-desc='Systèmes' ><?= file_get_contents(__PUBLIC__.'/src/static/menu-side/device.svg'); ?></span>
|
||||||
<span data-link='users' data-desc='Utilisateurs' ><?= file_get_contents(__PUBLIC__.'/src/static/menu-side/users.svg'); ?></span>
|
<span data-link='users' data-desc='Utilisateurs' ><?= file_get_contents(__PUBLIC__.'/src/static/menu-side/users.svg'); ?></span>
|
||||||
<span data-link='groups' data-desc='Gestion des groupes' ><?= file_get_contents(__PUBLIC__.'/src/static/menu-side/groups.svg'); ?></span>
|
<span data-link='groups' data-desc='Gestion des groupes' ><?= file_get_contents(__PUBLIC__.'/src/static/menu-side/groups.svg'); ?></span>
|
||||||
|
<span data-link='options' data-desc='Options' ><?= file_get_contents(__PUBLIC__.'/src/static/menu-side/options.svg'); ?></span>
|
||||||
|
|
||||||
<span data-link='options' data-desc='Options' class='mt' ><?= file_get_contents(__PUBLIC__.'/src/static/menu-side/options.svg'); ?></span>
|
<span data-link='settings' data-desc='Paramètres' class='mt' ><?= file_get_contents(__PUBLIC__.'/src/static/menu-side/settings.svg'); ?></span>
|
||||||
<span data-link='settings' data-desc='Paramètres' ><?= file_get_contents(__PUBLIC__.'/src/static/menu-side/settings.svg'); ?></span>
|
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<!-- POPUP WINDOW -->
|
|
||||||
<div id='POPUP'>
|
|
||||||
<div class='header'></div>
|
|
||||||
<div class='body'></div>
|
|
||||||
<div class='footer'></div>
|
|
||||||
</div>
|
|
||||||
<div id='POPUP-BG'></div>
|
|
||||||
|
|
||||||
<!-- CONTENEUR DE LA PAGE -->
|
<!-- CONTENEUR DE LA PAGE -->
|
||||||
<div id='CONTAINER'></div>
|
<div id='CONTAINER'></div>
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
<meta name='desctiption' content="Système de gestion des véhicules pour STEF.">
|
<meta name='desctiption' content="Système de gestion des véhicules pour STEF.">
|
||||||
|
|
||||||
<!-- Dépendences CSS -->
|
<!-- Dépendences CSS -->
|
||||||
<link type='text/css' rel='stylesheet' href='/css/min/font.css' /> <!-- Chargement des fonts -->
|
<link type='text/css' rel='stylesheet' href='/css/min/fonts.css' /> <!-- Chargement des fonts -->
|
||||||
<link type='text/css' rel='stylesheet' href='/css/min/reset.css' /> <!-- Reset du css natif des browsers -->
|
<link type='text/css' rel='stylesheet' href='/css/min/reset.css' /> <!-- Reset du css natif des browsers -->
|
||||||
|
|
||||||
<!-- Icone -->
|
<!-- Icone -->
|
||||||
|
@ -22,8 +22,6 @@
|
||||||
<script type='text/javascript' src='/js/lib/min/api.js' ></script> <!-- Gestion des transactions avec le serveur -->
|
<script type='text/javascript' src='/js/lib/min/api.js' ></script> <!-- Gestion des transactions avec le serveur -->
|
||||||
<script type='text/javascript' src='/js/lib/min/page-manager.js' ></script> <!-- Gestion des transactions avec le serveur -->
|
<script type='text/javascript' src='/js/lib/min/page-manager.js' ></script> <!-- Gestion des transactions avec le serveur -->
|
||||||
|
|
||||||
<script type='text/javascript' src='/serverinfo.js' ></script> <!-- Gestion dynamique des info server -->
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<style type='text/css'>
|
<style type='text/css'>
|
||||||
body{
|
body{
|
||||||
|
|
|
@ -67,9 +67,9 @@
|
||||||
allow('file_exists')->toBeCalled()->andReturn(true);
|
allow('file_exists')->toBeCalled()->andReturn(true);
|
||||||
|
|
||||||
// normally the 'module' module is always here for testing purposes
|
// normally the 'module' module is always here for testing purposes
|
||||||
$err = ModuleFactory::getModule('documentationDefault');
|
$err = ModuleFactory::getModule('module');
|
||||||
|
|
||||||
expect($err)->not->toBeAnInstanceOf("\\error\\core\\Error");
|
expect($err)->not->toBeAnInstanceOf('\\error\\core\\Error');
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -274,7 +274,7 @@
|
||||||
it('fail when unknown method', function(){
|
it('fail when unknown method', function(){
|
||||||
|
|
||||||
allow('json_decode')->toBeCalled()->andReturn([
|
allow('json_decode')->toBeCalled()->andReturn([
|
||||||
'mo-du_leA' => [ 'me-th_odA' => [] ],
|
'mo-du_leA' => [ 'POST::me-th_odA' => [] ],
|
||||||
'moduleB' => []
|
'moduleB' => []
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
@ -299,7 +299,7 @@
|
||||||
allow(Request::class)->toReceive('buildOptions')->andReturn(true);
|
allow(Request::class)->toReceive('buildOptions')->andReturn(true);
|
||||||
|
|
||||||
allow('json_decode')->toBeCalled()->andReturn([
|
allow('json_decode')->toBeCalled()->andReturn([
|
||||||
'mo-du_leA' => [ 'me-th_odA' => [] ],
|
'mo-du_leA' => [ 'POST::me-th_odA' => [] ],
|
||||||
'moduleB' => []
|
'moduleB' => []
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
@ -320,7 +320,7 @@
|
||||||
|
|
||||||
allow('json_decode')->toBeCalled()->andReturn([
|
allow('json_decode')->toBeCalled()->andReturn([
|
||||||
'moduleA' => [
|
'moduleA' => [
|
||||||
'methodA' => []
|
'POST::methodA' => []
|
||||||
]
|
]
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
@ -338,7 +338,7 @@
|
||||||
|
|
||||||
allow('json_decode')->toBeCalled()->andReturn([
|
allow('json_decode')->toBeCalled()->andReturn([
|
||||||
'moduleA' => [
|
'moduleA' => [
|
||||||
'methodA' => [
|
'POST::methodA' => [
|
||||||
'permissions' => 23.2
|
'permissions' => 23.2
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
@ -358,7 +358,7 @@
|
||||||
|
|
||||||
allow('json_decode')->toBeCalled()->andReturn([
|
allow('json_decode')->toBeCalled()->andReturn([
|
||||||
'moduleA' => [
|
'moduleA' => [
|
||||||
'methodA' => [
|
'POST::methodA' => [
|
||||||
'permissions' => []
|
'permissions' => []
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
@ -381,7 +381,7 @@
|
||||||
|
|
||||||
allow('json_decode')->toBeCalled()->andReturn([
|
allow('json_decode')->toBeCalled()->andReturn([
|
||||||
'moduleA' => [
|
'moduleA' => [
|
||||||
'methodA' => [
|
'POST::methodA' => [
|
||||||
'permissions' => ['a']
|
'permissions' => ['a']
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
@ -400,7 +400,7 @@
|
||||||
|
|
||||||
allow('json_decode')->toBeCalled()->andReturn([
|
allow('json_decode')->toBeCalled()->andReturn([
|
||||||
'moduleA' => [
|
'moduleA' => [
|
||||||
'methodA' => [
|
'POST::methodA' => [
|
||||||
'permissions' => ['a']
|
'permissions' => ['a']
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
@ -420,7 +420,7 @@
|
||||||
|
|
||||||
allow('json_decode')->toBeCalled()->andReturn([
|
allow('json_decode')->toBeCalled()->andReturn([
|
||||||
'moduleA' => [
|
'moduleA' => [
|
||||||
'methodA' => [
|
'POST::methodA' => [
|
||||||
'permissions' => ['a']
|
'permissions' => ['a']
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
@ -466,7 +466,7 @@
|
||||||
|
|
||||||
$this->json = [
|
$this->json = [
|
||||||
'moduleA' => [
|
'moduleA' => [
|
||||||
'methodA' => []
|
'POST::methodA' => []
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -499,7 +499,7 @@
|
||||||
|
|
||||||
it('fail if \'parameters\' has no <string> name', function(){
|
it('fail if \'parameters\' has no <string> name', function(){
|
||||||
|
|
||||||
$this->json['moduleA']['methodA']['parameters'] = [
|
$this->json['moduleA']['POST::methodA']['parameters'] = [
|
||||||
1 => []
|
1 => []
|
||||||
];
|
];
|
||||||
allow('json_decode')->toBeCalled()->andReturn($this->json);
|
allow('json_decode')->toBeCalled()->andReturn($this->json);
|
||||||
|
@ -511,7 +511,7 @@
|
||||||
|
|
||||||
it('fail if \'parameters\' has no <array> specification', function(){
|
it('fail if \'parameters\' has no <array> specification', function(){
|
||||||
|
|
||||||
$this->json['moduleA']['methodA']['parameters'] = [
|
$this->json['moduleA']['POST::methodA']['parameters'] = [
|
||||||
'paramName' => 1
|
'paramName' => 1
|
||||||
];
|
];
|
||||||
allow('json_decode')->toBeCalled()->andReturn($this->json);
|
allow('json_decode')->toBeCalled()->andReturn($this->json);
|
||||||
|
@ -523,7 +523,7 @@
|
||||||
|
|
||||||
it('fail if one \'parameters\' have no \'type\' clause', function(){
|
it('fail if one \'parameters\' have no \'type\' clause', function(){
|
||||||
|
|
||||||
$this->json['moduleA']['methodA']['parameters'] = [
|
$this->json['moduleA']['POST::methodA']['parameters'] = [
|
||||||
'paramName' => [
|
'paramName' => [
|
||||||
'optional' => false
|
'optional' => false
|
||||||
]
|
]
|
||||||
|
@ -537,7 +537,7 @@
|
||||||
|
|
||||||
it('fail if one \'parameters\' have incorrect \'type\' clause', function(){
|
it('fail if one \'parameters\' have incorrect \'type\' clause', function(){
|
||||||
|
|
||||||
$this->json['moduleA']['methodA']['parameters'] = [
|
$this->json['moduleA']['POST::methodA']['parameters'] = [
|
||||||
'paramName' => [
|
'paramName' => [
|
||||||
'optional' => false,
|
'optional' => false,
|
||||||
'type' => 12
|
'type' => 12
|
||||||
|
@ -556,7 +556,7 @@
|
||||||
|
|
||||||
it('pass if missing optional parameter -> set to null by default', function(){
|
it('pass if missing optional parameter -> set to null by default', function(){
|
||||||
|
|
||||||
$this->json['moduleA']['methodA']['parameters'] = [
|
$this->json['moduleA']['POST::methodA']['parameters'] = [
|
||||||
'paramName' => [
|
'paramName' => [
|
||||||
'optional' => true,
|
'optional' => true,
|
||||||
'type' => 'text'
|
'type' => 'text'
|
||||||
|
@ -576,7 +576,7 @@
|
||||||
|
|
||||||
it('fail if optional param wrong type ', function(){
|
it('fail if optional param wrong type ', function(){
|
||||||
|
|
||||||
$this->json['moduleA']['methodA']['parameters'] = [
|
$this->json['moduleA']['POST::methodA']['parameters'] = [
|
||||||
'paramName' => [
|
'paramName' => [
|
||||||
'optional' => true,
|
'optional' => true,
|
||||||
'type' => 'id'
|
'type' => 'id'
|
||||||
|
@ -592,7 +592,7 @@
|
||||||
|
|
||||||
it('pass if optional param matching type ', function(){
|
it('pass if optional param matching type ', function(){
|
||||||
|
|
||||||
$this->json['moduleA']['methodA']['parameters'] = [
|
$this->json['moduleA']['POST::methodA']['parameters'] = [
|
||||||
'paramName' => [
|
'paramName' => [
|
||||||
'optional' => true,
|
'optional' => true,
|
||||||
'type' => 'id'
|
'type' => 'id'
|
||||||
|
@ -608,7 +608,7 @@
|
||||||
|
|
||||||
it('fail if required param missing ', function(){
|
it('fail if required param missing ', function(){
|
||||||
|
|
||||||
$this->json['moduleA']['methodA']['parameters'] = [
|
$this->json['moduleA']['POST::methodA']['parameters'] = [
|
||||||
'paramName' => [
|
'paramName' => [
|
||||||
'optional' => false,
|
'optional' => false,
|
||||||
'type' => 'id'
|
'type' => 'id'
|
||||||
|
@ -623,7 +623,7 @@
|
||||||
|
|
||||||
it('fail if required param wrong type ', function(){
|
it('fail if required param wrong type ', function(){
|
||||||
|
|
||||||
$this->json['moduleA']['methodA']['parameters'] = [
|
$this->json['moduleA']['POST::methodA']['parameters'] = [
|
||||||
'paramName' => [
|
'paramName' => [
|
||||||
'optional' => false,
|
'optional' => false,
|
||||||
'type' => 'id'
|
'type' => 'id'
|
||||||
|
@ -639,7 +639,7 @@
|
||||||
|
|
||||||
it('pass if required param matching type ', function(){
|
it('pass if required param matching type ', function(){
|
||||||
|
|
||||||
$this->json['moduleA']['methodA']['parameters'] = [
|
$this->json['moduleA']['POST::methodA']['parameters'] = [
|
||||||
'paramName' => [
|
'paramName' => [
|
||||||
'optional' => false,
|
'optional' => false,
|
||||||
'type' => 'id'
|
'type' => 'id'
|
||||||
|
@ -659,7 +659,7 @@
|
||||||
|
|
||||||
it('fail if FILE param required + file does not exist', function(){
|
it('fail if FILE param required + file does not exist', function(){
|
||||||
|
|
||||||
$this->json['moduleA']['methodA']['parameters'] = [
|
$this->json['moduleA']['POST::methodA']['parameters'] = [
|
||||||
'paramName' => [
|
'paramName' => [
|
||||||
'type' => 'FILE'
|
'type' => 'FILE'
|
||||||
]
|
]
|
||||||
|
@ -674,7 +674,7 @@
|
||||||
|
|
||||||
it('pass if FILE param required + file exists -> create ref', function(){
|
it('pass if FILE param required + file exists -> create ref', function(){
|
||||||
|
|
||||||
$this->json['moduleA']['methodA']['parameters'] = [
|
$this->json['moduleA']['POST::methodA']['parameters'] = [
|
||||||
'paramName' => [
|
'paramName' => [
|
||||||
'type' => 'FILE'
|
'type' => 'FILE'
|
||||||
]
|
]
|
||||||
|
@ -694,7 +694,7 @@
|
||||||
|
|
||||||
it('pass if FILE optional param missing -> null', function(){
|
it('pass if FILE optional param missing -> null', function(){
|
||||||
|
|
||||||
$this->json['moduleA']['methodA']['parameters'] = [
|
$this->json['moduleA']['POST::methodA']['parameters'] = [
|
||||||
'paramName' => [
|
'paramName' => [
|
||||||
'optional' => true,
|
'optional' => true,
|
||||||
'type' => 'FILE'
|
'type' => 'FILE'
|
||||||
|
@ -715,7 +715,7 @@
|
||||||
|
|
||||||
it('pass if FILE optional param + file exists -> create ref', function(){
|
it('pass if FILE optional param + file exists -> create ref', function(){
|
||||||
|
|
||||||
$this->json['moduleA']['methodA']['parameters'] = [
|
$this->json['moduleA']['POST::methodA']['parameters'] = [
|
||||||
'paramName' => [
|
'paramName' => [
|
||||||
'optional' => true,
|
'optional' => true,
|
||||||
'type' => 'FILE'
|
'type' => 'FILE'
|
||||||
|
|
Loading…
Reference in New Issue