diff --git a/css/layout.css b/css/layout.css
index 8840469..e318223 100755
--- a/css/layout.css
+++ b/css/layout.css
@@ -1,2 +1,2 @@
-#WRAPPER{display:block;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#e8e8e8;font-family:'Open Sans';font-size:15px;overflow-x:hidden;overflow-y:auto}#WRAPPER>#HEADER{display:flex;position:absolute;top:0;left:15em;width:calc( 100% - 15em );height:calc( 5em - 1px );border-bottom:1px solid #e5e5e5;background-color:#fff;flex-direction:row;justify-content:flex-end;align-content:space-around;z-index:10}#WRAPPER>#MENU-SIDE{display:block;position:fixed;top:0;left:0;width:15em;height:100%;box-shadow:2px 1px 3px #ddd;background-color:#32323a;transition:all .3s;z-index:9}#WRAPPER>#CONTAINER{display:flex;position:absolute;top:5em;left:15em;width:calc( 100% - 15em - 2*1em );min-height:calc( 100% - 5em - 2*1em );padding:1em;flex-direction:row;justify-content:space-between;overflow-x:none;overflow-y:auto}
+body{font-family:'Open Sans';font-size:15px}#WRAPPER{display:block;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#e8e8e8;overflow-x:hidden;overflow-y:auto;z-index:1}#WRAPPER>#HEADER{display:flex;position:absolute;top:0;left:15em;width:calc( 100% - 15em );height:calc( 5em - 1px );border-bottom:1px solid #e5e5e5;background-color:#fff;flex-direction:row;justify-content:flex-end;align-content:space-around;z-index:10}#WRAPPER>#MENU-SIDE{display:block;position:fixed;top:0;left:0;width:15em;height:100%;box-shadow:2px 1px 3px #ddd;background-color:#32323a;transition:all .3s;z-index:9}#WRAPPER>#CONTAINER{display:flex;position:absolute;top:5em;left:15em;width:calc( 100% - 15em - 2*1em );min-height:calc( 100% - 5em - 2*1em );padding:1em;flex-direction:row;justify-content:space-between;overflow-x:none;overflow-y:auto}#LOGIN{display:flex;position:fixed;top:0;left:0;width:100%;height:100%;flex-direction:row;flex-wrap:nowrap;justify-content:space-around;align-items:center;background-color:#32323a;z-index:101}#LOGIN>#login-icon{width:5em;height:5em;background-color:#f00}#LOGIN>#login-form{display:block}#LOGIN>#login-form>input[type='text'],#LOGIN>#login-form>input[type='password'],#LOGIN>#login-form>input[type='button']{display:flex;width:20em;margin:2em 0;padding:1em 2em;flex-direction:column;justify-content:space-around;flex-wrap:nowrap;align-items:middle;border-radius:5px;border:1px solid #6b6b6b;background-color:#32323a;color:#fff;transition:border .2s ease-in-out}#LOGIN>#login-form>input[type='text']:hover,#LOGIN>#login-form>input[type='text']:focus,#LOGIN>#login-form>input[type='password']:hover,#LOGIN>#login-form>input[type='password']:focus,#LOGIN>#login-form>input[type='button']:hover,#LOGIN>#login-form>input[type='button']:focus{border-color:#53d192}#LOGIN>#login-form>input[type='button']{margin:2em auto;border:0;background-color:#53d192;color:#fff;font-weight:bold}#LOGIN>#login-form>input[type='button']:hover{box-shadow:0 0 1em #1a1a1f}
/*# sourceMappingURL=layout.css.map */
diff --git a/css/layout.css.map b/css/layout.css.map
index a0f5c89..aea2346 100755
--- a/css/layout.css.map
+++ b/css/layout.css.map
@@ -1,6 +1,6 @@
{
"version": 3,
-"mappings": "AAEA,QAAQ,CACP,OAAO,CAAE,KAAK,CACd,QAAQ,CAAE,KAAK,CACd,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CAEb,gBAAgB,CCPE,OAAO,CDSzB,WAAW,CAAE,WAAW,CACxB,SAAS,CAAE,IAAI,CAEf,UAAU,CAAE,MAAM,CAClB,UAAU,CAAE,IAAI,CAKhB,gBAAW,CACV,OAAO,CAAE,IAAI,CACb,QAAQ,CAAE,QAAQ,CACjB,GAAG,CAAE,CAAC,CACN,IAAI,CCPW,IAAI,CDQnB,KAAK,CAAE,mBAAkC,CACzC,MAAM,CAAE,iBAA+B,CAExC,aAAa,CAAE,iBAA8B,CAE7C,gBAAgB,CC3BC,IAAO,CD8BxB,cAAc,CAAE,GAAG,CACnB,eAAe,CAAE,QAAQ,CACzB,aAAa,CAAE,YAAY,CAE3B,OAAO,CAAE,EAAE,CAQZ,mBAAc,CACb,OAAO,CAAE,KAAK,CACd,QAAQ,CAAE,KAAK,CACd,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,KAAK,CCjCU,IAAI,CDkCnB,MAAM,CAAE,IAAI,CAEb,UAAU,CAAE,gBAAgB,CAE5B,gBAAgB,CC/CA,OAAO,CDiDvB,UAAU,CAAE,OAAO,CAEnB,OAAO,CAAE,CAAC,CAMX,mBAAc,CACb,OAAO,CAAE,IAAI,CACb,QAAQ,CAAE,QAAQ,CACjB,GAAG,CClDY,GAAG,CDmDlB,IAAI,CCpDW,IAAI,CDqDnB,KAAK,CAAE,2BAA0C,CACjD,UAAU,CAAE,0BAAwC,CACrD,OAAO,CAAE,GAAG,CAGZ,cAAc,CAAE,GAAG,CACnB,eAAe,CAAE,aAAa,CAE9B,UAAU,CAAE,IAAI,CAChB,UAAU,CAAE,IAAI",
+"mappings": "AAEA,IAAI,CAEH,WAAW,CAAE,WAAW,CACxB,SAAS,CAAE,IAAI,CAKhB,QAAQ,CACP,OAAO,CAAE,KAAK,CACd,QAAQ,CAAE,KAAK,CACd,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CAEb,gBAAgB,CCfE,OAAO,CDiBzB,UAAU,CAAE,MAAM,CAClB,UAAU,CAAE,IAAI,CAEhB,OAAO,CAAE,CAAC,CAKV,gBAAW,CACV,OAAO,CAAE,IAAI,CACb,QAAQ,CAAE,QAAQ,CACjB,GAAG,CAAE,CAAC,CACN,IAAI,CCdW,IAAI,CDenB,KAAK,CAAE,mBAAkC,CACzC,MAAM,CAAE,iBAA+B,CAExC,aAAa,CAAE,iBAA8B,CAE7C,gBAAgB,CClCC,IAAO,CDqCxB,cAAc,CAAE,GAAG,CACnB,eAAe,CAAE,QAAQ,CACzB,aAAa,CAAE,YAAY,CAE3B,OAAO,CAAE,EAAE,CAQZ,mBAAc,CACb,OAAO,CAAE,KAAK,CACd,QAAQ,CAAE,KAAK,CACd,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,KAAK,CCxCU,IAAI,CDyCnB,MAAM,CAAE,IAAI,CAEb,UAAU,CAAE,gBAAgB,CAE5B,gBAAgB,CCtDA,OAAO,CDwDvB,UAAU,CAAE,OAAO,CAEnB,OAAO,CAAE,CAAC,CAMX,mBAAc,CACb,OAAO,CAAE,IAAI,CACb,QAAQ,CAAE,QAAQ,CACjB,GAAG,CCzDY,GAAG,CD0DlB,IAAI,CC3DW,IAAI,CD4DnB,KAAK,CAAE,2BAA0C,CACjD,UAAU,CAAE,0BAAwC,CACrD,OAAO,CAAE,GAAG,CAGZ,cAAc,CAAE,GAAG,CACnB,eAAe,CAAE,aAAa,CAE9B,UAAU,CAAE,IAAI,CAChB,UAAU,CAAE,IAAI,CASlB,MAAM,CACL,OAAO,CAAE,IAAI,CACb,QAAQ,CAAE,KAAK,CACd,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CAGb,cAAc,CAAE,GAAG,CACnB,SAAS,CAAE,MAAM,CACjB,eAAe,CAAE,YAAY,CAC7B,WAAW,CAAE,MAAM,CAGnB,gBAAgB,CCtGC,OAAO,CDwGxB,OAAO,CAAE,GAAG,CAMZ,kBAAe,CACd,KAAK,CAAE,GAAG,CACV,MAAM,CAAE,GAAG,CAEX,gBAAgB,CAAE,IAAI,CAKvB,kBAAe,CACd,OAAO,CAAE,KAAK,CAId,uHAEwB,CACvB,OAAO,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CAEZ,MAAM,CAAE,KAAK,CACb,OAAO,CAAE,OAAO,CAGhB,cAAc,CAAE,MAAM,CACtB,eAAe,CAAE,YAAY,CAC7B,SAAS,CAAE,MAAM,CACjB,WAAW,CAAE,MAAM,CAGnB,aAAa,CAAE,GAAG,CAClB,MAAM,CAAE,iBAAgC,CAExC,gBAAgB,CC/ID,OAAO,CDiJtB,KAAK,CC9IU,IAAO,CDgJtB,UAAU,CAAE,sBAAsB,CAGlC,mRACO,CACN,YAAY,CC3JG,OAAO,CDkKxB,uCAAwB,CACvB,MAAM,CAAE,QAAQ,CAEhB,MAAM,CAAE,CAAC,CAET,gBAAgB,CCvKA,OAAO,CDyKvB,KAAK,CCnKU,IAAO,CDoKtB,WAAW,CAAE,IAAI,CAGjB,6CAAO,CACN,UAAU,CAAE,eAA4B",
"sources": ["layout.scss","constants.scss"],
"names": [],
"file": "layout.css"
diff --git a/css/layout.scss b/css/layout.scss
index 11cdfa4..a163d2e 100755
--- a/css/layout.scss
+++ b/css/layout.scss
@@ -1,5 +1,13 @@
@import 'constants';
+body{
+
+ font-family: 'Open Sans';
+ font-size: 15px;
+}
+
+
+
#WRAPPER{
display: block;
position: fixed;
@@ -10,12 +18,11 @@
background-color: $theme-bg;
- font-family: 'Open Sans';
- font-size: 15px;
-
overflow-x: hidden;
overflow-y: auto;
+ z-index: 1;
+
/* [1] Header de la page
==========================================*/
@@ -80,4 +87,101 @@
overflow-x: none;
overflow-y: auto;
}
+}
+
+
+
+
+/* [4] Page de login
+=========================================================*/
+#LOGIN{
+ display: flex;
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+
+ // flex properties
+ flex-direction: row;
+ flex-wrap: nowrap;
+ justify-content: space-around;
+ align-items: center;
+
+
+ background-color: $dark-bg;
+
+ z-index: 101;
+
+
+
+
+ /* (1) Logo et nom du site */
+ & > #login-icon{
+ width: 5em;
+ height: 5em;
+
+ background-color: #f00;
+ }
+
+
+ /* (2) Formulaire de connexion */
+ & > #login-form{
+ display: block;
+
+
+ /* (2.1) Champs de texte (login/password) */
+ & > input[type='text'],
+ & > input[type='password'],
+ & > input[type='button']{
+ display: flex;
+ width: 20em;
+
+ margin: 2em 0;
+ padding: 1em 2em;
+
+ // flex properties
+ flex-direction: column;
+ justify-content: space-around;
+ flex-wrap: nowrap;
+ align-items: middle;
+
+
+ border-radius: 5px;
+ border: 1px solid lighten($theme-fg, 10);
+
+ background-color: $dark-bg;
+
+ color: $dark-fg-primary;
+
+ transition: border .2s ease-in-out;
+
+ // Animation de @hover/@focus
+ &:hover,
+ &:focus{
+ border-color: $theme-fg-primary;
+ }
+
+ }
+
+
+ /* (2.2) Bouton de connexion */
+ & > input[type='button']{
+ margin: 2em auto;
+
+ border: 0;
+
+ background-color: $theme-fg-primary;
+
+ color: $dark-fg-primary;
+ font-weight: bold;
+
+ // Animation de @hover
+ &:hover{
+ box-shadow: 0 0 1em darken($dark-bg, 10);
+ }
+
+ }
+ }
+
}
\ No newline at end of file
diff --git a/doc/com.svg b/doc/com.svg
new file mode 100644
index 0000000..b7340b9
--- /dev/null
+++ b/doc/com.svg
@@ -0,0 +1,670 @@
+
+
+
+
diff --git a/manager/autoloader.php b/manager/autoloader.php
index e651e07..e3fb28f 100755
--- a/manager/autoloader.php
+++ b/manager/autoloader.php
@@ -18,23 +18,13 @@
error_reporting(-1);
}
+ /* [1] Gestion des droits des utilisateurs
+ =========================================================*/
+ /* (1) Retourne si l'utilisateur est connecte ou non */
+ function connected(){ return isset($_SESSION['permission']) && count($_SESSION['permission']) > 0; }
-
-
-
-
- /* APPEL DYNAMIQUE DES CLASSES PASSEES EN PARAMETRE
- *
- * @classes Tableau contenant le nom des classes
- *
- */
- function autoload($classes){
- foreach($classes as $class){
- $name_only = substr(strrchr($class, '\\'), 1);
- var_dump('use '.$class.' as '.$name_only.';');
- eval('use '.$class.' as '.$name_only.';');
- }
- }
+ /* (2) Retourne si l'utilisateur a le status en question */
+ function permission($type){ return connected() && in_array($type, $_SESSION['permission']); }
diff --git a/view.php b/view.php
index fb0edf6..06352fc 100755
--- a/view.php
+++ b/view.php
@@ -1,4 +1,14 @@
-
+
@@ -29,7 +39,17 @@
-
+
+
+