Suppression de ResourceDispatcher en cours

This commit is contained in:
xdrm-brackets 2016-09-11 12:06:40 +02:00
parent 0bed2f351b
commit 0af02f1243
55 changed files with 388 additions and 328 deletions

4
.htaccess Normal file
View File

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

View File

@ -1,7 +1,6 @@
<?php <?php
namespace api; namespace api;
use \manager\ResourceDispatcher;
use \manager\ManagerError; use \manager\ManagerError;
/* CLASSE PERMETANT L'UTILISATION DU manifest.json POUR UTILISER DES APIS DIVERSES /* CLASSE PERMETANT L'UTILISATION DU manifest.json POUR UTILISER DES APIS DIVERSES
@ -12,7 +11,7 @@
class client{ class client{
// Fichier de configuration par defaut // Fichier de configuration par defaut
private $config_path = 'f/json/manifest/api'; private $config_path = __ROOT__.'/api/manifest.json';
public $error; public $error;
// liste des methodes // liste des methodes
@ -46,7 +45,7 @@
/* [1] On recupere le contenu du fichier de config /* [1] On recupere le contenu du fichier de config
=========================================================*/ =========================================================*/
$manifest = json_decode( ResourceDispatcher::getResource($this->config_path), true ); $manifest = json_decode( file_get_contents($this->config_path), true );
// Si erreur de parsage ou de fichier, on retourne une erreur // Si erreur de parsage ou de fichier, on retourne une erreur
if( $manifest === null ){ if( $manifest === null ){

View File

@ -5,7 +5,6 @@
use \manager\ModuleRequest; use \manager\ModuleRequest;
use \manager\ResourceDispatcher;
use \manager\sessionManager; use \manager\sessionManager;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\Repo; use \manager\Repo;

View File

@ -1,6 +1,6 @@
[ [
{ "icon": "f/svg/home/st/menu-side", "text": "Tableau de bord", { "icon": "/src/static/menu-side/home.svg", "text": "Tableau de bord",
"attributes": { "data-link": "dashboard", "class": "sep" }, "attributes": { "data-link": "dashboard", "class": "sep" },
"children": [ "children": [
@ -12,7 +12,7 @@
}, },
{ "icon": "f/svg/input/st/menu-side", "text": "Acquisition", { "icon": "/src/static/menu-side/input.svg", "text": "Acquisition",
"attributes": { "data-link": "input" }, "attributes": { "data-link": "input" },
"children": [ "children": [
@ -26,7 +26,7 @@
}, },
{ "icon": "f/svg/charts/st/menu-side", "text": "Graphiques", { "icon": "/src/static/menu-side/charts.svg", "text": "Graphiques",
"attributes": { "data-link": "charts", "class": "sep" }, "attributes": { "data-link": "charts", "class": "sep" },
"children": [ "children": [
@ -38,7 +38,7 @@
}, },
{ "icon": "f/svg/analytics/st/menu-side", "text": "Données", { "icon": "/src/static/menu-side/analytics.svg", "text": "Données",
"attributes": { "data-link": "data" }, "attributes": { "data-link": "data" },
"children": [ "children": [
@ -52,7 +52,7 @@
}, },
{ "icon": "f/svg/settings/st/menu-side", "text": "Paramètres", { "icon": "/src/static/menu-side/settings.svg", "text": "Paramètres",
"attributes": { "data-link": "settings" }, "attributes": { "data-link": "settings" },
"children": [ "children": [

View File

@ -443,6 +443,15 @@
"survey": { "description": "Si vaut TRUE, renvoie les sujets ResTIC.", "type": "boolean", "optional": true }, "survey": { "description": "Si vaut TRUE, renvoie les sujets ResTIC.", "type": "boolean", "optional": true },
"all": { "description": "Si vaut TRUE, renvoie tous les sujets enregistrés.", "type": "boolean", "optional": true } "all": { "description": "Si vaut TRUE, renvoie tous les sujets enregistrés.", "type": "boolean", "optional": true }
} }
},
"menu": {
"description": "Contenu de la configuration du menu.",
"permissions": ["admin"],
"parameters": {},
"output": {
"menu": { "description": "Contenu formatté de la configuration du menu.", "type": "array<mixed>" }
}
} }
} }
} }

View File

@ -117,7 +117,7 @@
& input[type="radio"]:checked + label[for]:before, & input[type="radio"]:checked + label[for]:before,
& input[type="checkbox"]:checked + label[for]:before{ & input[type="checkbox"]:checked + label[for]:before{
background-color: $theme-fg-primary; background-color: $theme-fg-primary;
background-image: url('/f/svg/checked/st/container'); background-image: url('src/static/container/checked.svg');
} }

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

@ -65,11 +65,11 @@
border-radius: 50% / 50%; border-radius: 50% / 50%;
background: $theme-bg url('/f/svg/nopic/st/header') center center no-repeat; background: $theme-bg url('/src/static/header/nopic.svg') center center no-repeat;
background-size: auto 80%; background-size: auto 80%;
// Si on est connecte // Si on est connecte
&.active{ background-image: url('/f/svg/sample/dy/profile'); background-size: auto 100%; } &.active{ background-image: url('/src/dynamic/profile/sample.svg'); background-size: auto 100%; }
cursor: default; cursor: default;
@ -88,7 +88,7 @@
width: $header-height; width: $header-height;
height: $header-height; height: $header-height;
background: url('/f/svg/expand/st/header/000000') center center no-repeat; background: url('/src/static/header/expand.svg@000000') center center no-repeat;
background-size: 1em 1em; background-size: 1em 1em;
cursor: pointer; cursor: pointer;

File diff suppressed because one or more lines are too long

View File

@ -6,9 +6,9 @@
"../constants.scss" "../constants.scss"
], ],
"sourcesContent": [ "sourcesContent": [
"@import 'constants';\n\n\n#WRAPPER > #HEADER{\n\n\t/* [1] Barre de recherche\n\t=========================================================*/\n\t& > #searchbar{\n\t\tdisplay: inline-block;\n\t\tposition: absolute;\n\t\t\ttop: .8em;\n\t\t\tleft: 1em;\n\t\t\twidth: 20em;\n\t\t\theight: 2em;\n\n\t\tpadding: .2em 1em;\n\n\t\tborder: 0;\n\t\tborder-radius: 3px;\n\n\t\tbackground-color: $theme-bg;\n\n\t}\n\n\t/* [2] Informations utilisateur\n\t=========================================================*/\n\t/* (0) Conteneur */\n\t& > #user-data{\n\t\tdisplay: inline-block;\n\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\theight: calc( 100% - 2*1em );\n\n\n\t\t/* (1) Username de l'utilisateur */\n\t\t& > #user-name{\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tright: calc( #{$header-height}*2 - 1em );\n\t\t\t\theight: $header-height;\n\n\t\t\tpadding: 0 1em;\n\n\t\t\tcolor: #555;\n\t\t\tline-height: $header-height;\n\t\t\twhite-space: nowrap;\n\t\t\tfont-weight: bold;\n\n\t\t\tcursor: pointer;\n\n\t\t}\n\n\n\t\t/* (2) Image du profil */\n\t\t& > #user-picture{\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\t\ttop: 1em;\n\t\t\t\tright: $header-height;\n\t\t\t\twidth: calc( #{$header-height} - 2*1em );\n\t\t\t\theight: calc( #{$header-height} - 2*1em );\n\n\n\t\t\tborder-radius: 50% / 50%;\n\n\t\t\tbackground: $theme-bg url('/f/svg/nopic/st/header') center center no-repeat;\n\t\t\tbackground-size: auto 80%;\n\n\t\t\t// Si on est connecte\n\t\t\t&.active{ background-image: url('/f/svg/sample/dy/profile'); background-size: auto 100%; }\n\n\t\t\tcursor: default;\n\n\t\t\talign-self: center;\n\t\t}\n\n\n\n\t\t/* (3) Icone d'activation */\n\t\t&:before{\n\t\t\tcontent: '';\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tright: 0;\n\t\t\t\twidth: $header-height;\n\t\t\t\theight: $header-height;\n\n\t\t\tbackground: url('/f/svg/expand/st/header/000000') center center no-repeat;\n\t\t\tbackground-size: 1em 1em;\n\n\t\t\tcursor: pointer;\n\n\t\t}\n\n\n\t}\n\n\n\n\t/* [3] Menu deroulant pour l'administration du profil\n\t=========================================================*/\n\t& > .user-panel{\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\t\ttop: calc( #{$header-height} - 1em );\n\t\t\tright: 0;\n\n\t\tmargin: .5em;\n\n\t\tborder-radius: 5px;\n\t\tborder: 1px solid darken($theme-bg, 10);\n\n\t\tbackground-color: #fff;\n\n\t\t@include transition( left .3s ease-in-out );\n\n\n\t\t/* (1) Pour chaque element du menu */\n\t\t& > span{\n\t\t\tdisplay: block;\n\t\t\tposition: relative;\n\n\t\t\t// On ajoute une ligne en dessous sauf pour le dernier\n\t\t\t&:not(:last-child){\n\t\t\t\tborder-bottom: 1px solid #ddd;\n\t\t\t}\n\n\t\t\tcolor: #000;\n\t\t\tpadding: .5em 1em;\n\t\t\tpadding-left: 2em;\n\n\t\t\tcursor: pointer;\n\n\t\t\t// @hover\n\t\t\t&:hover{\n\t\t\t\tbackground-color: #eee;\n\t\t\t}\n\t\t}\n\n\n\n\n\t}\n\n\t/* (3) Gestion de l'activation ou non de l'user panel */\n\t& > #toggle-user-panel{ display: none; }\n\t& > #toggle-user-panel + .user-panel{ left: 100%; }\n\t& > #toggle-user-panel:checked + .user-panel{ left: auto; }\n\t& > #toggle-user-panel:checked + .user-panel:before{ left: 7em; }\n\n\n\n\n\n\n}\n", "@import 'constants';\n\n\n#WRAPPER > #HEADER{\n\n\t/* [1] Barre de recherche\n\t=========================================================*/\n\t& > #searchbar{\n\t\tdisplay: inline-block;\n\t\tposition: absolute;\n\t\t\ttop: .8em;\n\t\t\tleft: 1em;\n\t\t\twidth: 20em;\n\t\t\theight: 2em;\n\n\t\tpadding: .2em 1em;\n\n\t\tborder: 0;\n\t\tborder-radius: 3px;\n\n\t\tbackground-color: $theme-bg;\n\n\t}\n\n\t/* [2] Informations utilisateur\n\t=========================================================*/\n\t/* (0) Conteneur */\n\t& > #user-data{\n\t\tdisplay: inline-block;\n\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\theight: calc( 100% - 2*1em );\n\n\n\t\t/* (1) Username de l'utilisateur */\n\t\t& > #user-name{\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tright: calc( #{$header-height}*2 - 1em );\n\t\t\t\theight: $header-height;\n\n\t\t\tpadding: 0 1em;\n\n\t\t\tcolor: #555;\n\t\t\tline-height: $header-height;\n\t\t\twhite-space: nowrap;\n\t\t\tfont-weight: bold;\n\n\t\t\tcursor: pointer;\n\n\t\t}\n\n\n\t\t/* (2) Image du profil */\n\t\t& > #user-picture{\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\t\ttop: 1em;\n\t\t\t\tright: $header-height;\n\t\t\t\twidth: calc( #{$header-height} - 2*1em );\n\t\t\t\theight: calc( #{$header-height} - 2*1em );\n\n\n\t\t\tborder-radius: 50% / 50%;\n\n\t\t\tbackground: $theme-bg url('/src/static/header/nopic.svg') center center no-repeat;\n\t\t\tbackground-size: auto 80%;\n\n\t\t\t// Si on est connecte\n\t\t\t&.active{ background-image: url('/src/dynamic/profile/sample.svg'); background-size: auto 100%; }\n\n\t\t\tcursor: default;\n\n\t\t\talign-self: center;\n\t\t}\n\n\n\n\t\t/* (3) Icone d'activation */\n\t\t&:before{\n\t\t\tcontent: '';\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tright: 0;\n\t\t\t\twidth: $header-height;\n\t\t\t\theight: $header-height;\n\n\t\t\tbackground: url('/src/static/header/expand.svg@000000') center center no-repeat;\n\t\t\tbackground-size: 1em 1em;\n\n\t\t\tcursor: pointer;\n\n\t\t}\n\n\n\t}\n\n\n\n\t/* [3] Menu deroulant pour l'administration du profil\n\t=========================================================*/\n\t& > .user-panel{\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\t\ttop: calc( #{$header-height} - 1em );\n\t\t\tright: 0;\n\n\t\tmargin: .5em;\n\n\t\tborder-radius: 5px;\n\t\tborder: 1px solid darken($theme-bg, 10);\n\n\t\tbackground-color: #fff;\n\n\t\t@include transition( left .3s ease-in-out );\n\n\n\t\t/* (1) Pour chaque element du menu */\n\t\t& > span{\n\t\t\tdisplay: block;\n\t\t\tposition: relative;\n\n\t\t\t// On ajoute une ligne en dessous sauf pour le dernier\n\t\t\t&:not(:last-child){\n\t\t\t\tborder-bottom: 1px solid #ddd;\n\t\t\t}\n\n\t\t\tcolor: #000;\n\t\t\tpadding: .5em 1em;\n\t\t\tpadding-left: 2em;\n\n\t\t\tcursor: pointer;\n\n\t\t\t// @hover\n\t\t\t&:hover{\n\t\t\t\tbackground-color: #eee;\n\t\t\t}\n\t\t}\n\n\n\n\n\t}\n\n\t/* (3) Gestion de l'activation ou non de l'user panel */\n\t& > #toggle-user-panel{ display: none; }\n\t& > #toggle-user-panel + .user-panel{ left: 100%; }\n\t& > #toggle-user-panel:checked + .user-panel{ left: auto; }\n\t& > #toggle-user-panel:checked + .user-panel:before{ left: 7em; }\n\n\n\n\n\n\n}\n",
"/* [1] COULEURS\n=========================================================*/\n/* (1) COULEURS DU THEME $DEFAULT */\n$theme-bg: #e8e8e8;\n$theme-bg-primary: #ffffff;\n$theme-fg: #515151;\n$theme-fg-primary: #399ced;\n\n/* (2) COULEURS DE THEME $DARK */\n$dark-bg: #313541;\n$dark-bg-primary: #29282e;\n$dark-fg: #939393;\n$dark-fg-primary: #ffffff;\n\n$header-dark: #F8F8FA;\n\n/* (3) Couleurs du theme pour la timeline */\n$timeline-color: #738394;\n$timeline-0: #399ced;\n$timeline-1: #e64e3e;\n$timeline-2: #10baa3;\n$timeline-3: #b14be7;\n$timeline-4: #053b5d;\n\n\n/* [2] DIMENSIONS\n=========================================================*/\n/* (1) Layout de base */\n$menu-side-width: 15em;\n$header-height: 4em;\n\n\n\n/* [3] Mixins\n=========================================================*/\n@mixin transform($value...) {\n\ttransform: $value;\n\t-moz-transform: $value;\n\t-o-transform: $value;\n\t-ms-transform: $value;\n\t-webkit-transform: $value;\n}\n\n\n@mixin transition($value...) {\n\t-webkit-transition: $value;\n\ttransition: $value;\n}\n\n/* [4] Functions\n=========================================================*/\n// Transforme une couleur hex en string sans le #\n@function color-str($color){\n\t@return str-slice(#{$color}, 2, str-length(#{$color}));\n}\n" "/* [1] COULEURS\n=========================================================*/\n/* (1) COULEURS DU THEME $DEFAULT */\n$theme-bg: #e8e8e8;\n$theme-bg-primary: #ffffff;\n$theme-fg: #515151;\n$theme-fg-primary: #399ced;\n\n/* (2) COULEURS DE THEME $DARK */\n$dark-bg: #313541;\n$dark-bg-primary: #29282e;\n$dark-fg: #939393;\n$dark-fg-primary: #ffffff;\n\n$header-dark: #F8F8FA;\n\n/* (3) Couleurs du theme pour la timeline */\n$timeline-color: #738394;\n$timeline-0: #399ced;\n$timeline-1: #e64e3e;\n$timeline-2: #10baa3;\n$timeline-3: #b14be7;\n$timeline-4: #053b5d;\n\n\n/* [2] DIMENSIONS\n=========================================================*/\n/* (1) Layout de base */\n$menu-side-width: 15em;\n$header-height: 4em;\n\n\n\n/* [3] Mixins\n=========================================================*/\n@mixin transform($value...) {\n\ttransform: $value;\n\t-moz-transform: $value;\n\t-o-transform: $value;\n\t-ms-transform: $value;\n\t-webkit-transform: $value;\n}\n\n\n@mixin transition($value...) {\n\t-webkit-transition: $value;\n\ttransition: $value;\n}\n\n/* [4] Functions\n=========================================================*/\n// Transforme une couleur hex en string sans le #\n@function color-str($color){\n\t@return str-slice(#{$color}, 2, str-length(#{$color}));\n}\n"
], ],
"mappings": "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", "mappings": "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",
"names": [] "names": []
} }

File diff suppressed because one or more lines are too long

View File

@ -6,9 +6,9 @@
"../constants.scss" "../constants.scss"
], ],
"sourcesContent": [ "sourcesContent": [
"@import 'constants';\n\n\n#WRAPPER > #HEADER{\n\n\t/* [1] Barre de recherche\n\t=========================================================*/\n\t& > #searchbar{\n\t\tdisplay: inline-block;\n\t\tposition: absolute;\n\t\t\ttop: .8em;\n\t\t\tleft: 1em;\n\t\t\twidth: 20em;\n\t\t\theight: 2em;\n\n\t\tpadding: .2em 1em;\n\n\t\tborder: 0;\n\t\tborder-radius: 3px;\n\n\t\tbackground-color: $theme-bg;\n\n\t}\n\n\t/* [2] Informations utilisateur\n\t=========================================================*/\n\t/* (0) Conteneur */\n\t& > #user-data{\n\t\tdisplay: inline-block;\n\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\theight: calc( 100% - 2*1em );\n\n\n\t\t/* (1) Username de l'utilisateur */\n\t\t& > #user-name{\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tright: calc( #{$header-height}*2 - 1em );\n\t\t\t\theight: $header-height;\n\n\t\t\tpadding: 0 1em;\n\n\t\t\tcolor: #555;\n\t\t\tline-height: $header-height;\n\t\t\twhite-space: nowrap;\n\t\t\tfont-weight: bold;\n\n\t\t\tcursor: pointer;\n\n\t\t}\n\n\n\t\t/* (2) Image du profil */\n\t\t& > #user-picture{\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\t\ttop: 1em;\n\t\t\t\tright: $header-height;\n\t\t\t\twidth: calc( #{$header-height} - 2*1em );\n\t\t\t\theight: calc( #{$header-height} - 2*1em );\n\n\n\t\t\tborder-radius: 50% / 50%;\n\n\t\t\tbackground: $theme-bg url('/f/svg/nopic/st/header') center center no-repeat;\n\t\t\tbackground-size: auto 80%;\n\n\t\t\t// Si on est connecte\n\t\t\t&.active{ background-image: url('/f/svg/sample/dy/profile'); background-size: auto 100%; }\n\n\t\t\tcursor: default;\n\n\t\t\talign-self: center;\n\t\t}\n\n\n\n\t\t/* (3) Icone d'activation */\n\t\t&:before{\n\t\t\tcontent: '';\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tright: 0;\n\t\t\t\twidth: $header-height;\n\t\t\t\theight: $header-height;\n\n\t\t\tbackground: url('/f/svg/expand/st/header/000000') center center no-repeat;\n\t\t\tbackground-size: 1em 1em;\n\n\t\t\tcursor: pointer;\n\n\t\t}\n\n\n\t}\n\n\n\n\t/* [3] Menu deroulant pour l'administration du profil\n\t=========================================================*/\n\t& > .user-panel{\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\t\ttop: calc( #{$header-height} - 1em );\n\t\t\tright: 0;\n\n\t\tmargin: .5em;\n\n\t\tborder-radius: 5px;\n\t\tborder: 1px solid darken($theme-bg, 10);\n\n\t\tbackground-color: #fff;\n\n\t\t@include transition( left .3s ease-in-out );\n\n\n\t\t/* (1) Pour chaque element du menu */\n\t\t& > span{\n\t\t\tdisplay: block;\n\t\t\tposition: relative;\n\n\t\t\t// On ajoute une ligne en dessous sauf pour le dernier\n\t\t\t&:not(:last-child){\n\t\t\t\tborder-bottom: 1px solid #ddd;\n\t\t\t}\n\n\t\t\tcolor: #000;\n\t\t\tpadding: .5em 1em;\n\t\t\tpadding-left: 2em;\n\n\t\t\tcursor: pointer;\n\n\t\t\t// @hover\n\t\t\t&:hover{\n\t\t\t\tbackground-color: #eee;\n\t\t\t}\n\t\t}\n\n\n\n\n\t}\n\n\t/* (3) Gestion de l'activation ou non de l'user panel */\n\t& > #toggle-user-panel{ display: none; }\n\t& > #toggle-user-panel + .user-panel{ left: 100%; }\n\t& > #toggle-user-panel:checked + .user-panel{ left: auto; }\n\t& > #toggle-user-panel:checked + .user-panel:before{ left: 7em; }\n\n\n\n\n\n\n}\n", "@import 'constants';\n\n\n#WRAPPER > #HEADER{\n\n\t/* [1] Barre de recherche\n\t=========================================================*/\n\t& > #searchbar{\n\t\tdisplay: inline-block;\n\t\tposition: absolute;\n\t\t\ttop: .8em;\n\t\t\tleft: 1em;\n\t\t\twidth: 20em;\n\t\t\theight: 2em;\n\n\t\tpadding: .2em 1em;\n\n\t\tborder: 0;\n\t\tborder-radius: 3px;\n\n\t\tbackground-color: $theme-bg;\n\n\t}\n\n\t/* [2] Informations utilisateur\n\t=========================================================*/\n\t/* (0) Conteneur */\n\t& > #user-data{\n\t\tdisplay: inline-block;\n\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\theight: calc( 100% - 2*1em );\n\n\n\t\t/* (1) Username de l'utilisateur */\n\t\t& > #user-name{\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tright: calc( #{$header-height}*2 - 1em );\n\t\t\t\theight: $header-height;\n\n\t\t\tpadding: 0 1em;\n\n\t\t\tcolor: #555;\n\t\t\tline-height: $header-height;\n\t\t\twhite-space: nowrap;\n\t\t\tfont-weight: bold;\n\n\t\t\tcursor: pointer;\n\n\t\t}\n\n\n\t\t/* (2) Image du profil */\n\t\t& > #user-picture{\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\t\ttop: 1em;\n\t\t\t\tright: $header-height;\n\t\t\t\twidth: calc( #{$header-height} - 2*1em );\n\t\t\t\theight: calc( #{$header-height} - 2*1em );\n\n\n\t\t\tborder-radius: 50% / 50%;\n\n\t\t\tbackground: $theme-bg url('/src/static/header/nopic.svg') center center no-repeat;\n\t\t\tbackground-size: auto 80%;\n\n\t\t\t// Si on est connecte\n\t\t\t&.active{ background-image: url('/src/dynamic/profile/sample.svg'); background-size: auto 100%; }\n\n\t\t\tcursor: default;\n\n\t\t\talign-self: center;\n\t\t}\n\n\n\n\t\t/* (3) Icone d'activation */\n\t\t&:before{\n\t\t\tcontent: '';\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tright: 0;\n\t\t\t\twidth: $header-height;\n\t\t\t\theight: $header-height;\n\n\t\t\tbackground: url('/src/static/header/expand.svg@000000') center center no-repeat;\n\t\t\tbackground-size: 1em 1em;\n\n\t\t\tcursor: pointer;\n\n\t\t}\n\n\n\t}\n\n\n\n\t/* [3] Menu deroulant pour l'administration du profil\n\t=========================================================*/\n\t& > .user-panel{\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\t\ttop: calc( #{$header-height} - 1em );\n\t\t\tright: 0;\n\n\t\tmargin: .5em;\n\n\t\tborder-radius: 5px;\n\t\tborder: 1px solid darken($theme-bg, 10);\n\n\t\tbackground-color: #fff;\n\n\t\t@include transition( left .3s ease-in-out );\n\n\n\t\t/* (1) Pour chaque element du menu */\n\t\t& > span{\n\t\t\tdisplay: block;\n\t\t\tposition: relative;\n\n\t\t\t// On ajoute une ligne en dessous sauf pour le dernier\n\t\t\t&:not(:last-child){\n\t\t\t\tborder-bottom: 1px solid #ddd;\n\t\t\t}\n\n\t\t\tcolor: #000;\n\t\t\tpadding: .5em 1em;\n\t\t\tpadding-left: 2em;\n\n\t\t\tcursor: pointer;\n\n\t\t\t// @hover\n\t\t\t&:hover{\n\t\t\t\tbackground-color: #eee;\n\t\t\t}\n\t\t}\n\n\n\n\n\t}\n\n\t/* (3) Gestion de l'activation ou non de l'user panel */\n\t& > #toggle-user-panel{ display: none; }\n\t& > #toggle-user-panel + .user-panel{ left: 100%; }\n\t& > #toggle-user-panel:checked + .user-panel{ left: auto; }\n\t& > #toggle-user-panel:checked + .user-panel:before{ left: 7em; }\n\n\n\n\n\n\n}\n",
"/* [1] COULEURS\n=========================================================*/\n/* (1) COULEURS DU THEME $DEFAULT */\n$theme-bg: #e8e8e8;\n$theme-bg-primary: #ffffff;\n$theme-fg: #515151;\n$theme-fg-primary: #399ced;\n\n/* (2) COULEURS DE THEME $DARK */\n$dark-bg: #313541;\n$dark-bg-primary: #29282e;\n$dark-fg: #939393;\n$dark-fg-primary: #ffffff;\n\n$header-dark: #F8F8FA;\n\n/* (3) Couleurs du theme pour la timeline */\n$timeline-color: #738394;\n$timeline-0: #399ced;\n$timeline-1: #e64e3e;\n$timeline-2: #10baa3;\n$timeline-3: #b14be7;\n$timeline-4: #053b5d;\n\n\n/* [2] DIMENSIONS\n=========================================================*/\n/* (1) Layout de base */\n$menu-side-width: 15em;\n$header-height: 4em;\n\n\n\n/* [3] Mixins\n=========================================================*/\n@mixin transform($value...) {\n\ttransform: $value;\n\t-moz-transform: $value;\n\t-o-transform: $value;\n\t-ms-transform: $value;\n\t-webkit-transform: $value;\n}\n\n\n@mixin transition($value...) {\n\t-webkit-transition: $value;\n\ttransition: $value;\n}\n\n/* [4] Functions\n=========================================================*/\n// Transforme une couleur hex en string sans le #\n@function color-str($color){\n\t@return str-slice(#{$color}, 2, str-length(#{$color}));\n}\n" "/* [1] COULEURS\n=========================================================*/\n/* (1) COULEURS DU THEME $DEFAULT */\n$theme-bg: #e8e8e8;\n$theme-bg-primary: #ffffff;\n$theme-fg: #515151;\n$theme-fg-primary: #399ced;\n\n/* (2) COULEURS DE THEME $DARK */\n$dark-bg: #313541;\n$dark-bg-primary: #29282e;\n$dark-fg: #939393;\n$dark-fg-primary: #ffffff;\n\n$header-dark: #F8F8FA;\n\n/* (3) Couleurs du theme pour la timeline */\n$timeline-color: #738394;\n$timeline-0: #399ced;\n$timeline-1: #e64e3e;\n$timeline-2: #10baa3;\n$timeline-3: #b14be7;\n$timeline-4: #053b5d;\n\n\n/* [2] DIMENSIONS\n=========================================================*/\n/* (1) Layout de base */\n$menu-side-width: 15em;\n$header-height: 4em;\n\n\n\n/* [3] Mixins\n=========================================================*/\n@mixin transform($value...) {\n\ttransform: $value;\n\t-moz-transform: $value;\n\t-o-transform: $value;\n\t-ms-transform: $value;\n\t-webkit-transform: $value;\n}\n\n\n@mixin transition($value...) {\n\t-webkit-transition: $value;\n\ttransition: $value;\n}\n\n/* [4] Functions\n=========================================================*/\n// Transforme une couleur hex en string sans le #\n@function color-str($color){\n\t@return str-slice(#{$color}, 2, str-length(#{$color}));\n}\n"
], ],
"mappings": "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", "mappings": "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",
"names": [] "names": []
} }

