From dd78774357c7b1d3ad87a2807d38a0b513c7be54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Tempez?= Date: Sat, 27 Nov 2021 16:20:25 +0100 Subject: [PATCH] =?UTF-8?q?D=C3=A9placement=20des=20options=20dans=20la=20?= =?UTF-8?q?config?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core.js.php | 28 ++++--- core/core.php | 19 +++-- core/include/update.inc.php | 15 ++-- core/module/config/config.php | 21 ++--- core/module/config/view/connect/connect.php | 71 ---------------- core/module/config/view/locale/locale.php | 82 +++++++++++++++++-- core/module/config/view/setup/setup.php | 6 ++ core/module/install/ressource/defaultdata.php | 22 ++--- core/module/theme/theme.php | 1 + core/module/theme/view/footer/footer.php | 28 ++++--- 10 files changed, 156 insertions(+), 137 deletions(-) diff --git a/core/core.js.php b/core/core.js.php index f0b9c3be..ac429c36 100644 --- a/core/core.js.php +++ b/core/core.js.php @@ -206,18 +206,6 @@ core.start = function() { $("#notification").fadeOut(); $("#notificationProgress").stop(); }); - /** - * Affiche / Cache le menu en mode responsive - */ - var menuDOM = $("#menu"); - $("#toggle").on("click", function() { - menuDOM.slideToggle(); - }); - $(window).on("resize", function() { - if($(window).width() > 768) { - menuDOM.css("display", ""); - } - }); /** * Traitement du formulaire cookies @@ -244,7 +232,7 @@ core.start = function() { document.cookie = "ZWII_COOKIE_CONSENT=;" + domain + ";" + path + ";" + samesite + ";" + expires; }); - /** + /** * Suppression du cookie de consentement */ $('#footerCookies').bind('click', function(event) { @@ -265,6 +253,20 @@ core.start = function() { $("#cookieConsent .cookieClose").on("click", function() { $(this).parents("#cookieConsent").fadeOut(); }); + + /** + * Affiche / Cache le menu en mode responsive + */ + var menuDOM = $("#menu"); + $("#toggle").on("click", function() { + menuDOM.slideToggle(); + }); + $(window).on("resize", function() { + if($(window).width() > 768) { + menuDOM.css("display", ""); + } + }); + /** * Choix de page dans la barre de membre */ diff --git a/core/core.php b/core/core.php index 1d46d9b1..8efd39ef 100644 --- a/core/core.php +++ b/core/core.php @@ -1192,25 +1192,25 @@ class common { public function showCookies() { if( $this->getInput('ZWII_COOKIE_CONSENT') !== $_SERVER['PHP_SELF'] AND - $this->getData(['config', 'cookies', 'cookieConsent']) === true + $this->getData(['config', 'cookieConsent']) === true ){ - $analytics = $this->getData(['config', 'seo', 'analyticsId']); - $legalPage = $this->getData(['locale','legalPageId']) ==='none'? 'mentions-legales' : $this->getData(['locale','legalPageId']); + $analytics = $this->getData(['locale', 'seo', 'analyticsId']); + $legalPage = $this->getData(['locale', 'legalPageId']) ==='none'? 'mentions-legales' : $this->getData(['locale','legalPageId']); $item = '
'; $item .= '
'; $item .= template::ico('cancel'); $item .= '
'; - $item .= '

'. $this->getData(['config', 'cookies', 'cookiesTitleText']) . '

'; - $item .= '

' . $this->getData(['config', 'cookies', 'cookiesZwiiText']) . '

'; - $item .= '

' . $this->getData(['config', 'cookies', 'cookiesLinkMlText']) . '

'; + $item .= '

'. $this->getData(['locale', 'cookies', 'cookiesTitleText']) . '

'; + $item .= '

' . $this->getData(['locale', 'cookies', 'cookiesZwiiText']) . '

'; + $item .= '

' . $this->getData(['locale', 'cookies', 'cookiesLinkMlText']) . '

'; if( $analytics !== null AND $analytics !=='' ){ - $item .= '

' . $this->getData(['config', 'cookies', 'cookiesGaText']) . '

'; + $item .= '

' . $this->getData(['locale', 'cookies', 'cookiesGaText']) . '

'; } $item .= '
'; if( $analytics !== null AND $analytics !=='' ) { $item .= ''; - $item .= ''; + $item .= ''; } $item .= '

'; $item .= ''; @@ -1481,7 +1481,8 @@ class common { } $items .= ''; // Affichage de la gestion des cookies - $items .= $this->getData(['config', 'cookies', 'cookieConsent' ]) === false ? '':' | '.$this->getData(['config', 'cookies', 'cookiesFooterText' ]).''; + $label = empty($this->getData(['locale', 'cookies', 'cookiesFooterText'])) ? 'Confidentialité' : $this->getData(['locale', 'cookies', 'cookiesFooterText']) ; + $items .= ($this->getData(['config', 'cookieConsent']) === true && $this->getData(['theme', 'footer', 'displayCookie'])) ? '':' | '. $label .''; // Affichage du lien de connexion if( ( diff --git a/core/include/update.inc.php b/core/include/update.inc.php index a05fc511..afdc8e94 100644 --- a/core/include/update.inc.php +++ b/core/include/update.inc.php @@ -698,15 +698,16 @@ if ($this->getData(['core', 'dataVersion']) < 11200) { $this->setData(['theme', 'header', 'featureContent', '

Bannière vide

']); $this->setData(['theme', 'header', 'container', 'container']); $this->setData(['theme', 'menu', 'container', 'container']); + // Option des cookies dans le footer + $this->setData(['theme', 'footer', 'displayCookie', false]); // Acceptation et paramétres des cookies RGPD - $this->setData(['config', 'cookies', 'cookieConsent', $this->getData(['config', 'cookieConsent']) ]); - $this->deleteData(['config', 'cookieConsent' ]); - $this->setData(['config', 'cookies', 'cookiesZwiiText', 'Ce site utilise des cookies nécessaires à son fonctionnement, ils permettent de fluidifier son fonctionnement par exemple en mémorisant les données de connexion, la langue que vous avez choisie ou la validation de ce message.']); - $this->setData(['config', 'cookies', 'cookiesGaText', 'Il utilise également des cookies permettant de réaliser des statistiques de visites pour améliorer votre expérience utilisateur, ces cookies déposés par Google Analytics ont besoin de votre consentement.']); - $this->setData(['config', 'cookies', 'cookiesTitleText', 'Gérer les cookies']); - $this->setData(['config', 'cookies', 'cookiesLinkMlText', 'Voir les mentions légales']); - $this->setData(['config', 'cookies', 'cookiesCheckboxGaText', 'Autorisation des cookies Google Analytics']); + $this->setData(['locale', 'cookies', 'cookieZwiiText', 'Ce site utilise des cookies nécessaires à son fonctionnement, ils permettent de fluidifier son fonctionnement par exemple en mémorisant les données de connexion, la langue que vous avez choisie ou la validation de ce message.']); + $this->setData(['locale', 'cookies', 'cookieGaText', 'Il utilise également des cookies permettant de réaliser des statistiques de visites pour améliorer votre expérience utilisateur, ces cookies déposés par Google Analytics ont besoin de votre consentement.']); + $this->setData(['locale', 'cookies', 'cookieTitleText', 'Gérer les cookies']); + $this->setData(['locale', 'cookies', 'cookieLinkMlText', 'Voir les mentions légales']); + $this->setData(['locale', 'cookies', 'cookieCheckboxGaText', 'Autorisation des cookies Google Analytics']); + // Mise à jour $this->setData(['core', 'dataVersion', 11200]); diff --git a/core/module/config/config.php b/core/module/config/config.php index 3b10fd07..98f7645d 100644 --- a/core/module/config/config.php +++ b/core/module/config/config.php @@ -437,7 +437,16 @@ class config extends common { 'legalPageLabel' => empty($this->getInput('localeLegalPageLabel', helper::FILTER_STRING_SHORT)) ? 'Mentions légales' : $this->getInput('localeLegalPageLabel', helper::FILTER_STRING_SHORT), 'sitemapPageLabel' => empty($this->getInput('localeSitemapPageLabel', helper::FILTER_STRING_SHORT)) ? 'Plan du site' : $this->getInput('localeSitemapPageLabel', helper::FILTER_STRING_SHORT), 'metaDescription' => $this->getInput('localeMetaDescription', helper::FILTER_STRING_LONG, true), - 'title' => $this->getInput('localeTitle', helper::FILTER_STRING_SHORT, true) + 'title' => $this->getInput('localeTitle', helper::FILTER_STRING_SHORT, true), + 'cookies' => [ + // Les champs sont obligatoires si l'option consentement des cookies est active + 'cookiesZwiiText' => $this->getInput('localeCookiesZwiiText', helper::FILTER_STRING_LONG, $this->getData(['config', 'cookieConsent'])), + 'cookiesGaText' => $this->getInput('localeCookiesGaText', helper::FILTER_STRING_LONG, $this->getData(['config', 'cookieConsent'])), + 'cookiesTitleText' => $this->getInput('localeCookiesTitleText', helper::FILTER_STRING_SHORT, $this->getData(['config', 'cookieConsent'])), + 'cookiesLinkMlText' => $this->getInput('localeCookiesLinkMlText', helper::FILTER_STRING_SHORT, $this->getData(['config', 'cookieConsent'])), + 'cookiesCheckboxGaText' => $this->getInput('localeCookiesCheckboxGaText', helper::FILTER_STRING_SHORT, $this->getData(['config', 'cookieConsent'])), + 'cookiesFooterText' => $this->getInput('localeCookiesFooterText', helper::FILTER_STRING_SHORT, $this->getData(['config', 'cookieConsent'])) + ] ] ]); @@ -452,6 +461,7 @@ class config extends common { 'autoUpdateHtaccess' => $this->getInput('configAutoUpdateHtaccess', helper::FILTER_BOOLEAN), 'autoBackup' => $this->getInput('configAutoBackup', helper::FILTER_BOOLEAN), 'maintenance' => $this->getInput('configMaintenance', helper::FILTER_BOOLEAN), + 'cookieConsent' => $this->getInput('configCookieConsent', helper::FILTER_BOOLEAN), 'proxyType' => $this->getInput('configProxyType'), 'proxyUrl' => $this->getInput('configProxyUrl'), 'proxyPort' => $this->getInput('configProxyPort',helper::FILTER_INT), @@ -502,15 +512,6 @@ class config extends common { 'it' => $this->getData(['config', 'i18n', 'it']), 'nl' => $this->getData(['config', 'i18n', 'nl']), 'pt' => $this->getData(['config', 'i18n', 'pt']) - ], - 'cookies' => [ - 'cookieConsent' => $this->getInput('configCookieConsent', helper::FILTER_BOOLEAN), - 'cookiesZwiiText' => $this->getInput('connectCookiesZwiiText', helper::FILTER_STRING_LONG), - 'cookiesGaText' => $this->getInput('connectCookiesGaText', helper::FILTER_STRING_LONG), - 'cookiesTitleText' => $this->getInput('connectCookiesTitleText', helper::FILTER_STRING_SHORT), - 'cookiesLinkMlText' => $this->getInput('connectCookiesLinkMlText', helper::FILTER_STRING_SHORT), - 'cookiesCheckboxGaText' => $this->getInput('connectCookiesCheckboxGaText', helper::FILTER_STRING_SHORT), - 'cookiesFooterText' => $this->getInput('connectCookiesFooterText', helper::FILTER_STRING_SHORT) ] ] ]); diff --git a/core/module/config/view/connect/connect.php b/core/module/config/view/connect/connect.php index affb5312..e5e1baf5 100644 --- a/core/module/config/view/connect/connect.php +++ b/core/module/config/view/connect/connect.php @@ -114,75 +114,4 @@
-
-
-
-

