From e1f4a6dc8cb8751553739224ad50bb17c62820cd Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 16 May 2020 22:15:16 +0200 Subject: [PATCH] =?UTF-8?q?093=20Personnalisation=20administration=20:=20r?= =?UTF-8?q?este=20=C3=A0=20faire=20la=20couleur=20des=20blocs=20et=20l'ape?= =?UTF-8?q?r=C3=A7u.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core.php | 2 +- core/module/theme/theme.php | 52 ++++++++++ core/module/theme/view/admin/admin.css | 16 +++ core/module/theme/view/admin/admin.php | 130 +++++++++++++++++++++++++ core/module/theme/view/index/index.css | 1 + core/module/theme/view/index/index.php | 38 +++++--- 6 files changed, 226 insertions(+), 13 deletions(-) create mode 100755 core/module/theme/view/admin/admin.css create mode 100755 core/module/theme/view/admin/admin.php diff --git a/core/core.php b/core/core.php index 4c82c9bd..873fcc5b 100755 --- a/core/core.php +++ b/core/core.php @@ -1525,7 +1525,7 @@ class core extends common { $cssVersion = preg_split('/\*+/', file_get_contents(self::DATA_DIR.'admin.css')); if(empty($cssVersion[1]) OR $cssVersion[1] !== md5(json_encode($this->getData(['admin'])))) { // Version - $css = '/*' . md5(json_encode($this->getData(['theme','admin']))) . '*/'; + $css = '/*' . md5(json_encode($this->getData(['admin']))) . '*/'; $css .= '#site{background-color:' . $this->getData(['admin','backgroundColor']) . ';}'; $css .= 'body, .row > div {font:' . $this->getData(['admin','fontSize']) . ' "' . $this->getData(['admin','font']) . '", sans-serif;}'; $css .= 'body h1, h2, h3, h4, h5, h6 {font-family:' . $this->getData(['admin','fontTitle' ]) . ', sans-serif;color:' . $this->getData(['admin','colorTitle' ]) . ';}'; diff --git a/core/module/theme/theme.php b/core/module/theme/theme.php index d3d11090..0449d57e 100755 --- a/core/module/theme/theme.php +++ b/core/module/theme/theme.php @@ -24,7 +24,9 @@ class theme extends common { 'index' => self::GROUP_ADMIN, 'menu' => self::GROUP_ADMIN, 'reset' => self::GROUP_ADMIN, + 'resetAdmin' => self::GROUP_ADMIN, 'site' => self::GROUP_ADMIN, + 'admin' => self::GROUP_ADMIN, 'manage' => self::GROUP_ADMIN, 'export' => self::GROUP_ADMIN, 'save' => self::GROUP_ADMIN @@ -238,6 +240,42 @@ class theme extends common { '4' => 'Trois lignes superposées' ]; + /** + * Thème des écrans d'administration + */ + public function admin() { + // Soumission du formulaire + if($this->isPost()) { + $this->setData(['admin', [ + 'backgroundColor' => $this->getInput('themeAdminBackgroundColor'), + 'colorTitle' => $this->getInput('themeAdmincolorTitle'), + 'colorText' => $this->getInput('themeAdmincolorText'), + 'colorButtonText' => $this->getInput('themeAdmincolorButtonText'), + 'backgroundColorButton' => $this->getInput('themeAdmincolorButton'), + 'backgroundColorButtonGrey' => $this->getInput('themeAdmincolorGrey'), + 'backgroundColorButtonRed' => $this->getInput('themeAdmincolorRed'), + 'backgroundColorButtonGreen'=> $this->getInput('themeAdmincolorGreen'), + 'font' => $this->getInput('themeFont'), + 'fontSize' => $this->getInput('themeTextFontSize'), + 'fontTitle' => $this->getInput('themeFontTitle') + ]]); + // Valeurs en sortie + $this->addOutput([ + 'notification' => 'Modifications enregistrées', + 'redirect' => helper::baseUrl() . 'theme/admin', + 'state' => true + ]); + } + // Valeurs en sortie + $this->addOutput([ + 'title' => 'Administration', + 'view' => 'admin', + 'vendor' => [ + 'tinycolorpicker' + ], + ]); + } + /** * Mode avancé */ @@ -497,6 +535,20 @@ class theme extends common { ]); } + /** + * Réinitialisation de la personnalisation avancée + */ + public function resetAdmin() { + // Supprime le fichier de personnalisation avancée + unlink(self::DATA_DIR.'admin.json'); + // Valeurs en sortie + $this->addOutput([ + 'notification' => 'Thème réinitialisé', + 'redirect' => helper::baseUrl() . 'theme/admin', + 'state' => true + ]); + } + /** * Options du site */ diff --git a/core/module/theme/view/admin/admin.css b/core/module/theme/view/admin/admin.css new file mode 100755 index 00000000..bfeedf7c --- /dev/null +++ b/core/module/theme/view/admin/admin.css @@ -0,0 +1,16 @@ +/** + * This file is part of Zwii. + * + * For full copyright and license information, please see the LICENSE + * file that was distributed with this source code. + * + * @author Rémi Jean + * @copyright Copyright (C) 2008-2018, Rémi Jean + * @author Frédéric Tempez + * @copyright Copyright (C) 2018-2020, Frédéric Tempez + * @license GNU General Public License, version 3 + * @link http://zwiicms.com/ + */ + +/* Thème administration */ +@import url("site/data/admin.css"); \ No newline at end of file diff --git a/core/module/theme/view/admin/admin.php b/core/module/theme/view/admin/admin.php new file mode 100755 index 00000000..8ffe852e --- /dev/null +++ b/core/module/theme/view/admin/admin.php @@ -0,0 +1,130 @@ + +
+
+ 'buttonGrey', + 'href' => helper::baseUrl() . 'theme', + 'ico' => 'left', + 'value' => 'Retour' + ]); ?> +
+
+ 'buttonRed', + 'href' => helper::baseUrl() . 'theme/resetAdmin', + 'value' => 'Réinitialiser' + ]); ?> +
+
+ 'valider', + 'ico' => 'check' + ]); ?> +
+
+
+
+
+