View File

@ -124,7 +124,7 @@ body{
width: 35em; width: 35em;
height: 10em; height: 10em;
background: url('/f/svg/iconv2/st') center center no-repeat; background: url('/src/static/iconv2.svg') center center no-repeat;
background-size: auto 100%; background-size: auto 100%;
} }
@ -239,7 +239,7 @@ body{
min-width: 2em; min-width: 2em;
height: 2em; height: 2em;
background: url('/f/svg/back/st/container/555555') right center no-repeat; background: url('/src/static/container/back.svg@555555') right center no-repeat;
background-size: 1em; background-size: 1em;
color: #555; color: #555;

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

@ -14,7 +14,7 @@
border-bottom: 1px solid transparent; border-bottom: 1px solid transparent;
background: url('/f/svg/sub/st/menu-side/aaaaaa') right 1.5em center no-repeat; background: url('/src/static/menu-side/sub.svg@aaaaaa') right 1.5em center no-repeat;
background-size: .5em .5em; background-size: .5em .5em;
@ -40,7 +40,7 @@
/* (2) Animation de @hover */ /* (2) Animation de @hover */
&:not(.active):hover{ &:not(.active):hover{
background-image: url('/f/svg/sub/st/menu-side/000000'); background-image: url('/src/static/menu-side/sub.svg@000000');
color: #000; color: #000;
& > svg, & > svg *{ & > svg, & > svg *{
@ -54,7 +54,7 @@
// box-shadow: inset 0 0 1em darken($dark-bg-primary, 1); // box-shadow: inset 0 0 1em darken($dark-bg-primary, 1);
background-color: $theme-fg-primary; background-color: $theme-fg-primary;
background-image: url('/f/svg/sub-active/st/menu-side/ffffff'); background-image: url('/src/static/menu-side/sub-active.svg@ffffff');
color: $dark-fg-primary; color: $dark-fg-primary;
& > svg, & > svg *{ & > svg, & > svg *{
@ -78,7 +78,7 @@
padding: .5em 1.5em; padding: .5em 1.5em;
padding-left: 2.5em; padding-left: 2.5em;
background: #eee url('/f/svg/sub/st/menu-side/777777') 1.5em center no-repeat;; background: #eee url('/src/static/menu-side/sub.svg@777777') 1.5em center no-repeat;;
background-size: .5em; background-size: .5em;
color: #777777; color: #777777;
@ -92,7 +92,7 @@
&:hover, &:hover,
&.active{ &.active{
color: #000; color: #000;
background-image: url('/f/svg/sub/st/menu-side/000000'); background-image: url('/src/static/menu-side/sub.svg@000000');
} }
} }

File diff suppressed because one or more lines are too long

View File

@ -6,9 +6,9 @@
"../constants.scss" "../constants.scss"
], ],
"sourcesContent": [ "sourcesContent": [
"@import 'constants';\n\n#WRAPPER > #MENU-SIDE{\n\n\t/* [1] Elements du menu\n\t=========================================================*/\n\t& > span{\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\t\twidth: calc( 100% - 2*1em - 2*1.5em );\n\n\t\tpadding: .8em 1.5em;\n\t\tpadding-left: calc( 1.5em + 2*1em );\n\n\t\tborder-bottom: 1px solid transparent;\n\n\t\tbackground: url('/f/svg/sub/st/menu-side/aaaaaa') right 1.5em center no-repeat;\n\t\tbackground-size: .5em .5em;\n\n\n\t\tcolor: #666;\n\t\tfont-size: .85em;\n\n\t\t@include transition( color .2s ease-in-out, background .2s ease-in-out, box-shadow .2s ease-in-out, border .2s ease-in-out );\n\n\t\tcursor: pointer;\n\n\t\t/* (1) Icone svg */\n\t\t& > svg, & > svg *{\n\t\t\tposition: absolute;\n\t\t\t\ttop: calc( 50% - 1em/2 );\n\t\t\t\tleft: 1.5em;\n\t\t\t\twidth: 1em;\n\t\t\t\theight: 1em;\n\n\t\t\tfill: $dark-fg !important;\n\t\t\t@include transition( fill .2s ease-in-out );\n\t\t}\n\n\n\t\t/* (2) Animation de @hover */\n\t\t&:not(.active):hover{\n\t\t\tbackground-image: url('/f/svg/sub/st/menu-side/000000');\n\t\t\tcolor: #000;\n\n\t\t\t& > svg, & > svg *{\n\t\t\t\tfill: #000 !important;\n\t\t\t}\n\t\t}\n\n\t\t/* (3) Animation quand .active */\n\t\t&.active{\n\t\t\tborder-bottom-color: darken($theme-fg-primary, 5);\n\t\t\t// box-shadow: inset 0 0 1em darken($dark-bg-primary, 1);\n\n\t\t\tbackground-color: $theme-fg-primary;\n\t\t\tbackground-image: url('/f/svg/sub-active/st/menu-side/ffffff');\n\t\t\tcolor: $dark-fg-primary;\n\n\t\t\t& > svg, & > svg *{\n\t\t\t\tfill: #fff !important;\n\t\t\t}\n\t\t}\n\n\n\t}\n\n\n\n\t/* [2] Gestion du menu deroulant\n\t=========================================================*/\n\t/* (1) Quand le menu est deroule */\n\t& > span:not(.icon) + div.sub>span{\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\t\twidth: calc( 100% - 1.5em - 2.5em );\n\n\t\tpadding: .5em 1.5em;\n\t\tpadding-left: 2.5em;\n\n\t\tbackground: #eee url('/f/svg/sub/st/menu-side/777777') 1.5em center no-repeat;;\n\t\tbackground-size: .5em;\n\n\t\tcolor: #777777;\n\t\tfont-size: .85em;\n\n\t\tcursor: pointer;\n\n\t\t@include transition( color .2s ease-in-out );\n\n\t\t// Animation de @hover ou .active\n\t\t&:hover,\n\t\t&.active{\n\t\t\tcolor: #000;\n\t\t\tbackground-image: url('/f/svg/sub/st/menu-side/000000');\n\t\t}\n\t}\n\n\n\t& > span:not(.icon):not(.active) + div.sub>span{\n\t\tdisplay: none;\n\t}\n}\n", "@import 'constants';\n\n#WRAPPER > #MENU-SIDE{\n\n\t/* [1] Elements du menu\n\t=========================================================*/\n\t& > span{\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\t\twidth: calc( 100% - 2*1em - 2*1.5em );\n\n\t\tpadding: .8em 1.5em;\n\t\tpadding-left: calc( 1.5em + 2*1em );\n\n\t\tborder-bottom: 1px solid transparent;\n\n\t\tbackground: url('/src/static/menu-side/sub.svg@aaaaaa') right 1.5em center no-repeat;\n\t\tbackground-size: .5em .5em;\n\n\n\t\tcolor: #666;\n\t\tfont-size: .85em;\n\n\t\t@include transition( color .2s ease-in-out, background .2s ease-in-out, box-shadow .2s ease-in-out, border .2s ease-in-out );\n\n\t\tcursor: pointer;\n\n\t\t/* (1) Icone svg */\n\t\t& > svg, & > svg *{\n\t\t\tposition: absolute;\n\t\t\t\ttop: calc( 50% - 1em/2 );\n\t\t\t\tleft: 1.5em;\n\t\t\t\twidth: 1em;\n\t\t\t\theight: 1em;\n\n\t\t\tfill: $dark-fg !important;\n\t\t\t@include transition( fill .2s ease-in-out );\n\t\t}\n\n\n\t\t/* (2) Animation de @hover */\n\t\t&:not(.active):hover{\n\t\t\tbackground-image: url('/src/static/menu-side/sub.svg@000000');\n\t\t\tcolor: #000;\n\n\t\t\t& > svg, & > svg *{\n\t\t\t\tfill: #000 !important;\n\t\t\t}\n\t\t}\n\n\t\t/* (3) Animation quand .active */\n\t\t&.active{\n\t\t\tborder-bottom-color: darken($theme-fg-primary, 5);\n\t\t\t// box-shadow: inset 0 0 1em darken($dark-bg-primary, 1);\n\n\t\t\tbackground-color: $theme-fg-primary;\n\t\t\tbackground-image: url('/src/static/menu-side/sub-active.svg@ffffff');\n\t\t\tcolor: $dark-fg-primary;\n\n\t\t\t& > svg, & > svg *{\n\t\t\t\tfill: #fff !important;\n\t\t\t}\n\t\t}\n\n\n\t}\n\n\n\n\t/* [2] Gestion du menu deroulant\n\t=========================================================*/\n\t/* (1) Quand le menu est deroule */\n\t& > span:not(.icon) + div.sub>span{\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\t\twidth: calc( 100% - 1.5em - 2.5em );\n\n\t\tpadding: .5em 1.5em;\n\t\tpadding-left: 2.5em;\n\n\t\tbackground: #eee url('/src/static/menu-side/sub.svg@777777') 1.5em center no-repeat;;\n\t\tbackground-size: .5em;\n\n\t\tcolor: #777777;\n\t\tfont-size: .85em;\n\n\t\tcursor: pointer;\n\n\t\t@include transition( color .2s ease-in-out );\n\n\t\t// Animation de @hover ou .active\n\t\t&:hover,\n\t\t&.active{\n\t\t\tcolor: #000;\n\t\t\tbackground-image: url('/src/static/menu-side/sub.svg@000000');\n\t\t}\n\t}\n\n\n\t& > span:not(.icon):not(.active) + div.sub>span{\n\t\tdisplay: none;\n\t}\n}\n",
"/* [1] COULEURS\n=========================================================*/\n/* (1) COULEURS DU THEME $DEFAULT */\n$theme-bg: #e8e8e8;\n$theme-bg-primary: #ffffff;\n$theme-fg: #515151;\n$theme-fg-primary: #399ced;\n\n/* (2) COULEURS DE THEME $DARK */\n$dark-bg: #313541;\n$dark-bg-primary: #29282e;\n$dark-fg: #939393;\n$dark-fg-primary: #ffffff;\n\n$header-dark: #F8F8FA;\n\n/* (3) Couleurs du theme pour la timeline */\n$timeline-color: #738394;\n$timeline-0: #399ced;\n$timeline-1: #e64e3e;\n$timeline-2: #10baa3;\n$timeline-3: #b14be7;\n$timeline-4: #053b5d;\n\n\n/* [2] DIMENSIONS\n=========================================================*/\n/* (1) Layout de base */\n$menu-side-width: 15em;\n$header-height: 4em;\n\n\n\n/* [3] Mixins\n=========================================================*/\n@mixin transform($value...) {\n\ttransform: $value;\n\t-moz-transform: $value;\n\t-o-transform: $value;\n\t-ms-transform: $value;\n\t-webkit-transform: $value;\n}\n\n\n@mixin transition($value...) {\n\t-webkit-transition: $value;\n\ttransition: $value;\n}\n\n/* [4] Functions\n=========================================================*/\n// Transforme une couleur hex en string sans le #\n@function color-str($color){\n\t@return str-slice(#{$color}, 2, str-length(#{$color}));\n}\n" "/* [1] COULEURS\n=========================================================*/\n/* (1) COULEURS DU THEME $DEFAULT */\n$theme-bg: #e8e8e8;\n$theme-bg-primary: #ffffff;\n$theme-fg: #515151;\n$theme-fg-primary: #399ced;\n\n/* (2) COULEURS DE THEME $DARK */\n$dark-bg: #313541;\n$dark-bg-primary: #29282e;\n$dark-fg: #939393;\n$dark-fg-primary: #ffffff;\n\n$header-dark: #F8F8FA;\n\n/* (3) Couleurs du theme pour la timeline */\n$timeline-color: #738394;\n$timeline-0: #399ced;\n$timeline-1: #e64e3e;\n$timeline-2: #10baa3;\n$timeline-3: #b14be7;\n$timeline-4: #053b5d;\n\n\n/* [2] DIMENSIONS\n=========================================================*/\n/* (1) Layout de base */\n$menu-side-width: 15em;\n$header-height: 4em;\n\n\n\n/* [3] Mixins\n=========================================================*/\n@mixin transform($value...) {\n\ttransform: $value;\n\t-moz-transform: $value;\n\t-o-transform: $value;\n\t-ms-transform: $value;\n\t-webkit-transform: $value;\n}\n\n\n@mixin transition($value...) {\n\t-webkit-transition: $value;\n\ttransition: $value;\n}\n\n/* [4] Functions\n=========================================================*/\n// Transforme une couleur hex en string sans le #\n@function color-str($color){\n\t@return str-slice(#{$color}, 2, str-length(#{$color}));\n}\n"
], ],
"mappings": "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", "mappings": "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",
"names": [] "names": []
} }

File diff suppressed because one or more lines are too long

View File

@ -6,9 +6,9 @@
"../constants.scss" "../constants.scss"
], ],
"sourcesContent": [ "sourcesContent": [
"@import 'constants';\n\n#WRAPPER > #MENU-SIDE{\n\n\t/* [1] Elements du menu\n\t=========================================================*/\n\t& > span{\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\t\twidth: calc( 100% - 2*1em - 2*1.5em );\n\n\t\tpadding: .8em 1.5em;\n\t\tpadding-left: calc( 1.5em + 2*1em );\n\n\t\tborder-bottom: 1px solid transparent;\n\n\t\tbackground: url('/f/svg/sub/st/menu-side/aaaaaa') right 1.5em center no-repeat;\n\t\tbackground-size: .5em .5em;\n\n\n\t\tcolor: #666;\n\t\tfont-size: .85em;\n\n\t\t@include transition( color .2s ease-in-out, background .2s ease-in-out, box-shadow .2s ease-in-out, border .2s ease-in-out );\n\n\t\tcursor: pointer;\n\n\t\t/* (1) Icone svg */\n\t\t& > svg, & > svg *{\n\t\t\tposition: absolute;\n\t\t\t\ttop: calc( 50% - 1em/2 );\n\t\t\t\tleft: 1.5em;\n\t\t\t\twidth: 1em;\n\t\t\t\theight: 1em;\n\n\t\t\tfill: $dark-fg !important;\n\t\t\t@include transition( fill .2s ease-in-out );\n\t\t}\n\n\n\t\t/* (2) Animation de @hover */\n\t\t&:not(.active):hover{\n\t\t\tbackground-image: url('/f/svg/sub/st/menu-side/000000');\n\t\t\tcolor: #000;\n\n\t\t\t& > svg, & > svg *{\n\t\t\t\tfill: #000 !important;\n\t\t\t}\n\t\t}\n\n\t\t/* (3) Animation quand .active */\n\t\t&.active{\n\t\t\tborder-bottom-color: darken($theme-fg-primary, 5);\n\t\t\t// box-shadow: inset 0 0 1em darken($dark-bg-primary, 1);\n\n\t\t\tbackground-color: $theme-fg-primary;\n\t\t\tbackground-image: url('/f/svg/sub-active/st/menu-side/ffffff');\n\t\t\tcolor: $dark-fg-primary;\n\n\t\t\t& > svg, & > svg *{\n\t\t\t\tfill: #fff !important;\n\t\t\t}\n\t\t}\n\n\n\t}\n\n\n\n\t/* [2] Gestion du menu deroulant\n\t=========================================================*/\n\t/* (1) Quand le menu est deroule */\n\t& > span:not(.icon) + div.sub>span{\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\t\twidth: calc( 100% - 1.5em - 2.5em );\n\n\t\tpadding: .5em 1.5em;\n\t\tpadding-left: 2.5em;\n\n\t\tbackground: #eee url('/f/svg/sub/st/menu-side/777777') 1.5em center no-repeat;;\n\t\tbackground-size: .5em;\n\n\t\tcolor: #777777;\n\t\tfont-size: .85em;\n\n\t\tcursor: pointer;\n\n\t\t@include transition( color .2s ease-in-out );\n\n\t\t// Animation de @hover ou .active\n\t\t&:hover,\n\t\t&.active{\n\t\t\tcolor: #000;\n\t\t\tbackground-image: url('/f/svg/sub/st/menu-side/000000');\n\t\t}\n\t}\n\n\n\t& > span:not(.icon):not(.active) + div.sub>span{\n\t\tdisplay: none;\n\t}\n}\n", "@import 'constants';\n\n#WRAPPER > #MENU-SIDE{\n\n\t/* [1] Elements du menu\n\t=========================================================*/\n\t& > span{\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\t\twidth: calc( 100% - 2*1em - 2*1.5em );\n\n\t\tpadding: .8em 1.5em;\n\t\tpadding-left: calc( 1.5em + 2*1em );\n\n\t\tborder-bottom: 1px solid transparent;\n\n\t\tbackground: url('/src/static/menu-side/sub.svg@aaaaaa') right 1.5em center no-repeat;\n\t\tbackground-size: .5em .5em;\n\n\n\t\tcolor: #666;\n\t\tfont-size: .85em;\n\n\t\t@include transition( color .2s ease-in-out, background .2s ease-in-out, box-shadow .2s ease-in-out, border .2s ease-in-out );\n\n\t\tcursor: pointer;\n\n\t\t/* (1) Icone svg */\n\t\t& > svg, & > svg *{\n\t\t\tposition: absolute;\n\t\t\t\ttop: calc( 50% - 1em/2 );\n\t\t\t\tleft: 1.5em;\n\t\t\t\twidth: 1em;\n\t\t\t\theight: 1em;\n\n\t\t\tfill: $dark-fg !important;\n\t\t\t@include transition( fill .2s ease-in-out );\n\t\t}\n\n\n\t\t/* (2) Animation de @hover */\n\t\t&:not(.active):hover{\n\t\t\tbackground-image: url('/src/static/menu-side/sub.svg@000000');\n\t\t\tcolor: #000;\n\n\t\t\t& > svg, & > svg *{\n\t\t\t\tfill: #000 !important;\n\t\t\t}\n\t\t}\n\n\t\t/* (3) Animation quand .active */\n\t\t&.active{\n\t\t\tborder-bottom-color: darken($theme-fg-primary, 5);\n\t\t\t// box-shadow: inset 0 0 1em darken($dark-bg-primary, 1);\n\n\t\t\tbackground-color: $theme-fg-primary;\n\t\t\tbackground-image: url('/src/static/menu-side/sub-active.svg@ffffff');\n\t\t\tcolor: $dark-fg-primary;\n\n\t\t\t& > svg, & > svg *{\n\t\t\t\tfill: #fff !important;\n\t\t\t}\n\t\t}\n\n\n\t}\n\n\n\n\t/* [2] Gestion du menu deroulant\n\t=========================================================*/\n\t/* (1) Quand le menu est deroule */\n\t& > span:not(.icon) + div.sub>span{\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\t\twidth: calc( 100% - 1.5em - 2.5em );\n\n\t\tpadding: .5em 1.5em;\n\t\tpadding-left: 2.5em;\n\n\t\tbackground: #eee url('/src/static/menu-side/sub.svg@777777') 1.5em center no-repeat;;\n\t\tbackground-size: .5em;\n\n\t\tcolor: #777777;\n\t\tfont-size: .85em;\n\n\t\tcursor: pointer;\n\n\t\t@include transition( color .2s ease-in-out );\n\n\t\t// Animation de @hover ou .active\n\t\t&:hover,\n\t\t&.active{\n\t\t\tcolor: #000;\n\t\t\tbackground-image: url('/src/static/menu-side/sub.svg@000000');\n\t\t}\n\t}\n\n\n\t& > span:not(.icon):not(.active) + div.sub>span{\n\t\tdisplay: none;\n\t}\n}\n",
"/* [1] COULEURS\n=========================================================*/\n/* (1) COULEURS DU THEME $DEFAULT */\n$theme-bg: #e8e8e8;\n$theme-bg-primary: #ffffff;\n$theme-fg: #515151;\n$theme-fg-primary: #399ced;\n\n/* (2) COULEURS DE THEME $DARK */\n$dark-bg: #313541;\n$dark-bg-primary: #29282e;\n$dark-fg: #939393;\n$dark-fg-primary: #ffffff;\n\n$header-dark: #F8F8FA;\n\n/* (3) Couleurs du theme pour la timeline */\n$timeline-color: #738394;\n$timeline-0: #399ced;\n$timeline-1: #e64e3e;\n$timeline-2: #10baa3;\n$timeline-3: #b14be7;\n$timeline-4: #053b5d;\n\n\n/* [2] DIMENSIONS\n=========================================================*/\n/* (1) Layout de base */\n$menu-side-width: 15em;\n$header-height: 4em;\n\n\n\n/* [3] Mixins\n=========================================================*/\n@mixin transform($value...) {\n\ttransform: $value;\n\t-moz-transform: $value;\n\t-o-transform: $value;\n\t-ms-transform: $value;\n\t-webkit-transform: $value;\n}\n\n\n@mixin transition($value...) {\n\t-webkit-transition: $value;\n\ttransition: $value;\n}\n\n/* [4] Functions\n=========================================================*/\n// Transforme une couleur hex en string sans le #\n@function color-str($color){\n\t@return str-slice(#{$color}, 2, str-length(#{$color}));\n}\n" "/* [1] COULEURS\n=========================================================*/\n/* (1) COULEURS DU THEME $DEFAULT */\n$theme-bg: #e8e8e8;\n$theme-bg-primary: #ffffff;\n$theme-fg: #515151;\n$theme-fg-primary: #399ced;\n\n/* (2) COULEURS DE THEME $DARK */\n$dark-bg: #313541;\n$dark-bg-primary: #29282e;\n$dark-fg: #939393;\n$dark-fg-primary: #ffffff;\n\n$header-dark: #F8F8FA;\n\n/* (3) Couleurs du theme pour la timeline */\n$timeline-color: #738394;\n$timeline-0: #399ced;\n$timeline-1: #e64e3e;\n$timeline-2: #10baa3;\n$timeline-3: #b14be7;\n$timeline-4: #053b5d;\n\n\n/* [2] DIMENSIONS\n=========================================================*/\n/* (1) Layout de base */\n$menu-side-width: 15em;\n$header-height: 4em;\n\n\n\n/* [3] Mixins\n=========================================================*/\n@mixin transform($value...) {\n\ttransform: $value;\n\t-moz-transform: $value;\n\t-o-transform: $value;\n\t-ms-transform: $value;\n\t-webkit-transform: $value;\n}\n\n\n@mixin transition($value...) {\n\t-webkit-transition: $value;\n\ttransition: $value;\n}\n\n/* [4] Functions\n=========================================================*/\n// Transforme une couleur hex en string sans le #\n@function color-str($color){\n\t@return str-slice(#{$color}, 2, str-length(#{$color}));\n}\n"
], ],
"mappings": "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", "mappings": "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",
"names": [] "names": []
} }