Cookies - - - - - -

-
-
- $this->getData(['config', 'cookies', 'cookieConsent']), - 'help' => 'Activation obligatoire selon les lois françaises sauf si vous utilisez votre propre système de consentement.' - ]); ?> -
-
- 'Saisissez le texte du lien, présent dans le pied de page, qui permet au visiteur de modifier son consentement aux cookies.', - 'label' => 'Texte du lien dans le pied de page', - 'value' => $this->getData(['config', 'cookies', 'cookiesFooterText']) - ]); ?> -
-
-
-
- 'Saisissez le message pour les cookies déposés par ZwiiCMS, nécessaires au fonctionnement et qui ne nécessitent pas de consentement.', - 'label' => 'Cookies Zwii', - 'value' => $this->getData(['config', 'cookies', 'cookiesZwiiText']) - ]); ?> -
-
-
-
- 'Saisissez le message pour les cookies déposés par Google Analytics, le consentement est requis.', - 'label' => 'Cookies Google Analytics', - 'value' => $this->getData(['config', 'cookies', 'cookiesGaText']) - ]); ?> -
-
-
-
- 'Saisissez le titre de la fenêtre de gestion des cookies.', - 'label' => 'Titre de la fenêtre', - 'value' => $this->getData(['config', 'cookies', 'cookiesTitleText']) - ]); ?> -
-
-
-
- 'Saisissez le texte du lien vers les mentions légales.', - 'label' => 'Lien vers mentions légales', - 'value' => $this->getData(['config', 'cookies', 'cookiesLinkMlText']) - ]); ?> -
-
- 'Saisissez le texte de la case à cocher Google Analytics.', - 'label' => 'Checkbox Google Analytics', - 'value' => $this->getData(['config', 'cookies', 'cookiesCheckboxGaText']) - ]); ?> -
-
-
-
-
diff --git a/core/module/config/view/locale/locale.php b/core/module/config/view/locale/locale.php index 3dce33d8..88e596a8 100644 --- a/core/module/config/view/locale/locale.php +++ b/core/module/config/view/locale/locale.php @@ -55,9 +55,9 @@
-

