From ecd0f5827a2c386b2991f19b5fe14b43917d6375 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Tempez?= Date: Wed, 18 Sep 2024 19:01:47 +0200 Subject: [PATCH] Suppression du cookie pageLayouts --- CHANGES.md | 1 + LISEZMOI.md | 2 +- README.md | 2 +- core/module/page/page.php | 23 ++++++++++++++- core/module/page/view/edit/edit.js.php | 41 +++++--------------------- core/module/page/view/edit/edit.php | 17 +++++++---- 6 files changed, 43 insertions(+), 43 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index ba717bae..1e507e33 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,6 +11,7 @@ - Augmente la dimension des miniatures après le transfert dans RFM. - Search 3.3 n'effectue qu'une seule lecture du fichier module.json en prévention des bots agressifs. - Modification du contenu de robots.txt afin de n'autoriser que les moteurs de recherche et d'interdire les bots. +- Suppression des cookies mémorisant le dernier onglet affiché dans l'édition de la page et dans la configuration du site. Cette information est désormais stockée dans la fiche de l'utilisateur connecté. **Corrections : ** - Change les paramètres du cookie de consentement. diff --git a/LISEZMOI.md b/LISEZMOI.md index f44d2035..6ab2a4ab 100644 --- a/LISEZMOI.md +++ b/LISEZMOI.md @@ -1,4 +1,4 @@ -# ZwiiCMS 13.3.05 +# ZwiiCMS 13.4.00 version de test Zwii 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. diff --git a/README.md b/README.md index 8ecbc1a6..0da81115 100755 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# ZwiiCMS 13.4.00 version de test +# ZwiiCMS 13.4.00 test version Zwii is a database-less (flat-file) CMS that allows you to easily create and manage a web site without any programming knowledge. diff --git a/core/module/page/page.php b/core/module/page/page.php index 91993043..b5181e3f 100644 --- a/core/module/page/page.php +++ b/core/module/page/page.php @@ -23,7 +23,8 @@ class page extends common 'edit' => self::GROUP_EDITOR, 'duplicate' => self::GROUP_EDITOR, 'jsEditor' => self::GROUP_EDITOR, - 'cssEditor' => self::GROUP_EDITOR + 'cssEditor' => self::GROUP_EDITOR, + 'register' => self::GROUP_EDITOR, ]; public static $pagesNoParentId = [ '' => 'Aucune' @@ -714,4 +715,24 @@ class page extends common }, $p); return json_encode($d); } + + /** + * Stocke la variable dans les paramètres de l'utilisateur pour activer la tab à sa prochaine visite + * @return never + */ + public function register(): void + { + $this->setData([ + 'user', + $this->getUser('id'), + 'view', + [ + 'page' => $this->getUrl(2) + ] + ]); + // Valeurs en sortie + $this->addOutput([ + 'redirect' => helper::baseUrl() . 'page/edit/' . $this->getUrl(3) . '/' . self::$siteContent, + ]); + } } \ No newline at end of file diff --git a/core/module/page/view/edit/edit.js.php b/core/module/page/view/edit/edit.js.php index 319c857e..f865d034 100644 --- a/core/module/page/view/edit/edit.js.php +++ b/core/module/page/view/edit/edit.js.php @@ -15,7 +15,7 @@ /** * Confirmation de suppression */ - $("#pageEditDelete").on("click", function() { +$("#pageEditDelete").on("click", function() { var _this = $(this); var message_delete = ""; return core.confirm(message_delete, function() { @@ -67,16 +67,18 @@ $( document ).ready(function() { /** * Sélection des onglets */ - var pageLayout = getCookie("pageLayout"); - if (pageLayout == null) { - pageLayout = "content"; - setCookie("pageLayout", "content"); + var pageLayout = "getData(['user', $this->getUser('id'), 'view', 'page']);?>"; + // Non défini, valeur par défaut + if (pageLayout == null) { + pageLayout = "content"; } + // Tout cacher $("#pageEditContentContainer").hide(); $("#pageEditExtensionContainer").hide(); $("#pageEditPositionContainer").hide(); $("#pageEditLayoutContainer").hide(); $("#pageEditPermissionContainer").hide(); + // Afficher la bonne tab $("#pageEdit" + capitalizeFirstLetter(pageLayout) + "Container").show(); $("#pageEdit" + capitalizeFirstLetter(pageLayout) + "Button").addClass("activeButton"); @@ -295,7 +297,6 @@ $( document ).ready(function() { $("#PageEditPositionButton").removeClass("activeButton"); $("#pageEditLayoutButton").removeClass("activeButton"); $("#pageEditPermissionButton").removeClass("activeButton"); - setCookie("pageLayout", "content"); }); $("#pageEditExtensionButton").on("click", function () { $("#pageEditContentContainer").hide(); @@ -308,7 +309,6 @@ $( document ).ready(function() { $("#PageEditPositionButton").removeClass("activeButton"); $("#pageEditLayoutButton").removeClass("activeButton"); $("#pageEditPermissionButton").removeClass("activeButton"); - setCookie("pageLayout", "extension"); }); $("#PageEditPositionButton").on("click", function () { $("#pageEditContentContainer").hide(); @@ -321,7 +321,6 @@ $( document ).ready(function() { $("#PageEditPositionButton").addClass("activeButton"); $("#pageEditLayoutButton").removeClass("activeButton"); $("#pageEditPermissionButton").removeClass("activeButton"); - setCookie("pageLayout", "position"); }); $("#pageEditLayoutButton").on("click", function () { $("#pageEditContentContainer").hide(); @@ -334,7 +333,6 @@ $( document ).ready(function() { $("#PageEditPositionButton").removeClass("activeButton"); $("#pageEditLayoutButton").addClass("activeButton"); $("#pageEditPermissionButton").removeClass("activeButton"); - setCookie("pageLayout", "layout"); }); $("#pageEditPermissionButton").on("click", function () { $("#pageEditContentContainer").hide(); @@ -347,7 +345,6 @@ $( document ).ready(function() { $("#pageEditPositionButton").removeClass("activeButton"); $("#pageEditLayoutButton").removeClass("activeButton"); $("#pageEditPermissionButton").addClass("activeButton"); - setCookie("pageLayout", "permission"); }); /** @@ -722,30 +719,6 @@ function buildPagesList(extraPosition) { positionDOM.val(positionSelected); }; -/** - * Cookies - */ -function setCookie(name, value, days) { - var expires = ""; - if (days) { - var date = new Date(); - date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); - expires = "; expires=" + date.toUTCString(); - } - document.cookie = name + "=" + (value || "") + expires + "; path=/; samesite=lax"; -} - -function getCookie(name) { - var nameEQ = name + "="; - var ca = document.cookie.split(';'); - for (var i = 0; i < ca.length; i++) { - var c = ca[i]; - while (c.charAt(0) == ' ') c = c.substring(1, c.length); - if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); - } - return null; -} - // Define function to capitalize the first letter of a string function capitalizeFirstLetter(string) { return string.charAt(0).toUpperCase() + string.slice(1); diff --git a/core/module/page/view/edit/edit.php b/core/module/page/view/edit/edit.php index edb2adb3..83a5e4b8 100644 --- a/core/module/page/view/edit/edit.php +++ b/core/module/page/view/edit/edit.php @@ -31,23 +31,28 @@
'Contenu', - 'class' => 'buttonTab' + 'class' => 'buttonTab', + 'href' => helper::baseUrl() . 'page/register/content/' . $this->geturl(2) ]); ?> - 'Menu', - 'class' => 'buttonTab' + 'class' => 'buttonTab', + 'href' => helper::baseUrl() . 'page/register/position/' . $this->geturl(2) ]); ?> 'Extension', - 'class' => 'buttonTab' + 'class' => 'buttonTab', + 'href' => helper::baseUrl() . 'page/register/extension/' . $this->geturl(2) ]); ?> 'Mise en page', - 'class' => 'buttonTab' + 'class' => 'buttonTab', + 'href' => helper::baseUrl() . 'page/register/layout/' . $this->geturl(2) ]); ?> 'Permission', - 'class' => 'buttonTab' + 'class' => 'buttonTab', + 'href' => helper::baseUrl() . 'page/register/permission/' . $this->geturl(2) ]); ?>