From 0029365ac57d4ef3952400c19ba3424409630a12 Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Tue, 12 Apr 2016 10:21:12 +0200 Subject: [PATCH] Design v1 interface de connexion --- css/layout.css | 2 +- css/layout.css.map | 2 +- css/layout.scss | 110 ++++++- doc/com.svg | 670 +++++++++++++++++++++++++++++++++++++++++ manager/autoloader.php | 22 +- view.php | 24 +- 6 files changed, 807 insertions(+), 23 deletions(-) create mode 100644 doc/com.svg 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 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Plateforme + + 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 @@ - + + +
+
+ +
+ + + +
+