Upgrade framework's structure

This commit is contained in:
xdrm-brackets 2016-10-18 16:03:03 +02:00
parent 8ad88f6676
commit 2cf46983a3
172 changed files with 2019 additions and 1939 deletions

1
.gitignore vendored
View File

@ -1,4 +1,3 @@
.sass-cache/ .sass-cache/
*.css.map *.css.map
.htaccess
.tags .tags

3
.htaccess Executable file
View File

@ -0,0 +1,3 @@
RewriteEngine on
RewriteRule ^(.*)$ public_html/$1 [QSA,L]

View File

@ -2,7 +2,10 @@
/* [0] On definit la racine __ROOT__ si c'est pas deja fait /* [0] On definit la racine __ROOT__ si c'est pas deja fait
=========================================================*/ =========================================================*/
if( !defined('__ROOT__') ) define('__ROOT__', dirname(dirname(__FILE__)) ); if( !defined('__ROOT__') ) define('__ROOT__', dirname(__FILE__) );
if( !defined('__CONFIG__') ) define('__CONFIG__', __ROOT__.'/config' );
if( !defined('__BUILD__') ) define('__BUILD__', __ROOT__.'/build' );
if( !defined('__PUBLIC__') ) define('__PUBLIC__', __ROOT__.'/public_html' );
@ -56,7 +59,7 @@
===============================================*/ ===============================================*/
// On remplace les '\' par des '/' // On remplace les '\' par des '/'
$path = str_replace('\\', '/', $className) . '.php'; $path = str_replace('\\', '/', $className) . '.php';
$path = __ROOT__.'/'.$path; $path = __BUILD__.'/'.$path;
// Si le fichier existe // Si le fichier existe
if( file_exists($path) ) if( file_exists($path) )

2
build/.htaccess Normal file
View File

@ -0,0 +1,2 @@
Order deny,allow
Deny from all

View File

@ -1,8 +1,8 @@
<?php <?php
namespace manager; namespace api\core;
use \manager\Repo; use \database\core\Repo;

View File