Assignation des pages spéciales - - +

Assignation des pages spéciales + + @@ -123,27 +123,97 @@

-
+
'Mentions légales', 'placeholder' => 'Mentions légales', 'value' => $this->getData(['locale', 'legalPageLabel']) ]); ?>
-
+
'Rechercher', 'placeholder' => 'Rechercher', 'value' => $this->getData(['locale', 'searchPageLabel']) ]); ?>
-
+
+
+
'Plan du site', 'placeholder' => 'Plan du site', 'value' => $this->getData(['locale', 'sitemapPageLabel']), ]); ?>
+
+ 'Confidentialité des cookies', + 'value' => $this->getData(['locale', 'cookies', 'cookiesFooterText']), + 'placeHolder' => 'Confidentialité' + ]); ?> +
+
+
+
+
+
+
+
+

Message d'acceptation des Cookies + + + + + +

+
+
+ 'Saisissez le message pour les cookies déposés par ZwiiCMS, nécessaires au fonctionnement et qui ne nécessitent pas de consentement.', + 'label' => 'Cookies Zwii', + 'value' => $this->getData(['locale', 'cookies', 'cookiesZwiiText']), + 'placeHolder' => 'Ce site utilise des cookies nécessaires à son fonctionnement, ils permettent de fluidifier son fonctionnement par exemple en mémorisant les données de connexion, la langue que vous avez choisie ou la validation de ce message.' + ]); ?> +
+
+
+
+ 'Saisissez le message pour les cookies déposés par Google Analytics, le consentement est requis.', + 'label' => 'Cookies Google Analytics', + 'value' => $this->getData(['locale', 'cookies', 'cookiesGaText']), + 'placeHolder' => 'Il utilise également des cookies permettant de réaliser des statistiques de visites pour améliorer votre expérience utilisateur, ces cookies déposés par Google Analytics ont besoin de votre consentement.' + ]); ?> +
+
+
+
+ 'Saisissez le titre de la fenêtre de gestion des cookies.', + 'label' => 'Titre de la fenêtre', + 'value' => $this->getData(['locale', 'cookies', 'cookiesTitleText']), + 'placeHolder' => 'Gérer les cookies' + ]); ?> +
+
+
+
+ 'Saisissez le texte du lien vers les mentions légales.', + 'label' => 'Lien vers mentions légales', + 'value' => $this->getData(['locale', 'cookies', 'cookiesLinkMlText']), + 'placeHolder' => 'Voir les mentions légales' + ]); ?> +
+
+ 'Saisissez le texte de la case à cocher Google Analytics.', + 'label' => 'Checkbox Google Analytics', + 'value' => $this->getData(['locale', 'cookies', 'cookiesCheckboxGaText']), + 'placeHolder' => 'Autorisation des cookies Google Analytics' + ]); ?> +
diff --git a/core/module/config/view/setup/setup.php b/core/module/config/view/setup/setup.php index 86240f0c..5e03ec8d 100644 --- a/core/module/config/view/setup/setup.php +++ b/core/module/config/view/setup/setup.php @@ -35,6 +35,12 @@