View File

@ -126,30 +126,30 @@
// Image pour token // Image pour token
&[data-token]{ &[data-token]{
background: url('/f/svg/token/st/container/666666') center 1em no-repeat; background: url('/src/static/container/token.svg@666666') center 1em no-repeat;
// Si le token est actif // Si le token est actif
&.active{ &.active{
background-image: url('/f/svg/token/st/container/#{color-str($theme-fg-primary)}'); background-image: url('/src/static/container/token.svg@#{color-str($theme-fg-primary)}');
} }
} }
// Image pour utilisateur // Image pour utilisateur
&[data-user]{ &[data-user]{
background: url('/f/svg/user/st/container/666666') center 1em no-repeat; background: url('/src/static/container/user.svg@666666') center 1em no-repeat;
// Si le token est actif // Si le token est actif
&.active{ &.active{
background-image: url('/f/svg/user/st/container/#{color-str($theme-fg-primary)}'); background-image: url('/src/static/container/user.svg@#{color-str($theme-fg-primary)}');
} }
} }
// Image pour utilisateur // Image pour utilisateur
&[data-number]{ &[data-number]{
background: url('/f/svg/phone_number/st/container/666666') center 1em no-repeat; background: url('/src/static/container/phone_number.svg@666666') center 1em no-repeat;
// Si le token est actif // Si le token est actif
&.active{ &.active{
background-image: url('/f/svg/phone_number/st/container/#{color-str($theme-fg-primary)}'); background-image: url('/src/static/container/phone_number.svg@#{color-str($theme-fg-primary)}');
} }
} }

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

