From cd509dfcb18e4ab8b31045e6daf28077c58873b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Tempez?= Date: Wed, 18 Sep 2024 19:33:59 +0200 Subject: [PATCH] Suppression du cookie configLayout --- core/module/config/config.php | 24 +++++++++++++- core/module/config/view/index/index.js.php | 37 ++++------------------ core/module/config/view/index/index.php | 35 +++++++------------- core/module/page/page.php | 3 +- 4 files changed, 43 insertions(+), 56 deletions(-) diff --git a/core/module/config/config.php b/core/module/config/config.php index 767fe1b..c98c219 100644 --- a/core/module/config/config.php +++ b/core/module/config/config.php @@ -30,7 +30,8 @@ class config extends common 'logReset' => self::GROUP_ADMIN, 'logDownload' => self::GROUP_ADMIN, 'blacklistReset' => self::GROUP_ADMIN, - 'blacklistDownload' => self::GROUP_ADMIN + 'blacklistDownload' => self::GROUP_ADMIN, + 'register' => self::GROUP_ADMIN, ]; public static $timezones = [ @@ -972,4 +973,25 @@ class config extends common return getenv('HTTP_MOD_REWRITE') == 'On' || getenv('REDIRECT_STATUS') == '200'; } } + + /** + * 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', + [ + 'config' => $this->getUrl(2), + 'page' => $this->getData(['user', $this->getUser('id'), 'view', 'page']), + ] + ]); + // Valeurs en sortie + $this->addOutput([ + 'redirect' => helper::baseUrl() . 'config/' . $this->getUrl(2), + ]); + } } \ No newline at end of file diff --git a/core/module/config/view/index/index.js.php b/core/module/config/view/index/index.js.php index a7ced89..8495dc7 100644 --- a/core/module/config/view/index/index.js.php +++ b/core/module/config/view/index/index.js.php @@ -66,11 +66,12 @@ $(document).ready(function () { $("#connectCaptchaStrong").prop("checked", false); } - var configLayout = getCookie("configLayout"); - if (configLayout == null) { - configLayout = "locale"; - setCookie("configLayout", "locale"); - } + var configLayout = "getData(['user', $this->getUser('id'), 'view', 'config']);?>"; + // Non défini, valeur par défaut + if (configLayout == null) { + configLayout = "setup"; + } + $("#localeContainer").hide(); $("#socialContainer").hide(); $("#connectContainer").hide(); @@ -168,7 +169,6 @@ $(document).ready(function () { $("#configSocialButton").removeClass("activeButton"); $("#configConnectButton").removeClass("activeButton"); $("#configNetworkButton").removeClass("activeButton"); - setCookie("configLayout", "locale"); }); $("#configSetupButton").on("click", function () { $("#localeContainer").hide(); @@ -181,7 +181,6 @@ $(document).ready(function () { $("#configSocialButton").removeClass("activeButton"); $("#configConnectButton").removeClass("activeButton"); $("#configNetworkButton").removeClass("activeButton"); - setCookie("configLayout", "setup"); }); $("#configSocialButton").on("click", function () { @@ -195,7 +194,6 @@ $(document).ready(function () { $("#configSocialButton").addClass("activeButton"); $("#configConnectButton").removeClass("activeButton"); $("#configNetworkButton").removeClass("activeButton"); - setCookie("configLayout", "social"); }); $("#configConnectButton").on("click", function () { $("#setupContainer").hide(); @@ -208,7 +206,6 @@ $(document).ready(function () { $("#configSocialButton").removeClass("activeButton"); $("#configConnectButton").addClass("activeButton"); $("#configNetworkButton").removeClass("activeButton"); - setCookie("configLayout", "connect"); }); $("#configNetworkButton").on("click", function () { $("#setupContainer").hide(); @@ -221,7 +218,6 @@ $(document).ready(function () { $("#configSocialButton").removeClass("activeButton"); $("#configConnectButton").removeClass("activeButton"); $("#configNetworkButton").addClass("activeButton"); - setCookie("configLayout", "network"); }); @@ -308,27 +304,6 @@ $(document).ready(function () { }); -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/config/view/index/index.php b/core/module/config/view/index/index.php index 2e55fbe..842c180 100644 --- a/core/module/config/view/index/index.php +++ b/core/module/config/view/index/index.php @@ -7,45 +7,34 @@ 'value' => template::ico('home') ]); ?> -
- 'buttonHelp', - 'href' => 'https://doc.zwiicms.fr/configuration-du-site', - 'target' => '_blank', - 'value' => template::ico('help'), - 'help' => 'Consulter l\'aide en ligne' -]); */?> -
- 'Identité - Étiquettes', - 'class' => 'buttonTab' - ]); ?> 'Configuration - Outils', - 'class' => 'buttonTab' + 'value' => 'Configuration', + 'class' => 'buttonTab', + 'href' => helper::baseUrl() . 'config/register/setup' ]); ?> 'Réseaux sociaux', - 'class' => 'buttonTab' + 'value' => 'Référencement', + 'class' => 'buttonTab', + 'href' => helper::baseUrl() . 'config/register/social' ]); ?> - 'Sécurité', - 'class' => 'buttonTab' + 'value' => 'Connexion', + 'class' => 'buttonTab', + 'href' => helper::baseUrl() . 'config/register/connect' ]); ?> - 'Réseau', - 'class' => 'buttonTab' + 'class' => 'buttonTab', + 'href' => helper::baseUrl() . 'config/register/network' ]); ?> -
+ diff --git a/core/module/page/page.php b/core/module/page/page.php index 7f2100e..92cab4e 100644 --- a/core/module/page/page.php +++ b/core/module/page/page.php @@ -758,7 +758,8 @@ class page extends common $this->getUser('id'), 'view', [ - 'page' => $this->getUrl(2) + 'page' => $this->getUrl(2), + 'config' => $this->getData(['user', $this->getUser('id'), 'view', 'config']), ] ]); // Valeurs en sortie