@ -1,6 +1,6 @@
<?php <?php
namespace manager; namespace api\core;
class Checker{ class Checker{

View File

@ -1,8 +1,9 @@
<?php <?php
namespace manager; namespace api\core;
use \manager\Database; use \database\core\Database;
use \manager\Authentification; use \api\core\Authentification;
use \manager\ManagerError;
class ModuleRequest{ class ModuleRequest{
@ -523,7 +524,7 @@
* *
*/ */
private function getFunctionCaller(){ private function getFunctionCaller(){
return [ '\\manager\\module\\'.$this->path['module'], $this->path['method'] ]; return [ '\\api\\module\\'.$this->path['module'], $this->path['method'] ];
} }

View File

@ -1,6 +1,7 @@
<?php <?php
namespace manager; namespace api\core;
use \manager\ManagerError;
// FORMAT: // FORMAT:

View File

@ -1,11 +1,11 @@
<?php <?php
namespace manager\module; namespace api\module;
use \manager\Database; use \database\core\Database;
use \manager\sessionManager; use \manager\sessionManager;
use \manager\Authentification; use \api\core\Authentification;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\Repo; use \database\core\Repo;
use \manager\repo\cluster as clusterRepo; use \manager\repo\cluster as clusterRepo;
class authentificationDefault{ class authentificationDefault{

View File

@ -1,11 +1,11 @@
<?php <?php
namespace manager\module; namespace api\module;
use \manager\ViewManager; use \viewer\core\Viewer;
use \manager\Database; use \database\core\Database;
use \manager\sessionManager; use \manager\sessionManager;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\Repo; use \database\core\Repo;
use \manager\repo\cluster as clusterRepo; use \manager\repo\cluster as clusterRepo;
class clusterDefault{ class clusterDefault{

View File

@ -1,10 +1,10 @@
<?php <?php
namespace manager\module; namespace api\module;
use \manager\Database; use \database\core\Database;
use \manager\sessionManager; use \manager\sessionManager;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\Repo; use \database\core\Repo;
use \manager\repo\cluster as clusterRepo; use \manager\repo\cluster as clusterRepo;
class machineDefault{ class machineDefault{

View File

@ -1,6 +1,6 @@
<?php <?php
namespace manager\module; namespace api\module;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\ResourceDispatcher; use \manager\ResourceDispatcher;

View File

@ -1,10 +1,10 @@
<?php <?php
namespace manager\module; namespace api\module;
use \manager\Database; use \database\core\Database;
use \manager\sessionManager; use \manager\sessionManager;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\Repo; use \database\core\Repo;
class userDefault{ class userDefault{

View File

@ -1,6 +1,7 @@
<?php <?php
namespace manager; namespace database\core;
use \manager\ManagerError;
class Database{ class Database{

View File

@ -1,8 +1,9 @@
<?php <?php
namespace manager; namespace database\core;
use \manager\Authentification; use \manager\ManagerError;
use \api\core\Authentification;
// FORMAT: // FORMAT:
@ -194,7 +195,7 @@
* *
*/ */
private function getFunctionCaller(){ private function getFunctionCaller(){
return [ '\\manager\\repo\\'.$this->path['repo'], $this->path['method'] ]; return [ '\\database\\repo\\'.$this->path['repo'], $this->path['method'] ];
} }

View File

@ -1,8 +1,8 @@
<?php <?php
namespace manager\repo; namespace database\repo;
use \manager\Database; use \database\core\Database;
use \manager\Repo; use \database\core\Repo;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\repo\cluster as clusterRepo; use \manager\repo\cluster as clusterRepo;

View File

@ -1,11 +1,11 @@
<?php <?php
namespace manager\repo; namespace database\repo;
use \manager\Database; use \database\core\Database;
use \manager\Repo; use \database\core\Repo;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\ORM\Table; use \orm\core\Table;
use \manager\ORM\Rows; use \orm\core\Rows;
class action_merge extends parentRepo{ class action_merge extends parentRepo{

View File

@ -1,10 +1,10 @@
<?php <?php
namespace manager\repo; namespace database\repo;
use \manager\Database; use \database\core\Database;
use \manager\sessionManager; use \manager\sessionManager;
use \manager\ORM\Table; use \orm\core\Table;
use \manager\ORM\Rows; use \orm\core\Rows;
class admin extends parentRepo{ class admin extends parentRepo{

View File

@ -1,11 +1,11 @@
<?php <?php
namespace manager\repo; namespace database\repo;
use \manager\Database; use \database\core\Database;
use \manager\Repo; use \database\core\Repo;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\ORM\Table; use \orm\core\Table;
use \manager\ORM\Rows; use \orm\core\Rows;
class chip extends parentRepo{ class chip extends parentRepo{

View File

@ -1,8 +1,8 @@
<?php <?php
namespace manager\repo; namespace database\repo;
use \manager\Database; use \database\core\Database;
use \manager\Repo; use \database\core\Repo;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\repo\cluster as clusterRepo; use \manager\repo\cluster as clusterRepo;

View File

@ -1,11 +1,11 @@
<?php <?php
namespace manager\repo; namespace database\repo;
use \manager\Database; use \database\core\Database;
use \manager\sessionManager; use \manager\sessionManager;
use \manager\ORM\Table; use \orm\core\Table;
use \manager\ORM\Rows; use \orm\core\Rows;
use \manager\Checker; use \api\core\Checker;
use \manager\repo\cluster as clusterRepo; use \manager\repo\cluster as clusterRepo;
class machine extends parentRepo{ class machine extends parentRepo{

View File

@ -1,11 +1,11 @@
<?php <?php
namespace manager\repo; namespace database\repo;
use \manager\Database; use \database\core\Database;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\Repo; use \database\core\Repo;
use \manager\ORM\Table; use \orm\core\Table;
use \manager\ORM\Rows; use \orm\core\Rows;
class machine_cluster extends parentRepo{ class machine_cluster extends parentRepo{

View File

@ -1,7 +1,7 @@
<?php <?php
namespace manager\repo; namespace database\repo;
use \manager\Database; use \database\core\Database;
class parentRepo{ class parentRepo{

View File

@ -1,8 +1,8 @@
<?php <?php
namespace manager\repo; namespace database\repo;
use \manager\Database; use \database\core\Database;
use \manager\Repo; use \database\core\Repo;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\repo\cluster as clusterRepo; use \manager\repo\cluster as clusterRepo;

View File

@ -1,8 +1,8 @@
<?php <?php
namespace manager\repo; namespace database\repo;
use \manager\Database; use \database\core\Database;
use \manager\Repo; use \database\core\Repo;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\repo\cluster as clusterRepo; use \manager\repo\cluster as clusterRepo;

View File

@ -1,9 +1,9 @@
<?php <?php
namespace manager\repo; namespace database\repo;
use \manager\Database; use \database\core\Database;
use \manager\ORM\Table; use \orm\core\Table;
use \manager\ORM\Rows; use \orm\core\Rows;
class user extends parentRepo{ class user extends parentRepo{

View File

@ -1,11 +1,11 @@
<?php <?php
namespace manager\repo; namespace database\repo;
use \manager\Database; use \database\core\Database;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\Repo; use \database\core\Repo;
use \manager\ORM\Table; use \orm\core\Table;
use \manager\ORM\Rows; use \orm\core\Rows;
class user_cluster extends parentRepo{ class user_cluster extends parentRepo{

View File

@ -1,10 +1,10 @@
<?php <?php
namespace manager\repo; namespace database\repo;
use \manager\Database; use \database\core\Database;
use \manager\sessionManager; use \manager\sessionManager;
use \manager\ORM\Table; use \orm\core\Table;
use \manager\ORM\Rows; use \orm\core\Rows;
class warehouse extends parentRepo{ class warehouse extends parentRepo{

View File

@ -1,9 +1,9 @@
<?php <?php
namespace manager\ORM; namespace orm\core;
use \manager\Database; use \database\core\Database;
use \manager\ORM\SQLBuilder; use \orm\core\SQLBuilder;
class Rows{ class Rows{

View File

@ -1,9 +1,9 @@
<?php <?php
namespace manager\ORM; namespace orm\core;
use \manager\Database; use \database\core\Database;
use \manager\ORM\Rows; use \orm\core\Rows;
class SQLBuilder{ class SQLBuilder{

View File

@ -1,17 +1,17 @@
<?php <?php
namespace manager\ORM; namespace orm\core;
use \manager\Database; use \database\core\Database;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\ORM\Rows; use \orm\core\Rows;
// CLASSE MAITRE // CLASSE MAITRE
class Table{ class Table{
private static $database = 'stefproject'; private static $database = 'logauth';
/* RENVOIE LES DONNEES D'UNE TABLE /* RENVOIE LES DONNEES D'UNE TABLE
@ -110,22 +110,86 @@
// // USE CASE :: ACCESS TABLE /*** USE CASE :: ACCESS TABLE `user` ***/
// ORM::Table = ORM::Table('user'); // ORM::Table('user');
/**** USE CASE :: WHERE ****/
// WHERE `username` = 'someUsername'
// ORM::Table('user')->whereUsername('someUsername');
// EQUIVALENT TO
// ORM::Table('user')->whereUsername('someUsername', Rows::COND_EQUAL);
// WHERE `id_user` < 100
// ORM::Table('user')->whereIdUser(100, Rows::COND_INF);
// WHERE `id_user` <= 100
// ORM::Table('user')->whereIdUser(100, Rows::COND_INFEQ);
// WHERE `id_user` > 10
// ORM::Table('user')->whereIdUser(10, Rows::COND_SUP);
// WHERE `id_user` >= 10
// ORM::Table('user')->whereIdUser(10, Rows::COND_SUPEQ);
// WHERE `id_user` in (1, 2, 3, 8)
// ORM::Table('user')->whereIdUser([1, 2, 3, 8], Rows::COND_IN);
// WHERE `id_user` LIKE 'John %'
// ORM::Table('user')->whereIdUser('John %', Rows::COND_LIKE);
/*** USE CASE :: ORDER BY ****/
// ORDER BY `a` ASC, `b` DESC
// Table::get('someTable')
// ->orderby('a', Rows::ORDER_ASC)
// ->orderby('b', Rows::ORDER_DESC);
// //
// // USE CASE :: getBy{ATTRIBUTE} // Note: `Rows::ORDER_ASC` is set by default if the given FLAG is invalid
// ORM::Row = ORM::Table->getByUsername('someUsername'); // ORM_FETCH by default
// ORM::Row = ORM::Table->getByUsername('someUsername', ORM_FETCH);
// ORM::Column = ORM::Table->getByUsername('someUsername', ORM_FETCHALL); /**** USE CASE :: SELECT ****/
// // SELECT id_user, username
// // USE CASE :: getById -> primary key(s) // Table::get('user')
// ORM::Row = ORM::Table->getById(5, 7); // because PRIMARY KEY is composed by '5' and '7' // ->select('id_user')
// // ->select('username');
// // USE CASE :: getAll
// ORM::Column = ORM::Table->getAll();
// /**** USE CASE :: AGGREGATION FUNCTIONS ****/
// // USE CASE :: select(FIELD) // SELECT COUNT(`count`)
// mixed = ORM::Row->select('username'); // Table::get('user')->select('count', Rows::SEL_COUNT)
//
// // USE CASE :: select(FIELD1, FIELD2, ...) // SELECT SUM(distinct `count`)
// mixed = ORM::Row->select('id_user', 'username'); // Table::get('user')->select('count', Rows::SEL_SUM, Rows::SEL_DISTINCT);
// SELECT AVG(`count`)
// Table::get('user')->select('count', Rows::SEL_AVG);
// SELECT MAX(`id_user`)
// Table::get('user')->select('id_user', Rows::SEL_MAX);
// SELECT MIN(`id_user`)
// Table::get('user')->select('id_user', Rows::SEL_MIN);
// SELECT GROUP_CONCAT(`count`)
// Table::get('user')->select('count', Rows::SEL_CONCAT);
/**** USE CASE :: FETCH ****/
// SELECT ... FROM ... WHERE ... ORDERBY ... LIMIT ...
// Table::get('user')
// ->select('id_user')
// ->fetch();
// SELECT UNIQUE ... FROM ... WHERE ... ORDERBY ... LIMIT ...
// Table::get('user')
// ->select('id_user')
// ->unique->fetch();
/**** USE CASE :: TABLE JOIN ****/
// WHERE `user`.`id_user` = `user_merge`.`id_user`
// Table::get('user_merge')->join(
// Table::get('user')->whereIdUser(1, Rows::COND_SUP)
// );

View File

@ -3,7 +3,7 @@
/* Classe de gestion de route (match) */ /* Classe de gestion de route (match) */
/**************************************/ /**************************************/
namespace router; namespace router\core;
class Route{ class Route{

View File

@ -3,7 +3,7 @@
/* Classe de gestion des routes (URL/ressources) */ /* Classe de gestion des routes (URL/ressources) */
/*************************************************/ /*************************************************/
namespace router; namespace router\core;
class Router{ class Router{
// ATTRIBUTS // ATTRIBUTS

View File

@ -1,14 +1,14 @@
<?php <?php
namespace manager; namespace viewer\core;
use \manager\ViewManager; use \viewer\core\Viewer;
use \manager\ManagerError; use \manager\ManagerError;
class ViewManager{ class Viewer{
public $error = ManagerError::Success; public $error = ManagerError::Success;
@ -105,7 +105,7 @@
/* [2] On vérifie que le template existe /* [2] On vérifie que le template existe
=========================================================*/ =========================================================*/
$class = '\\manager\\views\\'.$match[1].'\\'.$match[1].'_'.$match[2]; $class = '\\viewer\\view\\'.$match[1].'\\'.$match[1].'_'.$match[2];
$method = 'view'; $method = 'view';
/* (1) On vérifie que la classe existe */ /* (1) On vérifie que la classe existe */
@ -181,7 +181,7 @@
// USE case // USE case
// //
// $myView = new ViewManager('templateParent.templateModel', [ // $myView = new Viewer('templateParent.templateModel', [
// 'myVar' => 1, // 'myVar' => 1,
// 'helloMsg' => 'Hello', // 'helloMsg' => 'Hello',
// ]); // ]);

View File

@ -1,10 +1,10 @@
<?php <?php
namespace manager\views\group; namespace viewer\view\group;
use \manager\ViewManager; use \viewer\core\Viewer;
use \manager\ModuleRequest; use \api\core\ModuleRequest;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\Authentification; use \api\core\Authentification;
use \manager\repo\cluster as clusterRepo; use \manager\repo\cluster as clusterRepo;
class group_groupChoice{ class group_groupChoice{
@ -49,7 +49,7 @@
/* (2) Si on ne le trouve pas, on retourne une erreur */ /* (2) Si on ne le trouve pas, on retourne une erreur */
if( $getUserClusters->error != ManagerError::Success ) if( $getUserClusters->error != ManagerError::Success )
return ViewManager::$htmlError; return Viewer::$htmlError;
/* (3) On récupère les données du groupe */ /* (3) On récupère les données du groupe */
$USERCLUSTERS = $getUserClusters->get('clusters'); $USERCLUSTERS = $getUserClusters->get('clusters');
@ -59,7 +59,7 @@
$USERCLUSTERS[$c]['id_cluster'] = $cluster['id_user_cluster']; $USERCLUSTERS[$c]['id_cluster'] = $cluster['id_user_cluster'];
/* (5) On construit la vue */ /* (5) On construit la vue */
$user_view = ViewManager::replaceMultiple( $user_view = Viewer::replaceMultiple(
self::template('clusterlist'), self::template('clusterlist'),
$USERCLUSTERS, $USERCLUSTERS,
[ [
@ -79,7 +79,7 @@
/* (2) Si on ne le trouve pas, on retourne une erreur */ /* (2) Si on ne le trouve pas, on retourne une erreur */
if( $getMachineClusters->error != ManagerError::Success ) if( $getMachineClusters->error != ManagerError::Success )
return ViewManager::$htmlError; return Viewer::$htmlError;
/* (3) On récupère les données du groupe */ /* (3) On récupère les données du groupe */
$MACHINECLUSTERS = $getMachineClusters->get('clusters'); $MACHINECLUSTERS = $getMachineClusters->get('clusters');
@ -89,7 +89,7 @@
$MACHINECLUSTERS[$c]['id_cluster'] = $cluster['id_machine_cluster']; $MACHINECLUSTERS[$c]['id_cluster'] = $cluster['id_machine_cluster'];
/* (5) On construit la vue */ /* (5) On construit la vue */
$machine_view = ViewManager::replaceMultiple( $machine_view = Viewer::replaceMultiple(
self::template('clusterlist'), self::template('clusterlist'),
$MACHINECLUSTERS, $MACHINECLUSTERS,
[ [
@ -101,7 +101,7 @@
/* [3] On renvoie la vue globale /* [3] On renvoie la vue globale
=========================================================*/ =========================================================*/
return ViewManager::replaceSingle( return Viewer::replaceSingle(
self::template(), [ self::template(), [
'clusters' => $user_view.$machine_view 'clusters' => $user_view.$machine_view
] ]

View File

@ -1,10 +1,10 @@
<?php <?php
namespace manager\views\group; namespace viewer\view\group;
use \manager\ViewManager; use \viewer\core\Viewer;
use \manager\ModuleRequest; use \api\core\ModuleRequest;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\Authentification; use \api\core\Authentification;
use \manager\repo\cluster as clusterRepo; use \manager\repo\cluster as clusterRepo;
class group_membersChoice{ class group_membersChoice{
@ -79,7 +79,7 @@
=========================================================*/ =========================================================*/
/* (1) On vérifie les paramètres */ /* (1) On vérifie les paramètres */
if( !isset($params['id_cluster']) || !is_numeric($params['id_cluster']) || !isset($params['class']) || !is_numeric($params['class']) ) if( !isset($params['id_cluster']) || !is_numeric($params['id_cluster']) || !isset($params['class']) || !is_numeric($params['class']) )
return ViewManager::$htmlError; return Viewer::$htmlError;
/* (2) On initialise les vues */ /* (2) On initialise les vues */
$view = ''; $view = '';
@ -99,7 +99,7 @@
/* (2) Si on ne le trouve pas, on retourne une erreur */ /* (2) Si on ne le trouve pas, on retourne une erreur */
if( $checktypeResponse->error != ManagerError::Success ) if( $checktypeResponse->error != ManagerError::Success )
return ViewManager::$htmlError; return Viewer::$htmlError;
/* (3) On récupère les données du groupe */ /* (3) On récupère les données du groupe */
$currentCluster = $checktypeResponse->get('cluster'); $currentCluster = $checktypeResponse->get('cluster');
@ -117,7 +117,7 @@
/* (2) Si erreur, on retourne l'erreur */ /* (2) Si erreur, on retourne l'erreur */
if( $getmembersResponse->error != ManagerError::Success ) if( $getmembersResponse->error != ManagerError::Success )
return ViewManager::$htmlError; return Viewer::$htmlError;
/* (3) On récupère la liste des UID uniquement */ /* (3) On récupère la liste des UID uniquement */
$members_id = []; $members_id = [];
@ -138,7 +138,7 @@
/* (2) si erreur, on affiche l'explicitation */ /* (2) si erreur, on affiche l'explicitation */
if( $getusersResponse->error != ManagerError::Success ) if( $getusersResponse->error != ManagerError::Success )
return ViewManager::$htmlError; return Viewer::$htmlError;
/* (3) On récupère la liste des utilisateurs */ /* (3) On récupère la liste des utilisateurs */
$USERLIST = $getusersResponse->get('users'); $USERLIST = $getusersResponse->get('users');
@ -153,7 +153,7 @@
/* (2) On génère la vue */ /* (2) On génère la vue */
$header = self::template('userheader'); $header = self::template('userheader');
$members_view = ViewManager::replaceMultiple( $members_view = Viewer::replaceMultiple(
self::template('userlist'), self::template('userlist'),
$USERLIST $USERLIST
); );
@ -171,7 +171,7 @@
/* (2) si erreur, on affiche l'explicitation */ /* (2) si erreur, on affiche l'explicitation */
if( $getmachinesResponse->error != ManagerError::Success ) if( $getmachinesResponse->error != ManagerError::Success )
return ViewManager::$htmlError; return Viewer::$htmlError;
/* (3) On récupère la liste des machines */ /* (3) On récupère la liste des machines */
$MACHINELIST = $getmachinesResponse->get('machines'); $MACHINELIST = $getmachinesResponse->get('machines');
@ -186,7 +186,7 @@
/* (2) On génère la vue */ /* (2) On génère la vue */
$header = self::template('machineheader'); $header = self::template('machineheader');
$members_view = ViewManager::replaceMultiple( $members_view = Viewer::replaceMultiple(
self::template('machinelist'), self::template('machinelist'),
$MACHINELIST $MACHINELIST
); );
@ -195,7 +195,7 @@
return ViewManager::replaceSingle( return Viewer::replaceSingle(
self::template(), [ self::template(), [
'id_cluster' => $params['id_cluster'], 'id_cluster' => $params['id_cluster'],
'class' => $params['class'], 'class' => $params['class'],

View File

@ -1,9 +1,9 @@
<?php <?php
namespace manager\views\group; namespace viewer\view\group;
use \manager\ViewManager; use \viewer\core\Viewer;
use \manager\ModuleRequest; use \api\core\ModuleRequest;
use \manager\Authentification; use \api\core\Authentification;
use \manager\ManagerError; use \manager\ManagerError;
class group_view{ class group_view{
@ -92,7 +92,7 @@
/* (2) si erreur, on affiche l'explicitation */ /* (2) si erreur, on affiche l'explicitation */
if( $getAllUsers->error != ManagerError::Success ) if( $getAllUsers->error != ManagerError::Success )
return ViewManager::$htmlError; return Viewer::$htmlError;
/* (3) On enregistre le résultat */ /* (3) On enregistre le résultat */
$USERCLUSTERS = $getAllUsers->get('clusters'); $USERCLUSTERS = $getAllUsers->get('clusters');
@ -107,7 +107,7 @@
/* (2) si erreur, on affiche l'explicitation */ /* (2) si erreur, on affiche l'explicitation */
if( $getAllMachines->error != ManagerError::Success ) if( $getAllMachines->error != ManagerError::Success )
return ViewManager::$htmlError; return Viewer::$htmlError;
/* (3) On enregistre le résultat */ /* (3) On enregistre le résultat */
$MACHINECLUSTERS = $getAllMachines->get('clusters'); $MACHINECLUSTERS = $getAllMachines->get('clusters');
@ -128,7 +128,7 @@
else $members = []; else $members = [];
/* (3) On crées les vues des membres (utilisateurs) */ /* (3) On crées les vues des membres (utilisateurs) */
$USERCLUSTERS[$u]['users'] = ViewManager::replaceMultiple( $USERCLUSTERS[$u]['users'] = Viewer::replaceMultiple(
self::template('user'), self::template('user'),
$members, $members,
[ 'id_cluster' => 'u'.$cluster['id_user_cluster'] ] [ 'id_cluster' => 'u'.$cluster['id_user_cluster'] ]
@ -137,17 +137,17 @@
/* (4) On ajoute les attributs utiles */ /* (4) On ajoute les attributs utiles */
$USERCLUSTERS[$u]['id_cluster'] = 'u'.$cluster['id_user_cluster']; $USERCLUSTERS[$u]['id_cluster'] = 'u'.$cluster['id_user_cluster'];
$USERCLUSTERS[$u]['members'] = (count($members)<2) ? count($members).' utilisateur' : count($members).' utilisateurs'; $USERCLUSTERS[$u]['members'] = (count($members)<2) ? count($members).' utilisateur' : count($members).' utilisateurs';
$USERCLUSTERS[$u]['icon_type'] = file_get_contents(__ROOT__.'/src/static/menu-side/users.svg'); $USERCLUSTERS[$u]['icon_type'] = file_get_contents(__PUBLIC__.'/src/static/menu-side/users.svg');
} }
/* (5) On crée la vue de la liste des tous les groupes d'utilisateurs */ /* (5) On crée la vue de la liste des tous les groupes d'utilisateurs */
$user_clusters = ViewManager::replaceMultiple( $user_clusters = Viewer::replaceMultiple(
self::template('user_cluster'), self::template('user_cluster'),
$USERCLUSTERS, [ $USERCLUSTERS, [
'icon_type' => file_get_contents( __ROOT__.'/src/static/menu-side/users.svg' ), 'icon_type' => file_get_contents( __PUBLIC__.'/src/static/menu-side/users.svg' ),
'icon_remove' => file_get_contents( __ROOT__.'/src/static/sub-menu-side/remove.svg' ), 'icon_remove' => file_get_contents( __PUBLIC__.'/src/static/sub-menu-side/remove.svg' ),
'icon_group' => file_get_contents( __ROOT__.'/src/static/container/group.svg' ), 'icon_group' => file_get_contents( __PUBLIC__.'/src/static/container/group.svg' ),
'icon_edit' => file_get_contents( __ROOT__.'/src/static/sub-menu-side/edit.svg' ) 'icon_edit' => file_get_contents( __PUBLIC__.'/src/static/sub-menu-side/edit.svg' )
]); ]);
@ -169,7 +169,7 @@
else $members = []; else $members = [];
/* (3) On crées les vues des membres (machines) */ /* (3) On crées les vues des membres (machines) */
$MACHINECLUSTERS[$u]['machines'] = ViewManager::replaceMultiple( $MACHINECLUSTERS[$u]['machines'] = Viewer::replaceMultiple(
self::template('machine'), self::template('machine'),
$members, $members,
[ 'id_cluster' => 'm'.$cluster['id_machine_cluster'] ] [ 'id_cluster' => 'm'.$cluster['id_machine_cluster'] ]
@ -178,24 +178,24 @@
/* (4) On ajoute les attributs utiles */ /* (4) On ajoute les attributs utiles */
$MACHINECLUSTERS[$u]['id_cluster'] = 'm'.$cluster['id_machine_cluster']; $MACHINECLUSTERS[$u]['id_cluster'] = 'm'.$cluster['id_machine_cluster'];
$MACHINECLUSTERS[$u]['members'] = (count($members)<2) ? count($members).' machine' : count($members).' machines'; $MACHINECLUSTERS[$u]['members'] = (count($members)<2) ? count($members).' machine' : count($members).' machines';
$MACHINECLUSTERS[$u]['icon_type'] = file_get_contents(__ROOT__.'/src/static/menu-side/machines.svg'); $MACHINECLUSTERS[$u]['icon_type'] = file_get_contents(__PUBLIC__.'/src/static/menu-side/machines.svg');
} }
/* (5) On crée la vue de la liste des tous les groupes de machines */ /* (5) On crée la vue de la liste des tous les groupes de machines */
$machine_clusters = ViewManager::replaceMultiple( $machine_clusters = Viewer::replaceMultiple(
self::template('machine_cluster'), self::template('machine_cluster'),
$MACHINECLUSTERS, [ $MACHINECLUSTERS, [
'icon_type' => file_get_contents( __ROOT__.'/src/static/menu-side/device.svg' ), 'icon_type' => file_get_contents( __PUBLIC__.'/src/static/menu-side/device.svg' ),
'icon_remove' => file_get_contents( __ROOT__.'/src/static/sub-menu-side/remove.svg' ), 'icon_remove' => file_get_contents( __PUBLIC__.'/src/static/sub-menu-side/remove.svg' ),
'icon_group' => file_get_contents( __ROOT__.'/src/static/container/group.svg' ), 'icon_group' => file_get_contents( __PUBLIC__.'/src/static/container/group.svg' ),
'icon_edit' => file_get_contents( __ROOT__.'/src/static/sub-menu-side/edit.svg' ) 'icon_edit' => file_get_contents( __PUBLIC__.'/src/static/sub-menu-side/edit.svg' )
]); ]);
return ViewManager::replaceSingle(self::template(), [ 'clusterlist' => $user_clusters.''.$machine_clusters ]); return Viewer::replaceSingle(self::template(), [ 'clusterlist' => $user_clusters.''.$machine_clusters ]);
} }

View File

@ -1,9 +1,9 @@
<?php <?php
namespace manager\views\machine; namespace viewer\view\machine;
use \manager\ViewManager; use \viewer\core\Viewer;
use \manager\ModuleRequest; use \api\core\ModuleRequest;
use \manager\Authentification; use \api\core\Authentification;
use \manager\ManagerError; use \manager\ManagerError;
class machine_groups{ class machine_groups{
@ -62,7 +62,7 @@
// si erreur, on affiche l'explicitation // si erreur, on affiche l'explicitation
if( $answer->error != ManagerError::Success ) if( $answer->error != ManagerError::Success )
return ViewManager::$htmlError; return Viewer::$htmlError;
$CLUSTERLIST = $answer->get('clusters'); $CLUSTERLIST = $answer->get('clusters');
@ -80,7 +80,7 @@
$CLUSTERLIST[$c]['count'] = count($machines); $CLUSTERLIST[$c]['count'] = count($machines);
$CLUSTERLIST[$c]['machines'] = ViewManager::replaceMultiple( $CLUSTERLIST[$c]['machines'] = Viewer::replaceMultiple(
self::template('machine'), self::template('machine'),
$machines, $machines,
[ 'id_cluster' => $cluster['id_machine_cluster'] ] [ 'id_cluster' => $cluster['id_machine_cluster'] ]
@ -88,20 +88,20 @@
} }
$view_cluster = ViewManager::replaceMultiple( $view_cluster = Viewer::replaceMultiple(
self::template('machine_cluster'), self::template('machine_cluster'),
$CLUSTERLIST, [ $CLUSTERLIST, [
'icon_remove' => file_get_contents( __ROOT__.'/src/static/sub-menu-side/remove.svg' ), 'icon_remove' => file_get_contents( __PUBLIC__.'/src/static/sub-menu-side/remove.svg' ),
'icon_edit' => file_get_contents( __ROOT__.'/src/static/sub-menu-side/edit.svg' ), 'icon_edit' => file_get_contents( __PUBLIC__.'/src/static/sub-menu-side/edit.svg' ),
'icon_type' => file_get_contents( __ROOT__.'/src/static/menu-side/device.svg' ), 'icon_type' => file_get_contents( __PUBLIC__.'/src/static/menu-side/device.svg' ),
'icon_group' => file_get_contents( __ROOT__.'/src/static/container/group.svg' ), 'icon_group' => file_get_contents( __PUBLIC__.'/src/static/container/group.svg' ),
]); ]);
return ViewManager::replaceSingle(self::template(), [ 'clusterlist' => $view_cluster ]); return Viewer::replaceSingle(self::template(), [ 'clusterlist' => $view_cluster ]);
} }

View File

@ -1,9 +1,9 @@
<?php <?php
namespace manager\views\machine; namespace viewer\view\machine;
use \manager\ViewManager; use \viewer\core\Viewer;
use \manager\ModuleRequest; use \api\core\ModuleRequest;
use \manager\Authentification; use \api\core\Authentification;
use \manager\ManagerError; use \manager\ManagerError;
class machine_view{ class machine_view{
@ -55,7 +55,7 @@
// si erreur, on affiche l'explicitation // si erreur, on affiche l'explicitation
if( $answer->error != ManagerError::Success ) if( $answer->error != ManagerError::Success )
return ViewManager::$htmlError; return Viewer::$htmlError;
$MACHINELIST = $answer->get('machines'); $MACHINELIST = $answer->get('machines');
@ -68,7 +68,7 @@
if( $clustersRes->error == ManagerError::Success ) $clusters = $clustersRes->get('clusters'); if( $clustersRes->error == ManagerError::Success ) $clusters = $clustersRes->get('clusters');
else $clusters = []; else $clusters = [];
$MACHINELIST[$u]['grouplist'] = ViewManager::replaceMultiple( $MACHINELIST[$u]['grouplist'] = Viewer::replaceMultiple(
self::template('cluster'), self::template('cluster'),
$clusters, $clusters,
[ 'id_machine' => $machine['id_machine'] ] [ 'id_machine' => $machine['id_machine'] ]
@ -76,19 +76,19 @@
} }
$view_machine = ViewManager::replaceMultiple( $view_machine = Viewer::replaceMultiple(
self::template('machine'), self::template('machine'),
$MACHINELIST, [ $MACHINELIST, [
'icon_remove' => file_get_contents( __ROOT__.'/src/static/sub-menu-side/remove.svg' ), 'icon_remove' => file_get_contents( __PUBLIC__.'/src/static/sub-menu-side/remove.svg' ),
'icon_edit' => file_get_contents( __ROOT__.'/src/static/sub-menu-side/edit.svg' ), 'icon_edit' => file_get_contents( __PUBLIC__.'/src/static/sub-menu-side/edit.svg' ),
'icon_group' => file_get_contents( __ROOT__.'/src/static/container/group.svg' ), 'icon_group' => file_get_contents( __PUBLIC__.'/src/static/container/group.svg' ),
]); ]);
return ViewManager::replaceSingle(self::template(), [ 'machinelist' => $view_machine ]); return Viewer::replaceSingle(self::template(), [ 'machinelist' => $view_machine ]);
} }

View File

@ -1,9 +1,9 @@
<?php <?php
namespace manager\views\user; namespace viewer\view\user;
use \manager\ViewManager; use \viewer\core\Viewer;
use \manager\ModuleRequest; use \api\core\ModuleRequest;
use \manager\Authentification; use \api\core\Authentification;
use \manager\ManagerError; use \manager\ManagerError;
class user_groups{ class user_groups{
@ -62,7 +62,7 @@
// si erreur, on affiche l'explicitation // si erreur, on affiche l'explicitation
if( $answer->error != ManagerError::Success ) if( $answer->error != ManagerError::Success )
return ViewManager::$htmlError; return Viewer::$htmlError;
$CLUSTERLIST = $answer->get('clusters'); $CLUSTERLIST = $answer->get('clusters');
@ -80,7 +80,7 @@
$CLUSTERLIST[$c]['count'] = count($users); $CLUSTERLIST[$c]['count'] = count($users);
$CLUSTERLIST[$c]['users'] = ViewManager::replaceMultiple( $CLUSTERLIST[$c]['users'] = Viewer::replaceMultiple(
self::template('user'), self::template('user'),
$users, $users,
[ 'id_cluster' => $cluster['id_user_cluster'] ] [ 'id_cluster' => $cluster['id_user_cluster'] ]
@ -88,20 +88,20 @@
} }
$view_cluster = ViewManager::replaceMultiple( $view_cluster = Viewer::replaceMultiple(
self::template('user_cluster'), self::template('user_cluster'),
$CLUSTERLIST, [ $CLUSTERLIST, [
'icon_remove' => file_get_contents( __ROOT__.'/src/static/sub-menu-side/remove.svg' ), 'icon_remove' => file_get_contents( __PUBLIC__.'/src/static/sub-menu-side/remove.svg' ),
'icon_edit' => file_get_contents( __ROOT__.'/src/static/sub-menu-side/edit.svg' ), 'icon_edit' => file_get_contents( __PUBLIC__.'/src/static/sub-menu-side/edit.svg' ),
'icon_type' => file_get_contents( __ROOT__.'/src/static/menu-side/users.svg' ), 'icon_type' => file_get_contents( __PUBLIC__.'/src/static/menu-side/users.svg' ),
'icon_group' => file_get_contents( __ROOT__.'/src/static/container/group.svg' ), 'icon_group' => file_get_contents( __PUBLIC__.'/src/static/container/group.svg' ),
]); ]);
return ViewManager::replaceSingle(self::template(), [ 'clusterlist' => $view_cluster ]); return Viewer::replaceSingle(self::template(), [ 'clusterlist' => $view_cluster ]);
} }

View File

@ -1,9 +1,9 @@
<?php <?php
namespace manager\views\user; namespace viewer\view\user;
use \manager\ViewManager; use \viewer\core\Viewer;
use \manager\ModuleRequest; use \api\core\ModuleRequest;
use \manager\Authentification; use \api\core\Authentification;
use \manager\ManagerError; use \manager\ManagerError;
class user_view{ class user_view{
@ -68,7 +68,7 @@
// si erreur, on affiche l'explicitation // si erreur, on affiche l'explicitation
if( $answer->error != ManagerError::Success ) if( $answer->error != ManagerError::Success )
return ViewManager::$htmlError; return Viewer::$htmlError;
$USERLIST = $answer->get('users'); $USERLIST = $answer->get('users');
@ -80,7 +80,7 @@
if( $clustersRes->error == ManagerError::Success ) $clusters = $clustersRes->get('clusters'); if( $clustersRes->error == ManagerError::Success ) $clusters = $clustersRes->get('clusters');
else $clusters = []; else $clusters = [];
$USERLIST[$u]['grouplist'] = ViewManager::replaceMultiple( $USERLIST[$u]['grouplist'] = Viewer::replaceMultiple(
self::template('cluster'), self::template('cluster'),
$clusters, $clusters,
[ 'id_user' => $user['id_user'] ] [ 'id_user' => $user['id_user'] ]
@ -88,21 +88,21 @@
} }
$view_user = ViewManager::replaceMultiple( $view_user = Viewer::replaceMultiple(
self::template('user'), self::template('user'),
$USERLIST, [ $USERLIST, [
'icon_remove' => file_get_contents( __ROOT__.'/src/static/sub-menu-side/remove.svg' ), 'icon_remove' => file_get_contents( __PUBLIC__.'/src/static/sub-menu-side/remove.svg' ),
'icon_edit' => file_get_contents( __ROOT__.'/src/static/sub-menu-side/edit.svg' ), 'icon_edit' => file_get_contents( __PUBLIC__.'/src/static/sub-menu-side/edit.svg' ),
'icon_card' => file_get_contents( __ROOT__.'/src/static/container/card.svg' ), 'icon_card' => file_get_contents( __PUBLIC__.'/src/static/container/card.svg' ),
'icon_mail' => file_get_contents( __ROOT__.'/src/static/container/mail.svg' ), 'icon_mail' => file_get_contents( __PUBLIC__.'/src/static/container/mail.svg' ),
'icon_group' => file_get_contents( __ROOT__.'/src/static/container/group.svg' ), 'icon_group' => file_get_contents( __PUBLIC__.'/src/static/container/group.svg' ),
]); ]);
return ViewManager::replaceSingle(self::template(), [ 'userlist' => $view_user ]); return Viewer::replaceSingle(self::template(), [ 'userlist' => $view_user ]);
} }

2
config/.htaccess Normal file
View File

@ -0,0 +1,2 @@
Order deny,allow
Deny from all

View File

@ -1,6 +1,6 @@
{ {
"host" : "localhost", "host" : "localhost",
"dbname" : "stefproject", "dbname" : "logauth",
"user" : "php", "user" : "php",
"password" : "Qt358nUdyeTxLDM8" "password" : "Qt358nUdyeTxLDM8"
} }

View File

@ -1,6 +1,6 @@
{ {
"host" : "xdrm.io", "host" : "xdrm.io",
"dbname" : "stefproject", "dbname" : "logauth",
"user" : "php", "user" : "php",
"password" : "QbzjZACndQM6NmuD" "password" : "QbzjZACndQM6NmuD"
} }

View File

@ -1,7 +0,0 @@
/* COULEUR DU THEME */
/* COULEUR DU SOUS-MENU */
/* COULEUR DES ERREURS */
/* FORMULAIRES */
/* GESTION DES LONGUEURS */
/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiZXhwYW5kZWQuY3NzIiwKCSJzb3VyY2VzIjogWwoJCSIuLi9jb25zdGFudHMuc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIi8qIENPVUxFVVIgRFUgVEhFTUUgKi9cbiR0aGVtZS1jb2xvcjogI2Y0NGYwNjtcblxuLyogQ09VTEVVUiBEVSBTT1VTLU1FTlUgKi9cbiRzdWItbWVudS1jb2xvcjogIzViNWU2MztcblxuLyogQ09VTEVVUiBERVMgRVJSRVVSUyAqL1xuJGVycm9yLWNvbG9yOiAjY2M1ODU3O1xuXG4vKiBGT1JNVUxBSVJFUyAqL1xuJGZvcm0tdmFsaWQtY29sb3I6ICAgIzI3YTU2MDtcbiRmb3JtLW5ldXRyYWwtY29sb3I6ICMyMTkzZTY7XG4kZm9ybS1zZWFyY2gtY29sb3I6ICAjNTYzMGVkO1xuJGZvcm0taW52YWxpZC1jb2xvcjogI2Q1MjkxODtcblxuXG4vKiBHRVNUSU9OIERFUyBMT05HVUVVUlMgKi9cbiRtZW51LXNpZGUtd2lkdGg6IDRlbTtcblxuXG4vLyBQT1VSIFJFU09VUkNFX0RJU1BBVENIRVJcbiRyZC1mb3JtLXZhbGlkLWNvbG9yOiAgICcyN2E1NjAnO1xuJHJkLWZvcm0tbmV1dHJhbC1jb2xvcjogJzIxOTNlNic7XG4kcmQtZm9ybS1zZWFyY2gtY29sb3I6ICAnNTYzMGVkJztcbiRyZC1mb3JtLWludmFsaWQtY29sb3I6ICdkNTI5MTgnO1xuIgoJXSwKCSJtYXBwaW5ncyI6ICJBQUFBLHNCQUFzQjtBQUd0QiwwQkFBMEI7QUFHMUIseUJBQXlCO0FBR3pCLGlCQUFpQjtBQU9qQiwyQkFBMkIiLAoJIm5hbWVzIjogW10KfQ== */

View File

@ -1,2 +0,0 @@
/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAibWluLmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vY29uc3RhbnRzLnNjc3MiCgldLAoJInNvdXJjZXNDb250ZW50IjogWwoJCSIvKiBDT1VMRVVSIERVIFRIRU1FICovXG4kdGhlbWUtY29sb3I6ICNmNDRmMDY7XG5cbi8qIENPVUxFVVIgRFUgU09VUy1NRU5VICovXG4kc3ViLW1lbnUtY29sb3I6ICM1YjVlNjM7XG5cbi8qIENPVUxFVVIgREVTIEVSUkVVUlMgKi9cbiRlcnJvci1jb2xvcjogI2NjNTg1NztcblxuLyogRk9STVVMQUlSRVMgKi9cbiRmb3JtLXZhbGlkLWNvbG9yOiAgICMyN2E1NjA7XG4kZm9ybS1uZXV0cmFsLWNvbG9yOiAjMjE5M2U2O1xuJGZvcm0tc2VhcmNoLWNvbG9yOiAgIzU2MzBlZDtcbiRmb3JtLWludmFsaWQtY29sb3I6ICNkNTI5MTg7XG5cblxuLyogR0VTVElPTiBERVMgTE9OR1VFVVJTICovXG4kbWVudS1zaWRlLXdpZHRoOiA0ZW07XG5cblxuLy8gUE9VUiBSRVNPVVJDRV9ESVNQQVRDSEVSXG4kcmQtZm9ybS12YWxpZC1jb2xvcjogICAnMjdhNTYwJztcbiRyZC1mb3JtLW5ldXRyYWwtY29sb3I6ICcyMTkzZTYnO1xuJHJkLWZvcm0tc2VhcmNoLWNvbG9yOiAgJzU2MzBlZCc7XG4kcmQtZm9ybS1pbnZhbGlkLWNvbG9yOiAnZDUyOTE4JztcbiIKCV0sCgkibWFwcGluZ3MiOiAiIiwKCSJuYW1lcyI6IFtdCn0= */

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,31 +0,0 @@
/* 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,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiZXhwYW5kZWQuY3NzIiwKCSJzb3VyY2VzIjogWwoJCSIuLi9oZWFkZXIuc2NzcyIsCgkJIi4uL2NvbnN0YW50cy5zY3NzIgoJXSwKCSJzb3VyY2VzQ29udGVudCI6IFsKCQkiQGltcG9ydCAnY29uc3RhbnRzJztcblxuXG4jV1JBUFBFUiA+ICNIRUFERVJ7XG5cdC8vIEljb25lIGR1IHNpdGVcblx0JiA+IC5pY29ue1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR3aWR0aDogJG1lbnUtc2lkZS13aWR0aDtcblx0XHRcdGhlaWdodDogJG1lbnUtc2lkZS13aWR0aDtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkdGhlbWUtY29sb3IsIDEwKTtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9zcmMvc3RhdGljL2ljb252Mi5zdmcnKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1zaXplOiA1MCUgNTAlO1xuXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdFx0dHJhbnNpdGlvbjogYWxsIC4zcztcblxuXHR9XG5cblx0LyogQW5pbWF0aW9uIGRlIGNoYXJnZW1lbnQgcXVkbmQgY2hhcmdlbWVudCBhamF4ICovXG5cdCYubG9hZGluZyA+IC5pY29ue1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3NyYy9zdGF0aWMvbG9hZGVydjIuc3ZnJyk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiA3MCUgNzAlO1xuXHR9XG5cbn1cbiIsCgkJIi8qIENPVUxFVVIgRFUgVEhFTUUgKi9cbiR0aGVtZS1jb2xvcjogI2Y0NGYwNjtcblxuLyogQ09VTEVVUiBEVSBTT1VTLU1FTlUgKi9cbiRzdWItbWVudS1jb2xvcjogIzViNWU2MztcblxuLyogQ09VTEVVUiBERVMgRVJSRVVSUyAqL1xuJGVycm9yLWNvbG9yOiAjY2M1ODU3O1xuXG4vKiBGT1JNVUxBSVJFUyAqL1xuJGZvcm0tdmFsaWQtY29sb3I6ICAgIzI3YTU2MDtcbiRmb3JtLW5ldXRyYWwtY29sb3I6ICMyMTkzZTY7XG4kZm9ybS1zZWFyY2gtY29sb3I6ICAjNTYzMGVkO1xuJGZvcm0taW52YWxpZC1jb2xvcjogI2Q1MjkxODtcblxuXG4vKiBHRVNUSU9OIERFUyBMT05HVUVVUlMgKi9cbiRtZW51LXNpZGUtd2lkdGg6IDRlbTtcblxuXG4vLyBQT1VSIFJFU09VUkNFX0RJU1BBVENIRVJcbiRyZC1mb3JtLXZhbGlkLWNvbG9yOiAgICcyN2E1NjAnO1xuJHJkLWZvcm0tbmV1dHJhbC1jb2xvcjogJzIxOTNlNic7XG4kcmQtZm9ybS1zZWFyY2gtY29sb3I6ICAnNTYzMGVkJztcbiRyZC1mb3JtLWludmFsaWQtY29sb3I6ICdkNTI5MTgnO1xuIgoJXSwKCSJtYXBwaW5ncyI6ICJBQ0FBLHNCQUFzQjtBQUd0QiwwQkFBMEI7QUFHMUIseUJBQXlCO0FBR3pCLGlCQUFpQjtBQU9qQiwyQkFBMkI7QURiM0IsQUFBVyxRQUFILEdBQUcsT0FBTyxDQUFBO0VBc0JqQixtREFBbUQ7Q0FNbkQ7O0FBNUJELEFBRUssUUFGRyxHQUFHLE9BQU8sR0FFYixLQUFLLENBQUE7RUFDUixPQUFPLEVBQUUsS0FBTTtFQUNmLFFBQVEsRUFBRSxRQUFTO0VBQ2xCLEdBQUcsRUFBRSxDQUFFO0VBQ1AsSUFBSSxFQUFFLENBQUU7RUFDUixLQUFLLEVDT1UsR0FBRztFRE5sQixNQUFNLEVDTVMsR0FBRztFREpuQixnQkFBZ0IsRUFBRSxPQUFNO0VBQ3hCLGdCQUFnQixFQUFFLDZCQUFHO0VBQ3JCLG1CQUFtQixFQUFFLGFBQWM7RUFDbkMsaUJBQWlCLEVBQUUsU0FBVTtFQUM3QixlQUFlLEVBQUUsT0FBUTtFQUV6QixNQUFNLEVBQUUsT0FBUTtFQUVoQixVQUFVLEVBQUUsT0FBUTtDQUVwQjs7QUFwQkYsQUF1QmEsUUF2QkwsR0FBRyxPQUFPLEFBdUJoQixRQUFRLEdBQUcsS0FBSyxDQUFBO0VBQ2hCLGdCQUFnQixFQUFFLCtCQUFHO0VBQ3JCLGVBQWUsRUFBRSxPQUFRO0NBQ3pCIiwKCSJuYW1lcyI6IFtdCn0= */

View File

@ -1,3 +0,0 @@
#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,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAibWluLmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vaGVhZGVyLnNjc3MiLAoJCSIuLi9jb25zdGFudHMuc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIkBpbXBvcnQgJ2NvbnN0YW50cyc7XG5cblxuI1dSQVBQRVIgPiAjSEVBREVSe1xuXHQvLyBJY29uZSBkdSBzaXRlXG5cdCYgPiAuaWNvbntcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0d2lkdGg6ICRtZW51LXNpZGUtd2lkdGg7XG5cdFx0XHRoZWlnaHQ6ICRtZW51LXNpZGUtd2lkdGg7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHRoZW1lLWNvbG9yLCAxMCk7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcvc3JjL3N0YXRpYy9pY29udjIuc3ZnJyk7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogNTAlIDUwJTtcblxuXHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdHRyYW5zaXRpb246IGFsbCAuM3M7XG5cblx0fVxuXG5cdC8qIEFuaW1hdGlvbiBkZSBjaGFyZ2VtZW50IHF1ZG5kIGNoYXJnZW1lbnQgYWpheCAqL1xuXHQmLmxvYWRpbmcgPiAuaWNvbntcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9zcmMvc3RhdGljL2xvYWRlcnYyLnN2ZycpO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogNzAlIDcwJTtcblx0fVxuXG59XG4iLAoJCSIvKiBDT1VMRVVSIERVIFRIRU1FICovXG4kdGhlbWUtY29sb3I6ICNmNDRmMDY7XG5cbi8qIENPVUxFVVIgRFUgU09VUy1NRU5VICovXG4kc3ViLW1lbnUtY29sb3I6ICM1YjVlNjM7XG5cbi8qIENPVUxFVVIgREVTIEVSUkVVUlMgKi9cbiRlcnJvci1jb2xvcjogI2NjNTg1NztcblxuLyogRk9STVVMQUlSRVMgKi9cbiRmb3JtLXZhbGlkLWNvbG9yOiAgICMyN2E1NjA7XG4kZm9ybS1uZXV0cmFsLWNvbG9yOiAjMjE5M2U2O1xuJGZvcm0tc2VhcmNoLWNvbG9yOiAgIzU2MzBlZDtcbiRmb3JtLWludmFsaWQtY29sb3I6ICNkNTI5MTg7XG5cblxuLyogR0VTVElPTiBERVMgTE9OR1VFVVJTICovXG4kbWVudS1zaWRlLXdpZHRoOiA0ZW07XG5cblxuLy8gUE9VUiBSRVNPVVJDRV9ESVNQQVRDSEVSXG4kcmQtZm9ybS12YWxpZC1jb2xvcjogICAnMjdhNTYwJztcbiRyZC1mb3JtLW5ldXRyYWwtY29sb3I6ICcyMTkzZTYnO1xuJHJkLWZvcm0tc2VhcmNoLWNvbG9yOiAgJzU2MzBlZCc7XG4kcmQtZm9ybS1pbnZhbGlkLWNvbG9yOiAnZDUyOTE4JztcbiIKCV0sCgkibWFwcGluZ3MiOiAiQUFHQSxBQUVLLFFBRkcsQ0FBRyxPQUFPLENBRWIsS0FBSyxBQUFBLENBQ1IsT0FBTyxDQUFFLEtBQU0sQ0FDZixRQUFRLENBQUUsUUFBUyxDQUNsQixHQUFHLENBQUUsQ0FBRSxDQUNQLElBQUksQ0FBRSxDQUFFLENBQ1IsS0FBSyxDQ09VLEdBQUcsQ0RObEIsTUFBTSxDQ01TLEdBQUcsQ0RKbkIsZ0JBQWdCLENBQUUsT0FBTSxDQUN4QixnQkFBZ0IsQ0FBRSw2QkFBRyxDQUNyQixtQkFBbUIsQ0FBRSxhQUFjLENBQ25DLGlCQUFpQixDQUFFLFNBQVUsQ0FDN0IsZUFBZSxDQUFFLE9BQVEsQ0FFekIsTUFBTSxDQUFFLE9BQVEsQ0FFaEIsVUFBVSxDQUFFLE9BQVEsQ0FFcEIsQUFwQkYsQUF1QmEsUUF2QkwsQ0FBRyxPQUFPLEFBdUJoQixRQUFRLENBQUcsS0FBSyxBQUFBLENBQ2hCLGdCQUFnQixDQUFFLCtCQUFHLENBQ3JCLGVBQWUsQ0FBRSxPQUFRLENBQ3pCIiwKCSJuYW1lcyI6IFtdCn0= */

View File

@ -1,62 +0,0 @@
/* 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,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiZXhwYW5kZWQuY3NzIiwKCSJzb3VyY2VzIjogWwoJCSIuLi9sYXlvdXQuc2NzcyIsCgkJIi4uL2NvbnN0YW50cy5zY3NzIgoJXSwKCSJzb3VyY2VzQ29udGVudCI6IFsKCQkiQGltcG9ydCAnY29uc3RhbnRzJztcblxuI1dSQVBQRVJ7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdGJhY2tncm91bmQtY29sb3I6ICNlZGYwZjU7XG5cblx0Zm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCAnVWJ1bnR1JztcblxuXG5cdC8qIFsxXSBIZWFkZXIgZGUgbGEgcGFnZVxuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXHQmID4gI0hFQURFUntcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IGNhbGMoICN7JG1lbnUtc2lkZS13aWR0aH0gLSAxcHggKTtcblxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZW4oJHRoZW1lLWNvbG9yLCAxMCk7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3I7XG5cblx0XHR6LWluZGV4OiAxMDtcblxuXHR9XG5cblxuXHQvKiBbMl0gU2lkZS1NZW51IGRlIGxhIHBhZ2Vcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblx0Ly8gR2VzdGlvbiBkdSBtZW51XG5cdCYgPiAjTUVOVS1TSURFe1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogJG1lbnUtc2lkZS13aWR0aDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR3aWR0aDogJG1lbnUtc2lkZS13aWR0aDtcblx0XHRcdGhlaWdodDogMTAwJTtcblxuXHRcdGJveC1zaGFkb3c6IDJweCAxcHggM3B4ICNkZGQ7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG5cdFx0dHJhbnNpdGlvbjogYWxsIC4zcztcblxuXHRcdHotaW5kZXg6IDk7XG5cdH1cblxuXG5cdC8qIFszXSBDb250YWluZXIgZGUgbGEgcGFnZVxuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXHQmID4gI0NPTlRBSU5FUntcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogJG1lbnUtc2lkZS13aWR0aDtcblx0XHRcdGxlZnQ6ICRtZW51LXNpZGUtd2lkdGg7XG5cdFx0XHR3aWR0aDogY2FsYyggMTAwJSAtICN7JG1lbnUtc2lkZS13aWR0aH0gLSAyKjFlbSApO1xuXHRcdFx0aGVpZ2h0OiBjYWxjKCAxMDAlIC0gI3skbWVudS1zaWRlLXdpZHRofSAtIDIqMWVtICk7XG5cdFx0cGFkZGluZzogMWVtO1xuXG5cdFx0Ly8gRmxleCBwcm9wZXJ0aWVzXG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cblx0XHRvdmVyZmxvdy14OiBub25lO1xuXHRcdG92ZXJmbG93LXk6IGF1dG87XG5cdH1cbn1cbiIsCgkJIi8qIENPVUxFVVIgRFUgVEhFTUUgKi9cbiR0aGVtZS1jb2xvcjogI2Y0NGYwNjtcblxuLyogQ09VTEVVUiBEVSBTT1VTLU1FTlUgKi9cbiRzdWItbWVudS1jb2xvcjogIzViNWU2MztcblxuLyogQ09VTEVVUiBERVMgRVJSRVVSUyAqL1xuJGVycm9yLWNvbG9yOiAjY2M1ODU3O1xuXG4vKiBGT1JNVUxBSVJFUyAqL1xuJGZvcm0tdmFsaWQtY29sb3I6ICAgIzI3YTU2MDtcbiRmb3JtLW5ldXRyYWwtY29sb3I6ICMyMTkzZTY7XG4kZm9ybS1zZWFyY2gtY29sb3I6ICAjNTYzMGVkO1xuJGZvcm0taW52YWxpZC1jb2xvcjogI2Q1MjkxODtcblxuXG4vKiBHRVNUSU9OIERFUyBMT05HVUVVUlMgKi9cbiRtZW51LXNpZGUtd2lkdGg6IDRlbTtcblxuXG4vLyBQT1VSIFJFU09VUkNFX0RJU1BBVENIRVJcbiRyZC1mb3JtLXZhbGlkLWNvbG9yOiAgICcyN2E1NjAnO1xuJHJkLWZvcm0tbmV1dHJhbC1jb2xvcjogJzIxOTNlNic7XG4kcmQtZm9ybS1zZWFyY2gtY29sb3I6ICAnNTYzMGVkJztcbiRyZC1mb3JtLWludmFsaWQtY29sb3I6ICdkNTI5MTgnO1xuIgoJXSwKCSJtYXBwaW5ncyI6ICJBQ0FBLHNCQUFzQjtBQUd0QiwwQkFBMEI7QUFHMUIseUJBQXlCO0FBR3pCLGlCQUFpQjtBQU9qQiwyQkFBMkI7QURkM0IsQUFBQSxRQUFRLENBQUE7RUFDUCxPQUFPLEVBQUUsS0FBTTtFQUNmLFFBQVEsRUFBRSxLQUFNO0VBQ2YsR0FBRyxFQUFFLENBQUU7RUFDUCxJQUFJLEVBQUUsQ0FBRTtFQUNSLEtBQUssRUFBRSxJQUFLO0VBQ1osTUFBTSxFQUFFLElBQUs7RUFFZCxnQkFBZ0IsRUFBRSxPQUFRO0VBRTFCLFdBQVcsRUFBRSxxQkFBc0I7RUFHbkM7NkNBQzRDO0VBa0I1Qzs2Q0FDNEM7RUFvQjVDOzZDQUM0QztDQWlCNUM7O0FBdkVELEFBZUssUUFmRyxHQWVILE9BQU8sQ0FBQTtFQUNWLE9BQU8sRUFBRSxLQUFNO0VBQ2YsUUFBUSxFQUFFLFFBQVM7RUFDbEIsR0FBRyxFQUFFLENBQUU7RUFDUCxJQUFJLEVBQUUsQ0FBRTtFQUNSLEtBQUssRUFBRSxJQUFLO0VBQ1osTUFBTSxFQUFFLGdCQUFJO0VBRWIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTTtFQUUvQixnQkFBZ0IsRUMxQkosT0FBTztFRDRCbkIsT0FBTyxFQUFFLEVBQUc7Q0FFWjs7QUE3QkYsQUFtQ0ssUUFuQ0csR0FtQ0gsVUFBVSxDQUFBO0VBQ2IsT0FBTyxFQUFFLEtBQU07RUFDZixRQUFRLEVBQUUsUUFBUztFQUNsQixHQUFHLEVDdkJZLEdBQUc7RUR3QmxCLElBQUksRUFBRSxDQUFFO0VBQ1IsS0FBSyxFQ3pCVSxHQUFHO0VEMEJsQixNQUFNLEVBQUUsSUFBSztFQUVkLFVBQVUsRUFBRSxnQkFBaUI7RUFFN0IsZ0JBQWdCLEVBQUUsSUFBSztFQUV2QixVQUFVLEVBQUUsT0FBUTtFQUVwQixPQUFPLEVBQUUsQ0FBRTtDQUNYOztBQWxERixBQXVESyxRQXZERyxHQXVESCxVQUFVLENBQUE7RUFDYixPQUFPLEVBQUUsSUFBSztFQUNkLFFBQVEsRUFBRSxRQUFTO0VBQ2xCLEdBQUcsRUMzQ1ksR0FBRztFRDRDbEIsSUFBSSxFQzVDVyxHQUFHO0VENkNsQixLQUFLLEVBQUUseUJBQUk7RUFDWCxNQUFNLEVBQUUseUJBQUk7RUFDYixPQUFPLEVBQUUsR0FBSTtFQUdiLGNBQWMsRUFBRSxHQUFJO0VBQ3BCLGVBQWUsRUFBRSxhQUFjO0VBRS9CLFVBQVUsRUFBRSxJQUFLO0VBQ2pCLFVBQVUsRUFBRSxJQUFLO0NBQ2pCIiwKCSJuYW1lcyI6IFtdCn0= */

View File

@ -1,3 +0,0 @@
#WRAPPER{display:block;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#edf0f5;font-family:'Open Sans', 'Ubuntu'}#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,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAibWluLmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vbGF5b3V0LnNjc3MiLAoJCSIuLi9jb25zdGFudHMuc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIkBpbXBvcnQgJ2NvbnN0YW50cyc7XG5cbiNXUkFQUEVSe1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmMGY1O1xuXG5cdGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgJ1VidW50dSc7XG5cblxuXHQvKiBbMV0gSGVhZGVyIGRlIGxhIHBhZ2Vcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblx0JiA+ICNIRUFERVJ7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiBjYWxjKCAjeyRtZW51LXNpZGUtd2lkdGh9IC0gMXB4ICk7XG5cblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2VuKCR0aGVtZS1jb2xvciwgMTApO1xuXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuXG5cdFx0ei1pbmRleDogMTA7XG5cblx0fVxuXG5cblx0LyogWzJdIFNpZGUtTWVudSBkZSBsYSBwYWdlXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cdC8vIEdlc3Rpb24gZHUgbWVudVxuXHQmID4gI01FTlUtU0lERXtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6ICRtZW51LXNpZGUtd2lkdGg7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0d2lkdGg6ICRtZW51LXNpZGUtd2lkdGg7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cblx0XHRib3gtc2hhZG93OiAycHggMXB4IDNweCAjZGRkO1xuXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblxuXHRcdHRyYW5zaXRpb246IGFsbCAuM3M7XG5cblx0XHR6LWluZGV4OiA5O1xuXHR9XG5cblxuXHQvKiBbM10gQ29udGFpbmVyIGRlIGxhIHBhZ2Vcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblx0JiA+ICNDT05UQUlORVJ7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6ICRtZW51LXNpZGUtd2lkdGg7XG5cdFx0XHRsZWZ0OiAkbWVudS1zaWRlLXdpZHRoO1xuXHRcdFx0d2lkdGg6IGNhbGMoIDEwMCUgLSAjeyRtZW51LXNpZGUtd2lkdGh9IC0gMioxZW0gKTtcblx0XHRcdGhlaWdodDogY2FsYyggMTAwJSAtICN7JG1lbnUtc2lkZS13aWR0aH0gLSAyKjFlbSApO1xuXHRcdHBhZGRpbmc6IDFlbTtcblxuXHRcdC8vIEZsZXggcHJvcGVydGllc1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdFx0b3ZlcmZsb3cteDogbm9uZTtcblx0XHRvdmVyZmxvdy15OiBhdXRvO1xuXHR9XG59XG4iLAoJCSIvKiBDT1VMRVVSIERVIFRIRU1FICovXG4kdGhlbWUtY29sb3I6ICNmNDRmMDY7XG5cbi8qIENPVUxFVVIgRFUgU09VUy1NRU5VICovXG4kc3ViLW1lbnUtY29sb3I6ICM1YjVlNjM7XG5cbi8qIENPVUxFVVIgREVTIEVSUkVVUlMgKi9cbiRlcnJvci1jb2xvcjogI2NjNTg1NztcblxuLyogRk9STVVMQUlSRVMgKi9cbiRmb3JtLXZhbGlkLWNvbG9yOiAgICMyN2E1NjA7XG4kZm9ybS1uZXV0cmFsLWNvbG9yOiAjMjE5M2U2O1xuJGZvcm0tc2VhcmNoLWNvbG9yOiAgIzU2MzBlZDtcbiRmb3JtLWludmFsaWQtY29sb3I6ICNkNTI5MTg7XG5cblxuLyogR0VTVElPTiBERVMgTE9OR1VFVVJTICovXG4kbWVudS1zaWRlLXdpZHRoOiA0ZW07XG5cblxuLy8gUE9VUiBSRVNPVVJDRV9ESVNQQVRDSEVSXG4kcmQtZm9ybS12YWxpZC1jb2xvcjogICAnMjdhNTYwJztcbiRyZC1mb3JtLW5ldXRyYWwtY29sb3I6ICcyMTkzZTYnO1xuJHJkLWZvcm0tc2VhcmNoLWNvbG9yOiAgJzU2MzBlZCc7XG4kcmQtZm9ybS1pbnZhbGlkLWNvbG9yOiAnZDUyOTE4JztcbiIKCV0sCgkibWFwcGluZ3MiOiAiQUFFQSxBQUFBLFFBQVEsQUFBQSxDQUNQLE9BQU8sQ0FBRSxLQUFNLENBQ2YsUUFBUSxDQUFFLEtBQU0sQ0FDZixHQUFHLENBQUUsQ0FBRSxDQUNQLElBQUksQ0FBRSxDQUFFLENBQ1IsS0FBSyxDQUFFLElBQUssQ0FDWixNQUFNLENBQUUsSUFBSyxDQUVkLGdCQUFnQixDQUFFLE9BQVEsQ0FFMUIsV0FBVyxDQUFFLHFCQUFzQixDQTZEbkMsQUF2RUQsQUFlSyxRQWZHLENBZUgsT0FBTyxBQUFBLENBQ1YsT0FBTyxDQUFFLEtBQU0sQ0FDZixRQUFRLENBQUUsUUFBUyxDQUNsQixHQUFHLENBQUUsQ0FBRSxDQUNQLElBQUksQ0FBRSxDQUFFLENBQ1IsS0FBSyxDQUFFLElBQUssQ0FDWixNQUFNLENBQUUsZ0JBQUksQ0FFYixhQUFhLENBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFNLENBRS9CLGdCQUFnQixDQzFCSixPQUFPLENENEJuQixPQUFPLENBQUUsRUFBRyxDQUVaLEFBN0JGLEFBbUNLLFFBbkNHLENBbUNILFVBQVUsQUFBQSxDQUNiLE9BQU8sQ0FBRSxLQUFNLENBQ2YsUUFBUSxDQUFFLFFBQVMsQ0FDbEIsR0FBRyxDQ3ZCWSxHQUFHLENEd0JsQixJQUFJLENBQUUsQ0FBRSxDQUNSLEtBQUssQ0N6QlUsR0FBRyxDRDBCbEIsTUFBTSxDQUFFLElBQUssQ0FFZCxVQUFVLENBQUUsZ0JBQWlCLENBRTdCLGdCQUFnQixDQUFFLElBQUssQ0FFdkIsVUFBVSxDQUFFLE9BQVEsQ0FFcEIsT0FBTyxDQUFFLENBQUUsQ0FDWCxBQWxERixBQXVESyxRQXZERyxDQXVESCxVQUFVLEFBQUEsQ0FDYixPQUFPLENBQUUsSUFBSyxDQUNkLFFBQVEsQ0FBRSxRQUFTLENBQ2xCLEdBQUcsQ0MzQ1ksR0FBRyxDRDRDbEIsSUFBSSxDQzVDVyxHQUFHLENENkNsQixLQUFLLENBQUUseUJBQUksQ0FDWCxNQUFNLENBQUUseUJBQUksQ0FDYixPQUFPLENBQUUsR0FBSSxDQUdiLGNBQWMsQ0FBRSxHQUFJLENBQ3BCLGVBQWUsQ0FBRSxhQUFjLENBRS9CLFVBQVUsQ0FBRSxJQUFLLENBQ2pCLFVBQVUsQ0FBRSxJQUFLLENBQ2pCIiwKCSJuYW1lcyI6IFtdCn0= */

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,54 +0,0 @@
/* 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,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiZXhwYW5kZWQuY3NzIiwKCSJzb3VyY2VzIjogWwoJCSIuLi9zdWJtZW51LXNpZGUuc2NzcyIsCgkJIi4uL2NvbnN0YW50cy5zY3NzIgoJXSwKCSJzb3VyY2VzQ29udGVudCI6IFsKCQkiQGltcG9ydCAnY29uc3RhbnRzJztcblxuXG4jQ09OVEFJTkVSID4gLnN1Yi1tZW51LXNpZGV7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0Ly8gTGVzIGxpZW5zIGR1IG1lbnVcblx0JiA+IHNwYW5bZGF0YS1zdWJsaW5rXXtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR3aWR0aDogNy41ZW07XG5cblx0XHRwYWRkaW5nOiAuM2VtIDFlbSAuM2VtIDJlbTtcblx0XHRtYXJnaW46IDFlbTtcblxuXHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblxuXHRcdGNvbG9yOiAkc3ViLW1lbnUtY29sb3I7XG5cdFx0dGV4dC1zaGFkb3c6IDFweCAxcHggd2hpdGU7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuXHRcdHRyYW5zaXRpb246IGFsbCAuMnM7XG5cblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0Ly8gRGltZW5zaW9uL1Bvc2l0aW9uIGRlcyBzdmcgKGljb25lcylcblx0XHQmID4gLnN2ZyA+IHN2Z3tcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0bGVmdDogLjVlbTtcblx0XHRcdFx0Ly8gbGVmdDogMTAwJTtcblx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdHdpZHRoOiAxZW07XG5cdFx0XHRcdGhlaWdodDogMWVtO1xuXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cblx0XHRcdC8vIENvbG9yYXRpb24gcG91ciB0b3VzIGxlcyBlbGVtZW50cyBkdSBzdmdcblx0XHRcdCYgcGF0aHtcblx0XHRcdFx0ZmlsbDogJHN1Yi1tZW51LWNvbG9yICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jjpob3Zlcixcblx0XHQmLmFjdGl2ZXtcblx0XHRcdGNvbG9yOiBkYXJrZW4oJHN1Yi1tZW51LWNvbG9yLCAzMCk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZDhkZWVhO1xuXHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDRweCAjYzhjZWQ5O1xuXG5cdFx0XHQmID4gLnN2ZyA+IHN2ZyBwYXRoe1xuXHRcdFx0XHRmaWxsOiBkYXJrZW4oJHN1Yi1tZW51LWNvbG9yLCAzMCkgIWltcG9ydGFudDtcblx0XHRcdH1cblxuXHRcdH1cblxuXHR9XG5cblxuXHQvLyBPbiBkZWNhbGUgbGUgcHJlbWllclxuXHQmID4gc3BhbltkYXRhLXN1YmxpbmtdOm50aC1jaGlsZCgxKXtcblx0XHRtYXJnaW4tdG9wOiAxZW07XG5cdH1cblxufVxuIiwKCQkiLyogQ09VTEVVUiBEVSBUSEVNRSAqL1xuJHRoZW1lLWNvbG9yOiAjZTYzMzIxO1xuXG4vKiBDT1VMRVVSIERVIFNPVVMtTUVOVSAqL1xuJHN1Yi1tZW51LWNvbG9yOiAjNWI1ZTYzO1xuXG4vKiBDT1VMRVVSIERFUyBFUlJFVVJTICovXG4kZXJyb3ItY29sb3I6ICNjYzU4NTc7XG5cbi8qIEZPUk1VTEFJUkVTICovXG4kZm9ybS12YWxpZC1jb2xvcjogICAjMjdhNTYwO1xuJGZvcm0tbmV1dHJhbC1jb2xvcjogIzIxOTNlNjtcbiRmb3JtLXNlYXJjaC1jb2xvcjogICM1NjMwZWQ7XG4kZm9ybS1pbnZhbGlkLWNvbG9yOiAjZDUyOTE4O1xuXG5cbi8qIEdFU1RJT04gREVTIExPTkdVRVVSUyAqL1xuJG1lbnUtc2lkZS13aWR0aDogNGVtO1xuXG5cbi8vIFBPVVIgUkVTT1VSQ0VfRElTUEFUQ0hFUlxuJHJkLWZvcm0tdmFsaWQtY29sb3I6ICAgJzI3YTU2MCc7XG4kcmQtZm9ybS1uZXV0cmFsLWNvbG9yOiAnMjE5M2U2JztcbiRyZC1mb3JtLXNlYXJjaC1jb2xvcjogICc1NjMwZWQnO1xuJHJkLWZvcm0taW52YWxpZC1jb2xvcjogJ2Q1MjkxOCc7XG4iCgldLAoJIm1hcHBpbmdzIjogIkFDQUEsc0JBQXNCO0FBR3RCLDBCQUEwQjtBQUcxQix5QkFBeUI7QUFHekIsaUJBQWlCO0FBT2pCLDJCQUEyQjtBRGIzQixBQUFhLFVBQUgsR0FBRyxjQUFjLENBQUE7RUFDMUIsT0FBTyxFQUFFLEtBQU07RUFDZixRQUFRLEVBQUUsUUFBUztDQTZEbkI7O0FBL0RELEFBS3NCLFVBTFosR0FBRyxjQUFjLEdBS3RCLElBQUksQ0FBQSxBQUFBLFlBQUMsQUFBQSxFQUFhO0VBQ3JCLE9BQU8sRUFBRSxLQUFNO0VBQ2YsUUFBUSxFQUFFLFFBQVM7RUFDbEIsS0FBSyxFQUFFLEtBQU07RUFFZCxPQUFPLEVBQUUsaUJBQWtCO0VBQzNCLE1BQU0sRUFBRSxHQUFJO0VBRVosYUFBYSxFQUFFLEdBQUk7RUFFbkIsS0FBSyxFQ2RVLE9BQU87RURldEIsV0FBVyxFQUFFLGFBQWM7RUFDM0IsV0FBVyxFQUFFLE1BQU87RUFFcEIsVUFBVSxFQUFFLE9BQVE7RUFFcEIsTUFBTSxFQUFFLE9BQVE7RUFFaEIsUUFBUSxFQUFFLE1BQU87Q0FnQ2pCOztBQXZERixBQTBCYSxVQTFCSCxHQUFHLGNBQWMsR0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLElBcUJKLElBQUksR0FBRyxHQUFHLENBQUE7RUFDYixPQUFPLEVBQUUsWUFBYTtFQUN0QixRQUFRLEVBQUUsUUFBUztFQUNsQixJQUFJLEVBQUUsSUFBSztFQUVYLEdBQUcsRUFBRSxHQUFJO0VBQ1QsS0FBSyxFQUFFLEdBQUk7RUFDWCxNQUFNLEVBQUUsR0FBSTtFQUViLFNBQVMsRUFBRSxnQkFBVTtDQU1yQjs7QUF6Q0gsQUFzQ0ssVUF0Q0ssR0FBRyxjQUFjLEdBS3RCLElBQUksQ0FBQSxBQUFBLFlBQUMsQUFBQSxJQXFCSixJQUFJLEdBQUcsR0FBRyxDQVlYLElBQUksQ0FBQTtFQUNMLElBQUksRUN0Q1MsT0FBTyxDRHNDRSxVQUFVO0NBQ2hDOztBQXhDSixBQUtzQixVQUxaLEdBQUcsY0FBYyxHQUt0QixJQUFJLENBQUEsQUFBQSxZQUFDLEFBQUEsQ0FzQ1AsTUFBTSxFQTNDVCxBQUtzQixVQUxaLEdBQUcsY0FBYyxHQUt0QixJQUFJLENBQUEsQUFBQSxZQUFDLEFBQUEsQ0F1Q1AsT0FBTyxDQUFBO0VBQ1AsS0FBSyxFQUFFLE9BQU07RUFDYixnQkFBZ0IsRUFBRSxPQUFRO0VBQzFCLFVBQVUsRUFBRSxxQkFBc0I7Q0FNbEM7O0FBckRILEFBaURrQixVQWpEUixHQUFHLGNBQWMsR0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLENBc0NQLE1BQU0sR0FNRixJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksRUFqRHRCLEFBaURrQixVQWpEUixHQUFHLGNBQWMsR0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLENBdUNQLE9BQU8sR0FLSCxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQTtFQUNsQixJQUFJLEVBQUUsT0FBTSxDQUFzQixVQUFVO0NBQzVDOztBQW5ESixBQTJEbUMsVUEzRHpCLEdBQUcsY0FBYyxHQTJEdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLENBQWEsVUFBVyxDQUFBLEFBQUEsQ0FBQyxFQUFDO0VBQ2xDLFVBQVUsRUFBRSxHQUFJO0NBQ2hCIiwKCSJuYW1lcyI6IFtdCn0= */

View File

@ -1,3 +0,0 @@
#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,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAibWluLmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vc3VibWVudS1zaWRlLnNjc3MiLAoJCSIuLi9jb25zdGFudHMuc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIkBpbXBvcnQgJ2NvbnN0YW50cyc7XG5cblxuI0NPTlRBSU5FUiA+IC5zdWItbWVudS1zaWRle1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdC8vIExlcyBsaWVucyBkdSBtZW51XG5cdCYgPiBzcGFuW2RhdGEtc3VibGlua117XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0d2lkdGg6IDcuNWVtO1xuXG5cdFx0cGFkZGluZzogLjNlbSAxZW0gLjNlbSAyZW07XG5cdFx0bWFyZ2luOiAxZW07XG5cblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cblx0XHRjb2xvcjogJHN1Yi1tZW51LWNvbG9yO1xuXHRcdHRleHQtc2hhZG93OiAxcHggMXB4IHdoaXRlO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cblx0XHR0cmFuc2l0aW9uOiBhbGwgLjJzO1xuXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdC8vIERpbWVuc2lvbi9Qb3NpdGlvbiBkZXMgc3ZnIChpY29uZXMpXG5cdFx0JiA+IC5zdmcgPiBzdmd7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGxlZnQ6IC41ZW07XG5cdFx0XHRcdC8vIGxlZnQ6IDEwMCU7XG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHR3aWR0aDogMWVtO1xuXHRcdFx0XHRoZWlnaHQ6IDFlbTtcblxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG5cdFx0XHQvLyBDb2xvcmF0aW9uIHBvdXIgdG91cyBsZXMgZWxlbWVudHMgZHUgc3ZnXG5cdFx0XHQmIHBhdGh7XG5cdFx0XHRcdGZpbGw6ICRzdWItbWVudS1jb2xvciAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6aG92ZXIsXG5cdFx0Ji5hY3RpdmV7XG5cdFx0XHRjb2xvcjogZGFya2VuKCRzdWItbWVudS1jb2xvciwgMzApO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2Q4ZGVlYTtcblx0XHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMCA0cHggI2M4Y2VkOTtcblxuXHRcdFx0JiA+IC5zdmcgPiBzdmcgcGF0aHtcblx0XHRcdFx0ZmlsbDogZGFya2VuKCRzdWItbWVudS1jb2xvciwgMzApICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG5cblx0Ly8gT24gZGVjYWxlIGxlIHByZW1pZXJcblx0JiA+IHNwYW5bZGF0YS1zdWJsaW5rXTpudGgtY2hpbGQoMSl7XG5cdFx0bWFyZ2luLXRvcDogMWVtO1xuXHR9XG5cbn1cbiIsCgkJIi8qIENPVUxFVVIgRFUgVEhFTUUgKi9cbiR0aGVtZS1jb2xvcjogI2U2MzMyMTtcblxuLyogQ09VTEVVUiBEVSBTT1VTLU1FTlUgKi9cbiRzdWItbWVudS1jb2xvcjogIzViNWU2MztcblxuLyogQ09VTEVVUiBERVMgRVJSRVVSUyAqL1xuJGVycm9yLWNvbG9yOiAjY2M1ODU3O1xuXG4vKiBGT1JNVUxBSVJFUyAqL1xuJGZvcm0tdmFsaWQtY29sb3I6ICAgIzI3YTU2MDtcbiRmb3JtLW5ldXRyYWwtY29sb3I6ICMyMTkzZTY7XG4kZm9ybS1zZWFyY2gtY29sb3I6ICAjNTYzMGVkO1xuJGZvcm0taW52YWxpZC1jb2xvcjogI2Q1MjkxODtcblxuXG4vKiBHRVNUSU9OIERFUyBMT05HVUVVUlMgKi9cbiRtZW51LXNpZGUtd2lkdGg6IDRlbTtcblxuXG4vLyBQT1VSIFJFU09VUkNFX0RJU1BBVENIRVJcbiRyZC1mb3JtLXZhbGlkLWNvbG9yOiAgICcyN2E1NjAnO1xuJHJkLWZvcm0tbmV1dHJhbC1jb2xvcjogJzIxOTNlNic7XG4kcmQtZm9ybS1zZWFyY2gtY29sb3I6ICAnNTYzMGVkJztcbiRyZC1mb3JtLWludmFsaWQtY29sb3I6ICdkNTI5MTgnO1xuIgoJXSwKCSJtYXBwaW5ncyI6ICJBQUdBLEFBQWEsVUFBSCxDQUFHLGNBQWMsQUFBQSxDQUMxQixPQUFPLENBQUUsS0FBTSxDQUNmLFFBQVEsQ0FBRSxRQUFTLENBNkRuQixBQS9ERCxBQUtzQixVQUxaLENBQUcsY0FBYyxDQUt0QixJQUFJLENBQUEsQUFBQSxZQUFDLEFBQUEsQ0FBYSxDQUNyQixPQUFPLENBQUUsS0FBTSxDQUNmLFFBQVEsQ0FBRSxRQUFTLENBQ2xCLEtBQUssQ0FBRSxLQUFNLENBRWQsT0FBTyxDQUFFLGlCQUFrQixDQUMzQixNQUFNLENBQUUsR0FBSSxDQUVaLGFBQWEsQ0FBRSxHQUFJLENBRW5CLEtBQUssQ0NkVSxPQUFPLENEZXRCLFdBQVcsQ0FBRSxhQUFjLENBQzNCLFdBQVcsQ0FBRSxNQUFPLENBRXBCLFVBQVUsQ0FBRSxPQUFRLENBRXBCLE1BQU0sQ0FBRSxPQUFRLENBRWhCLFFBQVEsQ0FBRSxNQUFPLENBZ0NqQixBQXZERixBQTBCYSxVQTFCSCxDQUFHLGNBQWMsQ0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLEVBcUJKLElBQUksQ0FBRyxHQUFHLEFBQUEsQ0FDYixPQUFPLENBQUUsWUFBYSxDQUN0QixRQUFRLENBQUUsUUFBUyxDQUNsQixJQUFJLENBQUUsSUFBSyxDQUVYLEdBQUcsQ0FBRSxHQUFJLENBQ1QsS0FBSyxDQUFFLEdBQUksQ0FDWCxNQUFNLENBQUUsR0FBSSxDQUViLFNBQVMsQ0FBRSxnQkFBVSxDQU1yQixBQXpDSCxBQXNDSyxVQXRDSyxDQUFHLGNBQWMsQ0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLEVBcUJKLElBQUksQ0FBRyxHQUFHLENBWVgsSUFBSSxBQUFBLENBQ0wsSUFBSSxDQ3RDUyxPQUFPLENEc0NFLFVBQVUsQ0FDaEMsQUF4Q0osQUFLc0IsVUFMWixDQUFHLGNBQWMsQ0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLENBc0NQLE1BQU0sQ0EzQ1QsQUFLc0IsVUFMWixDQUFHLGNBQWMsQ0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLENBdUNQLE9BQU8sQUFBQSxDQUNQLEtBQUssQ0FBRSxPQUFNLENBQ2IsZ0JBQWdCLENBQUUsT0FBUSxDQUMxQixVQUFVLENBQUUscUJBQXNCLENBTWxDLEFBckRILEFBaURrQixVQWpEUixDQUFHLGNBQWMsQ0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLENBc0NQLE1BQU0sQ0FNRixJQUFJLENBQUcsR0FBRyxDQUFDLElBQUksQ0FqRHRCLEFBaURrQixVQWpEUixDQUFHLGNBQWMsQ0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLENBdUNQLE9BQU8sQ0FLSCxJQUFJLENBQUcsR0FBRyxDQUFDLElBQUksQUFBQSxDQUNsQixJQUFJLENBQUUsT0FBTSxDQUFzQixVQUFVLENBQzVDLEFBbkRKLEFBMkRtQyxVQTNEekIsQ0FBRyxjQUFjLENBMkR0QixJQUFJLENBQUEsQUFBQSxZQUFDLEFBQUEsQ0FBYSxVQUFXLENBQUEsQUFBQSxDQUFDLENBQUMsQ0FDbEMsVUFBVSxDQUFFLEdBQUksQ0FDaEIiLAoJIm5hbWVzIjogW10KfQ== */

View File

@ -1,5 +0,0 @@
function FormDeflater(b,c,a){for(var d=0;d<c.length;d++)c[d]=c[d].toLowerCase();for(d=0;d<a.length;d++)a[d]=a[d].toLowerCase();this.container=b;this.tags=c;this.attr=a}FormDeflater.prototype={container:this.container,tags:this.tags,attr:this.attr};
FormDeflater.prototype.deflate=function(){for(var b=this.getChildren(this.container),b=this.filterElements(b),c={},a=0;a<b.length;a++)for(var d=0;d<this.attr.length;d++){var e=b[a].getAttribute(this.attr[d]);if(null!==e&&0<e.length){c.hasOwnProperty(e)?c[e]instanceof Array?c[e].push({target:b[a],attr:this.attr[d],value:b[a].value,checked:b[a].checked}):c[e]=[c[e],{target:b[a],attr:this.attr[d],value:b[a].value,checked:b[a].checked}]:c[e]={target:b[a],attr:this.attr[d],value:b[a].value,checked:b[a].checked};
break}}return c=this.cleanOutput(c)};FormDeflater.prototype.checkable=function(b){return"INPUT"!=b.tagName||-1==["radio","checkbox"].indexOf(b.getAttribute("type").toLowerCase())?!1:!0};
FormDeflater.prototype.cleanOutput=function(b){var c={},a;for(a in b)if(b[a]instanceof Array){var d=!0,e=[],f;for(f in b[a])if(this.checkable(b[a][f].target))!0===b[a][f].checked&&e.push(f);else{d=!1;break}if(d)if(1==e.length)c[a]=b[a][e[0]].value;else for(f in c[a]=[],e)c[a].push(b[a][e[f]].value);else for(f in c[a]=[],b[a])c[a].push(b[a][f].value)}else this.checkable(b[a].target)?c[a]=b[a].checked?b[a].value:null:c[a]=b[a].value;return c};
FormDeflater.prototype.getChildren=function(b){if(!(b instanceof Element))return[];for(var c=b=[].slice.call(b.children),a=0;a<b.length;a++)c=c.concat([].slice.call(this.getChildren(b[a])));return c};FormDeflater.prototype.filterElements=function(b){for(var c=[],a=0;a<b.length;a++)-1<this.tags.indexOf(b[a].tagName.toLowerCase())&&c.push(b[a]);return c};

View File

@ -1,5 +0,0 @@
function localStorageInterface(){}
localStorageInterface.prototype={dataset:[],dataset_keys:[],storage:localStorage,setStorage:function(a){if(a!=localStorage&&a!=sessionStorage)return!1;this.storage=a},set:function(a,b,d){b=b.toString();var c=this.dataset.indexOf(a);if(-1==c)return!1;-1==this.dataset_keys[c].indexOf(b)&&(this.dataset_keys[c].push(b),this.storage.setItem(a,JSON.stringify(this.dataset_keys[c])));this.storage.setItem(a+"_"+b,JSON.stringify(d));return!0},get:function(a,b){if(null==b)return null;b=b.toString();return-1==
this.dataset.indexOf(a)?!1:JSON.parse(this.storage.getItem(a+"_"+b))},del:function(a,b){b=b.toString();var d=this.dataset.indexOf(a);if(-1==d)return!1;var c=this.dataset_keys[d].indexOf(b);if(-1==c)return!1;this.storage.removeItem(a+"_"+b);this.dataset_keys[d].splice(c,1);this.storage.setItem(a,JSON.stringify(this.dataset_keys[d]));return!0},createDataset:function(a){if("string"!=typeof a)return!1;if(-1<this.dataset.indexOf(a))return!0;var b=this.storage.getItem(a);null!=b?(this.dataset.push(a),this.dataset_keys.push(JSON.parse(b))):
(this.dataset.push(a),this.dataset_keys.push([]),this.storage.setItem(a,JSON.stringify([])));return!0},keys:function(a){a=this.dataset.indexOf(a);return-1==a?!1:this.dataset_keys[a]},"export":function(a){var b=this.dataset.indexOf(a);if(-1==b)return!1;for(var d={},c=0;c<this.dataset_keys[b].length;c++)d[this.dataset_keys[b][c]]=this.get(a,this.dataset_keys[b][c]);return d},"import":function(a,b){-1==this.dataset.indexOf(a)?this.createDataset(a):this.clear(a);for(var d in b)this.set(a,d,b[d]);return!0},
clear:function(a){var b=this.dataset.indexOf(a);if(-1==b)return!1;var d=this["export"](a),c;for(c in d)this.del(a,c);this.dataset_keys[b]=[];this.storage.setItem(a,JSON.stringify(this.dataset_keys[b]));return!0}};var lsi=new localStorageInterface;

View File

@ -1,9 +0,0 @@
function pageManagerClass(){}var ptrPageManagerClass;
pageManagerClass.prototype={depJS:null,depCSS:null,xhr:[],activeXHR:null,page:null,vars:[],path:"",jsPath:"js",cssPath:"css",pagelist:null,container:null,ajax:function(b,c,f,a){for(var d=0;d<this.xhr.length;d++)this.xhr=this.xhr.slice(0,d-1).concat(this.xhr.slice(d,this.xhr.length-1));var e;e=window.XMLHttpRequest?this.xhr.push(new XMLHttpRequest)-1:this.xhr.push(new ActiveXObject("Microsoft.XMLHttpRequest"))-1;this.activeXHR=this.xhr[e];var g=this;this.xhr[e].onreadystatechange=function(){4==g.xhr[e].readyState&&
(-1<[0,200].indexOf(g.xhr[e].status)?c(g.xhr[e].responseText):c())};f="string"==typeof f&&/^POST|GET$/i.test(f)?f.toUpperCase():"POST";a="POST"==f&&"object"==typeof a&&a instanceof FormData?a:null;this.xhr[e].open(f,b,!0);this.xhr[e].send(a);return this},explodeURL:function(b){b=1<=arguments.length?b:document.URL;if(null!=this.pagelist&&/^(?:(?:https?:\/\/)?[^\/]+)\/([a-z0-9_]+)\/?(?:\/((?:.+\/)+)\/?)?(?:#(.+))?$/i.test(b)){for(var c=RegExp.$2.split("/");""==c[c.length-1];)c.pop();return-1<this.pagelist.indexOf(RegExp.$1)?
{page:RegExp.$1,"var":c}: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);ptrPageManagerClass=this;this.ajax(this.path+"/"+this.cssPath+"/"+this.page+".css",function(b){null!=b?(ptrPageManagerClass.depCSS=document.createElement("link"),
ptrPageManagerClass.depCSS.rel="stylesheet",ptrPageManagerClass.depCSS.type="text/css",ptrPageManagerClass.depCSS.href=ptrPageManagerClass.path+"/"+ptrPageManagerClass.cssPath+"/"+ptrPageManagerClass.page+".css",document.head.appendChild(ptrPageManagerClass.depCSS)):console.warn("[loadDependencies_Error] - ("+ptrPageManagerClass.path+"/"+ptrPageManagerClass.cssPath+"/"+ptrPageManagerClass.page+".css)")});this.ajax(this.path+"/"+this.jsPath+"/"+this.page+".js",function(b){null!=b?(ptrPageManagerClass.depJS=
document.createElement("script"),ptrPageManagerClass.depJS.type="text/javascript",ptrPageManagerClass.depJS.src=ptrPageManagerClass.path+"/"+ptrPageManagerClass.jsPath+"/"+ptrPageManagerClass.page+".js",document.head.appendChild(ptrPageManagerClass.depJS)):console.warn("[loadDependencies_Error] - ("+ptrPageManagerClass.path+"/"+ptrPageManagerClass.jsPath+"/"+ptrPageManagerClass.page+".js)")})},updateURL:function(){0<this.vars.length?window.history.pushState(this.page,this.page,"/"+this.page+"/"+this.vars.join("/")+
"/"):window.history.pushState(this.page,this.page,"/"+this.page+"/")},setPage:function(b,c,f,a){var d="object"==typeof a&&a instanceof Array?a:null;if(null!=d)for(a=0;a<d.length&&(d="string"==typeof d[a]&&/^[a-z0-9_]+$/i.test(d[a])?d:null,null!=d);a++);this.pagelist=null!=d?d:this.pagelist;this.page=this.pagelist[0];this.path="string"==typeof c?c:this.path;this.container="object"==typeof f&&f instanceof Element?f:this.container;if(null!=this.pagelist&&null!=this.container)if("string"==typeof b&&-1<
this.pagelist.indexOf(b)){this.page=b;var e=this;b=new FormData;for(a=0;a<this.vars.length;a++)b.append(this.vars[a],null);this.ajax(this.path+"/"+this.page+".php",function(a){e.container.innerHTML=a;e.loadDependencies()},"POST",b);this.updateURL()}else if(c=this.explodeURL(),null!=c){this.page=c.page;var g=this;b=new FormData;for(a=this.vars.length=0;a<c["var"].length;a++)this.vars[a]=c["var"][a],b.append(this.vars[a],null);this.ajax(this.path+"/"+this.page+".php",function(a){g.container.innerHTML=
a;g.loadDependencies()},"POST",b);this.updateURL()}else this.setPage(this.pagelist[0]);else console.warn("pagelist et container manquant");return this},refresh:function(){this.setPage(this.page);return this}};

View File

@ -5,7 +5,7 @@
$_SERVER['REMOTE_ADDR'] = '127.0.0.1'; $_SERVER['REMOTE_ADDR'] = '127.0.0.1';
$_SERVER['HTTP_USER_AGENT'] = 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:44.0) Gecko/20100101 Firefox/44.0'; $_SERVER['HTTP_USER_AGENT'] = 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:44.0) Gecko/20100101 Firefox/44.0';
require_once __ROOT__.'/manager/autoloader.php'; require_once __ROOT__.'/autoloader.php';

View File

@ -6,59 +6,59 @@
/* [1] AUTO_INCREMENT /* [1] AUTO_INCREMENT
=========================================================*/ =========================================================*/
public function testAutoIncrementSizeInfCorrect(){ public function testAutoIncrementSizeInfCorrect(){
$this->assertTrue( \manager\Checker::run('auto_increment_id', -2147483647) ); $this->assertTrue( \api\core\Checker::run('auto_increment_id', -2147483647) );
} }
public function testAutoIncrementSizeInfStringCorrect(){ public function testAutoIncrementSizeInfStringCorrect(){
$this->assertTrue( \manager\Checker::run('auto_increment_id', '-2147483647') ); $this->assertTrue( \api\core\Checker::run('auto_increment_id', '-2147483647') );
} }
public function testAutoIncrementSizeSupCorrect(){ public function testAutoIncrementSizeSupCorrect(){
$this->assertTrue( \manager\Checker::run('auto_increment_id', 2147483647) ); $this->assertTrue( \api\core\Checker::run('auto_increment_id', 2147483647) );
} }
public function testAutoIncrementSizeSupStringCorrect(){ public function testAutoIncrementSizeSupStringCorrect(){
$this->assertTrue( \manager\Checker::run('auto_increment_id', '2147483647') ); $this->assertTrue( \api\core\Checker::run('auto_increment_id', '2147483647') );
} }
public function testAutoIncrementSizeLtInfIncorrect(){ public function testAutoIncrementSizeLtInfIncorrect(){
$this->assertFalse( \manager\Checker::run('auto_increment_id', -2147483647-1) ); $this->assertFalse( \api\core\Checker::run('auto_increment_id', -2147483647-1) );
} }
public function testAutoIncrementSizeLtInfStringIncorrect(){ public function testAutoIncrementSizeLtInfStringIncorrect(){
$this->assertFalse( \manager\Checker::run('auto_increment_id', '-2147483648') ); $this->assertFalse( \api\core\Checker::run('auto_increment_id', '-2147483648') );
} }
public function testAutoIncrementSizeGtSupIncorrect(){ public function testAutoIncrementSizeGtSupIncorrect(){
$this->assertFalse( \manager\Checker::run('auto_increment_id', 2147483647+1) ); $this->assertFalse( \api\core\Checker::run('auto_increment_id', 2147483647+1) );
} }
public function testAutoIncrementSizeGtSupStringIncorrect(){ public function testAutoIncrementSizeGtSupStringIncorrect(){
$this->assertFalse( \manager\Checker::run('auto_increment_id', '2147483648') ); $this->assertFalse( \api\core\Checker::run('auto_increment_id', '2147483648') );
} }
/* [1] Code RFID /* [1] Code RFID
=========================================================*/ =========================================================*/
public function testUserCodeSize4(){ public function testUserCodeSize4(){
$this->assertTrue( \manager\Checker::run('user.code', '01-23-AB-CD') ); $this->assertTrue( \api\core\Checker::run('user.code', '01-23-AB-CD') );
} }
public function testUserCodeSize6(){ public function testUserCodeSize6(){
$this->assertTrue( \manager\Checker::run('user.code', '01-23-45-67-89-AB') ); $this->assertTrue( \api\core\Checker::run('user.code', '01-23-45-67-89-AB') );
} }
public function testUserCodeSize4WrongCharacter(){ public function testUserCodeSize4WrongCharacter(){
$this->assertFalse( \manager\Checker::run('user.code', '01-23-AB-CG') ); $this->assertFalse( \api\core\Checker::run('user.code', '01-23-AB-CG') );
} }
public function testUserCodeSizeGreaterThan6(){ public function testUserCodeSizeGreaterThan6(){
$this->assertFalse( \manager\Checker::run('user.code', '01-23-45-67-89-AB-CD') ); $this->assertFalse( \api\core\Checker::run('user.code', '01-23-45-67-89-AB-CD') );
} }
public function testUserCodeSize6WrongCharacter(){ public function testUserCodeSize6WrongCharacter(){
$this->assertFalse( \manager\Checker::run('user.code', '01-23-45-67-89-AG') ); $this->assertFalse( \api\core\Checker::run('user.code', '01-23-45-67-89-AG') );
} }
@ -67,91 +67,91 @@
=========================================================*/ =========================================================*/
/* (1) Type */ /* (1) Type */
public function testUsernameTypeStringCorrect(){ public function testUsernameTypeStringCorrect(){
$this->assertTrue( \manager\Checker::run('user.username', '012') ); $this->assertTrue( \api\core\Checker::run('user.username', '012') );
} }
public function testUsernameTypeIntIncorrect(){ public function testUsernameTypeIntIncorrect(){
$this->assertFalse( \manager\Checker::run('user.username', 012) ); $this->assertFalse( \api\core\Checker::run('user.username', 012) );
} }
/* (2) Content */ /* (2) Content */
public function testUsernameContentCorrect(){ public function testUsernameContentCorrect(){
$this->assertTrue( \manager\Checker::run('user.username', '0123456789_-') ); $this->assertTrue( \api\core\Checker::run('user.username', '0123456789_-') );
$this->assertTrue( \manager\Checker::run('user.username', 'abcdefghijklmnopqrstuvwxyz') ); $this->assertTrue( \api\core\Checker::run('user.username', 'abcdefghijklmnopqrstuvwxyz') );
$this->assertTrue( \manager\Checker::run('user.username', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ') ); $this->assertTrue( \api\core\Checker::run('user.username', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ') );
} }
public function testUsernameContentIncorrect(){ public function testUsernameContentIncorrect(){
$illegal_chars = '{}[]()=+.,\'\\"/:;|!@#$%^&* '; $illegal_chars = '{}[]()=+.,\'\\"/:;|!@#$%^&* ';
foreach(str_split($illegal_chars) as $char) // Teste les caracteres enonces plus haut foreach(str_split($illegal_chars) as $char) // Teste les caracteres enonces plus haut
$this->assertFalse( \manager\Checker::run('user.username', 'abc'.$char) ); $this->assertFalse( \api\core\Checker::run('user.username', 'abc'.$char) );
} }
/* (3) Size */ /* (3) Size */
public function testUsernameSize3Correct(){ public function testUsernameSize3Correct(){
$this->assertEquals( 3, strlen('012') ); $this->assertEquals( 3, strlen('012') );
$this->assertTrue( \manager\Checker::run('user.username', '012') ); $this->assertTrue( \api\core\Checker::run('user.username', '012') );
} }
public function testUsernameSize30Correct(){ public function testUsernameSize30Correct(){
$this->assertEquals( 30, strlen('0123456789abcdefghijklmno_-sda') ); $this->assertEquals( 30, strlen('0123456789abcdefghijklmno_-sda') );
$this->assertTrue( \manager\Checker::run('user.username', '0123456789abcdefghijklmno_-sda') ); $this->assertTrue( \api\core\Checker::run('user.username', '0123456789abcdefghijklmno_-sda') );
} }
public function testUsernameSizeLt3Incorrect(){ public function testUsernameSizeLt3Incorrect(){
$this->assertLessThan( 3, strlen('') ); $this->assertLessThan( 3, strlen('') );
$this->assertFalse( \manager\Checker::run('user.username', '') ); $this->assertFalse( \api\core\Checker::run('user.username', '') );
} }
public function testUsernameSizeGt30Incorrect(){ public function testUsernameSizeGt30Incorrect(){
$this->assertGreaterThan( 30, strlen('0123456789abcdefghijklmno_-sdaa') ); $this->assertGreaterThan( 30, strlen('0123456789abcdefghijklmno_-sdaa') );
$this->assertFalse( \manager\Checker::run('user.username', '0123456789abcdefghijklmno_-sdaa') ); $this->assertFalse( \api\core\Checker::run('user.username', '0123456789abcdefghijklmno_-sdaa') );
} }
/* [3] firstname / lastname /* [3] firstname / lastname
=========================================================*/ =========================================================*/
/* (1) Type */ /* (1) Type */
public function testFirstnameTypeStringCorrect(){ public function testFirstnameTypeStringCorrect(){
$this->assertTrue( \manager\Checker::run('user.firstname', 'abc') ); $this->assertTrue( \api\core\Checker::run('user.firstname', 'abc') );
} }
public function testFirstnameTypeIntIncorrect(){ public function testFirstnameTypeIntIncorrect(){
$this->assertFalse( \manager\Checker::run('user.firstname', 01932) ); $this->assertFalse( \api\core\Checker::run('user.firstname', 01932) );
} }
/* (2) Content */ /* (2) Content */
public function testFirstnameContentCorrect(){ public function testFirstnameContentCorrect(){
$this->assertTrue( \manager\Checker::run('user.firstname', 'abcdefghijklmnopqrstuvwxyz') ); $this->assertTrue( \api\core\Checker::run('user.firstname', 'abcdefghijklmnopqrstuvwxyz') );
$this->assertTrue( \manager\Checker::run('user.firstname', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ') ); $this->assertTrue( \api\core\Checker::run('user.firstname', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ') );
} }
public function testFirstnameContentIncorrect(){ public function testFirstnameContentIncorrect(){
$illegal_chars = '{}[]()=_+.,\'\\"/:;|!@#$%^&*0123456789'; $illegal_chars = '{}[]()=_+.,\'\\"/:;|!@#$%^&*0123456789';
foreach(str_split($illegal_chars) as $char) // Teste les caracteres enonces plus haut foreach(str_split($illegal_chars) as $char) // Teste les caracteres enonces plus haut
$this->assertFalse( \manager\Checker::run('user.firstname', 'abc'.$char) ); $this->assertFalse( \api\core\Checker::run('user.firstname', 'abc'.$char) );
} }
/* (3) Size */ /* (3) Size */
public function testFirstnameSize3Correct(){ public function testFirstnameSize3Correct(){
$this->assertEquals( 3, strlen('abc') ); $this->assertEquals( 3, strlen('abc') );
$this->assertTrue( \manager\Checker::run('user.firstname', 'abc') ); $this->assertTrue( \api\core\Checker::run('user.firstname', 'abc') );
} }
public function testFirstnameSize30Correct(){ public function testFirstnameSize30Correct(){
$this->assertEquals( 30, strlen('abcdefghijklmnopqrstuvwxyz-k s') ); $this->assertEquals( 30, strlen('abcdefghijklmnopqrstuvwxyz-k s') );
$this->assertTrue( \manager\Checker::run('user.firstname', 'abcdefghijklmnopqrstuvwxyz-k s') ); $this->assertTrue( \api\core\Checker::run('user.firstname', 'abcdefghijklmnopqrstuvwxyz-k s') );
} }
public function testFirstnameSizeLt3Incorrect(){ public function testFirstnameSizeLt3Incorrect(){
$this->assertLessThan( 3, strlen('ab') ); $this->assertLessThan( 3, strlen('ab') );
$this->assertFalse( \manager\Checker::run('user.firstname', 'ab') ); $this->assertFalse( \api\core\Checker::run('user.firstname', 'ab') );
} }
public function testFirstnameSizeGt30Incorrect(){ public function testFirstnameSizeGt30Incorrect(){
$this->assertGreaterThan( 30, strlen('abcdefghijklmnopqrstuvwxyz-k ss') ); $this->assertGreaterThan( 30, strlen('abcdefghijklmnopqrstuvwxyz-k ss') );
$this->assertFalse( \manager\Checker::run('user.firstname', 'abcdefghijklmnopqrstuvwxyz-k ss') ); $this->assertFalse( \api\core\Checker::run('user.firstname', 'abcdefghijklmnopqrstuvwxyz-k ss') );
} }
/* [4] Adresse mail /* [4] Adresse mail
@ -159,25 +159,25 @@
/* (1) Size */ /* (1) Size */
public function testMailSizeEqCorrect(){ public function testMailSizeEqCorrect(){
$this->assertLessThanOrEqual( 50, 'nom-prenom.mot@domaine-d.gouv' ); $this->assertLessThanOrEqual( 50, 'nom-prenom.mot@domaine-d.gouv' );
$this->assertTrue( \manager\Checker::run('user.mail', 'nom-prenom.mot@domaine-d.gouv') ); $this->assertTrue( \api\core\Checker::run('user.mail', 'nom-prenom.mot@domaine-d.gouv') );
} }
public function testMailSizeSupCorrect(){ public function testMailSizeSupCorrect(){
$this->assertGreaterThan( 50, strlen('ab12345678901234567890nom-prenom.mot@domaine-d.gouv') ); $this->assertGreaterThan( 50, strlen('ab12345678901234567890nom-prenom.mot@domaine-d.gouv') );
$this->assertFalse( \manager\Checker::run('user.mail', 'ab12345678901234567890nom-prenom.mot@domaine-d.gouv') ); $this->assertFalse( \api\core\Checker::run('user.mail', 'ab12345678901234567890nom-prenom.mot@domaine-d.gouv') );
} }
/* (2) Content */ /* (2) Content */
public function testMailContentCorrect(){ public function testMailContentCorrect(){
$this->assertTrue( \manager\Checker::run('user.mail', '0nom-prenom.mot@domaine-d.gouv') ); $this->assertTrue( \api\core\Checker::run('user.mail', '0nom-prenom.mot@domaine-d.gouv') );
} }
public function testMailContentIncorrect1(){ public function testMailContentIncorrect1(){
$this->assertFalse( \manager\Checker::run('user.mail', '0nom-prenom.mot@domaine-d.gouve') ); $this->assertFalse( \api\core\Checker::run('user.mail', '0nom-prenom.mot@domaine-d.gouve') );
} }
public function testMailContentIncorrect2(){ public function testMailContentIncorrect2(){
$this->assertFalse( \manager\Checker::run('user.mail', '0nom-prenom.mot@domaine-d.g') ); $this->assertFalse( \api\core\Checker::run('user.mail', '0nom-prenom.mot@domaine-d.g') );
} }
@ -188,31 +188,31 @@
$password_hash = \manager\sessionManager::secure_hash('monmotdepasse'); $password_hash = \manager\sessionManager::secure_hash('monmotdepasse');
$this->assertEquals( 40, strlen($password_hash) ); $this->assertEquals( 40, strlen($password_hash) );
$this->assertTrue( \manager\Checker::run('user.password', $password_hash) ); $this->assertTrue( \api\core\Checker::run('user.password', $password_hash) );
} }
public function testPasswordSizeInfIncorrect(){ public function testPasswordSizeInfIncorrect(){
$password_hash = 'a'; $password_hash = 'a';
$this->assertLessThan( 40, strlen($password_hash) ); $this->assertLessThan( 40, strlen($password_hash) );
$this->assertFalse( \manager\Checker::run('user.password', $password_hash) ); $this->assertFalse( \api\core\Checker::run('user.password', $password_hash) );
} }
public function testPasswordSizeSupIncorrect(){ public function testPasswordSizeSupIncorrect(){
$password_hash = \manager\sessionManager::secure_hash('monmotdepasse').'a'; $password_hash = \manager\sessionManager::secure_hash('monmotdepasse').'a';
$this->assertGreaterThan( 40, strlen($password_hash) ); $this->assertGreaterThan( 40, strlen($password_hash) );
$this->assertFalse( \manager\Checker::run('user.password', $password_hash) ); $this->assertFalse( \api\core\Checker::run('user.password', $password_hash) );
} }
public function testPasswordContentCorrect(){ public function testPasswordContentCorrect(){
$this->assertTrue( \manager\Checker::run('user.password', 'dd629d39c4576731a2bef003c72ff89d6fc2a99a') ); $this->assertTrue( \api\core\Checker::run('user.password', 'dd629d39c4576731a2bef003c72ff89d6fc2a99a') );
} }
public function testPasswordContentIncorrect(){ public function testPasswordContentIncorrect(){
$this->assertContains( 'g', 'dd629d39c4576731a2bef003c72ff89d6fc2a9g' ); $this->assertContains( 'g', 'dd629d39c4576731a2bef003c72ff89d6fc2a9g' );
$this->assertFalse( \manager\Checker::run('user.password', 'dd629d39c4576731a2bef003c72ff89d6fc2a9g') ); $this->assertFalse( \api\core\Checker::run('user.password', 'dd629d39c4576731a2bef003c72ff89d6fc2a9g') );
} }
@ -221,42 +221,42 @@
=========================================================*/ =========================================================*/
/* (1) Type */ /* (1) Type */
public function testStatusTypeIntCorrect(){ public function testStatusTypeIntCorrect(){
$this->assertTrue( \manager\Checker::run('user.status', 1) ); $this->assertTrue( \api\core\Checker::run('user.status', 1) );
} }
public function testStatusTypeStringCorrect(){ public function testStatusTypeStringCorrect(){
$this->assertTrue( \manager\Checker::run('user.status', '1') ); $this->assertTrue( \api\core\Checker::run('user.status', '1') );
} }
public function testStatusTypeIntIncorrect(){ public function testStatusTypeIntIncorrect(){
$this->assertFalse( \manager\Checker::run('user.status', 1.03) ); $this->assertFalse( \api\core\Checker::run('user.status', 1.03) );
} }
public function testStatusTypeStringIncorrect(){ public function testStatusTypeStringIncorrect(){
$this->assertFalse( \manager\Checker::run('user.status', '1.03') ); $this->assertFalse( \api\core\Checker::run('user.status', '1.03') );
} }
/* (2) Size */ /* (2) Size */
public function testStatusSizeInfCorrect(){ public function testStatusSizeInfCorrect(){
$this->assertGreaterThanOrEqual( 0, 0 ); $this->assertGreaterThanOrEqual( 0, 0 );
$this->assertTrue( \manager\Checker::run('user.status', 0) ); $this->assertTrue( \api\core\Checker::run('user.status', 0) );
} }
public function testStatusSizeSupCorrect(){ public function testStatusSizeSupCorrect(){
$this->assertLessThanOrEqual( 100, 100 ); $this->assertLessThanOrEqual( 100, 100 );
$this->assertTrue( \manager\Checker::run('user.status', 100) ); $this->assertTrue( \api\core\Checker::run('user.status', 100) );
} }
public function testStatusSizeInfIncorrect(){ public function testStatusSizeInfIncorrect(){
$this->assertLessThan( 0, -1 ); $this->assertLessThan( 0, -1 );
$this->assertFalse( \manager\Checker::run('user.status', -1) ); $this->assertFalse( \api\core\Checker::run('user.status', -1) );
} }
public function testStatusSizeSupIncorrect(){ public function testStatusSizeSupIncorrect(){
$this->assertGreaterThan( 100, 101 ); $this->assertGreaterThan( 100, 101 );
$this->assertFalse( \manager\Checker::run('user.status', 101) ); $this->assertFalse( \api\core\Checker::run('user.status', 101) );
} }

View File

@ -5,17 +5,17 @@
/* [1] Verification du chargement de la config /* [1] Verification du chargement de la config
=========================================================*/ =========================================================*/
public function testGetInstanceWithNoSERVER(){ public function testGetInstanceWithNoSERVER(){
$instance = \manager\Database::getInstance(); $instance = \database\core\Database::getInstance();
$this->assertEquals( 'localhost', $instance->getConfig()['host'] ); $this->assertEquals( 'localhost', $instance->getConfig()['host'] );
} }
public function testGetInstanceWithSERVERLocal(){ public function testGetInstanceWithSERVERLocal(){
// Pour regenerer une instance, on definit une erreur // Pour regenerer une instance, on definit une erreur
\manager\Database::$error = \manager\ManagerError::PDOConnection; \database\core\Database::$error = \manager\ManagerError::PDOConnection;
$instance = \manager\Database::getInstance(); $instance = \database\core\Database::getInstance();
$this->assertEquals( 'localhost', $instance->getConfig()['host'] ); $this->assertEquals( 'localhost', $instance->getConfig()['host'] );
} }
@ -25,20 +25,20 @@
/* [2] Verification du singleton (getInstance) /* [2] Verification du singleton (getInstance)
=========================================================*/ =========================================================*/
public function testInstancePersistence(){ public function testInstancePersistence(){
\manager\Database::$error = \manager\ManagerError::PDOConnection; \database\core\Database::$error = \manager\ManagerError::PDOConnection;
$instance_construct = \manager\Database::getInstance(); $instance_construct = \database\core\Database::getInstance();
$instance_nextuse = \manager\Database::getInstance(); $instance_nextuse = \database\core\Database::getInstance();
$this->assertSame( $instance_construct, $instance_nextuse ); $this->assertSame( $instance_construct, $instance_nextuse );
} }
public function testInstancePersistenceRefutation(){ public function testInstancePersistenceRefutation(){
\manager\Database::$error = \manager\ManagerError::PDOConnection; \database\core\Database::$error = \manager\ManagerError::PDOConnection;
$instance_construct = \manager\Database::getInstance(); $instance_construct = \database\core\Database::getInstance();
\manager\Database::$error = \manager\ManagerError::PDOConnection; \database\core\Database::$error = \manager\ManagerError::PDOConnection;
$instance_nextuse = \manager\Database::getInstance(); $instance_nextuse = \database\core\Database::getInstance();
$this->assertNotSame( $instance_construct, $instance_nextuse ); $this->assertNotSame( $instance_construct, $instance_nextuse );
} }
@ -48,7 +48,7 @@
/* [3] Verification de l'objet PDO /* [3] Verification de l'objet PDO
=========================================================*/ =========================================================*/
public function testPDO(){ public function testPDO(){
$pdo = \manager\Database::getPDO(); $pdo = \database\core\Database::getPDO();
$this->assertGreaterThan( 10, count($pdo->query('SELECT * FROM user')->fetchAll()), '[!] Moins de 10 utilisateurs trouves.'); $this->assertGreaterThan( 10, count($pdo->query('SELECT * FROM user')->fetchAll()), '[!] Moins de 10 utilisateurs trouves.');
} }

View File

@ -5,11 +5,11 @@
/* [0] Verification du type /* [0] Verification du type
=========================================================*/ =========================================================*/
public function testTypeInt(){ public function testTypeInt(){
$this->assertEquals( [], \manager\Database::delNumeric(10) ); $this->assertEquals( [], \database\core\Database::delNumeric(10) );
} }
public function testTypeString(){ public function testTypeString(){
$this->assertEquals( [], \manager\Database::delNumeric('notarray') ); $this->assertEquals( [], \database\core\Database::delNumeric('notarray') );
} }
/* [1] Verification pour 2 dimensions /* [1] Verification pour 2 dimensions
@ -23,7 +23,7 @@
1 => 'Jean Dupont', 1 => 'Jean Dupont',
]]; ]];
$computed_array = \manager\Database::delNumeric( $fetchData ); $computed_array = \database\core\Database::delNumeric( $fetchData );
$this->assertArrayHasKey( 'id', $computed_array[0] ); $this->assertArrayHasKey( 'id', $computed_array[0] );
$this->assertArrayHasKey( 'nom', $computed_array[0] ); $this->assertArrayHasKey( 'nom', $computed_array[0] );
@ -46,7 +46,7 @@
7 => 'Bla' 7 => 'Bla'
]]; ]];
$computed_array = \manager\Database::delNumeric( $fetchData ); $computed_array = \database\core\Database::delNumeric( $fetchData );
$this->assertArrayHasKey( 'id', $computed_array[0] ); $this->assertArrayHasKey( 'id', $computed_array[0] );
$this->assertArrayHasKey( 'nom', $computed_array[0] ); $this->assertArrayHasKey( 'nom', $computed_array[0] );
@ -73,7 +73,7 @@
1 => 'Jean Dupont' 1 => 'Jean Dupont'
]; ];
$computed_array = \manager\Database::delNumeric( $fetchData ); $computed_array = \database\core\Database::delNumeric( $fetchData );
$this->assertArrayHasKey( 'id', $computed_array ); $this->assertArrayHasKey( 'id', $computed_array );
$this->assertArrayHasKey( 'nom', $computed_array ); $this->assertArrayHasKey( 'nom', $computed_array );
@ -96,7 +96,7 @@
7 => 'Bla' 7 => 'Bla'
]; ];
$computed_array = \manager\Database::delNumeric( $fetchData ); $computed_array = \database\core\Database::delNumeric( $fetchData );
$this->assertArrayHasKey( 'id', $computed_array ); $this->assertArrayHasKey( 'id', $computed_array );
$this->assertArrayHasKey( 'nom', $computed_array ); $this->assertArrayHasKey( 'nom', $computed_array );

4
public_html/.htaccess Normal file
View File

@ -0,0 +1,4 @@
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

View File

@ -0,0 +1,7 @@
/* COULEUR DU THEME */
/* COULEUR DU SOUS-MENU */
/* COULEUR DES ERREURS */
/* FORMULAIRES */
/* GESTION DES LONGUEURS */
/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiY29uc3RhbnRzLmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vY29uc3RhbnRzLnNjc3MiCgldLAoJInNvdXJjZXNDb250ZW50IjogWwoJCSIvKiBDT1VMRVVSIERVIFRIRU1FICovXG4kdGhlbWUtY29sb3I6ICNmNDRmMDY7XG5cbi8qIENPVUxFVVIgRFUgU09VUy1NRU5VICovXG4kc3ViLW1lbnUtY29sb3I6ICM1YjVlNjM7XG5cbi8qIENPVUxFVVIgREVTIEVSUkVVUlMgKi9cbiRlcnJvci1jb2xvcjogI2NjNTg1NztcblxuLyogRk9STVVMQUlSRVMgKi9cbiRmb3JtLXZhbGlkLWNvbG9yOiAgICMyN2E1NjA7XG4kZm9ybS1uZXV0cmFsLWNvbG9yOiAjMjE5M2U2O1xuJGZvcm0tc2VhcmNoLWNvbG9yOiAgIzU2MzBlZDtcbiRmb3JtLWludmFsaWQtY29sb3I6ICNkNTI5MTg7XG5cblxuLyogR0VTVElPTiBERVMgTE9OR1VFVVJTICovXG4kbWVudS1zaWRlLXdpZHRoOiA0ZW07XG5cblxuLy8gUE9VUiBSRVNPVVJDRV9ESVNQQVRDSEVSXG4kcmQtZm9ybS12YWxpZC1jb2xvcjogICAnMjdhNTYwJztcbiRyZC1mb3JtLW5ldXRyYWwtY29sb3I6ICcyMTkzZTYnO1xuJHJkLWZvcm0tc2VhcmNoLWNvbG9yOiAgJzU2MzBlZCc7XG4kcmQtZm9ybS1pbnZhbGlkLWNvbG9yOiAnZDUyOTE4JztcbiIKCV0sCgkibWFwcGluZ3MiOiAiQUFBQSxzQkFBc0I7QUFHdEIsMEJBQTBCO0FBRzFCLHlCQUF5QjtBQUd6QixpQkFBaUI7QUFPakIsMkJBQTJCIiwKCSJuYW1lcyI6IFtdCn0= */

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiZ2xvYmFsLmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vZ2xvYmFsLnNjc3MiCgldLAoJInNvdXJjZXNDb250ZW50IjogWwoJCSIiCgldLAoJIm1hcHBpbmdzIjogIiIsCgkibmFtZXMiOiBbXQp9 */

View File

@ -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 */

View File

@ -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

View File

@ -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 */

View File

@ -0,0 +1,2 @@
/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiY29uc3RhbnRzLmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vY29uc3RhbnRzLnNjc3MiCgldLAoJInNvdXJjZXNDb250ZW50IjogWwoJCSIvKiBDT1VMRVVSIERVIFRIRU1FICovXG4kdGhlbWUtY29sb3I6ICNmNDRmMDY7XG5cbi8qIENPVUxFVVIgRFUgU09VUy1NRU5VICovXG4kc3ViLW1lbnUtY29sb3I6ICM1YjVlNjM7XG5cbi8qIENPVUxFVVIgREVTIEVSUkVVUlMgKi9cbiRlcnJvci1jb2xvcjogI2NjNTg1NztcblxuLyogRk9STVVMQUlSRVMgKi9cbiRmb3JtLXZhbGlkLWNvbG9yOiAgICMyN2E1NjA7XG4kZm9ybS1uZXV0cmFsLWNvbG9yOiAjMjE5M2U2O1xuJGZvcm0tc2VhcmNoLWNvbG9yOiAgIzU2MzBlZDtcbiRmb3JtLWludmFsaWQtY29sb3I6ICNkNTI5MTg7XG5cblxuLyogR0VTVElPTiBERVMgTE9OR1VFVVJTICovXG4kbWVudS1zaWRlLXdpZHRoOiA0ZW07XG5cblxuLy8gUE9VUiBSRVNPVVJDRV9ESVNQQVRDSEVSXG4kcmQtZm9ybS12YWxpZC1jb2xvcjogICAnMjdhNTYwJztcbiRyZC1mb3JtLW5ldXRyYWwtY29sb3I6ICcyMTkzZTYnO1xuJHJkLWZvcm0tc2VhcmNoLWNvbG9yOiAgJzU2MzBlZCc7XG4kcmQtZm9ybS1pbnZhbGlkLWNvbG9yOiAnZDUyOTE4JztcbiIKCV0sCgkibWFwcGluZ3MiOiAiIiwKCSJuYW1lcyI6IFtdCn0= */

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiZ2xvYmFsLmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vZ2xvYmFsLnNjc3MiCgldLAoJInNvdXJjZXNDb250ZW50IjogWwoJCSIiCgldLAoJIm1hcHBpbmdzIjogIiIsCgkibmFtZXMiOiBbXQp9 */

View File

@ -0,0 +1,3 @@
#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,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiaGVhZGVyLmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vaGVhZGVyLnNjc3MiLAoJCSIuLi9jb25zdGFudHMuc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIkBpbXBvcnQgJ2NvbnN0YW50cyc7XG5cblxuI1dSQVBQRVIgPiAjSEVBREVSe1xuXHQvLyBJY29uZSBkdSBzaXRlXG5cdCYgPiAuaWNvbntcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0d2lkdGg6ICRtZW51LXNpZGUtd2lkdGg7XG5cdFx0XHRoZWlnaHQ6ICRtZW51LXNpZGUtd2lkdGg7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHRoZW1lLWNvbG9yLCAxMCk7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcvc3JjL3N0YXRpYy9pY29udjIuc3ZnJyk7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogNTAlIDUwJTtcblxuXHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdHRyYW5zaXRpb246IGFsbCAuM3M7XG5cblx0fVxuXG5cdC8qIEFuaW1hdGlvbiBkZSBjaGFyZ2VtZW50IHF1ZG5kIGNoYXJnZW1lbnQgYWpheCAqL1xuXHQmLmxvYWRpbmcgPiAuaWNvbntcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9zcmMvc3RhdGljL2xvYWRlcnYyLnN2ZycpO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogNzAlIDcwJTtcblx0fVxuXG59XG4iLAoJCSIvKiBDT1VMRVVSIERVIFRIRU1FICovXG4kdGhlbWUtY29sb3I6ICNmNDRmMDY7XG5cbi8qIENPVUxFVVIgRFUgU09VUy1NRU5VICovXG4kc3ViLW1lbnUtY29sb3I6ICM1YjVlNjM7XG5cbi8qIENPVUxFVVIgREVTIEVSUkVVUlMgKi9cbiRlcnJvci1jb2xvcjogI2NjNTg1NztcblxuLyogRk9STVVMQUlSRVMgKi9cbiRmb3JtLXZhbGlkLWNvbG9yOiAgICMyN2E1NjA7XG4kZm9ybS1uZXV0cmFsLWNvbG9yOiAjMjE5M2U2O1xuJGZvcm0tc2VhcmNoLWNvbG9yOiAgIzU2MzBlZDtcbiRmb3JtLWludmFsaWQtY29sb3I6ICNkNTI5MTg7XG5cblxuLyogR0VTVElPTiBERVMgTE9OR1VFVVJTICovXG4kbWVudS1zaWRlLXdpZHRoOiA0ZW07XG5cblxuLy8gUE9VUiBSRVNPVVJDRV9ESVNQQVRDSEVSXG4kcmQtZm9ybS12YWxpZC1jb2xvcjogICAnMjdhNTYwJztcbiRyZC1mb3JtLW5ldXRyYWwtY29sb3I6ICcyMTkzZTYnO1xuJHJkLWZvcm0tc2VhcmNoLWNvbG9yOiAgJzU2MzBlZCc7XG4kcmQtZm9ybS1pbnZhbGlkLWNvbG9yOiAnZDUyOTE4JztcbiIKCV0sCgkibWFwcGluZ3MiOiAiQUFHQSxBQUVLLFFBRkcsQ0FBRyxPQUFPLENBRWIsS0FBSyxBQUFBLENBQ1IsT0FBTyxDQUFFLEtBQU0sQ0FDZixRQUFRLENBQUUsUUFBUyxDQUNsQixHQUFHLENBQUUsQ0FBRSxDQUNQLElBQUksQ0FBRSxDQUFFLENBQ1IsS0FBSyxDQ09VLEdBQUcsQ0RObEIsTUFBTSxDQ01TLEdBQUcsQ0RKbkIsZ0JBQWdCLENBQUUsT0FBTSxDQUN4QixnQkFBZ0IsQ0FBRSw2QkFBRyxDQUNyQixtQkFBbUIsQ0FBRSxhQUFjLENBQ25DLGlCQUFpQixDQUFFLFNBQVUsQ0FDN0IsZUFBZSxDQUFFLE9BQVEsQ0FFekIsTUFBTSxDQUFFLE9BQVEsQ0FFaEIsVUFBVSxDQUFFLE9BQVEsQ0FFcEIsQUFwQkYsQUF1QmEsUUF2QkwsQ0FBRyxPQUFPLEFBdUJoQixRQUFRLENBQUcsS0FBSyxBQUFBLENBQ2hCLGdCQUFnQixDQUFFLCtCQUFHLENBQ3JCLGVBQWUsQ0FBRSxPQUFRLENBQ3pCIiwKCSJuYW1lcyI6IFtdCn0= */

View File

@ -0,0 +1,3 @@
#WRAPPER{display:block;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#edf0f5;font-family:'Open Sans', 'Ubuntu'}#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+ICNDT05UQUlORVJ7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6ICRtZW51LXNpZGUtd2lkdGg7XG5cdFx0XHRsZWZ0OiAkbWVudS1zaWRlLXdpZHRoO1xuXHRcdFx0d2lkdGg6IGNhbGMoIDEwMCUgLSAjeyRtZW51LXNpZGUtd2lkdGh9IC0gMioxZW0gKTtcblx0XHRcdGhlaWdodDogY2FsYyggMTAwJSAtICN7JG1lbnUtc2lkZS13aWR0aH0gLSAyKjFlbSApO1xuXHRcdHBhZGRpbmc6IDFlbTtcblxuXHRcdC8vIEZsZXggcHJvcGVydGllc1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdFx0b3ZlcmZsb3cteDogbm9uZTtcblx0XHRvdmVyZmxvdy15OiBhdXRvO1xuXHR9XG59XG4iLAoJCSIvKiBDT1VMRVVSIERVIFRIRU1FICovXG4kdGhlbWUtY29sb3I6ICNmNDRmMDY7XG5cbi8qIENPVUxFVVIgRFUgU09VUy1NRU5VICovXG4kc3ViLW1lbnUtY29sb3I6ICM1YjVlNjM7XG5cbi8qIENPVUxFVVIgREVTIEVSUkVVUlMgKi9cbiRlcnJvci1jb2xvcjogI2NjNTg1NztcblxuLyogRk9STVVMQUlSRVMgKi9cbiRmb3JtLXZhbGlkLWNvbG9yOiAgICMyN2E1NjA7XG4kZm9ybS1uZXV0cmFsLWNvbG9yOiAjMjE5M2U2O1xuJGZvcm0tc2VhcmNoLWNvbG9yOiAgIzU2MzBlZDtcbiRmb3JtLWludmFsaWQtY29sb3I6ICNkNTI5MTg7XG5cblxuLyogR0VTVElPTiBERVMgTE9OR1VFVVJTICovXG4kbWVudS1zaWRlLXdpZHRoOiA0ZW07XG5cblxuLy8gUE9VUiBSRVNPVVJDRV9ESVNQQVRDSEVSXG4kcmQtZm9ybS12YWxpZC1jb2xvcjogICAnMjdhNTYwJztcbiRyZC1mb3JtLW5ldXRyYWwtY29sb3I6ICcyMTkzZTYnO1xuJHJkLWZvcm0tc2VhcmNoLWNvbG9yOiAgJzU2MzBlZCc7XG4kcmQtZm9ybS1pbnZhbGlkLWNvbG9yOiAnZDUyOTE4JztcbiIKCV0sCgkibWFwcGluZ3MiOiAiQUFFQSxBQUFBLFFBQVEsQUFBQSxDQUNQLE9BQU8sQ0FBRSxLQUFNLENBQ2YsUUFBUSxDQUFFLEtBQU0sQ0FDZixHQUFHLENBQUUsQ0FBRSxDQUNQLElBQUksQ0FBRSxDQUFFLENBQ1IsS0FBSyxDQUFFLElBQUssQ0FDWixNQUFNLENBQUUsSUFBSyxDQUVkLGdCQUFnQixDQUFFLE9BQVEsQ0FFMUIsV0FBVyxDQUFFLHFCQUFzQixDQTZEbkMsQUF2RUQsQUFlSyxRQWZHLENBZUgsT0FBTyxBQUFBLENBQ1YsT0FBTyxDQUFFLEtBQU0sQ0FDZixRQUFRLENBQUUsUUFBUyxDQUNsQixHQUFHLENBQUUsQ0FBRSxDQUNQLElBQUksQ0FBRSxDQUFFLENBQ1IsS0FBSyxDQUFFLElBQUssQ0FDWixNQUFNLENBQUUsZ0JBQUksQ0FFYixhQUFhLENBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFNLENBRS9CLGdCQUFnQixDQzFCSixPQUFPLENENEJuQixPQUFPLENBQUUsRUFBRyxDQUVaLEFBN0JGLEFBbUNLLFFBbkNHLENBbUNILFVBQVUsQUFBQSxDQUNiLE9BQU8sQ0FBRSxLQUFNLENBQ2YsUUFBUSxDQUFFLFFBQVMsQ0FDbEIsR0FBRyxDQ3ZCWSxHQUFHLENEd0JsQixJQUFJLENBQUUsQ0FBRSxDQUNSLEtBQUssQ0N6QlUsR0FBRyxDRDBCbEIsTUFBTSxDQUFFLElBQUssQ0FFZCxVQUFVLENBQUUsZ0JBQWlCLENBRTdCLGdCQUFnQixDQUFFLElBQUssQ0FFdkIsVUFBVSxDQUFFLE9BQVEsQ0FFcEIsT0FBTyxDQUFFLENBQUUsQ0FDWCxBQWxERixBQXVESyxRQXZERyxDQXVESCxVQUFVLEFBQUEsQ0FDYixPQUFPLENBQUUsSUFBSyxDQUNkLFFBQVEsQ0FBRSxRQUFTLENBQ2xCLEdBQUcsQ0MzQ1ksR0FBRyxDRDRDbEIsSUFBSSxDQzVDVyxHQUFHLENENkNsQixLQUFLLENBQUUseUJBQUksQ0FDWCxNQUFNLENBQUUseUJBQUksQ0FDYixPQUFPLENBQUUsR0FBSSxDQUdiLGNBQWMsQ0FBRSxHQUFJLENBQ3BCLGVBQWUsQ0FBRSxhQUFjLENBRS9CLFVBQVUsQ0FBRSxJQUFLLENBQ2pCLFVBQVUsQ0FBRSxJQUFLLENBQ2pCIiwKCSJuYW1lcyI6IFtdCn0= */

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,3 @@
#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+IHNwYW5bZGF0YS1zdWJsaW5rXTpudGgtY2hpbGQoMSl7XG5cdFx0bWFyZ2luLXRvcDogMWVtO1xuXHR9XG5cbn1cbiIsCgkJIi8qIENPVUxFVVIgRFUgVEhFTUUgKi9cbiR0aGVtZS1jb2xvcjogI2Y0NGYwNjtcblxuLyogQ09VTEVVUiBEVSBTT1VTLU1FTlUgKi9cbiRzdWItbWVudS1jb2xvcjogIzViNWU2MztcblxuLyogQ09VTEVVUiBERVMgRVJSRVVSUyAqL1xuJGVycm9yLWNvbG9yOiAjY2M1ODU3O1xuXG4vKiBGT1JNVUxBSVJFUyAqL1xuJGZvcm0tdmFsaWQtY29sb3I6ICAgIzI3YTU2MDtcbiRmb3JtLW5ldXRyYWwtY29sb3I6ICMyMTkzZTY7XG4kZm9ybS1zZWFyY2gtY29sb3I6ICAjNTYzMGVkO1xuJGZvcm0taW52YWxpZC1jb2xvcjogI2Q1MjkxODtcblxuXG4vKiBHRVNUSU9OIERFUyBMT05HVUVVUlMgKi9cbiRtZW51LXNpZGUtd2lkdGg6IDRlbTtcblxuXG4vLyBQT1VSIFJFU09VUkNFX0RJU1BBVENIRVJcbiRyZC1mb3JtLXZhbGlkLWNvbG9yOiAgICcyN2E1NjAnO1xuJHJkLWZvcm0tbmV1dHJhbC1jb2xvcjogJzIxOTNlNic7XG4kcmQtZm9ybS1zZWFyY2gtY29sb3I6ICAnNTYzMGVkJztcbiRyZC1mb3JtLWludmFsaWQtY29sb3I6ICdkNTI5MTgnO1xuIgoJXSwKCSJtYXBwaW5ncyI6ICJBQUdBLEFBQWEsVUFBSCxDQUFHLGNBQWMsQUFBQSxDQUMxQixPQUFPLENBQUUsS0FBTSxDQUNmLFFBQVEsQ0FBRSxRQUFTLENBNkRuQixBQS9ERCxBQUtzQixVQUxaLENBQUcsY0FBYyxDQUt0QixJQUFJLENBQUEsQUFBQSxZQUFDLEFBQUEsQ0FBYSxDQUNyQixPQUFPLENBQUUsS0FBTSxDQUNmLFFBQVEsQ0FBRSxRQUFTLENBQ2xCLEtBQUssQ0FBRSxLQUFNLENBRWQsT0FBTyxDQUFFLGlCQUFrQixDQUMzQixNQUFNLENBQUUsR0FBSSxDQUVaLGFBQWEsQ0FBRSxHQUFJLENBRW5CLEtBQUssQ0NkVSxPQUFPLENEZXRCLFdBQVcsQ0FBRSxhQUFjLENBQzNCLFdBQVcsQ0FBRSxNQUFPLENBRXBCLFVBQVUsQ0FBRSxPQUFRLENBRXBCLE1BQU0sQ0FBRSxPQUFRLENBRWhCLFFBQVEsQ0FBRSxNQUFPLENBZ0NqQixBQXZERixBQTBCYSxVQTFCSCxDQUFHLGNBQWMsQ0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLEVBcUJKLElBQUksQ0FBRyxHQUFHLEFBQUEsQ0FDYixPQUFPLENBQUUsWUFBYSxDQUN0QixRQUFRLENBQUUsUUFBUyxDQUNsQixJQUFJLENBQUUsSUFBSyxDQUVYLEdBQUcsQ0FBRSxHQUFJLENBQ1QsS0FBSyxDQUFFLEdBQUksQ0FDWCxNQUFNLENBQUUsR0FBSSxDQUViLFNBQVMsQ0FBRSxnQkFBVSxDQU1yQixBQXpDSCxBQXNDSyxVQXRDSyxDQUFHLGNBQWMsQ0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLEVBcUJKLElBQUksQ0FBRyxHQUFHLENBWVgsSUFBSSxBQUFBLENBQ0wsSUFBSSxDQ3RDUyxPQUFPLENEc0NFLFVBQVUsQ0FDaEMsQUF4Q0osQUFLc0IsVUFMWixDQUFHLGNBQWMsQ0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLENBc0NQLE1BQU0sQ0EzQ1QsQUFLc0IsVUFMWixDQUFHLGNBQWMsQ0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLENBdUNQLE9BQU8sQUFBQSxDQUNQLEtBQUssQ0FBRSxPQUFNLENBQ2IsZ0JBQWdCLENBQUUsT0FBUSxDQUMxQixVQUFVLENBQUUscUJBQXNCLENBTWxDLEFBckRILEFBaURrQixVQWpEUixDQUFHLGNBQWMsQ0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLENBc0NQLE1BQU0sQ0FNRixJQUFJLENBQUcsR0FBRyxDQUFDLElBQUksQ0FqRHRCLEFBaURrQixVQWpEUixDQUFHLGNBQWMsQ0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLENBdUNQLE9BQU8sQ0FLSCxJQUFJLENBQUcsR0FBRyxDQUFDLElBQUksQUFBQSxDQUNsQixJQUFJLENBQUUsT0FBTSxDQUFzQixVQUFVLENBQzVDLEFBbkRKLEFBMkRtQyxVQTNEekIsQ0FBRyxjQUFjLENBMkR0QixJQUFJLENBQUEsQUFBQSxZQUFDLEFBQUEsQ0FBYSxVQUFXLENBQUEsQUFBQSxDQUFDLENBQUMsQ0FDbEMsVUFBVSxDQUFFLEdBQUksQ0FDaEIiLAoJIm5hbWVzIjogW10KfQ== */

View File

@ -1,13 +1,14 @@
<?php define('__ROOT__', dirname(__FILE__) ); <?php define('__ROOT__', dirname(dirname(__FILE__)) );
require_once __ROOT__.'/manager/autoloader.php'; require_once __ROOT__.'/autoloader.php';
use \router\Router; use \router\core\Router;
use \manager\ModuleRequest; use \api\core\ModuleRequest;
use \manager\ModuleResponse; use \api\core\ModuleResponse;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\Authentification; use \api\core\Authentification;
/*******************************************/ /*******************************************/
@ -53,7 +54,7 @@
/* (2) Gestion des SVG avec couleur modifiée */ /* (2) Gestion des SVG avec couleur modifiée */
// path/to/resource/filename-HEXADE.svg // path/to/resource/filename-HEXADE.svg
$R->get('(.+)@([a-f0-9]{6})(\.svg)', function($matches){ $R->get('(.+)@([a-f0-9]{6})(\.svg)', function($matches){
$path = __ROOT__.'/'.$matches[0].$matches[2]; $path = __PUBLIC__.'/'.$matches[0].$matches[2];
header('Content-Type: image/svg+xml'); header('Content-Type: image/svg+xml');
@ -93,7 +94,7 @@
if( !preg_match('#^(?:'.implode('|', $page_list).')(?:/[\w-]+)*/?$#i', $m[0]) ) if( !preg_match('#^(?:'.implode('|', $page_list).')(?:/[\w-]+)*/?$#i', $m[0]) )
header(__REDIRECT__); header(__REDIRECT__);
else else
include __ROOT__.'/view/view.php'; include __PUBLIC__.'/view/view.php';
}); });
@ -102,13 +103,14 @@
$R->get('(.*)', function($m){ $R->get('(.*)', function($m){
if( !preg_match('#^admin/$#', $m[0]) ) header(__REDIRECT__); if( !preg_match('#^admin/$#', $m[0]) ) header(__REDIRECT__);
else include __ROOT__.'/view/admin.php'; else include __PUBLIC__.'/view/admin.php';
}); });
}else{ }else{
$R->get('(.*)', function($m){ $R->get('(.*)', function($m){
if( !preg_match('#^warehouse/$#', $m[0]) ) header(__REDIRECT__); if( !preg_match('#^warehouse/$#', $m[0]) ) header(__REDIRECT__);
else include __ROOT__.'/view/warehouse.php'; else include __PUBLIC__.'/view/warehouse.php';
}); });
} }

View File

@ -28,7 +28,9 @@ localStorageInterface.prototype = {
*/ */
set: function(dataset_name, key, value){ set: function(dataset_name, key, value){
// On met la clé en <String> // On met la clé en <String>
key = key.toString(); key = key != null && key.toString() || null;
if( key === false ) return false;
/* (1) Si le 'dataset' n'existe pas */ /* (1) Si le 'dataset' n'existe pas */
var index = this.dataset.indexOf(dataset_name); var index = this.dataset.indexOf(dataset_name);
@ -55,11 +57,10 @@ localStorageInterface.prototype = {
* *
*/ */
get: function(dataset_name, key){ get: function(dataset_name, key){
if( key == null )
return null;
// On met la clé en <String> // On met la clé en <String>
key = key.toString(); key = key != null && key.toString() || null;
if( key === false ) return false;
/* (1) Si le 'dataset' n'existe pas */ /* (1) Si le 'dataset' n'existe pas */
if( this.dataset.indexOf(dataset_name) == -1 ) return false; // erreur if( this.dataset.indexOf(dataset_name) == -1 ) return false; // erreur
@ -78,7 +79,9 @@ localStorageInterface.prototype = {
*/ */
del: function(dataset, key){ del: function(dataset, key){
// On met la clé en <String> // On met la clé en <String>
key = key.toString(); key = key != null && key.toString() || null;
if( key === false ) return false;
/* (1) Si le 'dataset' n'existe pas */ /* (1) Si le 'dataset' n'existe pas */
var index = this.dataset.indexOf(dataset); var index = this.dataset.indexOf(dataset);
@ -191,12 +194,8 @@ localStorageInterface.prototype = {
var index = this.dataset.indexOf(dataset); var index = this.dataset.indexOf(dataset);
/* (2) Cas 1 : Le dataset n'existe pas -> on le crée */ /* (2) Cas 1 : Le dataset n'existe pas -> on le crée */
if( index == -1 )
this.createDataset(dataset);
/* (3) Cas 2 : Le dataset existe -> on le vide */ /* (3) Cas 2 : Le dataset existe -> on le vide */
else ~index && this.createDataset(dataset) || this.clear(dataset);
this.clear(dataset);

Some files were not shown because too many files have changed in this diff Show More