@ -351,7 +351,7 @@
border: none; border: none;
border-bottom: 1px solid #333; border-bottom: 1px solid #333;
background: #fff url('/f/svg/bottom_arrow/st/container/333333') right 10px center no-repeat; background: #fff url('/src/static/container/bottom_arrow.svg@333333') right 10px center no-repeat;
background-size: 10px auto; background-size: 10px auto;
overflow: hidden; overflow: hidden;
@ -359,7 +359,7 @@
// Animation de @focus // Animation de @focus
&:focus{ &:focus{
border-color: $timeline-2; border-color: $timeline-2;
background-image:url('/f/svg/bottom_arrow/st/container/#{color-str($timeline-2)}'); background-image:url('/src/static/container/bottom_arrow.svg@#{color-str($timeline-2)}');
} }
} }
@ -487,7 +487,7 @@
margin-right: 15px; margin-right: 15px;
background: url('/f/svg/switch-both/st/container/4e4e50') center center no-repeat; background: url('/src/static/container/switch-both.svg@4e4e50') center center no-repeat;
background-size: 1em auto; background-size: 1em auto;
font-size: .8em; font-size: .8em;
@ -505,7 +505,7 @@
margin-right: 15px; margin-right: 15px;
background: url('/f/svg/switch-left/st/container/4e4e50') center center no-repeat; background: url('/src/static/container/switch-left.svg@4e4e50') center center no-repeat;
background-size: 1em auto; background-size: 1em auto;
font-size: .8em; font-size: .8em;

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