Couleurs

+
+
+ 'colorPicker', + 'help' => 'Couleur visible en l\'absence d\'une image.
Le curseur horizontal règle le niveau de transparence.', + 'label' => 'Arrière-plan', + 'value' => $this->getData(['admin', 'backgroundColor']) + ]); ?> +
+
+ 'colorPicker', + 'help' => 'Couleur visible en l\'absence d\'une image.
Le curseur horizontal règle le niveau de transparence.', + 'label' => 'Titres', + 'value' => $this->getData(['admin', 'colorTitle']) + ]); ?> +
+
+ 'colorPicker', + 'help' => 'Couleur visible en l\'absence d\'une image.
Le curseur horizontal règle le niveau de transparence.', + 'label' => 'Texte', + 'value' => $this->getData(['admin', 'colorText']) + ]); ?> +
+
+ 'colorPicker', + 'help' => 'Couleur visible en l\'absence d\'une image.
Le curseur horizontal règle le niveau de transparence.', + 'label' => 'Texte des boutons', + 'value' => $this->getData(['admin', 'colorButtonText']) + ]); ?> +
+
+
+
+ 'colorPicker', + 'help' => 'Couleur visible en l\'absence d\'une image.
Le curseur horizontal règle le niveau de transparence.', + 'label' => 'Bouton standard', + 'value' => $this->getData(['admin', 'backgroundColorButton']) + ]); ?> +
+
+ 'colorPicker', + 'help' => 'Couleur visible en l\'absence d\'une image.
Le curseur horizontal règle le niveau de transparence.', + 'label' => 'Bouton retour', + 'value' => $this->getData(['admin', 'backgroundColorButtonGrey']) + ]); ?> +
+
+ 'colorPicker', + 'help' => 'Couleur visible en l\'absence d\'une image.
Le curseur horizontal règle le niveau de transparence.', + 'label' => 'Bouton effacement', + 'value' => $this->getData(['admin', 'backgroundColorButtonRed']) + ]); ?> +
+
+ 'colorPicker', + 'help' => 'Couleur visible en l\'absence d\'une image.
Le curseur horizontal règle le niveau de transparence.', + 'label' => 'Bouton validation', + 'value' => $this->getData(['admin', 'backgroundColorButtonGreen']) + ]); ?> +
+
+
+
+
+
+
+
+

Mise en forme du texte

+
+
+ 'Police du texte', + 'selected' => $this->getData(['admin', 'font']), + 'fonts' => true + ]); ?> +
+
+ 'Taille', + 'selected' => $this->getData(['admin', 'fontSize']) + ]); ?> +
+
+ 'Police des titres', + 'selected' => $this->getData(['admin', 'fontTitle']), + 'fonts' => true + ]); ?> +
+
+
+
+
+ + \ No newline at end of file diff --git a/core/module/theme/view/index/index.css b/core/module/theme/view/index/index.css index afff18ca..678d9da2 100755 --- a/core/module/theme/view/index/index.css +++ b/core/module/theme/view/index/index.css @@ -33,6 +33,7 @@ nav li ul { #themeShowAll, #themeBack, #themeManage, +#themeAdmin, #themeAdvanced { position: relative; z-index: 11; diff --git a/core/module/theme/view/index/index.php b/core/module/theme/view/index/index.php index 6cdd10c6..0e4fe822 100755 --- a/core/module/theme/view/index/index.php +++ b/core/module/theme/view/index/index.php @@ -5,7 +5,7 @@ ): ?>
-
+
'buttonGrey', 'href' => helper::baseUrl(false), @@ -13,20 +13,27 @@ 'value' => 'Accueil' ]); ?>
-
- 'upload', - 'href' => helper::baseUrl() . $this->getUrl(0) . '/manage', - 'value' => 'Thèmes' - ]); ?> -
'code', 'href' => helper::baseUrl() . $this->getUrl(0) . '/advanced', 'value' => 'Éditeur CSS' ]); ?> -
+
+
+ 'upload', + 'href' => helper::baseUrl() . $this->getUrl(0) . '/manage', + 'value' => 'Importer' + ]); ?> +
+
+ 'pencil', + 'href' => helper::baseUrl() . $this->getUrl(0) . '/admin', + 'value' => 'Administration' + ]); ?> +
'eye', @@ -37,7 +44,7 @@
-
+
'buttonGrey', 'href' => helper::baseUrl(false), @@ -45,13 +52,20 @@ 'value' => 'Accueil' ]); ?>
+
+ 'pencil', + 'href' => helper::baseUrl() . $this->getUrl(0) . '/admin', + 'value' => 'Administration' + ]); ?> +
helper::baseUrl() . $this->getUrl(0) . '/manage', 'ico' => 'upload', - 'value' => 'Thèmes' + 'value' => 'Importer' ]); ?> -
+
helper::baseUrl() . $this->getUrl(0) . '/advanced',