+
+ $this->getData(['config', 'cookieConsent']), + 'help' => 'Activation obligatoire selon les lois françaises sauf si vous utilisez votre propre système de consentement.' + ]); ?> +
helper::checkRewrite(), diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 791695ec..176352b7 100644 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -9,6 +9,7 @@ class init extends common { 'favicon' => 'favicon.ico', 'faviconDark' => 'faviconDark.ico', 'maintenance' => false, + 'cookieConsent' => true, 'social' => [ 'facebookId' => 'facebook', 'instagramId' => '', @@ -51,15 +52,6 @@ class init extends common { 'it'=> 'none', 'nl'=> 'none', 'pt'=> 'none' - ], - 'cookies' => [ - 'cookieConsent' => true, - 'cookiesZwiiText' => 'Ce site utilise des cookies nécessaires à son fonctionnement, ils permettent de fluidifier son fonctionnement par exemple en mémorisant les données de connexion, la langue que vous avez choisie ou la validation de ce message.', - 'cookiesGaText' => 'Il utilise également des cookies permettant de réaliser des statistiques de visites pour améliorer votre expérience utilisateur, ces cookies déposés par Google Analytics ont besoin de votre consentement.', - 'cookiesTitleText' => 'Gérer les cookies', - 'cookiesLinkMlText' => 'Voir les mentions légales', - 'cookiesCheckboxGaText' => 'Autorisation des cookies Google Analytics', - 'cookiesFooterText' => 'Gestion des cookies' ] ], 'core' => [ @@ -81,7 +73,16 @@ class init extends common { 'sitemapPageLabel' => 'Plan du site', 'legalPageLabel' => 'Mentions légales', 'metaDescription' => 'Zwii est un CMS sans base de données qui permet de créer et gérer facilement un site web sans aucune connaissance en programmation.', - 'title' => 'Votre site en quelques clics !' + 'title' => 'Votre site en quelques clics !', + 'cookies' => [ + 'cookiesZwiiText' => 'Ce site utilise des cookies nécessaires à son fonctionnement, ils permettent de fluidifier son fonctionnement par exemple en mémorisant les données de connexion, la langue que vous avez choisie ou la validation de ce message.', + 'cookiesGaText' => 'Il utilise également des cookies permettant de réaliser des statistiques de visites pour améliorer votre expérience utilisateur, ces cookies déposés par Google Analytics ont besoin de votre consentement.', + 'cookiesTitleText' => 'Gérer les cookies', + 'cookiesLinkMlText' => 'Voir les mentions légales', + 'cookiesCheckboxGaText' => 'Autorisation des cookies Google Analytics', + 'cookiesFooterText' => 'Confidentialité' + ] + ], 'page' => [ 'accueil' => [ @@ -144,6 +145,7 @@ class init extends common { 'displayVersion' => true, 'displaySiteMap' => true, 'displayCopyright' => false, + 'displayCookie' => false, 'displayLegal' => false, 'displaySearch' => false, 'displayMemberBar' => false, diff --git a/core/module/theme/theme.php b/core/module/theme/theme.php index bc22e4e4..4deebd30 100644 --- a/core/module/theme/theme.php +++ b/core/module/theme/theme.php @@ -391,6 +391,7 @@ class theme extends common { 'displayVersion' => $this->getInput('themefooterDisplayVersion', helper::FILTER_BOOLEAN), 'displaySiteMap' => $this->getInput('themefooterDisplaySiteMap', helper::FILTER_BOOLEAN), 'displayCopyright' => $this->getInput('themefooterDisplayCopyright', helper::FILTER_BOOLEAN), + 'displayCookie' => $this->getInput('themefooterDisplayCookie', helper::FILTER_BOOLEAN), 'displayLegal' => $this->getInput('themeFooterDisplayLegal', helper::FILTER_BOOLEAN), 'displaySearch' => $this->getInput('themeFooterDisplaySearch', helper::FILTER_BOOLEAN), 'displayMemberBar'=> $this->getInput('themeFooterDisplayMemberBar', helper::FILTER_BOOLEAN), diff --git a/core/module/theme/view/footer/footer.php b/core/module/theme/view/footer/footer.php index cee78331..9c1df67e 100644 --- a/core/module/theme/view/footer/footer.php +++ b/core/module/theme/view/footer/footer.php @@ -71,32 +71,39 @@

Contenu

-
+
$this->getData(['theme', 'footer','displayCopyright']), 'help' => 'Affiche cette mention devant ZwiiCMS' ]); ?>
-
+
$this->getData(['theme', 'footer','displayVersion']), 'help' => 'Affiche le numéro de version après ZwiiCMS' ]); ?>
-
+
$this->getData(['theme', 'footer', 'displaySiteMap']) ]); ?>
+
+ $this->getData(['config', 'cookieConsent']) ? false : $this->getData(['theme', 'footer', 'displayCookie']), + 'help' => 'Affiche le message relatif au cookie, disponible si le message d\'acceptation des cookies est activé.', + 'disabled' => !$this->getData(['config', 'cookieConsent']) + ]); ?> +
-
+
$this->getData(['theme', 'footer', 'loginLink']), 'help' => 'Pour limiter les tentatives de piratage, enregistrez la page de connexion en favori et désactivez cette option.' ]); ?>
-
+
$this->getData(['theme', 'footer', 'displayMemberBar']), 'help' => 'Affiche les icônes de gestion du compte et de déconnexion des membres simples connectés, ne s\'applique pas aux éditeurs et administrateurs.' @@ -104,29 +111,28 @@
-
+
$this->getData(['locale', 'legalPageId']) === 'none' ? false : $this->getData(['theme', 'footer', 'displayLegal']), 'disabled' => $this->getData(['locale', 'legalPageId']) === 'none' ? true : false, 'help' => 'Option active si une page a été sélectionnée.' ]); ?>
-
+
'Aucune'] , helper::arrayCollumn($module::$pagesList, 'title', 'SORT_ASC') ) , [ 'label' => 'Page "Mentions légales" ' . template::flag('site', '20px'), 'selected' => $this->getData(['locale', 'legalPageId']) ]); ?>
-
-
-
+ +
$this->getData(['locale', 'searchPageId']) === 'none' ? false : $this->getData(['theme', 'footer', 'displaySearch']), 'disabled' => $this->getData(['locale', 'searchPageId']) === 'none' ? true : false, 'help' => 'Option active si une page a été sélectionnée.' ]); ?>
-
+
'Aucune'] , helper::arrayCollumn($module::$pagesList, 'title', 'SORT_ASC') ) , [ 'label' => 'Page "Rechercher" ' . template::flag('site', '20px'), 'selected' => $this->getData(['locale', 'searchPageId']),