@ -3,7 +3,6 @@
require_once __ROOT__.'/manager/autoloader.php'; require_once __ROOT__.'/manager/autoloader.php';
use \router\Router; use \router\Router;
use \manager\ResourceDispatcher;
use \manager\ModuleRequest; use \manager\ModuleRequest;
use \manager\ModuleResponse; use \manager\ModuleResponse;
use \manager\ManagerError; use \manager\ManagerError;
@ -75,6 +74,31 @@
$R = new Router( $_GET['url'] ); $R = new Router( $_GET['url'] );
/* (2) Gestion des SVG avec couleur modifiée */
// path/to/resource/filename-HEXADE.svg
$R->get('(.+)@([a-f0-9]{6})(\.svg)', function($matches){
$path = __ROOT__.'/'.$matches[0].$matches[2];
header('Content-Type: image/svg+xml');
// On crée la partie ajoutée
$stylesheet = "\n<style type='text/css'>\n";
$stylesheet .= "\t#stylisable{\n";
$stylesheet .= "\t\tfill: #".$matches[1]." !important;\n";
$stylesheet .= "\t\tfill-opacity: 1 !important;\n";
$stylesheet .= "\t}\n";
$stylesheet .= "</style></svg>";
// On récupère le fichier
$file = file_get_contents($path);
// On ajoute le style
$file = str_replace('</svg>', $stylesheet, $file);
echo $file;
});
/* [1] On cree les regles de routage /* [1] On cree les regles de routage
===================================================*/ ===================================================*/
// Racine -> page d'accueil // Racine -> page d'accueil
@ -92,7 +116,7 @@
// Dispatcher // Dispatcher
$R->get('f(?:/([\w-]+))*/?', function(){ new ResourceDispatcher($_GET['url'], true); }); // $R->get('f(?:/([\w-]+))*/?', function(){ new ResourceDispatcher($_GET['url'], true); });
// Api // Api

View File

