From f0c42b9ded38a01612d26a6acbbfbba409eb4731 Mon Sep 17 00:00:00 2001 From: Deltacms Date: Wed, 22 Mar 2023 14:54:21 +0100 Subject: [PATCH] maj 4406 --- CHANGES.md | 11 + README.md | 6 +- core/core.js.php | 2 +- core/core.php | 128 +++++++++-- core/include/update.inc.php | 8 +- core/lang/en/lex_core.php | 9 +- core/lang/fr/lex_core.php | 8 +- core/layout/blank.css | 12 - core/layout/common.css | 20 +- core/layout/light.css | 12 - core/layout/main.php | 208 ++++-------------- core/layout/mediaqueries.css | 22 +- core/module/addon/addon.php | 2 +- core/module/addon/view/import/import.css | 12 - core/module/addon/view/index/index.css | 12 - core/module/addon/view/index/index.js.php | 12 - core/module/addon/view/item/item.css | 12 - core/module/addon/view/store/store.css | 12 - core/module/addon/view/upload/upload.css | 12 - core/module/config/config.php | 2 +- core/module/config/lang/en/lex_config.php | 1 + core/module/config/lang/fr/lex_config.php | 1 + core/module/config/view/backup/backup.css | 12 - core/module/config/view/backup/backup.js.php | 12 - core/module/config/view/index/index.css | 12 - core/module/config/view/index/index.js.php | 21 +- core/module/config/view/restore/restore.css | 12 - .../module/config/view/restore/restore.js.php | 12 - core/module/config/view/script/script.css | 12 - core/module/config/view/setup/setup.php | 17 +- core/module/install/install.php | 2 +- .../ressource/database_en/base/module.json | 2 +- .../ressource/database_fr/base/module.json | 2 +- core/module/install/ressource/defaultdata.php | 6 +- .../themes/theme_sansbanniere_fluide.zip | Bin 41728 -> 41742 bytes .../themes/theme_sombre_islande_fluide.zip | Bin 96421 -> 96427 bytes core/module/install/view/index/index.js.php | 12 - core/module/install/view/update/update.css | 12 - core/module/maintenance/maintenance.php | 2 +- core/module/page/page.php | 2 +- core/module/page/view/edit/edit.css | 12 - core/module/page/view/edit/edit.js.php | 12 - core/module/sitemap/sitemap.php | 2 +- core/module/sitemap/view/index/index.css | 12 - core/module/theme/lang/en/lex_theme.php | 2 + core/module/theme/lang/fr/lex_theme.php | 2 + core/module/theme/theme.php | 29 ++- core/module/theme/view/addFonts/addFonts.css | 12 - .../theme/view/addFonts/addFonts.js.php | 12 - core/module/theme/view/admin/admin.css | 12 - core/module/theme/view/admin/admin.js.php | 12 - core/module/theme/view/advanced/advanced.css | 12 - .../theme/view/advanced/advanced.js.php | 12 - core/module/theme/view/body/body.css | 12 - core/module/theme/view/body/body.js.php | 12 - .../module/theme/view/editFonts/editFonts.css | 12 - .../theme/view/editFonts/editFonts.js.php | 12 - core/module/theme/view/fonts/fonts.css | 12 - core/module/theme/view/fonts/fonts.js.php | 12 - core/module/theme/view/footer/footer.css | 12 - core/module/theme/view/footer/footer.js.php | 12 - core/module/theme/view/footer/footer.php | 6 + core/module/theme/view/header/header.css | 12 - core/module/theme/view/header/header.js.php | 12 - core/module/theme/view/index/index.css | 12 - core/module/theme/view/index/index.js.php | 12 - core/module/theme/view/manage/manage.css | 12 - core/module/theme/view/manage/manage.js.php | 12 - core/module/theme/view/menu/menu.css | 12 - core/module/theme/view/menu/menu.js.php | 26 ++- core/module/theme/view/site/site.css | 12 - core/module/theme/view/site/site.js.php | 12 - core/module/translate/translate.php | 2 +- core/module/translate/view/copy/copy.css | 12 - core/module/translate/view/index/index.css | 12 - core/module/translate/view/index/index.js.php | 12 - core/module/user/user.php | 2 +- core/module/user/view/add/add.css | 14 -- core/module/user/view/add/add.js.php | 12 - core/module/user/view/edit/edit.css | 12 - core/module/user/view/edit/edit.js.php | 12 - core/module/user/view/import/import.css | 12 - core/module/user/view/index/index.css | 12 - core/module/user/view/index/index.js.php | 12 - core/module/user/view/login/login.js.php | 12 - core/module/user/view/reset/reset.css | 12 - index.php | 2 +- module/agenda/agenda.php | 4 +- module/agenda/view/config/config.js.php | 6 - module/agenda/view/index/index.js.php | 10 - module/blog/blog.php | 4 +- module/blog/view/add/add.css | 12 - module/blog/view/add/add.js.php | 12 - module/blog/view/article/article.js.php | 12 - module/blog/view/comment/comment.css | 12 - module/blog/view/config/config.css | 12 - module/blog/view/config/config.js.php | 12 - module/blog/view/edit/edit.css | 12 - module/blog/view/edit/edit.js.php | 12 - module/blog/view/texts/texts.css | 12 - module/form/form.php | 91 +++++--- module/form/lang/en/lex_form.php | 3 +- module/form/lang/fr/lex_form.php | 3 +- module/form/view/config/config.css | 12 - module/form/view/config/config.js.php | 17 +- module/form/view/data/data.css | 12 - module/form/view/data/data.js.php | 12 - module/form/view/index/index.css | 12 - module/form/view/index/index.js.php | 12 - module/form/view/index/index.php | 14 +- module/gallery/gallery.php | 4 +- module/gallery/view/config/config.css | 12 - module/gallery/view/config/config.js.php | 12 - module/gallery/view/edit/edit.css | 12 - module/gallery/view/edit/edit.js.php | 12 - module/gallery/view/gallery/gallery.js.php | 12 - module/gallery/view/theme/theme.css | 12 - module/news/news.php | 4 +- module/news/view/add/add.css | 12 - module/news/view/add/add.js.php | 12 - module/news/view/article/article.css | 12 - module/news/view/config/config.css | 12 - module/news/view/config/config.js.php | 12 - module/news/view/edit/edit.css | 12 - module/news/view/edit/edit.js.php | 12 - module/news/view/index/index.css | 12 - module/redirection/redirection.php | 2 +- module/redirection/view/config/config.css | 12 - module/redirection/view/index/index.css | 12 - module/redirection/view/index/index.js.php | 12 - module/search/search.php | 2 +- module/search/view/config/config.css | 12 - module/slider/slider.php | 4 +- module/slider/view/config/config.js.php | 6 - module/statislite/statislite.php | 4 +- module/statislite/view/advanced/advanced.css | 12 - .../statislite/view/advanced/advanced.js.php | 6 - module/statislite/view/config/config.css | 12 - module/statislite/view/config/config.js.php | 6 - 139 files changed, 385 insertions(+), 1418 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 3ba18d9..e84f94f 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,16 @@ # Changelog +## Version 4.4.06 de Deltacms +- Modifications : + - Thème / Footer : nouvelle option 'Qui est en ligne ?', affiche le nombre de visiteurs ou d'utilisateurs connectés, + - Réécriture du layout, l'affichage des pages est plus rapide, + - Module Form : un brouillon trop ancien est effacé pour détruire les traces de robots malveillants, + - Configuration / configuration : message de confirmation avant une mise à jour de DeltaCMS. +- Corrections : + - Module Form : messages liés au captcha, + - Thème / menu : l'aperçu en direct pendant sa configuration est amélioré, + - Configuration / configuration : lien du bouton Réinstaller neutralisé si le bouton est désactivé. + ## Version 4.4.05 de Deltacms - Modifications : - Chargement ordonné des scripts javascript et des styles, l'affichage des pages est plus rapide, diff --git a/README.md b/README.md index d86ee5c..6584622 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ -# DeltaCMS 4.4.05 +# DeltaCMS 4.4.06 DeltaCMS est un CMS sans base de données (flat-file) qui permet de créer et gérer facilement un site web sans aucune connaissance en programmation. -L'administration du site est bilingue anglais ou français, le site peut être rédigé dans une des principales langues européennes. +L'administration du site est bilingue anglais ou français, le site peut être rédigé dans une langue quelconque. 2 modes de traduction sont proposés : traduction rédigée, assistée (conseillée) ou à défaut traduction automatique par script. DeltaCMS is a database-less (flat-file) CMS that allows you to easily create and manage a website without any programming knowledge. -The administration of the site is bilingual English or French, the site can be written in one of the main European languages. +The administration of the site is bilingual English or French, the site can be written in any language. 2 translation modes are available: written and assisted translation (recommended) or automatic translation by script. [Site](http://deltacms.fr/) diff --git a/core/core.js.php b/core/core.js.php index 8e6df8e..39cc17e 100644 --- a/core/core.js.php +++ b/core/core.js.php @@ -3,7 +3,7 @@ * For full copyright and license information, please see the LICENSE * file that was distributed with this source code. * @author Sylvain Lelièvre - * @copyright Copyright (C) 2021-2022, Sylvain Lelièvre + * @copyright Copyright (C) 2021, Sylvain Lelièvre * @license GNU General Public License, version 3 * @link https://deltacms.fr/ * diff --git a/core/core.php b/core/core.php index 3397d09..afe92f9 100644 --- a/core/core.php +++ b/core/core.php @@ -5,7 +5,7 @@ * For full copyright and license information, please see the LICENSE * file that was distributed with this source code. * @author Sylvain Lelièvre - * @copyright Copyright (C) 2021-2022, Sylvain Lelièvre + * @copyright Copyright (C) 2021, Sylvain Lelièvre * @license GNU General Public License, version 3 * @link https://deltacms.fr/ * @@ -49,7 +49,7 @@ class common { // Numéro de version const DELTA_UPDATE_URL = 'https://update.deltacms.fr/master/'; - const DELTA_VERSION = '4.4.05'; + const DELTA_VERSION = '4.4.06'; const DELTA_UPDATE_CHANNEL = "v4"; public static $actions = []; @@ -221,7 +221,8 @@ class common { 'admin' => '', 'blacklist' => '', 'locale' => '', - 'fonts' => '' + 'fonts' => '', + 'session' =>'' ]; /** @@ -1509,6 +1510,40 @@ class common { $label = empty($this->getData(['locale', 'cookies', 'cookiesFooterText'])) ? 'Cookies' : $this->getData(['locale', 'cookies', 'cookiesFooterText']) ; $items .= ' | '. $label .''; $items .= ''; + // Enregistrement et affichage des personnes en ligne + if( $this->getData(['theme', 'footer', 'displayWhois']) === true ){ + // ajouter 'session' à la liste des descripteurs d'E/S ligne 225 + if( ! file_exists(self::DATA_DIR . 'session.json')) file_put_contents(self::DATA_DIR . 'session.json', '{}'); + $user_type = $this->getUser('id') ? $this->getData(['user', $this->getUser('id'), 'group']) : 0 ; + $this->setData(['session', session_id(), 'user_type', $user_type ]); + $this->setData(['session', session_id(), 'time', time() ]); + // Lexique + include('./core/lang/'. $this->getData(['config', 'i18n', 'langAdmin']) . '/lex_core.php'); + $file = file_get_contents('site/data/session.json'); + $session_tab = json_decode( $file, true); + $whoIs = [0 => 0,1 => 0,2 => 0, 3 => 0,4=> 0]; + foreach( $session_tab as $key1=>$session_id){ + foreach($session_id as $key2=>$value){ + // Temps d'inactivité réglé ici à 300 secondes + if( time() > $value["time"] + 300){ + $session_tab[$key1]=[]; + } else { + $whoIs[$value['user_type']]++; + } + } + } + $file = json_encode( $session_tab); + file_put_contents('site/data/session.json', $file); + // Affichage + $textWhoIs =''; + foreach( $whoIs as $key=>$value ){ + if( $value !== 0){ + $textWhoIs .= ' '. $value.' '. $groupWhoIs[$key]; + $textWhoIs .= $value > 1 ? 's ':' '; + } + } + $items .= ' | '.$textWhoIs; + } // Affichage du lien de connexion if( ( @@ -1619,27 +1654,71 @@ class common { /** * Affiche le menu */ - public function showMenu() { + public function showMenu( $position ='') { // Lexique include('./core/lang/'. $this->getData(['config', 'i18n', 'langAdmin']) . '/lex_core.php'); + + switch ($position) { + case 'top': + // Détermine si le menu est fixe en haut de page lorsque l'utilisateur n'est pas connecté + if ( $this->getData(['theme', 'menu', 'position']) === 'top' AND $this->getData(['theme', 'menu', 'fixed']) === true ){ + if( $this->getUser('password') === $this->getInput('DELTA_USER_PASSWORD') AND $this->getUser('group') > self::GROUP_MEMBER) { + echo '