@ -6,4 +6,4 @@ c.length;a++)c[a].remClass("active");if(null!=b)for(b.addClass("active"),c=$$('#
function navMenu(a){var c=$('#WRAPPER > #MENU-SIDE > span[data-link="'+pageManager.page+'"]'),b=null,b=a instanceof Element?a:null,b="string"==typeof a?$('#WRAPPER > #MENU-SIDE > span[data-link="'+a+'"]'):b,b=null==b?$('#WRAPPER > #MENU-SIDE > span[data-link="'+pageManager.pagelist[0]+'"]'):b;if(null==b)return!1;null!=c&&c.remClass("active");null!=b&&b.addClass("active");b.getData("link")&&(DOM.HEADER.addClass("loading"),pageManager.setPage(b.getData("link")),pageManager.activeXHR.addEventListener("loadend", function navMenu(a){var c=$('#WRAPPER > #MENU-SIDE > span[data-link="'+pageManager.page+'"]'),b=null,b=a instanceof Element?a:null,b="string"==typeof a?$('#WRAPPER > #MENU-SIDE > span[data-link="'+a+'"]'):b,b=null==b?$('#WRAPPER > #MENU-SIDE > span[data-link="'+pageManager.pagelist[0]+'"]'):b;if(null==b)return!1;null!=c&&c.remClass("active");null!=b&&b.addClass("active");b.getData("link")&&(DOM.HEADER.addClass("loading"),pageManager.setPage(b.getData("link")),pageManager.activeXHR.addEventListener("loadend",
function(){1<=pageManager.vars.length&&null!=$('#CONTAINER > section[data-sublink="'+pageManager.vars[0]+'"]')?navSubMenu(pageManager.vars[0]):navSubMenu(null);var a=$("#MENU-SIDE > span[data-link="+pageManager.page+"] + div.sub");null!=a&&a.addEventListener("click",function(a){for(a=a.target;a!=document.body&&!a.getData("sublink");)a=a.parentNode;a.getData("sublink")&&navSubMenu(a)},!1);DOM.HEADER.remClass("loading")},!1))} function(){1<=pageManager.vars.length&&null!=$('#CONTAINER > section[data-sublink="'+pageManager.vars[0]+'"]')?navSubMenu(pageManager.vars[0]):navSubMenu(null);var a=$("#MENU-SIDE > span[data-link="+pageManager.page+"] + div.sub");null!=a&&a.addEventListener("click",function(a){for(a=a.target;a!=document.body&&!a.getData("sublink");)a=a.parentNode;a.getData("sublink")&&navSubMenu(a)},!1);DOM.HEADER.remClass("loading")},!1))}
DOM.MENUSIDE.addEventListener("click",function(a){for(a=a.target;a!=document.body&&!a.getData("link");)a=a.parentNode;a.getData("link")&&navMenu(a.getData("link"))},!1);function reload(){navMenu(pageManager.page)}var LOGIN={show:document.getElementById("user-data"),hide:document.getElementById("login-close"),page:document.getElementById("LOGIN")};LOGIN.show.addEventListener("click",function(a){LOGIN.page.className="active"},!1); DOM.MENUSIDE.addEventListener("click",function(a){for(a=a.target;a!=document.body&&!a.getData("link");)a=a.parentNode;a.getData("link")&&navMenu(a.getData("link"))},!1);function reload(){navMenu(pageManager.page)}var LOGIN={show:document.getElementById("user-data"),hide:document.getElementById("login-close"),page:document.getElementById("LOGIN")};LOGIN.show.addEventListener("click",function(a){LOGIN.page.className="active"},!1);
LOGIN.hide.addEventListener("click",function(a){LOGIN.page.className=""},!1);pageManagerClass.prototype.ajax("/f/json/menu/conf",function(a){var c=[];a=JSON.parse(a);for(var b=0;b<a.length;b++)c.push(a[b].attributes["data-link"]);pageManager=new pageManagerClass;pageManager.setPage(null,"/view",DOM.CONTAINER,c,null);navMenu(pageManager.page)},"GET"); LOGIN.hide.addEventListener("click",function(a){LOGIN.page.className=""},!1);api.send({path:"download/menu"},function(a){if(0==a.ModuleError){pagelist=[];for(var c=0;c<a.menu.length;c++)pagelist.push(a.menu[c].attributes["data-link"]);pageManager=new pageManagerClass;pageManager.setPage(null,"/view",DOM.CONTAINER,pagelist,null);navMenu(pageManager.page)}});

View File

@ -244,16 +244,18 @@ LOGIN.hide.addEventListener('click', function(e){ LOGIN.page.className = ''; },
/* [7] On recupere la liste des pages et on lance pageManager /* [7] On recupere la liste des pages et on lance pageManager
=========================================================*/ =========================================================*/
pageManagerClass.prototype.ajax('/f/json/menu/conf', function(pagelistSerialized){ api.send({path:'download/menu'}, function(response){
// On initialise la liste des pages
var pagelist = [];
// On deserialise le bordel // si erreur
var pagelistObject = JSON.parse(pagelistSerialized); if( response.ModuleError != 0 )
return;
// On initialise la liste des pages
pagelist = [];
// On recupere chaque page // On recupere chaque page
for( var i = 0 ; i < pagelistObject.length; i++ ) for( var i = 0 ; i < response.menu.length; i++ )
pagelist.push( pagelistObject[i]['attributes']['data-link'] ); pagelist.push( response.menu[i].attributes['data-link'] );
/* (1) On initialisa pageManager */ /* (1) On initialisa pageManager */
pageManager = new pageManagerClass(); pageManager = new pageManagerClass();
@ -261,4 +263,4 @@ pageManagerClass.prototype.ajax('/f/json/menu/conf', function(pagelistSerialized
/* (2) On charge la premiere page */ /* (2) On charge la premiere page */
navMenu(pageManager.page); navMenu(pageManager.page);
}, 'GET'); });

View File

@ -7,35 +7,35 @@
* *
*/ */
function FormDeflater(container, tags, attr){ function FormDeflater(container, tags, attr){
/* [0] Vérification des INPUT /* [0] Vérification des INPUT
=========================================================*/ =========================================================*/
var correctParams = container instanceof Element; var correctParams = container instanceof Element;
correctParams = correctParams && tags instanceof Array; correctParams = correctParams && tags instanceof Array;
correctParams = correctParams && attr instanceof Array; correctParams = correctParams && attr instanceof Array;
/* [1] On formatte les données /* [1] On formatte les données
=========================================================*/ =========================================================*/
// On met les tags en minuscule // On met les tags en minuscule
for( var i = 0 ; i < tags.length ; i++ ) for( var i = 0 ; i < tags.length ; i++ )
tags[i] = tags[i].toLowerCase(); tags[i] = tags[i].toLowerCase();
// On met les attributs en minuscule // On met les attributs en minuscule
for( var i = 0 ; i < attr.length ; i++ ) for( var i = 0 ; i < attr.length ; i++ )
attr[i] = attr[i].toLowerCase(); attr[i] = attr[i].toLowerCase();
/* [2] On enregistre les attributs /* [2] On enregistre les attributs
=========================================================*/ =========================================================*/
this.container = container; this.container = container;
this.tags = tags; this.tags = tags;
this.attr = attr; this.attr = attr;
} }
FormDeflater.prototype = { FormDeflater.prototype = {
container: this.container, // Contiendra le 'formulaire' (<form> ou autre) container: this.container, // Contiendra le 'formulaire' (<form> ou autre)
tags: this.tags, // Contiendra les balises HTML à ne pas prendre en compte tags: this.tags, // Contiendra les balises HTML à ne pas prendre en compte
attr: this.attr // Contiendra la liste des attributs à prendre pour nom (par ordre de priorité) attr: this.attr // Contiendra la liste des attributs à prendre pour nom (par ordre de priorité)
}; };
@ -46,66 +46,66 @@ FormDeflater.prototype = {
* *
*/ */
FormDeflater.prototype.deflate = function(){ FormDeflater.prototype.deflate = function(){
/* [1] On récupère tous les enfants /* [1] On récupère tous les enfants
=========================================================*/ =========================================================*/
var children = this.getChildren( this.container ); var children = this.getChildren( this.container );
/* [2] On filtre les éléments qui ont pas le bon tag /* [2] On filtre les éléments qui ont pas le bon tag
=========================================================*/ =========================================================*/
children = this.filterElements( children ); children = this.filterElements( children );
/* [3] On essaie de trouver les attributs primants (non vides et en premier dans la liste @this.attr) /* [3] On essaie de trouver les attributs primants (non vides et en premier dans la liste @this.attr)
=========================================================*/ =========================================================*/
/* (0) On initialise l'objet de retour */ /* (0) On initialise l'objet de retour */
var object = {}; var object = {};
/* (1) Pour chacun des éléments */ /* (1) Pour chacun des éléments */
for( var c = 0 ; c < children.length ; c++ ){ for( var c = 0 ; c < children.length ; c++ ){
/* (2) Pour chacun des attributs par ordre de priorité */ /* (2) Pour chacun des attributs par ordre de priorité */
for( var a = 0 ; a < this.attr.length ; a++ ){ for( var a = 0 ; a < this.attr.length ; a++ ){
// On récupère l'attribut // On récupère l'attribut
var attr = children[c].getAttribute(this.attr[a]); var attr = children[c].getAttribute(this.attr[a]);
/* (3) Si l'attribut est défini (pas null ni vide) */ /* (3) Si l'attribut est défini (pas null ni vide) */
if( attr !== null && attr.length > 0 ){ if( attr !== null && attr.length > 0 ){
/* (4) Si on a pas déja un champ de même nom */ /* (4) Si on a pas déja un champ de même nom */
if( object.hasOwnProperty(attr) ){ if( object.hasOwnProperty(attr) ){
var existing = object[attr]; var existing = object[attr];
// {1} Si l'existant est un tableau, on ajoute notre valeur // // {1} Si l'existant est un tableau, on ajoute notre valeur //
if( existing instanceof Array ) if( existing instanceof Array )
object[attr].push( { target: children[c], attr: this.attr[a], value: children[c].value, checked: children[c].checked } ); object[attr].push( { target: children[c], attr: this.attr[a], value: children[c].value, checked: children[c].checked } );
// {2} Sinon, si c'est une valeur seule, on crée un tableau // // {2} Sinon, si c'est une valeur seule, on crée un tableau //
else else
object[attr] = [ object[attr], { target: children[c], attr: this.attr[a], value: children[c].value, checked: children[c].checked } ]; object[attr] = [ object[attr], { target: children[c], attr: this.attr[a], value: children[c].value, checked: children[c].checked } ];
/* (5) Si c'est le premier champ avec ce nom, on le crée */ /* (5) Si c'est le premier champ avec ce nom, on le crée */
}else }else
object[attr] = { target: children[c], attr: this.attr[a], value: children[c].value, checked: children[c].checked }; object[attr] = { target: children[c], attr: this.attr[a], value: children[c].value, checked: children[c].checked };
// On en a fini pour cet élément // On en a fini pour cet élément
break; break;
} }
} }
} }
/* [4] On met en forme les données /* [4] On met en forme les données
=========================================================*/ =========================================================*/
object = this.cleanOutput(object); object = this.cleanOutput(object);
return object; return object;
}; };
@ -119,13 +119,13 @@ FormDeflater.prototype.deflate = function(){
* *
*/ */
FormDeflater.prototype.checkable = function(element){ FormDeflater.prototype.checkable = function(element){
if( element.tagName != 'INPUT' ) if( element.tagName != 'INPUT' )
return false; return false;
if( ['radio', 'checkbox'].indexOf( element.getAttribute('type').toLowerCase() ) == -1 ) if( ['radio', 'checkbox'].indexOf( element.getAttribute('type').toLowerCase() ) == -1 )
return false; return false;
return true; return true;
}; };
@ -139,68 +139,68 @@ FormDeflater.prototype.checkable = function(element){
* *
*/ */
FormDeflater.prototype.cleanOutput = function(input){ FormDeflater.prototype.cleanOutput = function(input){
var output = {}; var output = {};
/* [1] On parcourt toutes les valeurs récupérées /* [1] On parcourt toutes les valeurs récupérées
=========================================================*/ =========================================================*/
for( var key in input ){ for( var key in input ){
/* [2] Si c'est un tableau /* [2] Si c'est un tableau
=========================================================*/ =========================================================*/
if( input[key] instanceof Array ){ if( input[key] instanceof Array ){
// VRAI si tous les éléments sont radio/checkbox // VRAI si tous les éléments sont radio/checkbox
var areCheckable = true; var areCheckable = true;
// Contiendra les indices des valeurs ou 'checked=TRUE' // Contiendra les indices des valeurs ou 'checked=TRUE'
var checkedIndexes = []; var checkedIndexes = [];
/* (1) On vérifie si tous les champs sont checkables */ /* (1) On vérifie si tous les champs sont checkables */
for( var i in input[key]) for( var i in input[key])
// si pas checkable, on arrête de vérifier // si pas checkable, on arrête de vérifier
if( !this.checkable(input[key][i].target) ){ if( !this.checkable(input[key][i].target) ){
areCheckable = false; areCheckable = false;
break; break;
// Sinon si checkable et checked=TRUE, on incrémente @nbChecked // Sinon si checkable et checked=TRUE, on incrémente @nbChecked
}else if( input[key][i].checked === true ) }else if( input[key][i].checked === true )
checkedIndexes.push(i); checkedIndexes.push(i);
/* (2) Si c'est que des radio ou des checkbox avec une seule valeur à TRUE */ /* (2) Si c'est que des radio ou des checkbox avec une seule valeur à TRUE */
if( areCheckable ) if( areCheckable )
if( checkedIndexes.length == 1 ) if( checkedIndexes.length == 1 )
output[key] = input[key][checkedIndexes[0]].value; output[key] = input[key][checkedIndexes[0]].value;
/* (3) Si c'est que des radio ou des checkbox avec plusieurs valeurs à TRUE */ /* (3) Si c'est que des radio ou des checkbox avec plusieurs valeurs à TRUE */
else{ else{
output[key] = []; output[key] = [];
for( var i in checkedIndexes ) for( var i in checkedIndexes )
output[key].push( input[key][checkedIndexes[i]].value ); output[key].push( input[key][checkedIndexes[i]].value );
} }
/* (4) Si c'est pas que des radio ou des checkbox, on met les valeurs */ /* (4) Si c'est pas que des radio ou des checkbox, on met les valeurs */
else{ else{
output[key] = []; output[key] = [];
for( var i in input[key] ) for( var i in input[key] )
output[key].push( input[key][i].value ); output[key].push( input[key][i].value );
} }
/* [3] S'il n'y a qu'une donnée (pas un tableau) /* [3] S'il n'y a qu'une donnée (pas un tableau)
=========================================================*/ =========================================================*/
}else{ }else{
/* (1) Si de type 'radio' ou 'checkbox', on met la valeur de 'checked' */ /* (1) Si de type 'radio' ou 'checkbox', on met la valeur de 'checked' */
if( this.checkable(input[key].target) ) if( this.checkable(input[key].target) )
output[key] = input[key].checked ? input[key].value : null; output[key] = input[key].checked ? input[key].value : null;
/* (2) Sinon, on met la valeur de 'value' */ /* (2) Sinon, on met la valeur de 'value' */
else else
output[key] = input[key].value; output[key] = input[key].value;
} }
} }
return output; return output;
}; };
@ -217,27 +217,27 @@ FormDeflater.prototype.cleanOutput = function(input){
* *
*/ */
FormDeflater.prototype.getChildren = function(parent){ FormDeflater.prototype.getChildren = function(parent){
// Si le parent n'est pas un élément, on retourne aucun enfant // Si le parent n'est pas un élément, on retourne aucun enfant
if( !(parent instanceof Element) ) return []; if( !(parent instanceof Element) ) return [];
/* [1] Initialisation des variables /* [1] Initialisation des variables
=========================================================*/ =========================================================*/
// Contient la liste des enfants directs // Contient la liste des enfants directs
var children = [].slice.call(parent.children); var children = [].slice.call(parent.children);
// Contiendra la liste des enfants directs et indirects // Contiendra la liste des enfants directs et indirects
var allChildren = children; var allChildren = children;
/* [2] On parcourt tous les enfants /* [2] On parcourt tous les enfants
=========================================================*/ =========================================================*/
for( var i = 0 ; i < children.length ; i++ ){ for( var i = 0 ; i < children.length ; i++ ){
// On relance la fonction récursivement sur tous les enfants // On relance la fonction récursivement sur tous les enfants
allChildren = allChildren.concat( [].slice.call(this.getChildren(children[i])) ); allChildren = allChildren.concat( [].slice.call(this.getChildren(children[i])) );
} }
/* [3] On retourne le résultat /* [3] On retourne le résultat
=========================================================*/ =========================================================*/
return allChildren; return allChildren;
}; };
@ -251,19 +251,19 @@ FormDeflater.prototype.getChildren = function(parent){
* *
*/ */
FormDeflater.prototype.filterElements = function(elements){ FormDeflater.prototype.filterElements = function(elements){
// Contiendra les éléments correspondants aux critères // Contiendra les éléments correspondants aux critères
var filtered = []; var filtered = [];
/* [1] On parcourt tous les éléments /* [1] On parcourt tous les éléments
=========================================================*/ =========================================================*/
for( var i = 0 ; i < elements.length ; i++ ) for( var i = 0 ; i < elements.length ; i++ )
// Si l'élément a le bon tag, on le garde // Si l'élément a le bon tag, on le garde
if( this.tags.indexOf( elements[i].tagName.toLowerCase() ) > -1 ) if( this.tags.indexOf( elements[i].tagName.toLowerCase() ) > -1 )
filtered.push(elements[i]); filtered.push(elements[i]);
/* [2] On retourne les éléments filtržés /* [2] On retourne les éléments filtržés
=========================================================*/ =========================================================*/
return filtered; return filtered;
}; };

View File

@ -7,8 +7,8 @@
/* ATTRIBUTS STATIQUES */ /* ATTRIBUTS STATIQUES */
public static $config_path = array( public static $config_path = array(
'local' => 'f/json/database-local/conf', 'local' => __ROOT__.'/config/database-local.json',
'remote' => 'f/json/database/conf' 'remote' => __ROOT__.'/config/database.json'
); );
private static $pdo; private static $pdo;
@ -49,9 +49,9 @@
// chargement de la configuration du server SQL // chargement de la configuration du server SQL
if( !checkdnsrr($_SERVER['SERVER_NAME'], 'NS') ) if( !checkdnsrr($_SERVER['SERVER_NAME'], 'NS') )
$conf = json_decode( ResourceDispatcher::getResource(self::$config_path['local']), true ); $conf = json_decode( file_get_contents(self::$config_path['local']), true );
else else
$conf = json_decode( ResourceDispatcher::getResource(self::$config_path['remote']), true ); $conf = json_decode( file_get_contents(self::$config_path['remote']), true );
// creation de l'instance en fonction des parametres // creation de l'instance en fonction des parametres
self::$instance = new DataBase($conf['host'], $conf['dbname'], $conf['user'], $conf['password']); self::$instance = new DataBase($conf['host'], $conf['dbname'], $conf['user'], $conf['password']);

View File

@ -2,13 +2,12 @@
namespace manager; namespace manager;
use \manager\ResourceDispatcher;
class MenuManager{ class MenuManager{
// Constantes // Constantes
public static $config_path = 'f/json/menu/conf'; public static $config_path = __ROOT__.'/config/menu.json';
// Attributs prives utiles (initialisation) // Attributs prives utiles (initialisation)
@ -28,7 +27,7 @@
/* [0] On met a jour la configuration /* [0] On met a jour la configuration
=========================================================*/ =========================================================*/
// Categories specifiees // Categories specifiees
$this->categories = json_decode( ResourceDispatcher::getResource(self::$config_path), true ); $this->categories = json_decode( file_get_contents(self::$config_path), true );
// Gestion de l'erreur de parsage // Gestion de l'erreur de parsage
if( $this->categories == null ){ if( $this->categories == null ){
@ -72,7 +71,7 @@
// On met l'icone associee // On met l'icone associee
if( isset($category['icon']) ) if( isset($category['icon']) )
$render .= ResourceDispatcher::getResource($category['icon']); $render .= file_get_contents(__ROOT__.$category['icon']);
// On met le texte de la categorie // On met le texte de la categorie
if( isset($category['text']) ) if( isset($category['text']) )

View File

@ -7,7 +7,7 @@
class ModuleRequest{ class ModuleRequest{
// Constantes // Constantes
public static $config_path = 'f/json/modules/conf'; public static $config_path = __ROOT__.'/config/modules.json';
public static $default_options = array( public static $default_options = array(
'download' => false 'download' => false
); );
@ -47,7 +47,7 @@
/* [0] On met a jour la configuration /* [0] On met a jour la configuration
=========================================================*/ =========================================================*/
// Modules specifies // Modules specifies
$this->modules = json_decode( ResourceDispatcher::getResource(self::$config_path), true ); $this->modules = json_decode( file_get_contents(self::$config_path), true );
// Gestion de l'erreur de parsage // Gestion de l'erreur de parsage
if( $this->modules == null ){ if( $this->modules == null ){

View File

@ -17,7 +17,7 @@
class Repo{ class Repo{
// Constantes // Constantes
public static $config_path = 'f/json/repositories/conf'; public static $config_path = __ROOT__.'/config/repositories.json';
// Attributs prives utiles (initialisation) // Attributs prives utiles (initialisation)
@ -53,7 +53,7 @@
/* [0] On met a jour la configuration /* [0] On met a jour la configuration
=========================================================*/ =========================================================*/
// Modules specifies // Modules specifies
$this->repositories = json_decode( ResourceDispatcher::getResource(self::$config_path), true ); $this->repositories = json_decode( file_get_contents(self::$config_path), true );
// Gestion de l'erreur de parsage // Gestion de l'erreur de parsage
if( $this->repositories == null ){ if( $this->repositories == null ){

View File

@ -3,7 +3,6 @@
namespace manager\module; namespace manager\module;
use \manager\Database; use \manager\Database;
use \manager\sessionManager; use \manager\sessionManager;
use \manager\ResourceDispatcher;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\Repo; use \manager\Repo;
@ -25,7 +24,7 @@
/* [0] On récupère dans la config le chemin du fichier /* [0] On récupère dans la config le chemin du fichier
=========================================================*/ =========================================================*/
/* (1) On récupère le fichier */ /* (1) On récupère le fichier */
$uploadAuth = ResourceDispatcher::getResource('f/json/upload-auth/conf'); $uploadAuth = file_get_contents(__ROOT__.'/config/upload-auth.json');
/* (2) Si une erreur pour le fichier de conf */ /* (2) Si une erreur pour le fichier de conf */
if( $uploadAuth === false ) if( $uploadAuth === false )
@ -47,7 +46,7 @@
/* [1] On récupère le dictionnaire des valeurs /* [1] On récupère le dictionnaire des valeurs
=========================================================*/ =========================================================*/
/* (1) On récupère le fichier */ /* (1) On récupère le fichier */
$dict = ResourceDispatcher::getResource('f/json/dictionary/dy'); $dict = file_get_contents(__ROOT__.'/src/dynamic/dictionary.json');
/* (2) Si une erreur pour le fichier de conf */ /* (2) Si une erreur pour le fichier de conf */
if( $dict === false ) if( $dict === false )

View File

@ -3,7 +3,6 @@
namespace manager\module; namespace manager\module;
use \manager\sessionManager; use \manager\sessionManager;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\ResourceDispatcher;
use \manager\lightdb; use \manager\lightdb;
@ -18,7 +17,7 @@
* *
*/ */
private static function loadDictionary(){ private static function loadDictionary(){
$dict = ResourceDispatcher::getResource('f/json/dictionary/dy'); $dict = file_get_contents(__ROOT__.'/src/dynamic/dictionary.json');
$dict = json_decode( $dict, true ); $dict = json_decode( $dict, true );

View File

@ -2,7 +2,6 @@
namespace manager\module; namespace manager\module;
use \manager\Database; use \manager\Database;
use \manager\ResourceDispatcher;
use \manager\sessionManager; use \manager\sessionManager;
use \manager\ModuleRequest; use \manager\ModuleRequest;
use \manager\ManagerError; use \manager\ManagerError;
@ -151,7 +150,7 @@
/* [0] On récupère le dictionnaire /* [0] On récupère le dictionnaire
=========================================================*/ =========================================================*/
$dict = ResourceDispatcher::getResource('f/json/dictionary/dy'); $dict = file_get_contents(__ROOT__.'/src/dynamic/dictionary.json');
/* (2) Si une erreur pour le fichier de conf */ /* (2) Si une erreur pour le fichier de conf */
if( $dict === false ) if( $dict === false )
@ -373,7 +372,7 @@
/* [0] On récupère le dictionnaire /* [0] On récupère le dictionnaire
=========================================================*/ =========================================================*/
$dict = ResourceDispatcher::getResource('f/json/dictionary/dy'); $dict = file_get_contents(__ROOT__.'/src/dynamic/dictionary.json');
/* (2) Si une erreur pour le fichier de conf */ /* (2) Si une erreur pour le fichier de conf */
if( $dict === false ) if( $dict === false )
@ -597,6 +596,42 @@
); );
} }
/* RENVOIE LE CONTENU DU MENU
*
*/
public static function menu($params){
extract($params);
$menu_json = json_decode( file_get_contents(__ROOT__.'/config/menu.json'), true );
// si erreur
if( $menu_json == null )
return ['ModuleError' => ManagerError::ParsingFailed];
// si tout bon
return [
'ModuleError' => ManagerError::Success,
'menu' => $menu_json
];
}
} }

View File

@ -2,7 +2,6 @@
namespace manager\module; namespace manager\module;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\ResourceDispatcher;
class module{ class module{
@ -41,7 +40,7 @@
/* [1] Récupération de la configuration /* [1] Récupération de la configuration
=========================================================*/ =========================================================*/
// On récupère le fichier et on le parse // On récupère le fichier et on le parse
$modules = json_decode( ResourceDispatcher::getResource('f/json/modules/conf'), true ); $modules = json_decode( file_get_contents(__ROOT__.'/config/modules.json'), true );
// Gestion de l'erreur de parsage // Gestion de l'erreur de parsage
if( $modules == null ) if( $modules == null )
@ -97,7 +96,7 @@
/* [0] Récupération de la configuration /* [0] Récupération de la configuration
=========================================================*/ =========================================================*/
// On récupère le fichier et on le parse // On récupère le fichier et on le parse
$modules = json_decode( ResourceDispatcher::getResource('f/json/modules/conf'), true ); $modules = json_decode( file_get_contents(__ROOT__.'/config/modules.json'), true );
// Gestion de l'erreur de parsage // Gestion de l'erreur de parsage
if( $modules == null ) if( $modules == null )

View File

@ -2,7 +2,6 @@
namespace manager\module; namespace manager\module;
use \manager\Database; use \manager\Database;
use \manager\ResourceDispatcher;
use \manager\sessionManager; use \manager\sessionManager;
use \manager\ModuleRequest; use \manager\ModuleRequest;
use \manager\ManagerError; use \manager\ManagerError;
@ -26,7 +25,7 @@
/* [1] Chargement du fichier de config /* [1] Chargement du fichier de config
=========================================================*/ =========================================================*/
/* (1) On récupère le fichier */ /* (1) On récupère le fichier */
$uploadAuth = ResourceDispatcher::getResource('f/json/upload-auth/conf'); $uploadAuth = file_get_contents(__ROOT__.'/config/upload-auth.json');
/* (2) Si une erreur pour le fichier de conf */ /* (2) Si une erreur pour le fichier de conf */
if( $uploadAuth === false ) if( $uploadAuth === false )

View File

@ -1,5 +1,4 @@
<?php use \manager\ResourceDispatcher; <?php use \manager\MenuManager; ?>
use \manager\MenuManager; ?>
<!DOCTYPE html> <!DOCTYPE html>
@ -14,36 +13,36 @@
<meta name='description' content="Tableau de bord pour une enquete sociologique sur les liens sociaux entre les reseaux sociaux et la vie hors-ligne"> <meta name='description' content="Tableau de bord pour une enquete sociologique sur les liens sociaux entre les reseaux sociaux et la vie hors-ligne">
<!-- Dépendences CSS --> <!-- Dépendences CSS -->
<link type='text/css' rel='stylesheet' href='/f/css/min/css/reset' /> <!-- Reset du css natif des browsers --> <link type='text/css' rel='stylesheet' href='/css/reset/min.css' /> <!-- Reset du css natif des browsers -->
<link type='text/css' rel='stylesheet' href='/f/css/min/css/font' /> <!-- Positionnement global des pages --> <link type='text/css' rel='stylesheet' href='/css/font/min.css' /> <!-- Positionnement global des pages -->
<link type='text/css' rel='stylesheet' href='/f/css/min/css/layout' /> <!-- Positionnement global des pages --> <link type='text/css' rel='stylesheet' href='/css/layout/min.css' /> <!-- Positionnement global des pages -->
<link type='text/css' rel='stylesheet' href='/f/css/min/css/header' /> <!-- Gestion du header --> <link type='text/css' rel='stylesheet' href='/css/header/min.css' /> <!-- Gestion du header -->
<link type='text/css' rel='stylesheet' href='/f/css/min/css/menu-side' /> <!-- Gestion du menu --> <link type='text/css' rel='stylesheet' href='/css/menu-side/min.css' /> <!-- Gestion du menu -->
<link type='text/css' rel='stylesheet' href='/f/css/min/css/container' /> <!-- Gestion du container --> <link type='text/css' rel='stylesheet' href='/css/container/min.css' /> <!-- Gestion du container -->
<link type='text/css' rel='stylesheet' href='/f/css/min/css/global' /> <!-- Style global --> <link type='text/css' rel='stylesheet' href='/css/global/min.css' /> <!-- Style global -->
<link type='text/css' rel='stylesheet' href='/f/css/min/css/notif' /> <!-- Inclusion du system de notifs --> <link type='text/css' rel='stylesheet' href='/css/notif/min.css' /> <!-- Inclusion du system de notifs -->
<!-- Dépendences Javascript --> <!-- Dépendences Javascript -->
<script type='text/javascript' src='/f/js/crc32-min/js/lib' ></script> <!-- Système de hash unique et rapide --> <script type='text/javascript' src='/js/lib/crc32-min.js' ></script> <!-- Système de hash unique et rapide -->
<script type='text/javascript' src='/f/js/local-storage-interface-min/js/lib' ></script> <!-- Interface de gestion du 'localStorage' --> <script type='text/javascript' src='/js/lib/local-storage-interface-min.js' ></script> <!-- Interface de gestion du 'localStorage' -->
<script type='text/javascript' src='/f/js/html-builder-min/js/lib' ></script> <!-- Gestion de construction de HTML --> <script type='text/javascript' src='/js/lib/html-builder-min.js' ></script> <!-- Gestion de construction de HTML -->
<script type='text/javascript' src='/f/js/input-checker-min/js/lib' ></script> <!-- Gestion dynamique des saisies --> <script type='text/javascript' src='/js/lib/input-checker-min.js' ></script> <!-- Gestion dynamique des saisies -->
<script type='text/javascript' src='/f/js/form-deflater-min/js/lib' ></script> <!-- Gestion des formulaires js-friendly --> <script type='text/javascript' src='/js/lib/form-deflater-min.js' ></script> <!-- Gestion des formulaires js-friendly -->
<script type='text/javascript' src='/f/js/reset-min/js/lib' ></script> <!-- Corrections Javascript natif (ajouts) --> <script type='text/javascript' src='/js/lib/reset-min.js' ></script> <!-- Corrections Javascript natif (ajouts) -->
<script type='text/javascript' src='/f/js/api-min/js/lib' ></script> <!-- Gestion des transactions avec le serveur --> <script type='text/javascript' src='/js/lib/api-min.js' ></script> <!-- Gestion des transactions avec le serveur -->
<script type='text/javascript' src='/f/js/page-manager-min/js/lib' ></script> <!-- Gestion réseau/chargement/liens/URL --> <script type='text/javascript' src='/js/lib/page-manager-min.js' ></script> <!-- Gestion réseau/chargement/liens/URL -->
<script type='text/javascript' src='/f/js/notif-min/js/lib' ></script> <!-- Gestion des notifications --> <script type='text/javascript' src='/js/lib/notif-min.js' ></script> <!-- Gestion des notifications -->
<script type='text/javascript' src='/f/js/shortcut-manager/js/lib' ></script> <!-- Gestion des raccourcis clavier --> <script type='text/javascript' src='/js/lib/shortcut-manager.js' ></script> <!-- Gestion des raccourcis clavier -->
<!-- Dépendences Spéficiques pré-chargeables --> <!-- Dépendences Spéficiques pré-chargeables -->
<script type='text/javascript' src='/f/js/input-html-phone-data-min/js/includes' ></script> <!-- Gestion du constructeur HTML pour la page d'acquisition 'phone' --> <script type='text/javascript' src='/js/includes/input-html-phone-data-min.js' ></script> <!-- Gestion du constructeur HTML pour la page d'acquisition 'phone' -->
<script type='text/javascript' src='/f/js/input-html-facebook-data-min/js/includes' ></script> <!-- Gestion du constructeur HTML pour la page d'acquisition 'facebook' --> <script type='text/javascript' src='/js/includes/input-html-facebook-data-min.js' ></script> <!-- Gestion du constructeur HTML pour la page d'acquisition 'facebook' -->
<!-- Librairies Externes Javascript --> <!-- Librairies Externes Javascript -->
<script type='text/javascript' src='/f/js/highcharts/highcharts' ></script> <!-- Librairie pour les graphiques --> <script type='text/javascript' src='/js/lib/highcharts/js/highcharts.js' ></script> <!-- Librairie pour les graphiques -->
<script type='text/javascript' src='/f/js/exporting/highcharts/modules' ></script> <!-- Librairie pour les graphiques --> <script type='text/javascript' src='/js/highcharts/js/modules/exporting.js' ></script> <!-- Librairie pour les graphiques -->
<script type='text/javascript' src='/f/js/_charts-min/js/lib' ></script> <!-- Librairie pour les graphiques --> <script type='text/javascript' src='/js/lib/_charts-min.js' ></script> <!-- Librairie pour les graphiques -->
</head> </head>
<body> <body>
@ -121,7 +120,7 @@
<!-- Dépendences Javascript après chargement des éléments --> <!-- Dépendences Javascript après chargement des éléments -->
<script type='text/javascript' src='/f/js/action-script-min/js'></script> <script type='text/javascript' src='/js/action-script-min.js'></script>
</body> </body>
</html> </html>

View File

@ -2,7 +2,6 @@
require_once __ROOT__.'/manager/autoloader.php'; require_once __ROOT__.'/manager/autoloader.php';
use \manager\ModuleRequest; use \manager\ModuleRequest;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\ResourceDispatcher;

View File

@ -2,7 +2,6 @@
require_once __ROOT__.'/manager/autoloader.php'; require_once __ROOT__.'/manager/autoloader.php';
use \manager\ModuleRequest; use \manager\ModuleRequest;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\ResourceDispatcher;
use \manager\Repo; use \manager\Repo;
?> ?>
@ -22,11 +21,11 @@
<section data-sublink='presentation'> <section data-sublink='presentation'>
<center> <center>
<img src='/f/svg/icon/st'/> <img src='/src/static/icon.svg'/>
<img src='/f/svg/sms/st/credits'/> <img src='/src/static/credits/sms.svg'/>
<img src='/f/jpg/cnrs/st/credits'/> <img src='/src/static/credits/cnrs.jpg'/>
<img src='/f/png/univ_midi/st/credits'/> <img src='/src/static/credits/univ_midi.png'/>
<img src='/f/png/ut2/st/credits'/> <img src='/src/static/credits/ut2.png'/>
</center> </center>
<p>Bienvenue sur la Web Application dévéloppée par des chercheurs du CNRS appartenant au LabEx SMS (Structuration des Mondes Sociaux) de l'université de Toulouse.</p> <p>Bienvenue sur la Web Application dévéloppée par des chercheurs du CNRS appartenant au LabEx SMS (Structuration des Mondes Sociaux) de l'université de Toulouse.</p>

View File

@ -3,7 +3,6 @@
use \manager\ModuleRequest; use \manager\ModuleRequest;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\Repo; use \manager\Repo;
use \manager\ResourceDispatcher;

View File

@ -2,7 +2,6 @@
require_once __ROOT__.'/manager/autoloader.php'; require_once __ROOT__.'/manager/autoloader.php';
use \manager\ModuleRequest; use \manager\ModuleRequest;
use \manager\ResourceDispatcher;
use \manager\sessionManager; use \manager\sessionManager;
use \manager\ManagerError; use \manager\ManagerError;

View File

@ -2,7 +2,6 @@
require_once __ROOT__.'/manager/autoloader.php'; require_once __ROOT__.'/manager/autoloader.php';
use \manager\ModuleRequest; use \manager\ModuleRequest;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\ResourceDispatcher;
use \manager\Repo; use \manager\Repo;
debug(); debug();
?> ?>

View File

@ -3,7 +3,6 @@
use \manager\Repo; use \manager\Repo;
use \manager\ModuleRequest; use \manager\ModuleRequest;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\ResourceDispatcher;
use \manager\Database; use \manager\Database;
debug(); debug();
@ -60,11 +59,11 @@ if( permission('admin') ){
echo "<div>"; echo "<div>";
echo "<span>".$token['name']."</span>"; echo "<span>".$token['name']."</span>";
echo "<span data-prefix='Expiration'>".Database::frDate($token['expires'])."</span>"; echo "<span data-prefix='Expiration'>".Database::frDate($token['expires'])."</span>";
echo "</div><div>"; echo "</div><div>";
echo "<span><span class='flag'>".$token['token']."</span></span>"; echo "<span><span class='flag'>".$token['token']."</span></span>";
echo "</div>"; echo "</div>";
echo "<button class='remove-token'>Supprimer</button>"; echo "<button class='remove-token'>Supprimer</button>";
echo "</li>"; echo "</li>";
@ -138,9 +137,9 @@ if( permission('admin') ){
echo "<div>"; echo "<div>";
echo "<span data-prefix='Identifiant'>".$user['login']."</span>"; echo "<span data-prefix='Identifiant'>".$user['login']."</span>";
echo "<span data-prefix='Adresse mail'>".$user['mail']."</span>"; echo "<span data-prefix='Adresse mail'>".$user['mail']."</span>";
echo "</div>"; echo "</div>";
echo "<button class='remove-user'>Supprimer</button>"; echo "<button class='remove-user'>Supprimer</button>";
echo "</li>"; echo "</li>";