From 54b5efd1d829759e0873ca6865695034f633aefa Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 8 Aug 2020 17:06:06 +0200 Subject: [PATCH 001/194] =?UTF-8?q?init=20+=20am=C3=A9liorer=20la=20notifi?= =?UTF-8?q?cation=20finale.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core.js.php | 24 +++--- core/layout/common.css | 2 +- core/module/config/config.php | 9 +- core/module/config/view/backup/backup.css | 36 +++++++- core/module/config/view/backup/backup.js.php | 31 +++++++ core/module/config/view/backup/backup.php | 10 ++- core/module/config/view/manage/manage.php | 4 +- core/module/config/view/restore/restore.css | 15 ---- core/module/config/view/restore/restore.php | 85 ------------------- core/module/theme/theme.php | 2 +- core/module/theme/view/manage/manage.php | 13 ++- core/vendor/zwiico/img/ajax-loader.gif | Bin 0 -> 673 bytes index.php | 1 + 13 files changed, 106 insertions(+), 126 deletions(-) create mode 100644 core/module/config/view/backup/backup.js.php delete mode 100755 core/module/config/view/restore/restore.css delete mode 100755 core/module/config/view/restore/restore.php create mode 100644 core/vendor/zwiico/img/ajax-loader.gif diff --git a/core/core.js.php b/core/core.js.php index 2342eb13..7165ee17 100755 --- a/core/core.js.php +++ b/core/core.js.php @@ -346,8 +346,8 @@ core.start = function() { var ratio = width / height; if ( ($(window).width() / ratio) <= height) { $("header").height( $(window).width() / ratio ); - $("header").css("line-height", $(window).width() / ratio + "px"); - } + $("header").css("line-height", $(window).width() / ratio + "px"); + } } }).trigger("resize"); @@ -389,7 +389,7 @@ core.relativeLuminanceW3C = function(rgba) { $(document).ready(function(){ /** - * Affiche le sous-menu quand il est sticky + * Affiche le sous-menu quand il est sticky */ $("nav").mouseenter(function(){ $("#navfixedlogout .navLevel2").css({ 'pointer-events' : 'auto' }); @@ -414,7 +414,7 @@ $(document).ready(function(){ // on récupère la valeur data-speed si elle existe var toggleSpeed = accordion.attr('data-speed') || 100; - // fonction pour afficher un élément + // fonction pour afficher un élément function open(item, speed) { // on récupère tous les éléments, on enlève l'élément actif de ce résultat, et on les cache accordion.find('.accordion-item').not(item).removeClass('active') @@ -428,32 +428,32 @@ $(document).ready(function(){ .find('.accordion-content').slideUp(speed); } - // on initialise l'accordéon, sans animation + // on initialise l'accordéon, sans animation open(accordion.find('.active:first'), 0); // au clic sur un titre... accordion.on('click', '.accordion-title', function(ev) { - ev.preventDefault(); + ev.preventDefault(); // Masquer l'élément déjà actif if ($(this).closest('.accordion-item').hasClass('active')) { close($(this).closest('.accordion-item'), toggleSpeed); } else { - // ...on lance l'affichage de l'élément, avec animation - open($(this).closest('.accordion-item'), toggleSpeed); + // ...on lance l'affichage de l'élément, avec animation + open($(this).closest('.accordion-item'), toggleSpeed); } }); }); /** - * Icône du Menu Burger + * Icône du Menu Burger */ - $("#toggle").click(function() { + $("#toggle").click(function() { var changeIcon = $('#toggle').children("span"); if ( $(changeIcon).hasClass('zwiico-menu') ) { $(changeIcon).removeClass('zwiico-menu').addClass('zwiico-cancel'); } - else { + else { $(changeIcon).addClass('zwiico-menu'); }; }); -}); \ No newline at end of file +}); diff --git a/core/layout/common.css b/core/layout/common.css index 9cff5bb0..884aa9f3 100755 --- a/core/layout/common.css +++ b/core/layout/common.css @@ -455,7 +455,7 @@ header .container { font-size: 0.9em; } -/* Menu +/* Menu body > nav { margin: 0 -10px; } diff --git a/core/module/config/config.php b/core/module/config/config.php index 21f5ba1b..e0f5da66 100755 --- a/core/module/config/config.php +++ b/core/module/config/config.php @@ -8,7 +8,7 @@ * * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean - * * @author Frédéric Tempez + * @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/ @@ -246,8 +246,12 @@ class config extends common { // Creation du ZIP $filter = $this->getInput('configBackupOption',helper::FILTER_BOOLEAN) === true ? ['backup','tmp'] : ['backup','tmp','file']; $fileName = helper::autoBackup(self::TEMP_DIR,$filter); + if (!is_dir(self::FILE_DIR.'source/backup')) { + mkdir(self::FILE_DIR.'source/backup'); + } + copy (self::TEMP_DIR . $fileName , self::FILE_DIR.'source/backup/' . $fileName); - // Téléchargement du ZIP + /*// Téléchargement du ZIP // NE marche pas avec le spinner header('Content-Type: application/zip'); header('Content-Disposition: attachment; filename="' . $fileName . '"'); header('Content-Length: ' . filesize(self::TEMP_DIR . $fileName)); @@ -256,6 +260,7 @@ class config extends common { $this->addOutput([ 'display' => self::DISPLAY_RAW ]); + */ unlink(self::TEMP_DIR . $fileName); } else { // Valeurs en sortie diff --git a/core/module/config/view/backup/backup.css b/core/module/config/view/backup/backup.css index 6faa3a6a..823be7d8 100755 --- a/core/module/config/view/backup/backup.css +++ b/core/module/config/view/backup/backup.css @@ -12,4 +12,38 @@ * @link http://zwiicms.com/ */ -@import url("site/data/admin.css"); \ No newline at end of file +@import url("site/data/admin.css"); + +/** +* Effet d'animation +*/ +/* Start by setting display:none to make this hidden. + Then we position it in relation to the viewport window + with position:fixed. Width, height, top and left speak + for themselves. Background we set to 80% white with + our animation centered, and no-repeating */ +.modal { +display: none; + position: fixed; + z-index: 1000; + top: 0; + left: 0; + height: 100%; + width: 100%; + background: rgba( 255, 255, 255, .2 ) + url('core/vendor/zwiico/img/ajax-loader.gif') + 50% 50% + no-repeat; + } + + /* When the body has the loading class, we turn + the scrollbar off with overflow:hidden */ + body.loading .modal { + overflow: hidden; + } + + /* Anytime the body has the loading class, our + modal element will be visible */ + body.loading .modal { + display: block; + } \ No newline at end of file diff --git a/core/module/config/view/backup/backup.js.php b/core/module/config/view/backup/backup.js.php new file mode 100644 index 00000000..833985e3 --- /dev/null +++ b/core/module/config/view/backup/backup.js.php @@ -0,0 +1,31 @@ +/** + * 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 Frédéric Tempez + * @copyright Copyright (C) 2018-2020, Frédéric Tempez + * @license GNU General Public License, version 3 + * @link http://zwiicms.com/ + */ + +$( document).ready(function() { + $("#configBackupForm").submit( function(e){ + console.log('click'); + e.preventDefault(); + $("body").addClass("loading"); + var url = "getUrl(0); ?>/backup"; + $.ajax({ + type: "POST", + url: url, + data: $("form").serialize(), + complete: function(r, s){ + $("body").removeClass("loading"); + $("body").append("
Sauvegarde générée avec succès !
"); + $("#notification").delay("3000").fadeOut("1000"); + }, + }); + }); +}); + diff --git a/core/module/config/view/backup/backup.php b/core/module/config/view/backup/backup.php index b4ff41e6..3863255a 100755 --- a/core/module/config/view/backup/backup.php +++ b/core/module/config/view/backup/backup.php @@ -10,10 +10,11 @@
'Valider', - 'ico' => 'check' - ]); ?> + 'value' => 'Sauvegarder', + 'ico' => 'download-cloud' + ]); ?>
+
@@ -26,6 +27,9 @@ 'help' => 'Cette option n\'est pas recommandée lorsque le contenu du gestionnaire de fichiers est très volumineux.' ]); ?>
+
+ Le fichier de sauvegarde est généré dans le dossier Backup du gestionnaire de fichiers. +
diff --git a/core/module/config/view/manage/manage.php b/core/module/config/view/manage/manage.php index cd951922..953ac7a7 100755 --- a/core/module/config/view/manage/manage.php +++ b/core/module/config/view/manage/manage.php @@ -10,8 +10,8 @@
'Valider', - 'ico' => 'check' + 'value' => 'Restaurer', + 'ico' => 'upload' ]); ?>
diff --git a/core/module/config/view/restore/restore.css b/core/module/config/view/restore/restore.css deleted file mode 100755 index 6faa3a6a..00000000 --- a/core/module/config/view/restore/restore.css +++ /dev/null @@ -1,15 +0,0 @@ -/** - * 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/ - */ - -@import url("site/data/admin.css"); \ No newline at end of file diff --git a/core/module/config/view/restore/restore.php b/core/module/config/view/restore/restore.php deleted file mode 100755 index 8c4fc4ff..00000000 --- a/core/module/config/view/restore/restore.php +++ /dev/null @@ -1,85 +0,0 @@ - -
-
- 'buttonGrey', - 'href' => helper::baseUrl() . 'config', - 'ico' => 'left', - 'value' => 'Retour' - ]); ?> -
-
- 'Restaurer', - 'ico' => 'upload' - ]); ?> -
-
-
-
-
-

Restauration ou transfert d'un site

-
-
- 'Sélectionnez une sauvegarde au format ZIP', - 'type' => 2, - 'help' => 'L\'archive a été déposée dans le gestionnaire de fichiers. Les archives inférieures à la version 9 ne sont pas acceptées.' - ]); ?> -
-
-
-
- true, - 'help' => 'Les données des utilisateurs installés ne sont pas écrasés par la restauration quand l\'option est active.' - ]); ?> -
-
-
-
-
-
-
-
-

Conversion des URL après transfert de site

-
-
- getData(['core', 'baseUrl'])) ) { - $baseUrlValue = 'Pas de donnée dans la sauvegarde'; - $buttonClass = 'disabled'; - } elseif ($this->getData(['core', 'baseUrl']) === '') { - $baseUrlValue = '/'; - $buttonClass = (helper::baseUrl(true,false) !== $this->getData(['core', 'baseUrl']) ) ? '' : 'disabled'; - } else { - $baseUrlValue = $this->getData(['core', 'baseUrl']); - $buttonClass = (helper::baseUrl(true,false) !== $this->getData(['core', 'baseUrl']) ) ? '' : 'disabled'; - } - echo template::text('configRestoreBaseURLToConvert', [ - 'label' => 'Dossier d\'installation de l\'archive' , - 'value' => $baseUrlValue, - 'readonly' => true, - 'help' => 'Lors de la restauration d\'un backup d\'une version 9.2.10 ou supérieure, l\'URL de base est stockée dans la configuration sinon cette donnée est vide.' - ]); ?> -
-
- 'Dossier du site actuel', - 'value' => helper::baseUrl(true,false), - 'readonly' => true, - 'help' => 'Dossier du site installé.' - ]); ?> -
-
- helper::baseUrl() . 'config/updateBaseUrl', - 'class' => $buttonClass, - 'value' => 'convertir' - ]); ?> -
-
-
-
-
- diff --git a/core/module/theme/theme.php b/core/module/theme/theme.php index 498960e5..529d6900 100755 --- a/core/module/theme/theme.php +++ b/core/module/theme/theme.php @@ -669,7 +669,7 @@ class theme extends common { unlink (self::TEMP_DIR . $zipFilename); // Valeurs en sortie $this->addOutput([ - 'notification' => 'Archive '.$zipFilename.' sauvegardée dans fichiers', + 'notification' => 'Archive '.$zipFilename.' sauvegardée avec succès', 'redirect' => helper::baseUrl() . 'theme/manage', 'state' => true ]); diff --git a/core/module/theme/view/manage/manage.php b/core/module/theme/view/manage/manage.php index ad86da93..ff7a28ba 100755 --- a/core/module/theme/view/manage/manage.php +++ b/core/module/theme/view/manage/manage.php @@ -26,7 +26,7 @@ 'Appliquer' ]); ?> - + @@ -49,6 +49,11 @@ ]); ?> +
+
+ Le fichier de sauvegarde est généré dans le dossier Thème du gestionnaire de fichiers. +
+

Télécharger le thème

@@ -59,16 +64,16 @@ 'ico' => 'download', 'value' => 'Thème site' ]); ?> -
+
helper::baseUrl() . 'theme/export/admin', 'ico' => 'download', 'value' => 'Thème administration' ]); ?> -
+ - + diff --git a/core/vendor/zwiico/img/ajax-loader.gif b/core/vendor/zwiico/img/ajax-loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..d0bce1542342e912da81a2c260562df172f30d73 GIT binary patch literal 673 zcmZ?wbhEHb6krfw_{6~Q|Nnmm28Kh24mmkF0U1e2Nli^nlO|14{Lk&@8WQa67~pE8 zXTZz|lvDgC+Z`3#dv5h=E26FfcG1 zbL_hF&)}42ws10s6^G;;cE1^EoUR)U5A70}d2pLv!jVIT7j&Z~EblI3x0K*v_sV|m z0kj3v921Z^em#l`(k(o@H$3ZdDRc@9NidXDNbqrumReCGv$gd8+e8WW28HVqkJ_9i zH>s*<31KtHjANIPvi2#*6BEu%3Dak5O_t&NBI)H?V$TxT}#l{vOTn5naXTfF^&~Hhq+NX@#Ccc>y7T?;vjI&jdhsDsPJyAw*m0Qz>i}K7# zL9w50Ng{fT}A5JUe8lRK1h7_Y2;BWJDd=c6f&i?Wv5(5q?6|P zQw{>maxZP<537OA37Uk}7@%_$4o$EWe_Zl>&#id|lE-BpDC#+Fn|msJ%_2h{Hg1vP z#N8WAzfWasG}yq|xqE)DrWaOofX=z|?*pgc%{ig5vl!pqDlC|q&~Z0$&Rvsft&VO- z4MZj+%-+Vx%W}v;V76hyp=;+R;x+~t^Q%*xuFTQAF2})fSfTHDAs>sO!OBw`)&)o$ c0!CNZt))x~rAZP^^P&YOFfdqy5)K#u0POD40{{R3 literal 0 HcmV?d00001 diff --git a/index.php b/index.php index 19518a72..0a03051a 100755 --- a/index.php +++ b/index.php @@ -28,6 +28,7 @@ setlocale (LC_TIME, 'fra_FRA', 'french'); /** * Initialisation de Zwii */ + session_start(); // Chargement des classes require 'core/class/autoload.php'; From 14e0499bc8606864bb95c679566b718c40c20996 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 8 Aug 2020 17:14:52 +0200 Subject: [PATCH 002/194] Virer les icones de bouton + petites modifs --- core/module/config/view/backup/backup.js.php | 4 ++-- core/module/config/view/backup/backup.php | 3 +-- core/module/config/view/index/index.php | 6 ++---- core/module/config/view/manage/manage.php | 3 +-- 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/core/module/config/view/backup/backup.js.php b/core/module/config/view/backup/backup.js.php index 833985e3..7ad52f44 100644 --- a/core/module/config/view/backup/backup.js.php +++ b/core/module/config/view/backup/backup.js.php @@ -22,9 +22,9 @@ $( document).ready(function() { data: $("form").serialize(), complete: function(r, s){ $("body").removeClass("loading"); - $("body").append("
Sauvegarde générée avec succès !
"); + $("body").append("
Sauvegarde réalisée avec succès !
"); $("#notification").delay("3000").fadeOut("1000"); - }, + } }); }); }); diff --git a/core/module/config/view/backup/backup.php b/core/module/config/view/backup/backup.php index 3863255a..e1778c99 100755 --- a/core/module/config/view/backup/backup.php +++ b/core/module/config/view/backup/backup.php @@ -10,8 +10,7 @@
'Sauvegarder', - 'ico' => 'download-cloud' + 'value' => 'Sauvegarder' ]); ?>
diff --git a/core/module/config/view/index/index.php b/core/module/config/view/index/index.php index f7939075..a5d149c4 100755 --- a/core/module/config/view/index/index.php +++ b/core/module/config/view/index/index.php @@ -11,15 +11,13 @@
helper::baseUrl() . 'config/backup', - 'value' => 'Sauvegarder', - 'ico' => 'download' + 'value' => 'Sauvegarder' ]); ?>
helper::baseUrl() . 'config/manage', - 'value' => 'Restaurer', - 'ico' => 'upload' + 'value' => 'Restaurer' ]); ?>
diff --git a/core/module/config/view/manage/manage.php b/core/module/config/view/manage/manage.php index 953ac7a7..bc5a8c2e 100755 --- a/core/module/config/view/manage/manage.php +++ b/core/module/config/view/manage/manage.php @@ -10,8 +10,7 @@
'Restaurer', - 'ico' => 'upload' + 'value' => 'Restaurer' ]); ?>
From 5a0998e1392d4a0c87d7faadfcbeed04908440b9 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 8 Aug 2020 17:15:19 +0200 Subject: [PATCH 003/194] Virer une console --- core/module/config/view/backup/backup.js.php | 1 - 1 file changed, 1 deletion(-) diff --git a/core/module/config/view/backup/backup.js.php b/core/module/config/view/backup/backup.js.php index 7ad52f44..6dbf0f2a 100644 --- a/core/module/config/view/backup/backup.js.php +++ b/core/module/config/view/backup/backup.js.php @@ -12,7 +12,6 @@ $( document).ready(function() { $("#configBackupForm").submit( function(e){ - console.log('click'); e.preventDefault(); $("body").addClass("loading"); var url = "getUrl(0); ?>/backup"; From 4400b6de8bf8998d49dcc76983632b5576c73e01 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 8 Aug 2020 18:36:11 +0200 Subject: [PATCH 004/194] =?UTF-8?q?Notification=20ok=20+=20libell=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/config/view/backup/backup.js.php | 3 +-- core/module/config/view/backup/backup.php | 4 ++-- core/vendor/zwiico/img/ajax-loader.gif | Bin 3 files changed, 3 insertions(+), 4 deletions(-) mode change 100644 => 100755 core/module/config/view/backup/backup.js.php mode change 100644 => 100755 core/vendor/zwiico/img/ajax-loader.gif diff --git a/core/module/config/view/backup/backup.js.php b/core/module/config/view/backup/backup.js.php old mode 100644 new mode 100755 index 6dbf0f2a..9295cefc --- a/core/module/config/view/backup/backup.js.php +++ b/core/module/config/view/backup/backup.js.php @@ -21,8 +21,7 @@ $( document).ready(function() { data: $("form").serialize(), complete: function(r, s){ $("body").removeClass("loading"); - $("body").append("
Sauvegarde réalisée avec succès !
"); - $("#notification").delay("3000").fadeOut("1000"); + core.alert("Sauvegarde terminée avec succès !"); } }); }); diff --git a/core/module/config/view/backup/backup.php b/core/module/config/view/backup/backup.php index e1778c99..cc240b23 100755 --- a/core/module/config/view/backup/backup.php +++ b/core/module/config/view/backup/backup.php @@ -20,10 +20,10 @@

Paramètre

-
+
true, - 'help' => 'Cette option n\'est pas recommandée lorsque le contenu du gestionnaire de fichiers est très volumineux.' + 'help' => 'Lorsque le contenu du gestionnaire de fichiers est très volumineux une copie par FTP est préférable.' ]); ?>
diff --git a/core/vendor/zwiico/img/ajax-loader.gif b/core/vendor/zwiico/img/ajax-loader.gif old mode 100644 new mode 100755 From 8581911e6198da90c2b532eae429aa528386296b Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 8 Aug 2020 19:41:12 +0200 Subject: [PATCH 005/194] =?UTF-8?q?Correctif=20:=20edit=20page,=20=20chang?= =?UTF-8?q?ement=20id=20si=20le=20nom=20de=20la=20page=20a=20chang=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/page/page.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/core/module/page/page.php b/core/module/page/page.php index 0afd8acd..f409058e 100755 --- a/core/module/page/page.php +++ b/core/module/page/page.php @@ -184,7 +184,12 @@ class page extends common { else { // Soumission du formulaire if($this->isPost()) { - $pageId = $this->getInput('pageEditTitle', helper::FILTER_ID, true); + // Génére l'ID si le titre de la page a changé + if ( $this->getInput('pageEditTitle') !== $this->getData(['page',$this->getUrl(2),'title']) ) { + $pageId = $this->getInput('pageEditTitle', helper::FILTER_ID, true); + } else { + $pageId = $this->getUrl(2); + } // un dossier existe du même nom (erreur en cas de redirection) if (file_exists($pageId)) { $pageId = uniqid($pageId); From 80f091b59f91154ce461e7a0853cde95d315c504 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 9 Aug 2020 10:50:45 +0200 Subject: [PATCH 006/194] Merge bug_page_id --- CHANGES.md | 4 ++++ README.md | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index c91efa1d..86598e12 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,9 @@ # Changelog +## version 10.2.07 +- Correction : + - Bloquage de l'incrémentation de l'id de page lorsque deux pages ont le même nom. + ## version 10.2.06 - Corrections : - Dépréciation option de cookie samesite. diff --git a/README.md b/README.md index f427f44d..fd806728 100755 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ![](https://img.shields.io/github/last-commit/fredtempez/ZwiiCMS/master) ![](https://img.shields.io/github/release-date/fredtempez/ZwiiCMS) -# ZwiiCMS 10.2.06 +# ZwiiCMS 10.2.07 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. From c03a22436e0c5f7fd0b44c3921b2698ae74aa823 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 9 Aug 2020 10:53:58 +0200 Subject: [PATCH 007/194] Merge bug_page_id --- CHANGES.md | 4 ++++ README.md | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index e698931e..f179a697 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,9 @@ # Changelog +## version 10.2.07 +- Correction : + - Bloquage de l'incrémentation de l'id de page lorsque deux pages ont le même nom. + ## version 10.2.06 - Corrections : - Anticipation de la dépréciation de l'option de cookie samesite=none. diff --git a/README.md b/README.md index f427f44d..fd806728 100755 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ![](https://img.shields.io/github/last-commit/fredtempez/ZwiiCMS/master) ![](https://img.shields.io/github/release-date/fredtempez/ZwiiCMS) -# ZwiiCMS 10.2.06 +# ZwiiCMS 10.2.07 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. From 603f28189ef8f2ac05c5462ab8f89c721da4274f Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 9 Aug 2020 11:47:46 +0200 Subject: [PATCH 008/194] =?UTF-8?q?Am=C3=A9liorations=20:=20spinner=20+=20?= =?UTF-8?q?masque?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/config/view/backup/backup.css | 4 ++-- core/module/config/view/backup/backup.js.php | 2 +- core/module/config/view/backup/backup.php | 6 +++--- core/vendor/zwiico/img/ajax-loader.gif | Bin 673 -> 0 bytes core/vendor/zwiico/img/ajax-loader.png | Bin 0 -> 8529 bytes 5 files changed, 6 insertions(+), 6 deletions(-) delete mode 100755 core/vendor/zwiico/img/ajax-loader.gif create mode 100644 core/vendor/zwiico/img/ajax-loader.png diff --git a/core/module/config/view/backup/backup.css b/core/module/config/view/backup/backup.css index 823be7d8..6b4e29e1 100755 --- a/core/module/config/view/backup/backup.css +++ b/core/module/config/view/backup/backup.css @@ -30,8 +30,8 @@ display: none; left: 0; height: 100%; width: 100%; - background: rgba( 255, 255, 255, .2 ) - url('core/vendor/zwiico/img/ajax-loader.gif') + background: rgba( 0, 0, 0, .9 ) + url('core/vendor/zwiico/img/ajax-loader.png') 50% 50% no-repeat; } diff --git a/core/module/config/view/backup/backup.js.php b/core/module/config/view/backup/backup.js.php index 9295cefc..0f33f90e 100755 --- a/core/module/config/view/backup/backup.js.php +++ b/core/module/config/view/backup/backup.js.php @@ -21,7 +21,7 @@ $( document).ready(function() { data: $("form").serialize(), complete: function(r, s){ $("body").removeClass("loading"); - core.alert("Sauvegarde terminée avec succès !"); + core.alert("Processus terminé : la sauvegarde a été générée."); } }); }); diff --git a/core/module/config/view/backup/backup.php b/core/module/config/view/backup/backup.php index cc240b23..8c35a2c7 100755 --- a/core/module/config/view/backup/backup.php +++ b/core/module/config/view/backup/backup.php @@ -16,18 +16,18 @@
-
+

Paramètre

-
+
true, 'help' => 'Lorsque le contenu du gestionnaire de fichiers est très volumineux une copie par FTP est préférable.' ]); ?>
- Le fichier de sauvegarde est généré dans le dossier Backup du gestionnaire de fichiers. + L'archive est générée dans le dossier Backup du gestionnaire de fichiers.
diff --git a/core/vendor/zwiico/img/ajax-loader.gif b/core/vendor/zwiico/img/ajax-loader.gif deleted file mode 100755 index d0bce1542342e912da81a2c260562df172f30d73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 673 zcmZ?wbhEHb6krfw_{6~Q|Nnmm28Kh24mmkF0U1e2Nli^nlO|14{Lk&@8WQa67~pE8 zXTZz|lvDgC+Z`3#dv5h=E26FfcG1 zbL_hF&)}42ws10s6^G;;cE1^EoUR)U5A70}d2pLv!jVIT7j&Z~EblI3x0K*v_sV|m z0kj3v921Z^em#l`(k(o@H$3ZdDRc@9NidXDNbqrumReCGv$gd8+e8WW28HVqkJ_9i zH>s*<31KtHjANIPvi2#*6BEu%3Dak5O_t&NBI)H?V$TxT}#l{vOTn5naXTfF^&~Hhq+NX@#Ccc>y7T?;vjI&jdhsDsPJyAw*m0Qz>i}K7# zL9w50Ng{fT}A5JUe8lRK1h7_Y2;BWJDd=c6f&i?Wv5(5q?6|P zQw{>maxZP<537OA37Uk}7@%_$4o$EWe_Zl>&#id|lE-BpDC#+Fn|msJ%_2h{Hg1vP z#N8WAzfWasG}yq|xqE)DrWaOofX=z|?*pgc%{ig5vl!pqDlC|q&~Z0$&Rvsft&VO- z4MZj+%-+Vx%W}v;V76hyp=;+R;x+~t^Q%*xuFTQAF2})fSfTHDAs>sO!OBw`)&)o$ c0!CNZt))x~rAZP^^P&YOFfdqy5)K#u0POD40{{R3 diff --git a/core/vendor/zwiico/img/ajax-loader.png b/core/vendor/zwiico/img/ajax-loader.png new file mode 100644 index 0000000000000000000000000000000000000000..62b215f30686041afff8857490a0c95461a786ff GIT binary patch literal 8529 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 literal 0 HcmV?d00001 From c38c8b86940411e639aaf8637594224d48e9a8d7 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 9 Aug 2020 12:00:29 +0200 Subject: [PATCH 009/194] Gestion d'erreur --- core/module/config/config.php | 17 +++++++---------- core/module/config/view/backup/backup.js.php | 8 ++++++-- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/core/module/config/config.php b/core/module/config/config.php index e0f5da66..07881941 100755 --- a/core/module/config/config.php +++ b/core/module/config/config.php @@ -246,22 +246,19 @@ class config extends common { // Creation du ZIP $filter = $this->getInput('configBackupOption',helper::FILTER_BOOLEAN) === true ? ['backup','tmp'] : ['backup','tmp','file']; $fileName = helper::autoBackup(self::TEMP_DIR,$filter); + // Créer le répertoire manquant if (!is_dir(self::FILE_DIR.'source/backup')) { mkdir(self::FILE_DIR.'source/backup'); } - copy (self::TEMP_DIR . $fileName , self::FILE_DIR.'source/backup/' . $fileName); - - /*// Téléchargement du ZIP // NE marche pas avec le spinner - header('Content-Type: application/zip'); - header('Content-Disposition: attachment; filename="' . $fileName . '"'); - header('Content-Length: ' . filesize(self::TEMP_DIR . $fileName)); - readfile(self::TEMP_DIR . $fileName); + // Copie dans les fichiers + $success = copy (self::TEMP_DIR . $fileName , self::FILE_DIR.'source/backup/' . $fileName); + // Détruire le temporaire + unlink(self::TEMP_DIR . $fileName); // Valeurs en sortie $this->addOutput([ - 'display' => self::DISPLAY_RAW + 'display' => self::DISPLAY_JSON, + 'content' => json_encode($success) ]); - */ - unlink(self::TEMP_DIR . $fileName); } else { // Valeurs en sortie $this->addOutput([ diff --git a/core/module/config/view/backup/backup.js.php b/core/module/config/view/backup/backup.js.php index 0f33f90e..5a3d7dac 100755 --- a/core/module/config/view/backup/backup.js.php +++ b/core/module/config/view/backup/backup.js.php @@ -19,9 +19,13 @@ $( document).ready(function() { type: "POST", url: url, data: $("form").serialize(), - complete: function(r, s){ + success: function(data){ $("body").removeClass("loading"); - core.alert("Processus terminé : la sauvegarde a été générée."); + core.alert("La sauvegarde a été générée avec succès."); + }, + error: function(data){ + $("body").removeClass("loading"); + core.alert("Une erreur s'est produite, la sauvegarde n'a pas été générée !"); } }); }); From 30542b157b65f871ce9d8c67cf8184453a096d2e Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 9 Aug 2020 12:13:15 +0200 Subject: [PATCH 010/194] Changes --- CHANGES.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index f179a697..bf8f84c5 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -3,6 +3,8 @@ ## version 10.2.07 - Correction : - Bloquage de l'incrémentation de l'id de page lorsque deux pages ont le même nom. +- Modification : + - Configuration: Sauvegarde du site dans une archive : animation d'attente avec message de confirmation ou d'erreur. ## version 10.2.06 - Corrections : From 065c8832cb5a644fcb3a963621cfe235b4686588 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 9 Aug 2020 12:14:03 +0200 Subject: [PATCH 011/194] Changes --- CHANGES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index bf8f84c5..0d67ec6c 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -4,7 +4,7 @@ - Correction : - Bloquage de l'incrémentation de l'id de page lorsque deux pages ont le même nom. - Modification : - - Configuration: Sauvegarde du site dans une archive : animation d'attente avec message de confirmation ou d'erreur. + - Configuration: sauvegarde du site dans une archive : animation d'attente avec message de confirmation ou d'erreur. ## version 10.2.06 - Corrections : From 8b4775967d9a2bc800ebf3b16dd54738d91fc995 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 9 Aug 2020 15:53:20 +0200 Subject: [PATCH 012/194] Image du loader --- core/vendor/zwiico/img/ajax-loader.png | Bin 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 core/vendor/zwiico/img/ajax-loader.png diff --git a/core/vendor/zwiico/img/ajax-loader.png b/core/vendor/zwiico/img/ajax-loader.png old mode 100644 new mode 100755 From c933abefc233fb83fe204767d0a46e1f49e8e8bd Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 9 Aug 2020 15:53:30 +0200 Subject: [PATCH 013/194] =?UTF-8?q?optimisation=20d'=C3=A9criture?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/form/form.php | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/module/form/form.php b/module/form/form.php index 2784ebdf..b419f074 100755 --- a/module/form/form.php +++ b/module/form/form.php @@ -71,12 +71,6 @@ class form extends common { // Soumission du formulaire if($this->isPost()) { // Configuration - // Option sélectionnée sans page choisie - $pageId = ''; - if ($this->getInput('formConfigPageId') !== "") { - // Option désactivée, réinitialiser l'id de la page sélectionnée. - $pageId = $this->getInput('formConfigPageIdToggle', helper::FILTER_BOOLEAN) === true ? $this->getInput('formConfigPageId', helper::FILTER_ID) : ''; - } $this->setData([ 'module', $this->getUrl(0), @@ -87,7 +81,7 @@ class form extends common { 'group' => $this->getInput('formConfigGroup', helper::FILTER_INT), 'user' => self::$listUsers [$this->getInput('formConfigUser', helper::FILTER_INT)], 'mail' => $this->getInput('formConfigMail') , - 'pageId' => $pageId, + 'pageId' => $this->getInput('formConfigPageIdToggle', helper::FILTER_BOOLEAN) === true ? $this->getInput('formConfigPageId', helper::FILTER_ID) : '', 'subject' => $this->getInput('formConfigSubject'), 'replyto' => $this->getInput('formConfigMailReplyTo', helper::FILTER_BOOLEAN) ] From 5a9e7405e0ab21b11991ca3077c8e0d290f9bdb2 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 9 Aug 2020 16:35:03 +0200 Subject: [PATCH 014/194] Cookie authentification : samesite = strict | remember me ok --- CHANGES.md | 4 +++- core/module/install/view/index/index.php | 4 ++-- core/module/user/user.php | 14 ++++++++++---- core/module/user/view/login/login.php | 7 +++---- 4 files changed, 18 insertions(+), 11 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 0d67ec6c..f60de150 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -3,8 +3,10 @@ ## version 10.2.07 - Correction : - Bloquage de l'incrémentation de l'id de page lorsque deux pages ont le même nom. -- Modification : + - Login : l'option "Se souvenir de moi" est fonctionnelle. +- Modifications : - Configuration: sauvegarde du site dans une archive : animation d'attente avec message de confirmation ou d'erreur. + - Cookies d'authentification : option samesite sur Strict ## version 10.2.06 - Corrections : diff --git a/core/module/install/view/index/index.php b/core/module/install/view/index/index.php index 74677c5a..6debdbf3 100755 --- a/core/module/install/view/index/index.php +++ b/core/module/install/view/index/index.php @@ -20,7 +20,7 @@
'off', - 'label' => 'Adresse mail' + 'label' => 'Adresse mail' ]); ?>
@@ -41,7 +41,7 @@ true ]); - ?> + ?>
diff --git a/core/module/user/user.php b/core/module/user/user.php index 4ab38f8f..3dba717c 100755 --- a/core/module/user/user.php +++ b/core/module/user/user.php @@ -24,8 +24,11 @@ class user extends common { 'logout' => self::GROUP_MEMBER, 'reset' => self::GROUP_VISITOR ]; + public static $users = []; + public static $userId = ''; + /** * Ajout */ @@ -373,7 +376,7 @@ class user extends common { */ } else { // Cas 4 : le délai de blocage est dépassé et le compte est au max - Réinitialiser - if ($this->getData(['user',$userId,'connectTimeout']) + $this->getData(['config', 'connect', 'timeout']) < time() + if ($this->getData(['user',$userId,'connectTimeout']) + $this->getData(['config', 'connect', 'timeout']) < time() AND $this->getData(['user',$userId,'connectFail']) === $this->getData(['config', 'connect', 'attempt']) ) { $this->setData(['user',$userId,'connectFail',0 ]); $this->setData(['user',$userId,'connectTimeout',0 ]); @@ -388,8 +391,8 @@ class user extends common { ) { // Expiration $expire = $this->getInput('userLoginLongTime') ? strtotime("+1 year") : 0; - setcookie('ZWII_USER_ID', $userId, $expire, helper::baseUrl(false, false), '', helper::isHttps(), true); - setcookie('ZWII_USER_PASSWORD', $this->getData(['user', $userId, 'password']), $expire, helper::baseUrl(false, false), '', helper::isHttps(), true); + setcookie('ZWII_USER_ID', $userId, $expire, helper::baseUrl(false, false) . '; samesite=strict' , '', helper::isHttps(), true); + setcookie('ZWII_USER_PASSWORD', $this->getData(['user', $userId, 'password']), $expire, helper::baseUrl(false, false) . '; samesite=strict', '', helper::isHttps(), true); // Accès multiples avec le même compte $this->setData(['user',$userId,'accessCsrf',$_SESSION['csrf']]); // Valeurs en sortie lorsque le site est en maintenance et que l'utilisateur n'est pas administrateur @@ -442,6 +445,9 @@ class user extends common { } } } + if (!empty($_COOKIE['ZWII_USER_ID'])) { + self::$userId = $_COOKIE['ZWII_USER_ID']; + } // Valeurs en sortie $this->addOutput([ 'display' => self::DISPLAY_LAYOUT_LIGHT, @@ -454,7 +460,7 @@ class user extends common { * Déconnexion */ public function logout() { - helper::deleteCookie('ZWII_USER_ID'); + // Ne pas effacer l'identifiant mais seulement le mot de passe helper::deleteCookie('ZWII_USER_PASSWORD'); session_destroy(); // Valeurs en sortie diff --git a/core/module/user/view/login/login.php b/core/module/user/view/login/login.php index a25c0529..bce31c82 100755 --- a/core/module/user/view/login/login.php +++ b/core/module/user/view/login/login.php @@ -2,7 +2,8 @@
'Identifiant' + 'label' => 'Identifiant', + 'value' => $module::$userId ]); ?>
@@ -13,9 +14,7 @@
- 'La session est close à la fermeture du navigateur.' - ]); ?> +
From 38e05f011556ec71e06a76931742f40342ba1b5e Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 9 Aug 2020 17:58:13 +0200 Subject: [PATCH 015/194] reverse samesite=strict --- CHANGES.md | 1 - core/module/user/user.php | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index f60de150..7e948cf4 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -6,7 +6,6 @@ - Login : l'option "Se souvenir de moi" est fonctionnelle. - Modifications : - Configuration: sauvegarde du site dans une archive : animation d'attente avec message de confirmation ou d'erreur. - - Cookies d'authentification : option samesite sur Strict ## version 10.2.06 - Corrections : diff --git a/core/module/user/user.php b/core/module/user/user.php index 3dba717c..84d27e15 100755 --- a/core/module/user/user.php +++ b/core/module/user/user.php @@ -391,8 +391,8 @@ class user extends common { ) { // Expiration $expire = $this->getInput('userLoginLongTime') ? strtotime("+1 year") : 0; - setcookie('ZWII_USER_ID', $userId, $expire, helper::baseUrl(false, false) . '; samesite=strict' , '', helper::isHttps(), true); - setcookie('ZWII_USER_PASSWORD', $this->getData(['user', $userId, 'password']), $expire, helper::baseUrl(false, false) . '; samesite=strict', '', helper::isHttps(), true); + setcookie('ZWII_USER_ID', $userId, $expire, helper::baseUrl(false, false) , '', helper::isHttps(), true); + setcookie('ZWII_USER_PASSWORD', $this->getData(['user', $userId, 'password']), $expire, helper::baseUrl(false, false), '', helper::isHttps(), true); // Accès multiples avec le même compte $this->setData(['user',$userId,'accessCsrf',$_SESSION['csrf']]); // Valeurs en sortie lorsque le site est en maintenance et que l'utilisateur n'est pas administrateur From 9ab2e0eefd553af0cdbeba9520b83e45a9dd5854 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 9 Aug 2020 18:10:36 +0200 Subject: [PATCH 016/194] =?UTF-8?q?Num=C3=A9ro=20de=20version?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/core.php b/core/core.php index c7e34b24..219210ef 100755 --- a/core/core.php +++ b/core/core.php @@ -39,7 +39,7 @@ class common { const ACCESS_TIMER = 1800; // Numéro de version - const ZWII_VERSION = '10.2.06'; + const ZWII_VERSION = '10.2.07'; const ZWII_UPDATE_CHANNEL = "v10"; public static $actions = []; From 7c956dd919512bb2fad71a8fa98ce3a771bda59b Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 9 Aug 2020 18:11:49 +0200 Subject: [PATCH 017/194] Soumission unique --- core/module/config/view/backup/backup.js.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/module/config/view/backup/backup.js.php b/core/module/config/view/backup/backup.js.php index 5a3d7dac..cf101faf 100755 --- a/core/module/config/view/backup/backup.js.php +++ b/core/module/config/view/backup/backup.js.php @@ -12,6 +12,7 @@ $( document).ready(function() { $("#configBackupForm").submit( function(e){ + $("#configBackupSubmit").addClass("disabled").prop("disabled", true); e.preventDefault(); $("body").addClass("loading"); var url = "getUrl(0); ?>/backup"; @@ -26,6 +27,9 @@ $( document).ready(function() { error: function(data){ $("body").removeClass("loading"); core.alert("Une erreur s'est produite, la sauvegarde n'a pas été générée !"); + }, + complete: function(){ + $("#configBackupSubmit").removeClass("disabled").prop("disabled", false); } }); }); From 74787dffbc5a9d1f6e85678b0b1e5f6084809fe8 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 9 Aug 2020 18:32:16 +0200 Subject: [PATCH 018/194] Message d'attente --- core/module/config/view/backup/backup.css | 30 +++++++++++++------- core/module/config/view/backup/backup.js.php | 2 ++ core/module/config/view/backup/backup.php | 2 +- 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/core/module/config/view/backup/backup.css b/core/module/config/view/backup/backup.css index 6b4e29e1..bf1dfa91 100755 --- a/core/module/config/view/backup/backup.css +++ b/core/module/config/view/backup/backup.css @@ -23,27 +23,35 @@ for themselves. Background we set to 80% white with our animation centered, and no-repeating */ .modal { -display: none; - position: fixed; - z-index: 1000; - top: 0; - left: 0; - height: 100%; - width: 100%; - background: rgba( 0, 0, 0, .9 ) + display: none; + position: fixed; + z-index: 1000; + top: 0; + left: 0; + height: 100%; + width: 100%; + background: rgba( 0, 0, 0, .9 ) url('core/vendor/zwiico/img/ajax-loader.png') - 50% 50% + 50% 45% no-repeat; } + +.alertMessage { + color: lightgrey; + display: none; + display: flex; + align-items: center; + justify-content: center; +} /* When the body has the loading class, we turn the scrollbar off with overflow:hidden */ - body.loading .modal { + body.loading .modal .alertMessage { overflow: hidden; } /* Anytime the body has the loading class, our modal element will be visible */ - body.loading .modal { + body.loading .modal .alertMessage { display: block; } \ No newline at end of file diff --git a/core/module/config/view/backup/backup.js.php b/core/module/config/view/backup/backup.js.php index cf101faf..d3325d2c 100755 --- a/core/module/config/view/backup/backup.js.php +++ b/core/module/config/view/backup/backup.js.php @@ -15,6 +15,7 @@ $( document).ready(function() { $("#configBackupSubmit").addClass("disabled").prop("disabled", true); e.preventDefault(); $("body").addClass("loading"); + $(".modal").addClass("alertMessage"); var url = "getUrl(0); ?>/backup"; $.ajax({ type: "POST", @@ -30,6 +31,7 @@ $( document).ready(function() { }, complete: function(){ $("#configBackupSubmit").removeClass("disabled").prop("disabled", false); + $(".modal").removeClass("alertMessage"); } }); }); diff --git a/core/module/config/view/backup/backup.php b/core/module/config/view/backup/backup.php index 8c35a2c7..89a7e0a1 100755 --- a/core/module/config/view/backup/backup.php +++ b/core/module/config/view/backup/backup.php @@ -13,7 +13,7 @@ 'value' => 'Sauvegarder' ]); ?>
- +
From a670fa4e5dc1f0ba0c737aadda897413341542cf Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 9 Aug 2020 18:59:43 +0200 Subject: [PATCH 019/194] Backup name = base Url --- core/class/helper.class.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/class/helper.class.php b/core/class/helper.class.php index ffe6c1ad..86649506 100755 --- a/core/class/helper.class.php +++ b/core/class/helper.class.php @@ -98,7 +98,9 @@ class helper { public static function autoBackup($folder, $filter = ['backup','tmp'] ) { // Creation du ZIP - $fileName = 'ZwiiCMS-backup'. date('Y-m-d-h-i-s', time()) . '.zip'; + $baseName = str_replace('/','',helper::baseUrl(false,false)); + $baseName = empty($baseName) ? 'ZwiiCMS' : $baseName; + $fileName = $baseName . '-backup-' . date('Y-m-d-h-i-s', time()) . '.zip'; $zip = new ZipArchive(); $zip->open($folder . $fileName, ZipArchive::CREATE | ZipArchive::OVERWRITE); $directory = 'site/'; From d31cedb23ec74aa92397c3b71e9fb11bfa11b42f Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 9 Aug 2020 19:16:39 +0200 Subject: [PATCH 020/194] Menu : classe active --- CHANGES.md | 4 +++- core/core.php | 16 ++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 7e948cf4..f8139854 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -4,8 +4,10 @@ - Correction : - Bloquage de l'incrémentation de l'id de page lorsque deux pages ont le même nom. - Login : l'option "Se souvenir de moi" est fonctionnelle. + - Menu : déplacement de la classe "active". - Modifications : - - Configuration: sauvegarde du site dans une archive : animation d'attente avec message de confirmation ou d'erreur. + - Configuration : sauvegarde du site dans une archive : animation d'attente avec message de confirmation ou d'erreur. + - Configuration : le nom de l'archive prend le nom du sous-domaine s'il existe. ## version 10.2.06 - Corrections : diff --git a/core/core.php b/core/core.php index 219210ef..8f83cace 100755 --- a/core/core.php +++ b/core/core.php @@ -2258,7 +2258,7 @@ class layout extends common { foreach($this->getHierarchy() as $parentPageId => $childrenPageIds) { // Passer les entrées masquées // Propriétés de l'item - $active = ($parentPageId === $currentPageId OR in_array($currentPageId, $childrenPageIds)) ? ' class="active"' : ''; + $active = ($parentPageId === $currentPageId OR in_array($currentPageId, $childrenPageIds)) ? 'active ' : ''; $targetBlank = $this->getData(['page', $parentPageId, 'targetBlank']) ? ' target="_blank"' : ''; // Mise en page de l'item $items .= '
  • '; @@ -2268,7 +2268,7 @@ class layout extends common { {$items .= ''; } else { - $items .= ''; + $items .= ''; } switch ($this->getData(['page', $parentPageId, 'typeMenu'])) { @@ -2314,7 +2314,7 @@ class layout extends common { $items .= '
  • - - + $module::$userLongtime + ]); ?>
    Mot de passe perdu ? From 9c46c227d06c18fbccea9211e095eeee89404c4e Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Mon, 10 Aug 2020 09:16:28 +0200 Subject: [PATCH 023/194] remember me true value --- core/module/user/user.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core/module/user/user.php b/core/module/user/user.php index 1870c2bf..b9e8a124 100755 --- a/core/module/user/user.php +++ b/core/module/user/user.php @@ -393,9 +393,10 @@ class user extends common { ) { // Expiration $expire = $this->getInput('userLoginLongTime') ? strtotime("+1 year") : 0; + $c = $this->getInput('userLoginLongTime', helper::FILTER_BOOLEAN) === true ? 'true' : 'false'; setcookie('ZWII_USER_ID', $userId, $expire, helper::baseUrl(false, false) , '', helper::isHttps(), true); setcookie('ZWII_USER_PASSWORD', $this->getData(['user', $userId, 'password']), $expire, helper::baseUrl(false, false), '', helper::isHttps(), true); - setcookie('ZWII_USER_LONGTIME', $this->getInput('userLoginLongTime', helper::FILTER_BOOLEAN), $expire, helper::baseUrl(false, false), '', helper::isHttps(), true); + setcookie('ZWII_USER_LONGTIME', $c, $expire, helper::baseUrl(false, false), '', helper::isHttps(), true); // Accès multiples avec le même compte $this->setData(['user',$userId,'accessCsrf',$_SESSION['csrf']]); // Valeurs en sortie lorsque le site est en maintenance et que l'utilisateur n'est pas administrateur @@ -452,7 +453,7 @@ class user extends common { self::$userId = $_COOKIE['ZWII_USER_ID']; } if (!empty($_COOKIE['ZWII_USER_LONGTIME'])) { - self::$userLongtime = $_COOKIE['ZWII_USER_LONGTIME'] == '1' ? true : false; + self::$userLongtime = $_COOKIE['ZWII_USER_LONGTIME'] == 'true' ? true : false; } // Valeurs en sortie $this->addOutput([ @@ -467,7 +468,7 @@ class user extends common { */ public function logout() { // Ne pas effacer l'identifiant mais seulement le mot de passe - if ($_COOKIE['ZWII_USER_LONGTIME'] !== '1' ) { + if ($_COOKIE['ZWII_USER_LONGTIME'] !== 'true' ) { helper::deleteCookie('ZWII_USER_ID'); helper::deleteCookie('ZWII_USER_LONGTIME'); } From bf1819fc741e664da66de8e43df199c73e9f4301 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Mon, 10 Aug 2020 13:30:48 +0200 Subject: [PATCH 024/194] Ajustements --- core/module/config/view/backup/backup.php | 4 ++-- core/module/install/ressource/defaultdata.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/module/config/view/backup/backup.php b/core/module/config/view/backup/backup.php index 89a7e0a1..8e244b47 100755 --- a/core/module/config/view/backup/backup.php +++ b/core/module/config/view/backup/backup.php @@ -16,14 +16,14 @@
    -
    +

    Paramètre

    true, - 'help' => 'Lorsque le contenu du gestionnaire de fichiers est très volumineux une copie par FTP est préférable.' + 'help' => 'Si le contenu du gestionnaire de fichiers est très volumineux, mieux vaut une copie par FTP.' ]); ?>
    diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 4a9cf666..f0b3d7a9 100755 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -112,7 +112,7 @@ class init extends common { 'template' => '3' ], 'header' => [ - 'backgroundColor' => 'rgba(255, 255, 255, 1)', + 'backgroundColor' => 'rgba(32, 59, 82, 1)', 'font' => 'Oswald', 'fontSize' => '2em', 'fontWeight' => 'normal', @@ -123,7 +123,7 @@ class init extends common { 'margin' => false, 'position' => 'site', 'textAlign' => 'center', - 'textColor' => 'rgba(0, 17, 157, 1)', + 'textColor' => 'rgba(255, 255, 255, 1)', 'textHide' => false, 'textTransform' => 'none', 'linkHomePage' => true, From e94cb81b24593889899c43576567d25b4d12a0b9 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Mon, 10 Aug 2020 19:07:17 +0200 Subject: [PATCH 025/194] Captcha en lettres + correction du nom : capcha en captcha --- core/class/template.class.php | 16 +++++++++------- core/module/install/ressource/defaultdata.php | 2 +- module/blog/blog.php | 6 +++--- module/blog/view/article/article.php | 2 +- module/form/form.php | 10 +++++----- module/form/view/config/config.php | 4 ++-- module/form/view/index/index.php | 4 ++-- 7 files changed, 23 insertions(+), 21 deletions(-) diff --git a/core/class/template.class.php b/core/class/template.class.php index d3cc78bf..63a9ca6c 100755 --- a/core/class/template.class.php +++ b/core/class/template.class.php @@ -33,12 +33,12 @@ class template { } /** - * Crée un champ capcha + * Crée un champ captcha * @param string $nameId Nom et id du champ * @param array $attributes Attributs ($key => $value) * @return string */ - public static function capcha($nameId, array $attributes = []) { + public static function captcha($nameId, array $attributes = []) { // Attributs par défaut $attributes = array_merge([ 'class' => '', @@ -48,13 +48,15 @@ class template { 'name' => $nameId, 'value' => '' ], $attributes); - // Génère deux nombres pour le capcha - $firstNumber = mt_rand(1, 15); - $secondNumber = mt_rand(1, 15); + // Génère deux nombres pour le captcha + $numbers=array(0,1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,20); + $letters=array('zéro','un','deux','trois','quatre','cinq','six','sept','huit','neuf','dix','onze','douze','treize','quatorze','quinze','seize','dix-sept','dix-huit','dix-neuf','vingt'); + $firstNumber=rand ( 0 , count($letters)-1 ); + $secondNumber=rand ( 0 , count($letters)-1 ); // Début du wrapper $html = '
    '; // Label - $html .= self::label($attributes['id'], $firstNumber . ' + ' . $secondNumber . ' = ?', [ + $html .= self::label($attributes['id'], $letters[$firstNumber] . ' + ' . $letters[$secondNumber] . ' = ? (réponse en chiffres)', [ 'help' => $attributes['help'] ]); // Notice @@ -64,7 +66,7 @@ class template { $attributes['class'] .= ' notice'; } $html .= self::notice($attributes['id'], $notice); - // Capcha + // captcha $html .= sprintf( '', helper::sprintAttributes($attributes) diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index f0b3d7a9..5e7397a1 100755 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -632,7 +632,7 @@ class init extends common { 'contact' => [ 'config' => [ 'button' => '', - 'capcha' => true, + 'captcha' => true, 'group' => self::GROUP_ADMIN, 'pageId' => '', 'subject' => '' diff --git a/module/blog/blog.php b/module/blog/blog.php index 67f3a7e5..0709be0f 100755 --- a/module/blog/blog.php +++ b/module/blog/blog.php @@ -339,12 +339,12 @@ class blog extends common { else { // Soumission du formulaire if($this->isPost()) { - // Check la capcha + // Check la captcha if( $this->getUser('password') !== $this->getInput('ZWII_USER_PASSWORD') - AND $this->getInput('blogArticleCapcha', helper::FILTER_INT) !== $this->getInput('blogArticleCapchaFirstNumber', helper::FILTER_INT) + $this->getInput('blogArticleCapchaSecondNumber', helper::FILTER_INT)) + AND $this->getInput('blogArticlecaptcha', helper::FILTER_INT) !== $this->getInput('blogArticlecaptchaFirstNumber', helper::FILTER_INT) + $this->getInput('blogArticlecaptchaSecondNumber', helper::FILTER_INT)) { - self::$inputNotices['blogArticleCapcha'] = 'Incorrect'; + self::$inputNotices['blogArticlecaptcha'] = 'Incorrect'; } // Crée le commentaire $commentId = helper::increment(uniqid(), $this->getData(['module', $this->getUrl(0), $this->getUrl(1), 'comment'])); diff --git a/module/blog/view/article/article.php b/module/blog/view/article/article.php index e3386281..8ce7acb4 100755 --- a/module/blog/view/article/article.php +++ b/module/blog/view/article/article.php @@ -75,7 +75,7 @@ getUser('password') !== $this->getInput('ZWII_USER_PASSWORD')): ?>
    - +
    diff --git a/module/form/form.php b/module/form/form.php index b419f074..3332afc6 100755 --- a/module/form/form.php +++ b/module/form/form.php @@ -77,7 +77,7 @@ class form extends common { 'config', [ 'button' => $this->getInput('formConfigButton'), - 'capcha' => $this->getInput('formConfigCapcha', helper::FILTER_BOOLEAN), + 'captcha' => $this->getInput('formConfigcaptcha', helper::FILTER_BOOLEAN), 'group' => $this->getInput('formConfigGroup', helper::FILTER_INT), 'user' => self::$listUsers [$this->getInput('formConfigUser', helper::FILTER_INT)], 'mail' => $this->getInput('formConfigMail') , @@ -279,12 +279,12 @@ class form extends common { public function index() { // Soumission du formulaire if($this->isPost()) { - // Check la capcha + // Check la captcha if( - $this->getData(['module', $this->getUrl(0), 'config', 'capcha']) - AND $this->getInput('formCapcha', helper::FILTER_INT) !== $this->getInput('formCapchaFirstNumber', helper::FILTER_INT) + $this->getInput('formCapchaSecondNumber', helper::FILTER_INT)) + $this->getData(['module', $this->getUrl(0), 'config', 'captcha']) + AND $this->getInput('formcaptcha', helper::FILTER_INT) !== $this->getInput('formcaptchaFirstNumber', helper::FILTER_INT) + $this->getInput('formcaptchaSecondNumber', helper::FILTER_INT)) { - self::$inputNotices['formCapcha'] = 'Incorrect'; + self::$inputNotices['formcaptcha'] = 'Incorrect'; } // Préparation le contenu du mail diff --git a/module/form/view/config/config.php b/module/form/view/config/config.php index 47ada59d..7eae904c 100755 --- a/module/form/view/config/config.php +++ b/module/form/view/config/config.php @@ -142,8 +142,8 @@ ]); ?>
    - $this->getData(['module', $this->getUrl(0), 'config', 'capcha']) + $this->getData(['module', $this->getUrl(0), 'config', 'captcha']) ]); ?>
    diff --git a/module/form/view/index/index.php b/module/form/view/index/index.php index 4fe54a9a..e1dc4422 100755 --- a/module/form/view/index/index.php +++ b/module/form/view/index/index.php @@ -43,10 +43,10 @@ - getData(['module', $this->getUrl(0), 'config', 'capcha'])): ?> + getData(['module', $this->getUrl(0), 'config', 'captcha'])): ?>
    - +
    From ac15324da5c516f543043143dd222e3987401d19 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Mon, 10 Aug 2020 19:39:39 +0200 Subject: [PATCH 026/194] changes --- CHANGES.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index f8139854..56652276 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,13 +1,15 @@ # Changelog ## version 10.2.07 -- Correction : +- Corrections : - Bloquage de l'incrémentation de l'id de page lorsque deux pages ont le même nom. - Login : l'option "Se souvenir de moi" est fonctionnelle. - Menu : déplacement de la classe "active". - Modifications : - Configuration : sauvegarde du site dans une archive : animation d'attente avec message de confirmation ou d'erreur. - Configuration : le nom de l'archive prend le nom du sous-domaine s'il existe. + - Captcha : correction du nom de la fonction (capcha en captcha). + - Captcha : addition présentée en lettres, réponse en chiffres. ## version 10.2.06 - Corrections : From 8ee8229e3f23160f48f362e2c6638af3ab446755 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Tue, 11 Aug 2020 08:25:41 +0200 Subject: [PATCH 027/194] =?UTF-8?q?Bug=20bouton=20bouton=20=C3=A9diter=20a?= =?UTF-8?q?vec=20cookie=20persistant?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/blog/view/article/article.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/module/blog/view/article/article.php b/module/blog/view/article/article.php index 8ce7acb4..4c24f23e 100755 --- a/module/blog/view/article/article.php +++ b/module/blog/view/article/article.php @@ -6,8 +6,12 @@ à getData(['module', $this->getUrl(0), $this->getUrl(1), 'publishedOn']))); ?>
    - getUser('group') >= self::GROUP_ADMIN): ?> + getUser('group') >= self::GROUP_ADMIN + AND $this->getUser('password') === $this->getInput('ZWII_USER_PASSWORD') + ): ?>
    + getUser('group'); ?> helper::baseUrl() . $this->getUrl(0) . '/edit/' . $this->getUrl(1) . '/' . $_SESSION['csrf'], 'value' => 'Editer' From 53bb2efeff36636ea0243dcf38dccbad79fd9bce Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Tue, 11 Aug 2020 16:03:48 +0200 Subject: [PATCH 028/194] captcha lettres --- core/class/template.class.php | 15 ++++++++------- core/layout/common.css | 7 +++++++ core/vendor/zwiico/png/a.png | Bin 0 -> 4990 bytes core/vendor/zwiico/png/b.png | Bin 0 -> 11963 bytes core/vendor/zwiico/png/c.png | Bin 0 -> 8777 bytes core/vendor/zwiico/png/d.png | Bin 0 -> 5597 bytes core/vendor/zwiico/png/e.png | Bin 0 -> 3060 bytes core/vendor/zwiico/png/f.png | Bin 0 -> 4325 bytes core/vendor/zwiico/png/g.png | Bin 0 -> 13801 bytes core/vendor/zwiico/png/h.png | Bin 0 -> 3689 bytes core/vendor/zwiico/png/i.png | Bin 0 -> 4120 bytes core/vendor/zwiico/png/j.png | Bin 0 -> 7297 bytes core/vendor/zwiico/png/k.png | Bin 0 -> 2199 bytes core/vendor/zwiico/png/l.png | Bin 0 -> 3693 bytes core/vendor/zwiico/png/m.png | Bin 0 -> 1876 bytes core/vendor/zwiico/png/n.png | Bin 0 -> 3680 bytes core/vendor/zwiico/png/o.png | Bin 0 -> 2654 bytes core/vendor/zwiico/png/p.png | Bin 0 -> 3051 bytes core/vendor/zwiico/png/q.png | Bin 0 -> 5051 bytes core/vendor/zwiico/png/r.png | Bin 0 -> 6898 bytes core/vendor/zwiico/png/s.png | Bin 0 -> 4363 bytes core/vendor/zwiico/png/t.png | Bin 0 -> 2152 bytes core/vendor/zwiico/png/u.png | Bin 0 -> 3218 bytes 23 files changed, 15 insertions(+), 7 deletions(-) create mode 100644 core/vendor/zwiico/png/a.png create mode 100644 core/vendor/zwiico/png/b.png create mode 100644 core/vendor/zwiico/png/c.png create mode 100644 core/vendor/zwiico/png/d.png create mode 100644 core/vendor/zwiico/png/e.png create mode 100644 core/vendor/zwiico/png/f.png create mode 100644 core/vendor/zwiico/png/g.png create mode 100644 core/vendor/zwiico/png/h.png create mode 100644 core/vendor/zwiico/png/i.png create mode 100644 core/vendor/zwiico/png/j.png create mode 100644 core/vendor/zwiico/png/k.png create mode 100644 core/vendor/zwiico/png/l.png create mode 100644 core/vendor/zwiico/png/m.png create mode 100644 core/vendor/zwiico/png/n.png create mode 100644 core/vendor/zwiico/png/o.png create mode 100644 core/vendor/zwiico/png/p.png create mode 100644 core/vendor/zwiico/png/q.png create mode 100644 core/vendor/zwiico/png/r.png create mode 100644 core/vendor/zwiico/png/s.png create mode 100644 core/vendor/zwiico/png/t.png create mode 100644 core/vendor/zwiico/png/u.png diff --git a/core/class/template.class.php b/core/class/template.class.php index 63a9ca6c..fa2aa7a3 100755 --- a/core/class/template.class.php +++ b/core/class/template.class.php @@ -49,16 +49,17 @@ class template { 'value' => '' ], $attributes); // Génère deux nombres pour le captcha - $numbers=array(0,1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,20); - $letters=array('zéro','un','deux','trois','quatre','cinq','six','sept','huit','neuf','dix','onze','douze','treize','quatorze','quinze','seize','dix-sept','dix-huit','dix-neuf','vingt'); - $firstNumber=rand ( 0 , count($letters)-1 ); - $secondNumber=rand ( 0 , count($letters)-1 ); + $numbers = array(0,1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,20); + $letters = array('u','t','s','r','q','p','o','n','m','l','k','j','i','h','g','f','e','d','c','b','a'); + $firstNumber = rand ( 0 , count($letters)-1 ); + $secondNumber = rand ( 0 , count($letters)-1 ); // Début du wrapper $html = '
    '; // Label - $html .= self::label($attributes['id'], $letters[$firstNumber] . ' + ' . $letters[$secondNumber] . ' = ? (réponse en chiffres)', [ - 'help' => $attributes['help'] - ]); + $html .= self::label($attributes['id'], + ' + = ? (réponse en chiffres)', [ + 'help' => $attributes['help'] + ]); // Notice $notice = ''; if(array_key_exists($attributes['id'], common::$inputNotices)) { diff --git a/core/layout/common.css b/core/layout/common.css index 884aa9f3..4b41e5ee 100755 --- a/core/layout/common.css +++ b/core/layout/common.css @@ -1358,4 +1358,11 @@ th.col12 { } .accordion-content { padding: 7px; +} + +/* Captcha +* Taille des images +*/ +.captchaNumber { + height:20px; } \ No newline at end of file diff --git a/core/vendor/zwiico/png/a.png b/core/vendor/zwiico/png/a.png new file mode 100644 index 0000000000000000000000000000000000000000..f4ef6eef104f7413ca4ad6dc756472971946ee06 GIT binary patch literal 4990 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 F{{XQNOr-z- literal 0 HcmV?d00001 diff --git a/core/vendor/zwiico/png/b.png b/core/vendor/zwiico/png/b.png new file mode 100644 index 0000000000000000000000000000000000000000..e14be925b1c0d99e6b58fe144a55367f443da1f1 GIT binary patch literal 11963 zcmW++2Rzm58$V=aQ%3f#Y?3{)XLbnLviII(?<6ZLBrD0a$;!&g-YePJA!PlZ^Y3== zr_Ocwo%em7?|PnSbyayhYzk}y0)eNfAft&uppe0zg|IN-zf`DBEbu~@jkL77qO>%f zv#Zlf8+%Ix;z3eCl9)or6RIv_gF@Ldd{07`@9G|vbgaLMpFNNYS7)pKZQ{B`#%H6T zX-I`W^(vG$_8BIb)eCAvbjgEToxLN9BeF`D#+uedEA1{4iwl19&9^R3c(n!-T%Js@ zGp0o0WbBj@`paT1V42@-CVq4xq@nW7&3~bzXR3*O=#Tj6#-@fV%PoJ@L-sMeSnp78 z-?34l{X6n{8k$i<(LK10bcc*nmT60ZWK@5T2BMNw2k*#7g-cQPI}F4`D2d8aJ=2c= zb9FC`dH>1Jd-bFG*Gkms z=SR7r+8cLS62z%Ixt8Lj? z_@vTq>htG&+frnKTy!^>s)O`Cf&6x-L|f4Jbav|KY~)G=io6yJJ%Qo+gfr;n{7*p%G5M!#5_Ra;lL;KK*B zxjH9#8ylM`cK3FCJ2#&KSv9d$%Wk?h*kXeA2AOP48*f?sVPQ2 zzPp2igIG8?p%b>@+N`qr`V{<5i*a#rxX0U56@x<}et+#nPv_mDqN3Wqh2tC!1zjg6 zm~)fApV}rOCy#noreoR>fv4Id=zIL&%wOEr&d%lf(g&ADlw46!5uY!U#~j1RcZ=D= z!eY948#M$G5)$IMf8OA>!EM%w<-3?I;zfAx-t8oX)hAV3V?`p1Z`ndWD-|+?5i+Fp zN3%V+i%m>KBqorS&Elc8F91{izSk}?4(Tr z{04gEI=n&G{&f*%WfQ+A^jsUVqPl)zzI0||V>|Lrl$Dh|b&p@^NxT!=^^5znTtVf< zSId6VqE_9qi7-Mb6_z_QbxyPm-iHkIVXsqDN&hvgurMON-_P|o6L{(2@tB7q9)HTQ zS?-fg*_e>q#`G6iWo4X7J$5DuiQLQMF*TWTojYX{N)!|nvnmyENyPA%ftQaOJa;K( z8a>!-Y;9fZ>%{#2*7I$aYO|X0XDY(`&!<|iWn*Guu;{}^HOnT5OSFH#ed)Eo$c)<| zXqZ@7cYk_x0FI^0Oj1khj=ONSasnkWF{-iglIOm9OG^v#f{}MNR;0$r!GXsp7x%>8 z{*!L2CDGlxGD5{1PzaY-SJ~G_1tULKdy_eHuhs`Mt?lj65YB>B1Gy4QYs~}MB4kwf zn541jas?y10XJtWiNn@>1S+i4mFAdPT~B#&rEh2io$3Dj@4wjqya>~s5A$$1h+y>x z)pNUhi_P1|r`X}BQ2O2VE-O$PJnoz7>4PufHzHVup?#uE7X@*6c!)rhXk#OyVq@JJ zS!N!a`6W`}7Yz<|eY4;-z4*Jkxzs9g>?@|tO7eGS=2p1W$V=accd_55q|o2LkGat3 z(eYj~l#qhL)=TyI^Ly}B^EMREpFfX^i<2=oXT-p#!b zIXBlA`yzw`wlxd_0%Rgydto|dg-Zm~!gquIjpb5xpB?4i#2p{I6G}N>p1EWRd-ScH zz;iG9?KfkVy4ufH-%jIv;d+)cv?0Q+V&GB0!JVPvnR|748934IK-Q^lrkfgdgA&t)}QD;||>A&MGYg=2}qx!xIOBIYf;Y=HQTA7!Ja$hY+royQCbxzLSlSj$DXwVuY zgN_T0Cv)6sH&;tHvewoQ8lfIdaU@t-u^+u0coG;G*c2Fa{>O4>v6&JhG{p7aB+ddU z8JAJ#`OyY7`2zgp12_+Q9-gE?E<&t>QDrWnxWjq3p^%}C(2iv~M#fur?yG)yGeRJ7 zX(Di)@yN>g{LdO@w_bN5Z6a;p8H(NHr^9+2bTl**xcJ>h)$K|TVd|7g3*HP};%}QH z1uiGQpP`|lwOR8?<*C2_`jsj=I+`wQdL${OQ?Iw%Q%p!2&IM{>dVS;fSP=p0ty?^n zeRs3O{76SeM%*2s@XyZAYx>uDO~0YRU!r6f4!lKeF#%P+eSDg!{^A8*l0ulz(Ru@w zG;504@#aXq$2Mu06n)|IfB>-w+Hk-<1>YiwENFNMFm%efrvapQc4Q7udlCIVGkQ>>R71{CAiYOhk=3NRiLVhiaYBd zBDl3x0t1gC49ZgLnO%P>2Z6TjvTK9)YLYzMV?;+JfuE>^m>4yi&L`_MeG9hF7w6~n zbacT#D(+6FvZk^>M-6#`2ze3=wN1ysfGRF7uAr*=al@`gU!hPFD_p9H ztc%33q%Q|PW;|ER8S2c;jOTW6icYnD`9f74`lo8svRStVL(!vwN5vHt@}{PF*xGbxWs|MZLWh=!@~1@x zb&h-i9R{oG>%Te(B*NNFf@kb8=)?A^eSCcCeNR}Qg$%xY)M>^;K}osG#8Ne5Uo=^p zYC9V`QXsz)PGjAFY)8YkJEw9KC0z9 zT2;BqRXNPnjtH@Ysmpo&9)D=q?3+?r^s?$6bTxMPH;%zsTl2$r4R9cg?CiL31z+^b zozp}IUA1fU@u0_Q^aIrH^sO8o3_Ke0&LY%pqEnV}Ivf;O8g6A|VA$l`#!Y5<`d?L@ zVCam!XL@=?%RlUF^s9d-9sOLbaU2GARa#thI?C@3i7^+U7Q za&hFQR!*k7g3Z1s|7nHzh~_MaE;hLJNS4~Nv9huv5WT&FJ({3(bCBr4Pra zraG+oUJY$93JKlw7pDaTab(`vZ@r-jI`228yNkW$*FI`LU+z@y^WHR)f>mLyZ5bsx*v@5)M~-q*;>lK7PcwubR~s z%heJk8H$l-+!{zO>iuOZE8yT~yMnUvHX&u#yT^84tVb9+ySu;j^hCx?*18baMkrM3 z#ig+63Qre66FqxIB1o0+B2LoMl3D!nK-!%JS&SgRkZ4!@dmTGb;<{eTPs#%=j!U}Qr(q=(|5Cts!JhFe)HxDmZY@wEdWLQpr9a7DbQ7K z-@a8JaxyZaIYA?mD%PGE9YqDA6txp@T13`jMFm%3hE(2{Oo=oaUNsj^4-b#kzq@ms z0rQoWmH2@dQBhb$*Ox+W>#rjsFe+9|Ja?v-dHJ8PruaUVd-?LCZgi}O=Z^DPd6i!1 ze#=Dyf=$LRl-Xp+S_Sz~srp2>@#bi2R5f3Y=dTL0m%Sg!m>$VvzB5cJ$h?|1wB zq6q`x{VV$Z!N2W_x(j^=jc0x*ztI7`^Q0s5f!sjx{d5*g7xrMy3H)dCyL8VQo-fg} z)DKi8uUrDv)^Sh{!^|CG;+3IB-^^jqUV*yW{6vTyu2*AAvgo~nmv(sX76$Hn3|oGgg*!k&qP|2ZT8ea*U}PgMn=Z4Z4F_xj06AMM%3-cl_zx72^eV3#`j0> zfqdLCIWYHdo=nL~N(!m2<|B`nBa|wpp`fPTeeYLWU2Ou@zd4|wrq*-3HCAae#!@uW zC2@Ih%OhD%R@QX#({q}hxTq))dzD9`)v1UD*@v`3u4vG0-baH1^lAMgRaRdLL8lDtHj3mejp%-&mtY0eja9c+u) zI61q+Zr}OhFvkxCJdnlXsA(LW@)ybfO^RL8+i8^Cn+h3 zT)>gaalRe}$hTl5YHy**k6H5SK0Ol?TA5DyHyp07!Q$PK zGtN)wa~THbM&nFgD3a`1Ya;Vbz?nVmyB|lazgP{?9Pce;Vhr96mvU|}{6|GZM5I@3 zO;ngXW8ZC+8!%Zy`V+2wWOz7uc2*zRX`peuug^CsotLGk#C-39E{_2C$?;jg2YucF zwE&$f>*&Zy%C3iiP5}pJ+LJ)-Sn09|`3K zb-w^WJeQv7>aIXHwP!lD*xV;oW+E1Orolu!vd{=+4FV+l_l%OV^5GKbP4EXDJ+wh_ zmzVychn;tjwjl6)jSNVEfs+#-jBi)9&6qVs;OX9iDSxI5pwZ<)2SL5}VgB5YnptQ}Av9U+$U?re=;jMh2h%8XU6EO6*&^-Oq(Z;?1QgkBEGGu zrIo!m3|i2#$nP^W&WDd5L0kX)*&Z4d9o;TZ8-NC$2N(=K5f##N1YJ!9NfwL*6TbTR zktIt!fC8$4FZQy$Zt+_xhk>Eo{(o|M2DhhPxZBuSynLBoT8a&>Oshy0ogU4_#pS1K z1M*R_gxnhI71>1LgFoQnic~G?0L6n_H4_H_|ILK^=XOPFcfM>aRUjj2YzZMfX{?Pu z&Ng#-MMb1hg}k=*+p%-42X_Id97Nn)QY!!D2167+LOg<$v|hLzthEZgP4W ztJ%nDLor!_Np)izETs3vZrzp@Fy&XUR``VvrsK>e6OvL>Ukdyv)+kU{R}UV{6fhrt zFRA_bE*2W6vIg`W{0@tVs1>SesjMUd^U;M={p$nw;>dYWNk~ZQotIHx4!%Pd&sCGX zdTcjo0)6`6;lp+2tpU;?$Hu{#d+d~r zVlQ_LY*XpBp~}Ro|2N{{ddO7v{G;L$Z5WwDCqhqR|6jI<~;W%q}L*!Pgz0X z{TqCPpMw^>d3ky5ob_sD6Tikww2%+87;w5!%agVw;x4=(He;`vB^Uw(u<|{L5fN-N z_Hl%)&#cm9XS&kb+WI|Ls|w4l4(_Og1V=BNx8ec+rY+5SIy&vkUy| z>#Qu54SMj)kF0)lzNVM9&LK+dsfzt(IY>iKPfr)tX2C1TngV$L-tTk|$pD~f=Azam z>`#JXyIj>2(;#i?0TiqBJ+Wnf(Rddi3~F7SH3bVB``f{CM^Z+HV*H!s<>jcDm{&3k zHo7c42X?4gDl7%D^Y_eAsPGm(8@7}qZ|n7ILU!X8swMv;JTPJ5tyjBFdX;AAEUH;i z0QJa691=UFLTX2_e7N^`(LfbK_Q9Ic#~JPXd%R@2HRvWFL!wagcA;i80BTrxxW1w_NOr zh;#>5VBzC`{JamE6|B;HgInZ!U1ejSg#}Xt0WCfpphkflcz&oAX(r;C67$*!?{Fy; zDXi{zN=(25Tq;3AuvJDA@3sa^9GH;^AmVX|d zS3k@zPwple1l#=j%^Orm%J>(H%bb!Zsf1j^Fa|5R;=w}$)Pr<{B;<8U3VNP;6nrrF zWwO#8fBH$J$~K&%!=+mfevVus&8~;2I$SMM$k*t{gDjRn=r~|@;Z{NOIg1jb@IYUm5`@WwQtC!Vd#@A6GE5AL3Y$$r*Mp6l%^`k7%N>eTV3L9dW>L#g!LcJD zBU^GCHiSDy`7Ymg$p+ZLPn_Y`O~L(h>JgI05s!OtDLF59FLFw{GqB(*JJ+}TcMUKjvt;V zLc9|&E!U;R&ZI!)|nyBwc%*r2gH z@JHW;EU`(GVWD~d+bXh&xsoOj3o9*U{rBH&cdkE(ESjT&ckkYDL*#55*D{5=3ZV#i z2M|P1t!I!3A1+7IGCX*I6^eoPtx!3wm@=zp#T3*l+#M1IA*SNx<;~)a0c{BA-E?Ah z;VQaG{?4yKJgpy?R}L;8Oq1vSVmz=M9eg7=kF(R(n|O2_(qT8$EuRbK7gNPMSx>1qI2)e2;^*SqtMJlWLQ+^@YP(m}P__CnO;WM{?ye3+JcI;rsL0OUsHv{Li$lsDtW@|d z1Yb`tasyCT`SAYXZ~*9G4#ZnfCGPx`Scgl*GkATPJd*D|07o-(Wu!sucRb;)DrjzKHb_? zkfIn#tnC81V#QQ4G(NBWG`FUn-e$GlTY*TOvXj!YgtDcL_4POZ{`roMj!J=#i&8Br z2oHB$YIzESuwH>Be`(@7cbZvAC;q`t3+-qIrh&mvFSv&9KqkGwl2H@3%*4@Q2)diI z9*HQ;5_f}D?Cke?Z>t#eYQOjQyZyU(^$Iod=$XF065@5U->I+Y)U!&k__8pHiiY=s zGH0d_BZP=Vzx<??7!nG(ZxR+}$Q9)AHTj)7ZagII z^2O9w#sy>E2F*dmAS8kupaBWUgYSV0u;DX>GV}er6CDmXwbxE7LgA5of`o=c)Tv97GD3%~$^@9q`nb}Z|nCdeeC&LYRceN^~ovwKkFN~LNLOjdAE&-L@itNbae_cCJ z#vv_05kI_r0s>F(i-~09*g#JvWeY9Iaux@&K~ECK0jxl~TJuo=B&uZaq63#aefm^; z<880SE~~P&fz6Le*TvZtUbl4>3X!(GFYGz~e|nd8e|c_T^oUo((7(17ilKSGZ zBKH-Bt41@th7Pv1Zd1do(3!3a~ZA*I=m9t55eu;^nuij}aXe?C~betDNN@D0>kL}Oy<~ScbVrIw^NcKe< z4GVVt>r&gG9C!KYBTQ%KF$8#dM-vney+w;k3+{7ejaXMdx~z)pGU0Z&?$xWvh)ql+ zc&o(x=FJ-*a19NOlwwdU^SfHY3yGX6;Y zZ&q4;?!Ax!rR+AfOo{d{5Qq;rIJ(|2D?=#qb7e((P8&SLaQ!O@3bz>`eJJ*AjekCX zc!v|Z#>?Q|99l3d^>CAWS(o3{BM`We$Xx)7Qz_7Y^lWTp9XL;`zAR|Z%rhG#LewYg z?97d<%9He?jUjm`E$W!|i;D{pd+Q&DyR{%XF*>+C`5tAcfJ$8m&C9s&qyd3!gWoCV z2~|z4MO}}9JB+6)*!L$UCL9f7p_=liwxheu=mAL?p_al-$wdg#>dIviuNRyB?!?Qj zm|S^bM3^ePe93Z;-#$H5esHpi->frAb%Wzi*tc&|iRSUtB9m;1OMnInGBRN=*htkD z8DM1q2Db_x9yJT+as?2l66a6YDq31vMvid_2uzjLfGME*D)b`(G$ zy?b@#JyX_vtKi90ZFCF_ltHkb*ydMx$3j&=ssNP(LnDxhkZ(?|C!Dgw*=B&=XMsN^)I!A{~0&Ocb(_YqaiTPYiO7$naTU~X<)aR2R9TL0^}G>yiie5 zg~d^4l2?D>>X)bTqaNwFMn^@_VG__Vy{wwq{%8%Uaiu|TICa_MA}$UNX1I|L0C`W} zC`0Hnbz19x?#e(K8!f{?4}37LseqR++;>co|`jg32q zRai|hQsl(#AO!!U$zbm!+Uw*3=Tmgbn4*Lnv1f>Qah4Pp)3K(+05^cflmZi{s#9U~ z6!AJH1{?VTA4PmelQSd?P3f$jctld)p$!(4kl(Y}Xur1oh5YbH^1FT0t zkk?+K@fl(RWWQgYAI-h>n4O=GgUNz#O-F5QZI!RHfoC09V_|Liv|bC}X+D+Pa=jxEj=GoXtz zn4PVSr!UQFS#XmZeomtla1>Z6d0rw9kl4^4^eR!@pZ57@$hel%$dMuEf_pk5I8 zjg^h<5Q50Io*qod``otHguV8%UNmUc_M>bInoK3BuyhpV2F8GAWn^WIN!l`DJwLJ} zM}q+xy)j@Xtm>u7O`bAQ^Hmvl{(ux$y*w$9-(QYY-0_EzQC7Tpm$x z?>488>Pz@H#4pKk`hkH{BG7l&N;+VK3_EEuasv9+5R4rbG`~n)x!4NaJATu_k8F{W zyD;9g33GCDdt^!;0Zzr14S1Xr#Bybo3zfKkdQO$y6ldCyu){208c}uac8dqj9L&)O z5uFyiL{eBKrKJq;QydMLs|1~Y26qHhry2sRLhZyVzk|HVqkeVtBbA%MkE!Wt1+DF; zEO(HSe16{W-GlDmQ^e69275zKPENd+!^!4zs)B9;AwY)_Gd&;QxXoU;A?InSbV${E zAzj$J=q#&fQF^gat4R?HohKsTD<$>KY4&^bBSlWcK{ut7H|}sue0&!~ZU=DfnqJLp zcge`4VP4Np3PxC}Tu00I&$)k7#Ew(*2`PM)9J5uD0vdiK(gT9Ths-FnXJsUq4`gwY zg2l!-%J%BMUX+@J>YyDAJN0oSv=77qn6 z0l}&*3RPG@bQbN|i|6i-j2%BQ9Qo0fN@X&^2v7mQ71_Aaoj|Q@>?tA9${%hESN+MT zdA6K~?5yT%o=%yEoqt?R%pX=MFW6WxTFP~3r=DvCg0tR%aNdjXs(DNM%+Hb&9Uc7) zKBj1nfX8obCMG6tJ~WBH)8>Hia*B$#VG|^DNa7}IQ44$!F){Ijat=})aOG_)ht5#p zX+z&q@!;XXu2;{wf6#nriLt0%;I~^dWyt#-8Ml;8Kz>aJc{KCbQzfN8tbGBH8XKWA zfS;x@t4y!;xLVJ2+I&PxLSot(MMRy$yX;BQyXK0CbF|i<=CV0V-_%wNu5}j80OAXx z9EaP>ctD@3*}~xqIn(C0R+S3hyu_$O2f6)MSYD}UY^KKQMV%vc&30!`&s_6c zr9xt3|3h?+{~kI2d=lwjD1q&U5)4ab!=o6V>4>AhAQLac`eBDs@ok<)m{Y^ECBW(d z7?huooq_~U7j$6&mO)(3V!YfO&V$VyzNcN*eEBe@f|9HDN12o5eemEry}1~eFc{t< zw@SFUyk^v*yP%aTO*=4(>^LAg2UB`*bkqS`2Zoc97=aviW^Bu~`21iAEi#!FVWH=3 zTG|Rs`nn-s2W6C$oQzyF0YBj3eX5pLRt!m%e)*(iIXSNd7Vo1+HZ*vMrpb385J1#I ztZD6*KMpgJuL+J8UXUMx{(*}!;m@?`{2*6w$eQ*G@^+8!H9X|F#l^+Wgf=tpg-9Ve zkqHcJ$tG(2{5hfVOVQIzxqEDhJslt`uD=X~Th`{xXK!t7={5U4u611a&8zT+Bjj~P zMl`HQm@j_|PX}24Y}6bBKUS(@ssM&dh+wa!0J4CKzg@6Yf=rhG`;Qm+3z-_5nwkQP zMYNl|cSA@d5ghh(IrW{?;fja|dE2bn%Y3Lh7J=e}8Y+`aGLzqi2@j>rGZ z8PEv1Oy|a(_UDf)#jpcPcFYkd!;vdQP+k1(m*n zX5MrchNp+N2qr`o&rO7wtc@$D10wmVIye4GL${Z%4~WaU9fMUxH-&1NLf8_IvGLQlC;GGm$+QF}_&DF_7=3 zgdthom|yI?tel@P#Gs0>P!=ER8V;f=&3tFJCKkBs4I~hRh*j8Dpd*b9f18?0EQO^} zHX*~BLX232x!6bZ&-yhne86X*A4Y)`U`llsnojSTZ9TGl_ZJF?9WW^-e3yDH>U#O|rRSN;UDJ0QIlMbmUx6LS1Q|;YF zWPAgQov`>L2k98dr#x*|7pVHMurNBxHCAq`d_#T3lxiZ_+NDuXUh=kmK=Up9OCt zV^L9&`CP5TxL+oiXM=mdqhP*ejyY}@p&*`3rLv1&_D@BIf+g%@pE#SP^ m26*wsrWxmpP2|gtml8>q>}~EwadWW4j8K$SmH8}X^6GynjP~CE literal 0 HcmV?d00001 diff --git a/core/vendor/zwiico/png/c.png b/core/vendor/zwiico/png/c.png new file mode 100644 index 0000000000000000000000000000000000000000..dcf2125dc90f1f79cdcab1373e54f1468048fb9a GIT binary patch literal 8777 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 TprIrw<$T;jdlJs0t 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 ch;MOjM2g8@*wjmduY3><6z>% literal 0 HcmV?d00001 diff --git a/core/vendor/zwiico/png/e.png b/core/vendor/zwiico/png/e.png new file mode 100644 index 0000000000000000000000000000000000000000..ea3f028bf08df86b5b44d5c9a507c4ba90a6aa53 GIT binary patch literal 3060 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 literal 0 HcmV?d00001 diff --git a/core/vendor/zwiico/png/g.png b/core/vendor/zwiico/png/g.png new file mode 100644 index 0000000000000000000000000000000000000000..a55422c1eefd22d59d9e1c38fcbcb6c2cad5bba7 GIT binary patch literal 13801 zcmY*=2RPMj`2V3ol90Va*&}3z>^(A$EwW|rEg@uutdOi^?|F<+*<|mP$R0@~<9DC; z`d$Cg+uK!#^YxtXb3ga}S>H$vHTj#kl(+~4;-;d4j3xqsp$mVP#=(L=Suo`8zzdy6$FBFT_+uV$ zjNXj$4)OLK9TDEUEwA@jGh!&R3$Ka(fN|0?Wl@NX`p;p1M7-L-ZTW~WDXKn){#P%R z9?DYdXvh3Ir$`|gG|U)xO?t4`^MriRmc7rYKsfX&Y2{TyObhMDQWT_5YwYq;6@~-n zIwjUmWLex{!P_UF+WhM|Xs@ ztEHK{r3Jm0t-B4qyrQaxZZJL>0zr>Zl#$f-p4l<>(|a@Cba}JiIX*oCpMmX_cgW{4 zj@b{!!x8;6JGcX$AJXJzV<%Yq98hz~R)uN$21u&~CDr~n{LSpCuU^s9AI~B>9jsER z+|Cyc<$oGlV_ChVATRlows`12)QPuP;#7LnvSqyITaL-V;Jp-#P3ygc^!EAi>B_B# z`=2_E#P-pD>mUFB{<+Vii~j1BTW&|_ubu>9Wv^l<_Jl@}abMVCGZIBQ|J$j*yz{Tl zd0EQ;R}XVgld!6?vh>rZIoA1S5+QQAlBT9hbVcfY$(;YBN4}TVFTA1^^R2nW)_+ur zy!~8ar`Dn;LBf8Kl*{O(;GN;nYU9I{o#L{xSo`)|(*G8;j^&+Nj9zPScw-Y?=gXUi z8viZb69-ki{Qf=t!-LPa$sgDezX%CwccESzNDu!KMP|M|RjE;^&BDss9?vNMIxB0D zGvKvS{`z<^*&C(19UUE?T&OoUH+ej__0X$UP*IVww=e128GQTT26x*T@8_rY(N{X! znymJ87ojmQG$f>^j<)PeUOqow^y<^AbDV!QU2QEIaOt<#5)QA=6EooA;=WMI|5ftA zapo-Q)vLhcKz;#%9Qiofx|@QRsEM=lb2A=t=lvx~@)$V|y^8mJLzxmm;;kp&qdXV) zW@>LpWfSP==ydn?b~L!G5Ri~qdZ=q@-PY99n4R3s6 zB0(zKbdQ^vIb2M)d@@n3z^y2bgoH%f*myvkJxOWAu2x%DSAIzRAIJF$-R1iyu*Tv{woueDsTBC#s6*d^>%l^9~sfqWFgKQ-S}8o7>W2cByp)Cmm5E3_dt<} zsL6eU$YHTH^MiWU?nIzX?F|0UqQ=JQwbROLtwT3&-qhCAlp^Cc$r~Hf_WhaZ#Udio zq!nOqZ|@#?(Rz8|XVBtXJ8)T>Pgtm}g#KnUYm)-i6=W*Owdc?@zooTmIqCp?WH1SXaQ=L6@Uh+4bw!EqK$67#vHHvm0R+ zdo$J6w>I2GW?BP82?>)@Qf?DIwzXxotu-k6_>rC=Cn14|H+?``Tl+I9Zd`OU9s`4t zy1I3=PVsm`yD5F7j8tC=H*@v03Q=UJot@o!rq@C?ji~2qD35uR7s`^FUAHW6Zq5kh zHbYqIN-dwCpZ|NKAS*$SW7jo^x|FIf1{;yyHYim*u4!QKb~cT@%SGGJ@Y$C~oD^Eh z$~SseT?N|eCi)|9Gb^wqRSi+beC2ZEqo9kw)@ZY`M(up1)dg|l|59;5?6(T;>PaA$;xV$RsN)H zVVCyebMCkuMQ&}VHrw4=g8}irRoBhMwzh!_g?vr9Tji~%Y>CLN%}o|QzC@u|^91%G zBOfe#f%MW-iyQFq+;?Vbx$aM@QPn_GaQ^=J`kdEd00HiNaT5v7RdPW`YFK8ty2N?S z=nfv8ICXn_d#ZSV$Y7R4T;TaB2Esoe;0^)Kw_N!+wGE@aw#z`AtC%PM{z+@Gh<;m7+L;ZZ`*QAO~MnQ4C(I}SBdhnCIz^s3`!+pm& zp$v&2TIeuBF5j=d3%c+@e0syGrGZ4g+}yOw%g{B$Pn?sH8V3y74_nR4#{IT z_EGJqHt6y~L0!G8NT-;`d*8HvP&!LI;B`X6i<}&WhyS*#gD8!6fAl0)nss7vJZYWd z+({d-IypVwss)~2r zUF7%n^ld(?{))d3bB7~PyG=Kyr>Al7@Ip<>!&UA{o0;9o$<39NX>eVAm4ABslT)y! z!#|4~ckbMYh>L6cyMPIG|GCLyi-4APq4X+!Vh?(K)z(7{EG*rti@G{G%d<{xvUYZC zpPyDHNl_u7BSp)Z7o1LvjeUMI`>?sC)kLfwb7-Q~?Kr0*a3Ac*grM zcIsQ=LPM`Y$zMTW-J*?#LDruokwtOUUb0{`yQBmUVah|!V>`lRVPQcpAV6AMTl?|j z$47d4nmg3kI44<&%q#`-g{}33rv@<9sJRbhn`(!zF~hO;dR}oGU+T)F+Y|J3w+P zc7=d|z|^B$D*KU##{&etkkHiHA$pJJJZBwX13F(^yRo#jb>qpCCvySE^8`^}_J947 zQc=M}Jt;-zmX+ZL1_ti`+DzT4-O(yoDl#x#`5L1}W8UOCR^?ISzIL*JD&~H&4tz{q(LVESyp2 zTaIiLoXy8@545iAH_aC7mRB7&I4z1ZF!T-%ewdg*vXfwx^Zt+!4RL&YqxpEjFBN8b zsMH-itPo|D=GN9$txXKt+stY*c6LR|ZQQJ^7>LiGKTo~!XJlj)ZDBpynN3l&*DNIV zZJ}j|$GLz1K0%~R_s|e_my7YjS<_o~v+tiH9TVMYeb?{6I+*U=d-{8Q7>d|}$RE}u z>U*?4d(&}nhQWbZgCcPl+B}0 zLwZx%)RdlurKLyV&W|4!c+^4_$_{umBE-k@UUUF=hF2?JhKJ`iHd4Tie*E|`4>{gc z?K3hgJo4w_0jKmlJOtU<*+@5rB&CBM=B%Y%)SjHPGmp6xoTtxkA3Uo7bo(LX8Q}OP zkqaRke#$g8R4HAq*ypaUl|*%MGhZ=l+a!q(yNhjEh5ixUmL4x2(SMq2bbD-M6b;4J zl(Yaaq5j(eoRrB`0T^J9b#<}f!~u9DqwcCTq#`6F^j;1lv%hHl@Bs^!(w{Z)YrZ~A zkHgAAP*9MOg9A@eQu3Q!?f$`mq@yDjU|7Tww3YSQdTuSJeW`f0f{FL?S zHcNYZLu1&uVK0U?4Rzidj$y()D(%{$K1-5P6Eu0F zKW;ngIO|0Q&m*AKM8E)ZsNX3ox~8e6HSfCZb|mDm2isGwz?Guq<0Gu2t^Ex!+l-iU z!Km=+?H(6uhv}-Y4{Dj4`+@Jo^E6o<=9|U~0|D%htqK>Fl;pMe9oHS2W%An+1)MC0 zzsbzpsS?dlxtDwW_Pquj&ZT}58XDCbq#W;8y5bD=zs?p_%rr?F_|{Jyk}m1+|1n}+ zbrn9}@4Ur@64Ni*gf$hGltlmbZJGCQ+nIU5#>G|l%Vm7S{mt9AN`Ry8rm0L6*4`An z=jigPvGw9~OThTqc6M`f#yjut*9%1J{f-?|em4}TWxBpu#T5ic zr*BuZ@>-^v{1g9!Ff9jey^811-i)7;GOJ}YZ1j)+`tC6`X!`fpYS3F1ZG+NeCZg-} z4K5-0G$JxEmym&lrKP3rYyD{w;%>F>m|meULq*)zH43PUQ@D)n^6ht7FvE_k-9H-% z$5w0Vq0$>Y#~gM4gPECcZ^$Qv=D)GoyE<$*;Rr^5xcar6Z11Gh!#B(HYnJVaBqp9 z(2tCaWboPHgrz=sHnC?{(d4=Fc66@{n|>O}S4NGc z)i3zoXuCKq?(|c+cl+(zx9Ayt#=Mej=!iim{9EXCkHyJ)Zd~f3qn9sD1MULzcvlxT zoLv}@Jd`mu_V%F)Oiv>NwkbG7Lf*U~F1TVK;4l*k(9+{nUr|x9ziE!JbRp>S92q!K z_9EiF28+n~zu42BPMW~!*y!ryy_t8|xAsUz9w+1kU%~!9Ah`H>R9zxwf8TiydI|7G ztl5Tt00Z-d+gSUP;$Cg6uUc7HnC>mK81H@qymB)}&iwdNDW3?IM9yo0b8!$CbSBR` z0VkP(jSZK&OL%TxSy>t5x$uUl)aAwbee1!Dbb*&J1**RkjoaNx>04f1{jyN1!4leI z;rgssUfeW?(O_U`sH^SbsGLh;ZzWE`v*GVS%}jxM7S}+_Bl?OeBnsC$?H(QLs#-Li z1npwbrPyx63O?|W_f=IyfB*i~tF_ZX#Y99n!#P&T5~qQ3cb(e3IRAGiu?MX#Fg|!d zqFZKUM)l0gk;u`!%&GZ64(0s7a7k#;;V64#bkt?7pCbK|k1_^L?*ZjL1_TN_bE&X) zx)gG&Dwkd2GB(yvx7@^|xTu{bRm@Mo&1Yjc7h6hN8vSYJ3PYu`M|U3&nhxj4!XZ{)aJ!?-~QoeNoJujYfkuweR15vV9=s^^QSA$}3MmMNzTc*lYe;@T2Dd0xYbp z8M(OduU)&w!p>m zgj^hL%(KZdGk{gxHKLcrJWD=P_c!!ThcLkr}Hm(tK60JX)cKhw4pOgN_9W>10kX^}vbp&odPjVGe5O!d+`kSFU6wnp@e2x8Ta4j`b>xpa zNlRY=+Uz`O>?K*K{j~e_9kl3Fs8z84dsJPTiKx=11gc=EKaKBXyLt#{godteIBb;> z%JZgOEu}~%KKzDzKoofuem6EYZu@1bg@5>P4-~8`pt5=1a;x=XI{NkN1vCy+V)cZA zE|2REg_Dz$_cb-dlrdPO1RL&VVq-UYv5Gs%@vj)gDjZt-W9fNu6VQU5a3y} zvWO=mBU54S;_O_Zx(3+(6K|3S$scVD2ipgNf|EPustO8dfJHz>74o&zP zVyvv!%Uk|Xeo#$++1;&>As#>pGT0aEtbmvQwTW78(y03`-(^^cao;2-=j7#Gh3!cd zcDrZy>>2d`DJ$25@3LqLEBz8L7)lS+xYOgkxNPZg273DEcLP8Gk+iU2f|r414Npzs z)Ee9bB7!bAP$oQQsIINkpN;d<=&GvTWME*>Qy?!_*J2@dlu$#oePN1&E>u}rNq+z7 z)!o*Aj_kUG)zi`a{r!&Ygol316NXM6y#XA2e50F(pzyg|o*#RihNo@=K3RIwo4bb)uhF@eRh^A1pC%YJ&wAZ@tGL|``NnE(S$p6 z>3i!_bR;BUfKt)0)WyXGjlIcfj&|o~v&p^yaoGpZ+2kNTQKBEh{LVYa_)j4;mb$`N z3O+3JuhC{y=JJgXwp^)mtlz}&`17kVq(H`x=}cGi?nMF zbb)utT*gX3mhyFqk@3Se78IUbPg+%=edd>xa1_68NvFA(AvC(lpjTlUthG}Izmyp` zNTV{@$fRU`mj|5}&(ai+j*jX--K;xL=v#GP?Io#yxi*udW4O-pPs_SYIvjr(M$`t3 zquSo5_Y!;70m+Vi`}RmKci8dM3wFt?4|gbH6ChQ(Rj-Rhs zJUQ{MANT@tBXG6K1Wp+l4-XGd>5Ls&Ly^N);n>`_Zz)0edVhB2-`mq;Hhw=M!qwGP zugX3~PMS9@T6T|>7#Ed_8?zYUQy%XRqHja*R@C~BZ z0v#M2>J>!chj;@6a@lJ+emeH?@l?GN-9(u&n*Ra`=!78;CDmVbk@ehm^g}k3b0>!y zC}lgmG7tFq-#0W&75-EKi1i^_K3{Wrs?rrCnw23Hj#k|^L&xF zd%B7dc(>P#Z0X03IGDi*P{cZ6w&=G$iIl-CMc#;%c>$tP)jyv&l8fI!_$(htBr`uv z?71o-ApvI&UGjhTzTF{>ihuj|mEeN+74-69H0{F}s`|3)I2ZVD z2d#s>3p};`lW9_J9nAxy8i>3nihe}kMPx*UX*;I3pC2D3FF76o&Q+xR5+Gh`aes2q z{0o{o)6m>ZQ~A2i&%_jZAZ1PDAZq#TJ7+Tp zb~bi)QqYB+H%9IPha~`%23&u;PLqK*4G(xkMLIST>IZHq5a2I+U-9NQ)CK+i*n=i; z1!|T?j$+!)Z?-i6rG-BR|32Bfyx4Qhq-woN(B*=2{d#a#R+f$rjTfItp>{7G4OD5v z<;6djqfMO>V-zXelCOD+i5Z@p+tIDZV})8met$U3T>*smv$nl|kAM?0|8_+ucleV9 zZ!Mp}`1rWl&%w-XH%UnhFfne_^CB0XKX6`pRFHGcLxg4lZades-PzfhDQ_AWFt_3r zLP47(hA}G(BO8q-pq(^>`=QdSuBaH?Zu-d7lpYkl*Qu#CiI2a2`O?0)xX4zUoB!{< z^0S5bK>#KzdB|eLLhS^Vd(~{TR%urDFe4o&%`L610VCwV%`Wa&_g6G-G*W|wRVzu@ zu)8RGZ5ovuHAH^rZu_F>`Bpu=}y1c~H(4fOVIdS^ATVzCZK_woSZ6MAII%>l7s6~x_`ofa-_Ok?hMaV`}&kO&1SVX$#Jx@+@SUq z{8G4=I1JOfu&OFyL+5X8i{rcq+WG+H{&Y3viT#HsKRibKQI?jL$U|Fx%EH#xcME=d zVjzCt%jTJP#onQ(M|jP-U_-NXv#lfwXlds0*wn87cMGYjYYy%L8W#f>gfpT)c7t2B z>&q9jsR}bsnmAOo6;XK;dh)^`jeqyfakYDQvszk8YDTdH=qM8Di2y$AHZ=&SxYWpW z`wpBO=yUUH4wXTdf#}VH#v~7;IF?rIRomGrH&m;Px3`c5FGWsHPR6ex4=gk}6Fr^D z)ydX~Ko5WT!6AlSB4!;|lcO7fcmbA!t~|`v<)XosRALvxM=tI!^xIbq94j81Z}g;0 zyzu9m$mcERXLfc3q@)vrrw)+-k3Jj|<6K3bYp~*GRvF%=3phwUeab*ppjJ>_{O1mX z{d`kxpRfV~4Kcx1OBHfq0J;Yfh>7>|H47`Nr%RuL;j}&VJvm+sqJvIr9k>hx45|4H zgkh*!0t$*qa6O`F#VFy3Q+Krw4c!8mHZU+yR!$ ziHT*-{~g!+45aaO*|O#o-^~_HFdDGpg98??S(pc3OO(s4tTG@YCT`#y$h0g1@lFxM zJ4=sr4%=GMuV;rt5?%_$SRw6>Y=gT+**Zw%8c%(xNqNDKA3xOM{sBpJXZ6~JsjyTh ztjj{o6t4gt$xNdgb0U|afq_Equ#iWuv|s@>v8RO)VWbRtOTi9+G7o`XMr~D10UcG^ z#)buIWZuNUZzN9<@Q<8^#%rCh={gajQe@w6qc&`gyBMHo0c`-Zk&-_F;x-;7fA=OT zIXT%=k{Yz>t;zB(=m4Rpy;fA;`QG6EGT?ij9(S0gXe<`^ca`kkyc>16S?9~f0iOUc zPa+~CCCg1(-UIO@jY|97HEL(QpepZuI3Rf6Zj1#KaFM)mIQ8}91U{Kr)Albx)qnh$ z@M|>1l_yUYJ$1a3l=3@kZF$J|XP%WW!;f`qr0ePFLBHSO9fAEFKEB&=5*H1#Yhr*Z zDYi}&RI@d@&$N9QC-$y~W0fW{tD_Zmw6qGB3;{E&6DA#WK`49f*XijuxVgCjV>i}n z4T&97gYtzNukeFMII6mEtcl8B2B*s zq1SIWS*o4>-UtC;%a`t?gFxJ_MP~t?{`%2_bMxjG0C(|k-h{q>O#n5r1pn&p>2Z11 z+uoDNYz{CHZQ=8{t*H>A9H*9ppY>YlyMP%=wog-NjwH~CN^ZA*{ zA$3rO+Le0r2%+WU4_0D-2r~mihuH`A++m#D;dR#^Q_x}$hUMv|k8o@Ze-;D3P!~IT zGi%Gi#Ppf%31*i|zpDFShH#r-AVzrq5g454^9Q~=dV+w6sK7)79Ahb7o>mf$0?5(u zr5#e5Ej+Z$dV1>ndvmJc zT;+LF&)#Ux3EF{`;B8&7bx1i4LctL+Uu+Ek@dgJMw@PW#ywNNrDd~=cL|f-vVKThd zQRgt58asVYtMc^>xbp`cH@F+L8z=R_eOkMVd4@C-fsY~+8gy}(h5yf6>)YeB6j=J` z?mVh6J3APxIdza`cXGraU;uh%zk^70Z*MRDR>Uk@)-dv?9RX-*KgIj+8#u zJ9paiFQ5P)ySY{C1bK5~DVIEHYn9I20=j8W>h?_3GqFb|@t$hcD}*aHjFl$UpGDei zJ@x{8>KLv4%Fx)7l9M$-KX#a^XfKV|1kaNOyiq%Q`#jL_fyLU%7ylf}^6EQW8_ewc zx)y;X!42!|uGnQeOh`}fd*@VWy_&6A_z{%AK(Jm5W9G4H*J3}c4hAA6yWkZu`Bkx?8+dVca%ChiU%42xmmzmtf_fZ=d`$6XWjZ|=2RNwRR*VWMr2IX~lXR_Zp2B$_TPKb70ha6uqg)HLirb0B{M=#)XWS94HDo*JkQI zSFI}B^f_lnp3{kXmJC$RzS?kdbaW(hyGi9TbvE~l>Wxxw05fclOvk4vG5yQxv9V-Fpt(aZ{d}SyMwpLkH4P_pru^$w{wQjbFRE z_^cL@y`Y1^2VHg#?glq%D1YQT%5!HE`SJs@cw?sa8B!SUWFQyJwK2O|L-kR|V^T!m z4d#d5`}7wV$8FVn_NzV*(o{g;`C4X-s_;H|nv%;65}SUFE>zFUTXc@c3t+dDn6xx? z3aA6qWYzkhw-LqRAqjjUG$jQsza6w=)6qYCNDan*_4I_;@mvVVyp<|u0AGXxPWjRH z13y21#hB~E3`LBSF)j7VePa{#@wqvBKKzHEI{@|cKv`oU=3KgH+M<+t^_8pHr|KN2 zOoGlmChEitXu#=)CB?sfy`=dMM)p*V?d{Q@=zE?wj_%oDBWBXZX|s8(w{7A8=drQ1 zl>}iKe38^+MHp;oDdFQsmWRK;Nl!JnFnVrJEms5@Baz9Yo+NjBdIC_o2RZtl2oXRrgaVJZT6wX1itwz4u% zG)pE5oK?U#Okn3$WGBWgwikB*eWUyL;ygy|iVa*<(AX8c3C9$pzg|{p!Nr_6^+xPm zT<(kg{gJ39|5VuUA~UFtZ#ZgR-vCun@$Hoy3GTI|H*fR?2nmPVF3EyoMefa)QhvydH@8Rx$2 zRU#RJg_aNzfqkC4IA|d~>35L^3tEsmZSp;`3k8=B5F3bwtZPGAao{^5gxXAdAHiNI-3Xg?qPw+*jZycs-dM70#&RhO9e;C9D-)+ z^C-dZ-@hAe0(}*oqivj`5NroI3r)5#gFkVVdhpl54+2RF0dmgAk`ftcMg?~7zkL4u z9_W&|xOl@>8EX3-kElC+kMrQG3@ssBIU-_u;utWmSyixO> zTN9-S+eA}-^h0btvP&WY+_;rD&E1D zrY4`U&$HHm6DSM>%b@M`9oh_$Y8o4>0=~@@i)s>EHWyBM0`o09H~ z+3;(ss>Y0a!+U8&+#}}ADfFib{mUE<`uT>IKukeX+hH3SINOKmwXZMhhp(P|ELsUMhOGHm{%{x4C()(2tRU z0j(pP6_^5UMu#$T$019Ds)5?B0J9Nf5|BDxWs0EJ0TxvQwLZY`{U?`4PmDK%0s;aG zFg5Krlzg&mA=U?H!2H{L$!|9NND^)lw))PW>T3a3JAcC`$HpGz4p(?ErS!!oCu0Ra z`esJiQP({AgeyhJFo3uMqB{d8XDLnTrn?BBPt*OSc61uF zFY@2K*Ww*W&Hyj6C6R;LNJvaXQ76+-Qug-dxL=#CcM4Z4fD}-+&JS&X#2`GCq*gHQ zcbWTH?)gN6>I$(6K;g2Gtb~?1xskA2Kj*59$`y-)nfD$Yo(Mb_0r>Y4M1og^L69A} z4^gH%VTdY0hX}b#?$mYl^4JU706H1t=Eeu4vSch6bVL=zGl(D-U7D2PH-O@%^+81v zq(B1$0|G+AV35c>&7xtiV56=QW;ZpxmDOZoW`-)GhD#w;z96Y9Qc`q9*_-d0d(1s zf+7B+w85%i72F7VM#j$7R=e66&x9OHnzBJD2$sNS0%t|YZ7o`dw5p*&=+9hU9#c3o zS4caedfJ|Z@JlWLwey{wodJO`7{uuvDxlMAv+0C4J{J8Iz059s`KyoHd$;kYsX)5R zk8Z-T@$qHA6c%Axx2T1l&pM)FbiOVHrN_r(6l%W$DS&`bbTuqAv?hvWYr2{lO1A7t zTP$dJsPUH&67&8?_;zXRxl((|r&VtyHFTV$l9FQHGKOT21_prGkogNsn$nNXf) zp|Qbg+UMsOSM>h=0Eh`DY3qDp0cYvvk?;0g!S(fm zL_|dB9B}MP>R4|$ogi3n?#g{bL*ejab6u2Q+UX02lz-CD)*c(waNwsLh7c8W72vNZ zT(&(O0BG{96I zGfc=$YXI5GRO?FhF)^WiiAV9Gw^s?`%*145e3EPo444N82PH-*2!X~iXZaI>LvQA? zB7@e6VG49WG7E1TWNOnJ{vDy$71Y!m3xX=6?*j^IhnyXKN?)lvSEgmjL&$+D16*F$OS1j*=TB`%lk&3G z2C&@7Zr@Y+^ztTEh1CG1|DS2={i7pUZEa%cz@dO<-sj}JXcRcum3P>xNLRUM)D}pC z&NV`^^#HOw40rE_5lZS(6z9ACgYx}S-gbeT*fXYPHc0oy+ar{btPq^a=JP+Z$TE|` z4pW|r`3f-dz=Y<76ykuVp^5DtenZYB3S=x}frn@M7493F=y(=7Th)5H$-X_0BE!JI zh&bfyq^01Lktio~Nc#If1je?o+6pvO&ae3p1+YB|H3M4cbbLMd zf?~eEA3@NQmzNh}rC)zXz~`+u{uvbf2mzkFoyh>qcSx@(UE1)bO?_n~#w{Jg1f^ZC z%Hq0K7-WLoStFQ06oLB(xnlIIt>=FXA(>jKiq83o;6oS`&eAEgIdr)~@v?Ao)^7Uw z`ilJ7TZ{vF$`q`5$ZbUH`uO=(tL8sx3xot#B}K*vep$m)VZTz4Z_z){2YQf zKnoJVn!vcx%uc#DRWfX&mlFk{kYVUNJFY!uQ_c@3Z20?)d+h}hk;QjG;D!JZaP+O@ z<7K632ZkK5n9nwhD>GW^?5Cw5Juo&hA_eC02N0xthlZ?c?0Cr0F-Dkz@XWzGh@4m? zy`QHcyL7BEC>@xiiHV8X=_oXAxj5eoN}RU0a+C)dpa9C}^|bv55XniuF(mfbCwIgv z=*$R@z$*zEbsjaNW5R3zq zkF7kHmy^RnM<<75{_is+zW+V>^1qLiU}uIu=O{`cjGrezlejWR!n+R7mYh}Y%de@z yi4z$8U~vC`pMQC1hw=YD2=jlQi)jkI#E52d;M1^(B!wq_5Q?&DGG$VxFa8JZGVw(K literal 0 HcmV?d00001 diff --git a/core/vendor/zwiico/png/h.png b/core/vendor/zwiico/png/h.png new file mode 100644 index 0000000000000000000000000000000000000000..5bc5592db322789d38b85bb311bdc3cf2230f9ec GIT binary patch literal 3689 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 F`5)a4_9FlQ literal 0 HcmV?d00001 diff --git a/core/vendor/zwiico/png/i.png b/core/vendor/zwiico/png/i.png new file mode 100644 index 0000000000000000000000000000000000000000..2732d8c1806284036f2a20e8043d0dc4c448ff5a GIT binary patch literal 4120 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 G%l`rU82JGJ literal 0 HcmV?d00001 diff --git a/core/vendor/zwiico/png/j.png b/core/vendor/zwiico/png/j.png new file mode 100644 index 0000000000000000000000000000000000000000..7dbaf1895b918068ee5f403f0259a9b00298283e GIT binary patch literal 7297 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 Ze*s`nnr3ZVGK~NL002ovPDHLkV1oQpK4Sm? literal 0 HcmV?d00001 diff --git a/core/vendor/zwiico/png/l.png b/core/vendor/zwiico/png/l.png new file mode 100644 index 0000000000000000000000000000000000000000..4a88e1318580b3140f868e277698e0b82d8f315f GIT binary patch literal 3693 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 literal 0 HcmV?d00001 diff --git a/core/vendor/zwiico/png/m.png b/core/vendor/zwiico/png/m.png new file mode 100644 index 0000000000000000000000000000000000000000..747bc5c6055a390e2daaf46c4d51ddf5afb3c778 GIT binary patch literal 1876 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 literal 0 HcmV?d00001 diff --git a/core/vendor/zwiico/png/o.png b/core/vendor/zwiico/png/o.png new file mode 100644 index 0000000000000000000000000000000000000000..dfa61db1724769a032d117e466d9167a46a9027a GIT binary patch literal 2654 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 M07*qoM6N<$g0m0a1^@s6 literal 0 HcmV?d00001 diff --git a/core/vendor/zwiico/png/p.png b/core/vendor/zwiico/png/p.png new file mode 100644 index 0000000000000000000000000000000000000000..c5d4377e436729c2622226b85851801c85561e1b GIT binary patch literal 3051 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 TDHR1h97tVRN9nzSb@=}P@d>XG literal 0 HcmV?d00001 diff --git a/core/vendor/zwiico/png/r.png b/core/vendor/zwiico/png/r.png new file mode 100644 index 0000000000000000000000000000000000000000..c6d308ce1c8b0b5650508fcaa032bd50c9008040 GIT binary patch literal 6898 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 Gw3;|-}mqLJBh}II%m(EKLY^3SzWZ2DOjh0 zF9vcF{QAUszX1S-I4lxrtcyg7`s4iWV!hn}0Gbh%p@wc%7ixE~Ekc#Dg>VFP83$L1 zN=?5uhib+fU#(qo#Qo%x$D&Q`giZ`Uj1@^XKgH*6f5GmA#&4!J5>=Oq!W=l5dT`FP z1R%aoM2vr8I@pxGO->6?ACeZwC$K#I^@bx71(|@jaDO@{x2a^J|0OVTqP26lk)N^w z-(FZW!AUYjGOkMxo=pyo4GkY0P+H^Cu`)4Dpd@y(eh^(3A9i~(3F8ymqW30b7?Qbk z65=%ldwhD69${2bLgr?v8;1f-%9Y6t}AmXpqUI$FT- z-{!omu>@Quz}4VnakP*y=mKOY}A z-yi^qb8`xEa}~XZ4e}7x(KRr(jA7#g0Ja%jEe*5Ku@(CWeW9UkgpWb#t>;!HUK!g6?T^bswMjHvSSb4XGlFkt#}Mn6diMS&N?o8 zTd@8kp|R)7>KC}uB;vl)gWkShtE@$lBJcBEk8)JDd*91#2U64mDeoJXIXGjYqs3{N zmg?#W$p6ZJt^c+DKmAJ2P}g#vJ_-ft=O^>pOv+dae?vuuw>VcuIwpY-$d8&GLey4&&StYC9XON_

    KO#B>N265vfNDM`ew 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 literal 0 HcmV?d00001 From f97b2a7ed3900394ab96211512636d0b1af7b525 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Tue, 11 Aug 2020 16:09:11 +0200 Subject: [PATCH 029/194] formulation --- core/class/template.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/class/template.class.php b/core/class/template.class.php index fa2aa7a3..786ecc97 100755 --- a/core/class/template.class.php +++ b/core/class/template.class.php @@ -57,7 +57,7 @@ class template { $html = '

    '; // Label $html .= self::label($attributes['id'], - ' + = ? (réponse en chiffres)', [ + ' + = en chiffres ?', [ 'help' => $attributes['help'] ]); // Notice From 6ec6e74c0bf31b8eec6e7bcc7555a3bc8a1fa543 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Tue, 11 Aug 2020 16:28:10 +0200 Subject: [PATCH 030/194] alignement sur image captcha --- core/layout/common.css | 1 + 1 file changed, 1 insertion(+) diff --git a/core/layout/common.css b/core/layout/common.css index 4b41e5ee..4e37b800 100755 --- a/core/layout/common.css +++ b/core/layout/common.css @@ -1365,4 +1365,5 @@ th.col12 { */ .captchaNumber { height:20px; + vertical-align: middle; } \ No newline at end of file From f062d209c89a1e6ad69cebe042f9853ea9e5b42b Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Tue, 11 Aug 2020 18:06:35 +0200 Subject: [PATCH 031/194] =?UTF-8?q?th=C3=A8me=20du=20bouton=20installation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/install/view/index/index.css | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100755 core/module/install/view/index/index.css diff --git a/core/module/install/view/index/index.css b/core/module/install/view/index/index.css deleted file mode 100755 index ba396f2e..00000000 --- a/core/module/install/view/index/index.css +++ /dev/null @@ -1,17 +0,0 @@ -/** - * 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/ - */ - - - -@import url("site/data/admin.css"); \ No newline at end of file From 87b19c913a6b693fcc927e8d6de6edb24577c085 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Tue, 11 Aug 2020 18:06:52 +0200 Subject: [PATCH 032/194] largeur div captcha col5 --- module/blog/view/article/article.php | 2 +- module/form/view/index/index.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/module/blog/view/article/article.php b/module/blog/view/article/article.php index 4c24f23e..11f4f5e9 100755 --- a/module/blog/view/article/article.php +++ b/module/blog/view/article/article.php @@ -78,7 +78,7 @@ ]); ?> getUser('password') !== $this->getInput('ZWII_USER_PASSWORD')): ?>
    -
    +
    diff --git a/module/form/view/index/index.php b/module/form/view/index/index.php index e1dc4422..e7374a1c 100755 --- a/module/form/view/index/index.php +++ b/module/form/view/index/index.php @@ -45,7 +45,7 @@ getData(['module', $this->getUrl(0), 'config', 'captcha'])): ?>
    -
    +
    From fd633ccfd2abac5517dd4ea03600f9cacd3b3b44 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Tue, 11 Aug 2020 18:10:53 +0200 Subject: [PATCH 033/194] nettoyage d'espaces --- module/form/view/index/index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/form/view/index/index.php b/module/form/view/index/index.php index e7374a1c..368d534e 100755 --- a/module/form/view/index/index.php +++ b/module/form/view/index/index.php @@ -35,7 +35,7 @@ ]); ?> + ); ?>

    From cddf3ab4a565f01032f2b8b431052fa44165d562 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 12 Aug 2020 09:18:30 +0200 Subject: [PATCH 034/194] =?UTF-8?q?Fichier=20vide=20pour=20=C3=A9crasement?= =?UTF-8?q?=20du=20fichier=20dans=20les=20installations=20existantes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/install/view/index/index.css | 1 + 1 file changed, 1 insertion(+) create mode 100644 core/module/install/view/index/index.css diff --git a/core/module/install/view/index/index.css b/core/module/install/view/index/index.css new file mode 100644 index 00000000..d7c543b0 --- /dev/null +++ b/core/module/install/view/index/index.css @@ -0,0 +1 @@ +/* Vide */ \ No newline at end of file From 0b400cdb35dd543a60a45feafc9b28857882aa47 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 12 Aug 2020 09:21:40 +0200 Subject: [PATCH 035/194] =?UTF-8?q?D=C3=A9bordement=20dans=20inputfile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/class/template.class.php | 2 +- core/layout/common.css | 10 ++++++++++ module/blog/view/article/article.php | 1 - module/blog/view/edit/edit.php | 6 +++--- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/core/class/template.class.php b/core/class/template.class.php index 786ecc97..dfdcad0d 100755 --- a/core/class/template.class.php +++ b/core/class/template.class.php @@ -244,7 +244,7 @@ class template { 'value' => $attributes['value'] ]); // Champ d'upload - $html .= '
    -
    +
    'Taille optimale de l\'image de couverture : ' . ((int) substr($this->getData(['theme', 'site', 'width']), 0, -2) - (20 * 2)) . ' x 350 pixels.', 'label' => 'Image de couverture', @@ -44,13 +44,13 @@ 'value' => $this->getData(['module', $this->getUrl(0), $this->getUrl(2), 'picture']) ]); ?>
    -
    +
    'Largeur de l\'image', 'selected' => $this->getData(['module', $this->getUrl(0), $this->getUrl(2), 'pictureSize']) ]); ?>
    -

    Image

    - getData(['theme', 'body', 'image'])) ? $this->getData(['theme', 'body', 'image']) : ""; - echo template::file('themeBodyImage', [ - 'label' => 'Fond', - 'type' => 1, - 'value' => $imageFile - ]); ?> +
    +
    + getData(['theme', 'body', 'image'])) ? $this->getData(['theme', 'body', 'image']) : ""; + echo template::file('themeBodyImage', [ + 'help' => 'Sélectionner une image', + 'label' => 'Fond', + 'type' => 1, + 'value' => $imageFile + ]); ?> +
    +
    diff --git a/core/module/theme/view/header/header.php b/core/module/theme/view/header/header.php index 8d3b41cf..34b54e91 100755 --- a/core/module/theme/view/header/header.php +++ b/core/module/theme/view/header/header.php @@ -20,7 +20,7 @@
    'colorPicker', - 'help' => 'Le curseur horizontal règle le niveau de transparence.', + 'help' => 'Le curseur horizontal règle le niveau de transparence.', 'label' => 'Fond', 'value' => $this->getData(['theme', 'header', 'backgroundColor']) ]); ?> @@ -30,7 +30,7 @@
    'colorPicker', - 'help' => 'Le curseur horizontal règle le niveau de transparence.', + 'help' => 'Le curseur horizontal règle le niveau de transparence.', 'label' => 'Texte', 'value' => $this->getData(['theme', 'header', 'textColor']) ]); ?> @@ -47,6 +47,7 @@ $imageFile = file_exists(self::FILE_DIR.'source/'.$this->getData(['theme', 'header', 'image'])) ? $this->getData(['theme', 'header', 'image']) : ""; echo template::file('themeHeaderImage', [ + 'help' => 'Sélectionner une image aux dimensions recommandées ci-dessous :', 'label' => 'Fond', 'type' => 1, 'value' => $imageFile @@ -77,15 +78,15 @@
    $this->getData(['theme', 'header', 'linkHomePage']) - ]); ?> -
    + ]); ?> +
    Dimensions de l'image : largeur - hauteur - ratio -
    +
    @@ -110,7 +111,7 @@ Cover pour une image plus grande que la bannière, Contain pour une image plus petite. Les modes Auto et Etiré ne provoquent pas de modification de la hauteur de la bannière.' ]); ?> -
    +
    'Hauteur maximale', From 03620979b685a71bba5b0c4d090018a38a4e8757 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 12 Aug 2020 18:19:54 +0200 Subject: [PATCH 038/194] Commit inital --- core/core.php | 12 ++++-- core/module/config/config.php | 1 + core/module/config/view/index/index.php | 39 ++++++++++++------- core/module/install/ressource/defaultdata.php | 36 ++++++++++++++--- 4 files changed, 63 insertions(+), 25 deletions(-) diff --git a/core/core.php b/core/core.php index 8f83cace..ce1961fb 100755 --- a/core/core.php +++ b/core/core.php @@ -1954,10 +1954,14 @@ class core extends common { } elseif($this->output['content'] === '') { http_response_code(404); - $this->addOutput([ - 'title' => 'Erreur 404', - 'content' => template::speech('Oups ! La page demandée est introuvable...') - ]); + if ($this->getData(['config','page404'])) { + header('Location:' . helper::baseUrl() . $this->getData(['config','page404'])); + } else { + $this->addOutput([ + 'title' => 'Erreur 404', + 'content' => template::speech('Oups ! La page demandée est introuvable...') + ]); + } } // Mise en forme des métas if($this->output['metaTitle'] === '') { diff --git a/core/module/config/config.php b/core/module/config/config.php index 07881941..4a12da33 100755 --- a/core/module/config/config.php +++ b/core/module/config/config.php @@ -424,6 +424,7 @@ class config extends common { 'config', [ 'homePageId' => $this->getInput('configHomePageId', helper::FILTER_ID, true), + 'page404' => $this->getInput('configPage404', helper::FILTER_ID, true), 'analyticsId' => $this->getInput('configAnalyticsId'), 'autoBackup' => $this->getInput('configAutoBackup', helper::FILTER_BOOLEAN), 'maintenance' => $this->getInput('configMaintenance', helper::FILTER_BOOLEAN), diff --git a/core/module/config/view/index/index.php b/core/module/config/view/index/index.php index a5d149c4..4611a2d3 100755 --- a/core/module/config/view/index/index.php +++ b/core/module/config/view/index/index.php @@ -29,21 +29,7 @@

    Informations générales

    -
    - getData(['page']); - foreach($pages as $page => $pageId) { - if ($this->getData(['page',$page,'block']) === 'bar' || - $this->getData(['page',$page,'disable']) === true) { - unset($pages[$page]); - } - } - echo template::select('configHomePageId', helper::arrayCollumn($pages, 'title', 'SORT_ASC'), [ - 'label' => 'Page d\'accueil', - 'selected' =>$this->getData(['config', 'homePageId']) - ]); ?> -
    -
    +
    'Titre du site', 'value' => $this->getData(['config', 'title']), @@ -60,6 +46,29 @@ ]); ?>
    +
    +
    + getData(['page']); + foreach($pages as $page => $pageId) { + if ($this->getData(['page',$page,'block']) === 'bar' || + $this->getData(['page',$page,'disable']) === true) { + unset($pages[$page]); + } + } + echo template::select('configHomePageId', helper::arrayCollumn($pages, 'title', 'SORT_ASC'), [ + 'label' => 'Page d\'accueil', + 'selected' =>$this->getData(['config', 'homePageId']) + ]); ?> +
    +
    + 'Page 404', + 'selected' =>$this->getData(['config', 'page404']) + ]); ?> +
    +
    diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 5e7397a1..666c05d1 100755 --- 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', 'homePageId' => 'accueil', + 'page404' => 'erreur-404', 'maintenance' => false, 'social' => [ 'facebookId' => 'facebook', @@ -24,15 +25,15 @@ class init extends common { 'legalPageId' => 'mentions-legales', '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 !', - 'proxyUrl' => "", - 'proxyPort' => "", - 'proxyType' => "tcp://", + 'proxyUrl' => '', + 'proxyPort' => '', + 'proxyType' => 'tcp://', 'smtp' => [ 'enable' => false, ], - "connect" => [ - "timeout" => 600, - "attempt" => 3, + 'connect' => [ + 'timeout' => 600, + 'attempt' => 3, 'log' => false ] ], @@ -537,6 +538,29 @@ class init extends common { 'hideMenuSide' => false, 'hideMenuHead' => false, 'hideMenuChildren' => false + ],'erreur-404'=> [ + 'typeMenu' => 'text', + 'iconUrl' => '', + 'disable' => false, + 'content' => '

    Page introuvable !<\/h1>', + 'hideTitle' => false, + 'breadCrumb' => false, + 'metaDescription' => '', + 'metaTitle' => '', + 'moduleId' => '', + 'modulePosition' => 'bottom', + 'parentPageId' => '', + 'position' => 0, + 'group' => 0, + 'targetBlank' => false, + 'title' => 'Erreur 404', + 'block' => '12', + 'barLeft' => '', + 'barRight' => '', + 'displayMenu' => 'none', + 'hideMenuSide' => false, + 'hideMenuHead' => false, + 'hideMenuChildren' => false ] ], 'module' => [ From baffde2f07f8645f47a98293ea980609ffa3e3e9 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 12 Aug 2020 18:26:04 +0200 Subject: [PATCH 039/194] erreur de slash --- core/module/install/ressource/defaultdata.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 666c05d1..839ab60f 100755 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -542,7 +542,7 @@ class init extends common { 'typeMenu' => 'text', 'iconUrl' => '', 'disable' => false, - 'content' => '

    Page introuvable !<\/h1>', + 'content' => '

    Page introuvable !

    ', 'hideTitle' => false, 'breadCrumb' => false, 'metaDescription' => '', From a7376f7f177caa4984e0c702e31eea736f37911a Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Thu, 13 Aug 2020 09:47:58 +0200 Subject: [PATCH 040/194] =?UTF-8?q?Choix=20aucune=20page=20personnalis?= =?UTF-8?q?=C3=A9e=20version=2010.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES.md | 10 ++-- core/core.php | 20 ++++--- core/module/config/config.php | 3 +- core/module/config/view/index/index.php | 57 +++++++++---------- core/module/install/ressource/defaultdata.php | 23 -------- 5 files changed, 48 insertions(+), 65 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 56652276..09d9fda3 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,15 +1,15 @@ # Changelog -## version 10.2.07 +## version 10.3.00 - Corrections : - Bloquage de l'incrémentation de l'id de page lorsque deux pages ont le même nom. - Login : l'option "Se souvenir de moi" est fonctionnelle. - Menu : déplacement de la classe "active". - Modifications : - - Configuration : sauvegarde du site dans une archive : animation d'attente avec message de confirmation ou d'erreur. - - Configuration : le nom de l'archive prend le nom du sous-domaine s'il existe. - - Captcha : correction du nom de la fonction (capcha en captcha). - - Captcha : addition présentée en lettres, réponse en chiffres. + - Configuration du site : + - Page 404 personnalisable + - Sauvegarde du site dans une archive : animation d'attente avec message de confirmation ou d'erreur. ; le nom de l'archive prend le nom du sous-domaine s'il existe. + - Captcha : addition présentée en lettres sous la forme d'images, réponse en chiffres ; correction du nom de la fonction (capcha en captcha). ## version 10.2.06 - Corrections : diff --git a/core/core.php b/core/core.php index ce1961fb..7cb527f6 100755 --- a/core/core.php +++ b/core/core.php @@ -39,7 +39,7 @@ class common { const ACCESS_TIMER = 1800; // Numéro de version - const ZWII_VERSION = '10.2.07'; + const ZWII_VERSION = '10.3.00'; const ZWII_UPDATE_CHANNEL = "v10"; public static $actions = []; @@ -1356,6 +1356,12 @@ class common { $this->deleteData(['theme','footer','displayMemberLogout']); $this->setData(['core', 'dataVersion', 10201]); } + // Version 10.3.00 + if ($this->getData(['core', 'dataVersion']) < 10300) { + // Options de barre de membre simple + $this->setData(['config','page404','none']); + $this->setData(['core', 'dataVersion', 10300]); + } } } @@ -1954,13 +1960,13 @@ class core extends common { } elseif($this->output['content'] === '') { http_response_code(404); - if ($this->getData(['config','page404'])) { - header('Location:' . helper::baseUrl() . $this->getData(['config','page404'])); + if ( $this->getData(['config','page404']) === 'none') { + $this->addOutput([ + 'title' => 'Erreur 404', + 'content' => template::speech('Oups ! La page demandée est introuvable...') + ]); } else { - $this->addOutput([ - 'title' => 'Erreur 404', - 'content' => template::speech('Oups ! La page demandée est introuvable...') - ]); + header('Location:' . helper::baseUrl() . $this->getData(['config','page404'])); } } // Mise en forme des métas diff --git a/core/module/config/config.php b/core/module/config/config.php index 4a12da33..ffb5b577 100755 --- a/core/module/config/config.php +++ b/core/module/config/config.php @@ -419,12 +419,13 @@ class config extends common { } else { $legalPageId = ''; } + $this->getInput('configPage404'); // Sauvegarder $this->setData([ 'config', [ 'homePageId' => $this->getInput('configHomePageId', helper::FILTER_ID, true), - 'page404' => $this->getInput('configPage404', helper::FILTER_ID, true), + 'page404' => $this->getInput('configPage404'), 'analyticsId' => $this->getInput('configAnalyticsId'), 'autoBackup' => $this->getInput('configAutoBackup', helper::FILTER_BOOLEAN), 'maintenance' => $this->getInput('configMaintenance', helper::FILTER_BOOLEAN), diff --git a/core/module/config/view/index/index.php b/core/module/config/view/index/index.php index 4611a2d3..c840bc7e 100755 --- a/core/module/config/view/index/index.php +++ b/core/module/config/view/index/index.php @@ -47,28 +47,36 @@

    -
    - getData(['page']); - foreach($pages as $page => $pageId) { - if ($this->getData(['page',$page,'block']) === 'bar' || - $this->getData(['page',$page,'disable']) === true) { - unset($pages[$page]); +
    + getData(['page']); + foreach($pages as $page => $pageId) { + if ($this->getData(['page',$page,'block']) === 'bar' || + $this->getData(['page',$page,'disable']) === true) { + unset($pages[$page]); + } } - } - echo template::select('configHomePageId', helper::arrayCollumn($pages, 'title', 'SORT_ASC'), [ - 'label' => 'Page d\'accueil', - 'selected' =>$this->getData(['config', 'homePageId']) + echo template::select('configHomePageId', helper::arrayCollumn($pages, 'title', 'SORT_ASC'), [ + 'label' => 'Page d\'accueil', + 'selected' =>$this->getData(['config', 'homePageId']) ]); ?>
    -
    - 'Page 404', - 'selected' =>$this->getData(['config', 'page404']) - ]); ?> -
    -
    + 'Aucune'],helper::arrayCollumn($pages, 'title', 'SORT_ASC')), [ + 'label' => 'Page d\'erreur 404 personnalisée', + 'selected' =>$this->getData(['config', 'page404']), + 'help' => 'Une page 404 ne doit pas apparaître dans l\'arborescence du menu. Créez puis sélectionnez une page orpheline.' + ]); ?> +
    +
    + 'Sélectionner'] , helper::arrayCollumn($this->getData(['page']), 'title', 'SORT_ASC') ) , [ + 'label' => 'Mentions légales', + 'selected' => $this->getData(['config', 'legalPageId']), + 'help' => 'Les mentions légales sont obligatoires en France.' + ]); ?> +
    +

    @@ -110,16 +118,7 @@ 'help' => 'Le fuseau horaire est utile au bon référencement' ]); ?>
    -
    - 'Sélectionner'] , helper::arrayCollumn($this->getData(['page']), 'title', 'SORT_ASC') ); - ?> - 'Mentions légales', - 'selected' => $this->getData(['config', 'legalPageId']), - 'help' => 'Les mentions légales sont obligatoires en France' - ]); ?> -
    -
    +
    $this->getData(['config', 'cookieConsent']) ]); ?> diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 839ab60f..dc189880 100755 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -538,29 +538,6 @@ class init extends common { 'hideMenuSide' => false, 'hideMenuHead' => false, 'hideMenuChildren' => false - ],'erreur-404'=> [ - 'typeMenu' => 'text', - 'iconUrl' => '', - 'disable' => false, - 'content' => '

    Page introuvable !

    ', - 'hideTitle' => false, - 'breadCrumb' => false, - 'metaDescription' => '', - 'metaTitle' => '', - 'moduleId' => '', - 'modulePosition' => 'bottom', - 'parentPageId' => '', - 'position' => 0, - 'group' => 0, - 'targetBlank' => false, - 'title' => 'Erreur 404', - 'block' => '12', - 'barLeft' => '', - 'barRight' => '', - 'displayMenu' => 'none', - 'hideMenuSide' => false, - 'hideMenuHead' => false, - 'hideMenuChildren' => false ] ], 'module' => [ From 1a6ce51080ab87a1b3aa452a0d61c80dc8a9ad57 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Thu, 13 Aug 2020 14:11:33 +0200 Subject: [PATCH 041/194] page 403 --- core/core.php | 15 ++++-- core/module/config/config.php | 1 + core/module/config/view/index/index.php | 46 +++++++++++++------ core/module/install/ressource/defaultdata.php | 4 +- 4 files changed, 46 insertions(+), 20 deletions(-) diff --git a/core/core.php b/core/core.php index 7cb527f6..586d17da 100755 --- a/core/core.php +++ b/core/core.php @@ -1360,8 +1360,9 @@ class common { if ($this->getData(['core', 'dataVersion']) < 10300) { // Options de barre de membre simple $this->setData(['config','page404','none']); + $this->setData(['config','page403','none']); $this->setData(['core', 'dataVersion', 10300]); - } + } } } @@ -1952,10 +1953,14 @@ class core extends common { 'content' => template::speech('La page ' . $accessInfo['pageId'] . ' est ouverte par l\'utilisateur ' . $accessInfo['userName'] . '') ]); } else { - $this->addOutput([ - 'title' => 'Erreur 403', - 'content' => template::speech('Vous n\'êtes pas autorisé à accéder à cette page...') - ]); + if ( $this->getData(['config','page404']) === 'none') { + $this->addOutput([ + 'title' => 'Erreur 403', + 'content' => template::speech('Vous n\'êtes pas autorisé à accéder à cette page...') + ]); + } else { + header('Location:' . helper::baseUrl() . $this->getData(['config','page403'])); + } } } elseif($this->output['content'] === '') { diff --git a/core/module/config/config.php b/core/module/config/config.php index ffb5b577..be28aefe 100755 --- a/core/module/config/config.php +++ b/core/module/config/config.php @@ -426,6 +426,7 @@ class config extends common { [ 'homePageId' => $this->getInput('configHomePageId', helper::FILTER_ID, true), 'page404' => $this->getInput('configPage404'), + 'page403' => $this->getInput('configPage403'), 'analyticsId' => $this->getInput('configAnalyticsId'), 'autoBackup' => $this->getInput('configAutoBackup', helper::FILTER_BOOLEAN), 'maintenance' => $this->getInput('configMaintenance', helper::FILTER_BOOLEAN), diff --git a/core/module/config/view/index/index.php b/core/module/config/view/index/index.php index c840bc7e..0fb94b39 100755 --- a/core/module/config/view/index/index.php +++ b/core/module/config/view/index/index.php @@ -42,12 +42,19 @@ 'Description du site', 'value' => $this->getData(['config', 'metaDescription']), - 'help' => 'Elle apparaît dans les partages sur les réseaux sociaux.' + 'help' => 'La description participe au référence, n\'oubliez pas de personnaliser la description de chaque page sans copié collé.' ]); ?>
    +
    +
    +
    +
    +
    +
    +

    Pages spéciales

    -
    +
    getData(['page']); foreach($pages as $page => $pageId) { @@ -57,26 +64,37 @@ } } echo template::select('configHomePageId', helper::arrayCollumn($pages, 'title', 'SORT_ASC'), [ - 'label' => 'Page d\'accueil', - 'selected' =>$this->getData(['config', 'homePageId']) + 'label' => 'Accueil du site', + 'selected' =>$this->getData(['config', 'homePageId']), + 'help' => 'La page par défaut, c\'est la première page vue par vos visiteurs' ]); ?>
    -
    - 'Aucune'],helper::arrayCollumn($pages, 'title', 'SORT_ASC')), [ - 'label' => 'Page d\'erreur 404 personnalisée', - 'selected' =>$this->getData(['config', 'page404']), - 'help' => 'Une page 404 ne doit pas apparaître dans l\'arborescence du menu. Créez puis sélectionnez une page orpheline.' - ]); ?> -
    -
    +
    'Sélectionner'] , helper::arrayCollumn($this->getData(['page']), 'title', 'SORT_ASC') ) , [ 'label' => 'Mentions légales', 'selected' => $this->getData(['config', 'legalPageId']), - 'help' => 'Les mentions légales sont obligatoires en France.' + 'help' => 'Les mentions légales sont obligatoires en France. Une option du thèmz - pied de page ajoute un lien discret vers cette page.' ]); ?>
    +
    +
    + 'Aucune'],helper::arrayCollumn($pages, 'title', 'SORT_ASC')), [ + 'label' => 'Accès interdit, erreur 403', + 'selected' =>$this->getData(['config', 'page403']), + 'help' => 'Une page 403 ne doit pas apparaître dans l\'arborescence du menu. Créez puis sélectionnez une page orpheline.' + ]); ?> +
    +
    + 'Aucune'],helper::arrayCollumn($pages, 'title', 'SORT_ASC')), [ + 'label' => 'Page inexistante, erreur 404 ', + 'selected' =>$this->getData(['config', 'page404']), + 'help' => 'Une page 404 ne doit pas apparaître dans l\'arborescence du menu. Créez puis sélectionnez une page orpheline.' + ]); ?> +
    +
    diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index dc189880..342f2587 100755 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -9,7 +9,8 @@ class init extends common { 'favicon' => 'favicon.ico', 'faviconDark' => 'faviconDark.ico', 'homePageId' => 'accueil', - 'page404' => 'erreur-404', + 'page404' => 'none', + 'page403' => 'none', 'maintenance' => false, 'social' => [ 'facebookId' => 'facebook', @@ -666,3 +667,4 @@ class init extends common { ] ]; } + From 3a054065258c4d52af794eb9f2d2240d3cfa4c0e Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Thu, 13 Aug 2020 14:16:06 +0200 Subject: [PATCH 042/194] Erreur de champ --- core/core.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/core.php b/core/core.php index 586d17da..c722df05 100755 --- a/core/core.php +++ b/core/core.php @@ -1953,7 +1953,7 @@ class core extends common { 'content' => template::speech('La page ' . $accessInfo['pageId'] . ' est ouverte par l\'utilisateur ' . $accessInfo['userName'] . '') ]); } else { - if ( $this->getData(['config','page404']) === 'none') { + if ( $this->getData(['config','page403']) === 'none') { $this->addOutput([ 'title' => 'Erreur 403', 'content' => template::speech('Vous n\'êtes pas autorisé à accéder à cette page...') From 0aa0652de173ca47a628dc00fede4a7b72ae6432 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 14 Aug 2020 07:14:11 +0200 Subject: [PATCH 043/194] =?UTF-8?q?Donn=C3=A9es=20par=20d=C3=A9faut=20actu?= =?UTF-8?q?alis=C3=A9es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core.php | 1 - core/module/install/ressource/defaultdata.php | 59 +++++++++++++++++-- 2 files changed, 54 insertions(+), 6 deletions(-) diff --git a/core/core.php b/core/core.php index c722df05..39dd9b1f 100755 --- a/core/core.php +++ b/core/core.php @@ -1351,7 +1351,6 @@ class common { if ($this->getData(['core', 'dataVersion']) < 10201) { // Options de barre de membre simple $this->setData(['theme','footer','displayMemberBar',false]); - $this->setData(['theme','menu','memberBar',true]); $this->deleteData(['theme','footer','displayMemberAccount']); $this->deleteData(['theme','footer','displayMemberLogout']); $this->setData(['core', 'dataVersion', 10201]); diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 342f2587..7942a8f4 100755 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -5,12 +5,13 @@ class init extends common { 'analyticsId' => '', 'autoBackup' => true, 'autoUpdate' => true, + 'autoUpdateHtaccess' => false, 'cookieConsent' => true, 'favicon' => 'favicon.ico', 'faviconDark' => 'faviconDark.ico', 'homePageId' => 'accueil', - 'page404' => 'none', - 'page403' => 'none', + 'page404' => 'erreur404', + 'page403' => 'erreur403', 'maintenance' => false, 'social' => [ 'facebookId' => 'facebook', @@ -39,7 +40,7 @@ class init extends common { ] ], 'core' => [ - 'dataVersion' => 10000, + 'dataVersion' => 10300, 'lastBackup' => 0, 'lastClearTmp' => 0, 'lastAutoUpdate' => 0, @@ -111,6 +112,7 @@ class init extends common { 'displayCopyright' => false, 'displayLegal' => false, 'displaySearch' => false, + 'displayMemberBar' => false, 'template' => '3' ], 'header' => [ @@ -148,7 +150,8 @@ class init extends common { 'activeColorAuto' => true, 'activeColor' => 'rgba(255, 255, 255, 1)', 'activeTextColor' => 'rgba(255, 255, 255, 1)', - 'radius' => '0px' + 'radius' => '0px', + 'memberBar' => true ], 'site' => [ 'backgroundColor' => 'rgba(255, 255, 255, 1)', @@ -539,7 +542,53 @@ class init extends common { 'hideMenuSide' => false, 'hideMenuHead' => false, 'hideMenuChildren' => false - ] + ], + 'erreur403' => [ + 'typeMenu' => 'text', + 'iconUrl' => '', + 'disable' => false, + 'content' => '

    Vous n\'êtes pas autorisé à accéder à cette page...

    Personnalisez cette page à votre convenance sans qu\'elle apparaisse dans les menus.

    ', + 'hideTitle' => false, + 'breadCrumb' => false, + 'metaDescription' => '', + 'metaTitle' => '', + 'moduleId' => '', + 'modulePosition' => 'bottom', + 'parentPageId' => '', + 'position' => 0, + 'group' => self::GROUP_VISITOR, + 'targetBlank' => false, + 'title' => 'Erreur 403', + 'block' => '12', + 'barLeft' => '', + 'barRight' => '', + 'displayMenu' => 'none', + 'hideMenuSide' => false, + 'hideMenuChildren' =>false + ], + 'erreur404' => [ + 'typeMenu' => 'text', + 'iconUrl' => '', + 'disable' => false, + 'content' => '

    Oups ! La page demandée est introuvable...

    Personnalisez cette page à votre convenance sans qu\'elle apparaisse dans les menus.

    ', + 'hideTitle' => false, + 'breadCrumb' => false, + 'metaDescription' => '', + 'metaTitle' => '', + 'moduleId' => '', + 'modulePosition' => 'bottom', + 'parentPageId' => '', + 'position' => 0, + 'group' => self::GROUP_VISITOR, + 'targetBlank' => false, + 'title' => 'Erreur 404', + 'block' => '12', + 'barLeft' => '', + 'barRight' => '', + 'displayMenu' => 'none', + 'hideMenuSide' => false, + 'hideMenuChildren' =>false + ], ], 'module' => [ 'blog' => [ From 2c803996f666fd8a662407565ce737261586aa5a Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 14 Aug 2020 07:16:09 +0200 Subject: [PATCH 044/194] Changes --- CHANGES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 09d9fda3..ee86978d 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -7,7 +7,7 @@ - Menu : déplacement de la classe "active". - Modifications : - Configuration du site : - - Page 404 personnalisable + - Pages 403 (accès interdit) et 404 (page introuvable) personnalisables - Sauvegarde du site dans une archive : animation d'attente avec message de confirmation ou d'erreur. ; le nom de l'archive prend le nom du sous-domaine s'il existe. - Captcha : addition présentée en lettres sous la forme d'images, réponse en chiffres ; correction du nom de la fonction (capcha en captcha). From 40fc832c7c9e072a2509a4b5636abd90332d8108 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 14 Aug 2020 15:24:14 +0200 Subject: [PATCH 045/194] init --- module/rechercher/rechercher.php | 213 +++++++++++++++++++++++ module/rechercher/view/index/index.php | 26 +++ module/rechercher/view/result/result.php | 37 ++++ 3 files changed, 276 insertions(+) create mode 100755 module/rechercher/rechercher.php create mode 100755 module/rechercher/view/index/index.php create mode 100755 module/rechercher/view/result/result.php diff --git a/module/rechercher/rechercher.php b/module/rechercher/rechercher.php new file mode 100755 index 00000000..3ba30420 --- /dev/null +++ b/module/rechercher/rechercher.php @@ -0,0 +1,213 @@ + + * @copyright Copyright (C) 2008-2018, Rémi Jean + * @license GNU General Public License, version 3 + * @link http://zwiicms.com/ + * + * Module rechercher + * Produit par la communauté à partir d'un développement de Sylvain Lelièvre + */ + +// Module de recherche d'un mot ou d'une phrase clef + +class rechercher extends common { + + public static $actions = [ + 'index' => self::GROUP_VISITOR + ]; + + + public function index() { + if($this->isPost()) { + //Initialisations variables + $success = true; + $result = ''; + $notification = ''; + $total=''; + $this->setData(['search',$total,0]); + + // Récupération du mot clef passé par le formulaire de ...view/index.php, avec caractères accentués + $motclef=$this->getInput('searchMotphraseclef'); + + // Récupération de l'état de l'option mot entier passé par le même formulaire + $motentier=$this->getInput('searchMotentier', helper::FILTER_BOOLEAN); + + //Pour affichage de l'entête du résultat + $result = '

    Recherche avec le mot clef : '.$motclef.'

    '; + if ($motclef !== "" && strlen($motclef) > 2) { + foreach($this->getHierarchy(null,false,null) as $parentId => $childIds) { + if ($this->getData(['page', $parentId, 'disable']) === false && + $this->getUser('group') >= $this->getData(['page', $parentId, 'group']) && + $this->getData(['page', $parentId, 'block']) !== 'bar') { + $url = $parentId; + $titre = $this->getData(['page', $parentId, 'title']); + $contenu = $this->getData(['page', $parentId, 'content']); + // Pages sauf pages filles et articles de blog + $result .= $this->occurrence($url, $titre, $contenu, $motclef, $motentier); + } + + foreach($childIds as $childId) { + // Sous page + if ($this->getData(['page', $childId, 'disable']) === false && + $this->getUser('group') >= $this->getData(['page', $parentId, 'group']) && + $this->getData(['page', $parentId, 'block']) !== 'bar') { + $url = $childId; + $titre = $this->getData(['page', $childId, 'title']); + $contenu = $this->getData(['page', $childId, 'content']); + //Pages filles + $result .= $this->occurrence($url, $titre, $contenu, $motclef, $motentier); + + } + + // Articles d'une sous-page blog + if ($this->getData(['page', $childId, 'moduleId']) === 'blog') + { + foreach($this->getData(['module',$childId]) as $articleId => $article) { + if($this->getData(['module',$childId,$articleId,'state']) === true) { + $url = $childId . '/' . $articleId; + $titre = $article['title']; + $contenu = $article['content']; + // Articles de sous-page de type blog + $result .= $this->occurrence($url, $titre, $contenu, $motclef, $motentier); + + } + } + } + } + + // Articles d'un blog + + if ($this->getData(['page', $parentId, 'moduleId']) === 'blog' ) { + foreach($this->getData(['module',$parentId]) as $articleId => $article) { + if($this->getData(['module',$parentId,$articleId,'state']) === true) + { + $url = $parentId. '/' . $articleId; + $titre = $article['title']; + $contenu = $article['content']; + // Articles de Blog + $result .= $this->occurrence($url, $titre, $contenu, $motclef, $motentier); + + } + } + } + } + // Message de synthèse de la recherche + if ($this->getData(['search',$total])===0) { + $notification = 'Mot clef non trouvé. Avez-vous pensé aux accents ?'; + $result .='Mot clef non trouvé. Avez-vous pensé aux accents ?'; + $success = false; + } else { + $result .= 'Nombre d\'occurrences : '.$this->getData(['search',$total]); + $notification = 'Nombre d\'occurrences : '.$this->getData(['search',$total]); + $success = true; + } + } else { + $notification = 'Trop court ! Minimum 3 caractères'; + $result = 'Trop court ! Minimum 3 caractères'; + $success = false; + } + + $_POST['result'] = $result; + $_POST['occurence'] = $total; + // Valeurs en sortie, affichage du résultat + $this->addOutput([ + 'title' => '', + 'view' => 'result', + 'notification' => $notification, + 'state' => $success + ]); + } else { + // Valeurs en sortie, affichage du formulaire + $this->addOutput([ + 'title' => '', + 'view' => 'index', + 'showBarEditButton' => true, + 'showPageContent' => true + ]); + } + } + + + // Fonction de recherche des occurrences dans $contenu + // Renvoie le résultat sous forme de chaîne + private function occurrence($url, $titre, $contenu, $motclef, $motentier) + { + // Nettoyage de $contenu : on enlève tout ce qui est inclus entre < et > + $contenu = $this->nettoyer_html($contenu); + // Accentuation + $contenu = html_entity_decode($contenu); + // Initialisations + $nboccu = 0; + $dejavu = ''; + $total = ''; + $resultat= ''; + // Recherche des occurrences + do { + $occu = stristr($contenu,$motclef); + if ($occu !== false) { + if ($motentier === true) { + $controle_entier=$this->test_motentier($contenu,$motclef); + } else { + $controle_entier=true; + } + if ($controle_entier) { + if ($titre !== $dejavu) { + $resultat = '


    Mot clef trouvé dans la page :
    '.$titre.'

    '; + } + $dejavu = $titre; + $nboccu++; + $resultat .= '

    '.$nboccu.' - "...'.substr($occu,0,200).'..."

    '; + } + // Pour recherche d'une autre occurrence dans le même contenu + $contenu = substr($occu,10); + } + } + while($occu != ''); + $this->setData(['search',$total,$this->getData(['search',$total]) + $nboccu]); + + + return $resultat; + } + + // Déclaration de la fonction nettoyer(string $contenu) : string + // Supprime de $contenu les caractères placés entre < et >, donc les balises html comme


    etc... + // Retourne $contenu nettoyée, le résultat est sensiblement différent de celui obtenu avec la fonction strip_tags() + private function nettoyer_html($contenu) + { + do { + $pos1=strpos($contenu,chr(60)); + if($pos1!==false) { + $pos2=strpos($contenu,chr(62)); + if($pos2!==false) $contenu=substr_replace($contenu," ",$pos1,($pos2 - $pos1 + 1)); + } + } + while($pos1!==false); + return $contenu; + } + + // Déclaration de la fonction test_motentier(string $chaine, string $clef) : bool + // Vérifie si dans la string $chaine, $clef est un mot entier + // $clef ne doit pas être précédé ni suivi d'une lettre maj ou min + private function test_motentier($chaine, $clef) + { + $resultat=true; + $pos1=stripos($chaine,$clef); + $avant=ord(substr($chaine,$pos1-1, 1)); + $apres=ord(substr($chaine,$pos1+strlen($clef),1)); + // Traitement pour le caractère qui précède et celui qui suit + if (($avant>=65 && $avant<=90) || + ($avant>=97 && $avant<=122) || + ($apres>=65 && $apres<=90) || + ($apres>=97 && $apres<=122) ) { + $resultat=false; + } + return $resultat; + } +} diff --git a/module/rechercher/view/index/index.php b/module/rechercher/view/index/index.php new file mode 100755 index 00000000..d5a02f22 --- /dev/null +++ b/module/rechercher/view/index/index.php @@ -0,0 +1,26 @@ + +

    +
    +
    +
    + 'Votre recherche', + 'help' => 'Saisir toute ou partie d\'un mot ou d\'une phrase, sans guillemets. N\'oubliez pas les accents.' + ]); ?> +
    +
    + 'Ok' + ]); ?> +
    +
    +
    +
    + false + ]); ?> +
    +
    +
    +
    + diff --git a/module/rechercher/view/result/result.php b/module/rechercher/view/result/result.php new file mode 100755 index 00000000..52183afa --- /dev/null +++ b/module/rechercher/view/result/result.php @@ -0,0 +1,37 @@ + +
    +
    +
    +
    + 'Votre recherche', + 'help' => 'Saisir toute ou partie d\'un mot ou d\'une phrase, sans guillemets. N\'oubliez pas les accents.', + 'value' => isset($_POST['searchMotphraseclef']) === true ? $_POST['searchMotphraseclef'] : '' + ]); ?> +
    +
    + 'Ok' + ]); ?> +
    +
    +
    +
    + isset($_POST['searchMotentier']) === true ? $_POST['searchMotentier'] : '' + ]); ?> +
    +
    +
    +
    +
    +
    +

    Résultat(s)

    + +
    +
    + From d374749ebc1436230030a8d9173aac9b9ccdc8c3 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 14 Aug 2020 15:35:52 +0200 Subject: [PATCH 046/194] =?UTF-8?q?supprimer=20=C3=A9criture=20dans=20json?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/rechercher/rechercher.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/module/rechercher/rechercher.php b/module/rechercher/rechercher.php index 3ba30420..208e675d 100755 --- a/module/rechercher/rechercher.php +++ b/module/rechercher/rechercher.php @@ -22,6 +22,7 @@ class rechercher extends common { public static $actions = [ 'index' => self::GROUP_VISITOR ]; + public static $results = 0; public function index() { @@ -31,7 +32,7 @@ class rechercher extends common { $result = ''; $notification = ''; $total=''; - $this->setData(['search',$total,0]); + self::$results = 0; // Récupération du mot clef passé par le formulaire de ...view/index.php, avec caractères accentués $motclef=$this->getInput('searchMotphraseclef'); @@ -99,13 +100,13 @@ class rechercher extends common { } } // Message de synthèse de la recherche - if ($this->getData(['search',$total])===0) { + if (self::$results === 0) { $notification = 'Mot clef non trouvé. Avez-vous pensé aux accents ?'; $result .='Mot clef non trouvé. Avez-vous pensé aux accents ?'; $success = false; } else { - $result .= 'Nombre d\'occurrences : '.$this->getData(['search',$total]); - $notification = 'Nombre d\'occurrences : '.$this->getData(['search',$total]); + $result .= 'Nombre d\'occurrences : '.self::$results; + $notification = 'Nombre d\'occurrences : '.self::$results; $success = true; } } else { @@ -170,8 +171,7 @@ class rechercher extends common { } } while($occu != ''); - $this->setData(['search',$total,$this->getData(['search',$total]) + $nboccu]); - + self::$results = self::$results + $nboccu; return $resultat; } From 5bd3c0a9fed466a31b72b609e3bf52377e21fe09 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 14 Aug 2020 16:00:42 +0200 Subject: [PATCH 047/194] 'occurence' --- module/rechercher/rechercher.php | 25 ++++++++++++++---------- module/rechercher/view/result/result.php | 6 +++--- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/module/rechercher/rechercher.php b/module/rechercher/rechercher.php index 208e675d..1d2a5d75 100755 --- a/module/rechercher/rechercher.php +++ b/module/rechercher/rechercher.php @@ -22,8 +22,12 @@ class rechercher extends common { public static $actions = [ 'index' => self::GROUP_VISITOR ]; - public static $results = 0; + public static $resultList = ''; + + public static $nbResults = 0; + + public static $resultTitle = ''; public function index() { if($this->isPost()) { @@ -32,7 +36,7 @@ class rechercher extends common { $result = ''; $notification = ''; $total=''; - self::$results = 0; + self::$nbResults = 0; // Récupération du mot clef passé par le formulaire de ...view/index.php, avec caractères accentués $motclef=$this->getInput('searchMotphraseclef'); @@ -41,7 +45,8 @@ class rechercher extends common { $motentier=$this->getInput('searchMotentier', helper::FILTER_BOOLEAN); //Pour affichage de l'entête du résultat - $result = '

    Recherche avec le mot clef : '.$motclef.'

    '; + self::$resultTitle = 'Aucun résultat'; + $result = ''; if ($motclef !== "" && strlen($motclef) > 2) { foreach($this->getHierarchy(null,false,null) as $parentId => $childIds) { if ($this->getData(['page', $parentId, 'disable']) === false && @@ -100,13 +105,14 @@ class rechercher extends common { } } // Message de synthèse de la recherche - if (self::$results === 0) { + if (self::$nbResults === 0) { $notification = 'Mot clef non trouvé. Avez-vous pensé aux accents ?'; $result .='Mot clef non trouvé. Avez-vous pensé aux accents ?'; $success = false; } else { - $result .= 'Nombre d\'occurrences : '.self::$results; - $notification = 'Nombre d\'occurrences : '.self::$results; + $result .= 'Nombre d\'occurrences : '.self::$nbResults; + $notification = 'Nombre d\'occurrences : '.self::$nbResults; + self::$resultTitle = 'Résultat(s) : "' . $motclef . '" a été trouvé '. self::$nbResults . ' fois'; $success = true; } } else { @@ -115,8 +121,7 @@ class rechercher extends common { $success = false; } - $_POST['result'] = $result; - $_POST['occurence'] = $total; + self::$resultList = $result; // Valeurs en sortie, affichage du résultat $this->addOutput([ 'title' => '', @@ -160,7 +165,7 @@ class rechercher extends common { } if ($controle_entier) { if ($titre !== $dejavu) { - $resultat = '


    Mot clef trouvé dans la page : '.$titre.'

    '; + $resultat = '

    '.$titre.'

    '; } $dejavu = $titre; $nboccu++; @@ -171,7 +176,7 @@ class rechercher extends common { } } while($occu != ''); - self::$results = self::$results + $nboccu; + self::$nbResults = self::$nbResults + $nboccu; return $resultat; } diff --git a/module/rechercher/view/result/result.php b/module/rechercher/view/result/result.php index 52183afa..57183a3e 100755 --- a/module/rechercher/view/result/result.php +++ b/module/rechercher/view/result/result.php @@ -26,9 +26,9 @@
    -

    Résultat(s)

    - + From 5801b095830df91937ec77153b44e00ebfa7b3ba Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 14 Aug 2020 16:09:46 +0200 Subject: [PATCH 048/194] nom du module --- core/module/page/page.php | 3 ++- module/{rechercher/rechercher.php => research/research.php} | 5 ++++- module/{rechercher => research}/view/index/index.php | 0 module/{rechercher => research}/view/result/result.php | 0 4 files changed, 6 insertions(+), 2 deletions(-) rename module/{rechercher/rechercher.php => research/research.php} (99%) rename module/{rechercher => research}/view/index/index.php (100%) rename module/{rechercher => research}/view/result/result.php (100%) diff --git a/core/module/page/page.php b/core/module/page/page.php index 0afd8acd..52c91f84 100755 --- a/core/module/page/page.php +++ b/core/module/page/page.php @@ -34,7 +34,8 @@ class page extends common { 'blog' => 'Blog', 'form' => 'Formulaire', 'gallery' => 'Galerie', - 'redirection' => 'Redirection' + 'redirection' => 'Redirection', + 'research' => 'Rechercher' ]; public static $typeMenu = [ 'text' => 'Texte', diff --git a/module/rechercher/rechercher.php b/module/research/research.php similarity index 99% rename from module/rechercher/rechercher.php rename to module/research/research.php index 1d2a5d75..edd6eedc 100755 --- a/module/rechercher/rechercher.php +++ b/module/research/research.php @@ -17,7 +17,7 @@ // Module de recherche d'un mot ou d'une phrase clef -class rechercher extends common { +class research extends common { public static $actions = [ 'index' => self::GROUP_VISITOR @@ -29,6 +29,9 @@ class rechercher extends common { public static $resultTitle = ''; + const RESEARCH_VERSION = '1.1'; + + public function index() { if($this->isPost()) { //Initialisations variables diff --git a/module/rechercher/view/index/index.php b/module/research/view/index/index.php similarity index 100% rename from module/rechercher/view/index/index.php rename to module/research/view/index/index.php diff --git a/module/rechercher/view/result/result.php b/module/research/view/result/result.php similarity index 100% rename from module/rechercher/view/result/result.php rename to module/research/view/result/result.php From 26d28be38134ac3d4f6a6add7a0d8d0ad3c4b66a Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 14 Aug 2020 16:25:57 +0200 Subject: [PATCH 049/194] Modif config --- core/module/config/config.php | 1 + core/module/config/view/index/index.php | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/core/module/config/config.php b/core/module/config/config.php index be28aefe..27bb4a4a 100755 --- a/core/module/config/config.php +++ b/core/module/config/config.php @@ -446,6 +446,7 @@ class config extends common { 'timezone' => $this->getInput('configTimezone', helper::FILTER_STRING_SHORT, true), 'itemsperPage' => $this->getInput('configItemsperPage', helper::FILTER_INT,true), 'legalPageId' => $this->getInput('configLegalPageId'), + 'searchPageId' => $this->getInput('configSearchPageId'), 'metaDescription' => $this->getInput('configMetaDescription', helper::FILTER_STRING_LONG, true), 'title' => $this->getInput('configTitle', helper::FILTER_STRING_SHORT, true), 'autoUpdate' => $this->getInput('configAutoUpdate', helper::FILTER_BOOLEAN), diff --git a/core/module/config/view/index/index.php b/core/module/config/view/index/index.php index 0fb94b39..fd273d6a 100755 --- a/core/module/config/view/index/index.php +++ b/core/module/config/view/index/index.php @@ -54,7 +54,7 @@

    Pages spéciales

    -
    +
    getData(['page']); foreach($pages as $page => $pageId) { @@ -69,13 +69,20 @@ 'help' => 'La page par défaut, c\'est la première page vue par vos visiteurs' ]); ?>
    -
    +
    'Sélectionner'] , helper::arrayCollumn($this->getData(['page']), 'title', 'SORT_ASC') ) , [ 'label' => 'Mentions légales', 'selected' => $this->getData(['config', 'legalPageId']), 'help' => 'Les mentions légales sont obligatoires en France. Une option du thèmz - pied de page ajoute un lien discret vers cette page.' ]); ?>
    +
    + 'Sélectionner'] , helper::arrayCollumn($this->getData(['page']), 'title', 'SORT_ASC') ) , [ + 'label' => 'Recherche dans le site', + 'selected' => $this->getData(['config', 'searchPageId']), + 'help' => 'Définir la page contenant un module de recherche permet d\'activer le lein dans le pied de page.' + ]); ?> +
    From 88cc62e15dd8c1191a481210548e9a6b0b3ff6a8 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 14 Aug 2020 16:26:48 +0200 Subject: [PATCH 050/194] Supprimer le module interne --- core/module/search/search.php | 211 ---------------------- core/module/search/view/index/index.php | 29 --- core/module/search/view/result/result.php | 38 ---- 3 files changed, 278 deletions(-) delete mode 100755 core/module/search/search.php delete mode 100755 core/module/search/view/index/index.php delete mode 100755 core/module/search/view/result/result.php diff --git a/core/module/search/search.php b/core/module/search/search.php deleted file mode 100755 index 8775d93d..00000000 --- a/core/module/search/search.php +++ /dev/null @@ -1,211 +0,0 @@ - - * @copyright Copyright (C) 2008-2018, Rémi Jean - * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ - * - * Module search - * Produit par la communauté à partit d'un développement de Sylvain Lelièvre - */ - -// Module de recherche d'un mot ou d'une phrase clef - -class search extends common { - - public static $actions = [ - 'index' => self::GROUP_VISITOR - ]; - - - public function index() { - if($this->isPost()) { - //Initialisations variables - $success = true; - $result = ''; - $notification = ''; - $total=''; - $this->setData(['search',$total,0]); - - // Récupération du mot clef passé par le formulaire de ...view/index.php, avec caractères accentués - $motclef=$this->getInput('searchMotphraseclef'); - - // Récupération de l'état de l'option mot entier passé par le même formulaire - $motentier=$this->getInput('searchMotentier', helper::FILTER_BOOLEAN); - - //Pour affichage de l'entête du résultat - $result = '

    Recherche avec le mot clef : '.$motclef.'

    '; - if ($motclef !== "" && strlen($motclef) > 2) { - foreach($this->getHierarchy(null,false,null) as $parentId => $childIds) { - if ($this->getData(['page', $parentId, 'disable']) === false && - $this->getUser('group') >= $this->getData(['page', $parentId, 'group']) && - $this->getData(['page', $parentId, 'block']) !== 'bar') { - $url = $parentId; - $titre = $this->getData(['page', $parentId, 'title']); - $contenu = $this->getData(['page', $parentId, 'content']); - // Pages sauf pages filles et articles de blog - $result .= $this->occurrence($url, $titre, $contenu, $motclef, $motentier); - } - - foreach($childIds as $childId) { - // Sous page - if ($this->getData(['page', $childId, 'disable']) === false && - $this->getUser('group') >= $this->getData(['page', $parentId, 'group']) && - $this->getData(['page', $parentId, 'block']) !== 'bar') { - $url = $childId; - $titre = $this->getData(['page', $childId, 'title']); - $contenu = $this->getData(['page', $childId, 'content']); - //Pages filles - $result .= $this->occurrence($url, $titre, $contenu, $motclef, $motentier); - - } - - // Articles d'une sous-page blog - if ($this->getData(['page', $childId, 'moduleId']) === 'blog') - { - foreach($this->getData(['module',$childId]) as $articleId => $article) { - if($this->getData(['module',$childId,$articleId,'state']) === true) { - $url = $childId . '/' . $articleId; - $titre = $article['title']; - $contenu = $article['content']; - // Articles de sous-page de type blog - $result .= $this->occurrence($url, $titre, $contenu, $motclef, $motentier); - - } - } - } - } - - // Articles d'un blog - - if ($this->getData(['page', $parentId, 'moduleId']) === 'blog' ) { - foreach($this->getData(['module',$parentId]) as $articleId => $article) { - if($this->getData(['module',$parentId,$articleId,'state']) === true) - { - $url = $parentId. '/' . $articleId; - $titre = $article['title']; - $contenu = $article['content']; - // Articles de Blog - $result .= $this->occurrence($url, $titre, $contenu, $motclef, $motentier); - - } - } - } - } - // Message de synthèse de la recherche - if ($this->getData(['search',$total])===0) { - $notification = 'Mot clef non trouvé. Avez-vous pensé aux accents ?'; - $result .='Mot clef non trouvé. Avez-vous pensé aux accents ?'; - $success = false; - } else { - $result .= 'Nombre d\'occurrences : '.$this->getData(['search',$total]); - $notification = 'Nombre d\'occurrences : '.$this->getData(['search',$total]); - $success = true; - } - } else { - $notification = 'Trop court ! Minimum 3 caractères'; - $result = 'Trop court ! Minimum 3 caractères'; - $success = false; - } - - $_POST['result'] = $result; - $_POST['occurence'] = $total; - // Valeurs en sortie, affichage du résultat - $this->addOutput([ - 'title' => '', - 'view' => 'result', - 'notification' => $notification, - 'state' => $success - ]); - } else { - // Valeurs en sortie, affichage du formulaire - $this->addOutput([ - 'title' => '', - 'view' => 'index' - ]); - } - } - - - // Fonction de recherche des occurrences dans $contenu - // Renvoie le résultat sous forme de chaîne - private function occurrence($url, $titre, $contenu, $motclef, $motentier) - { - // Nettoyage de $contenu : on enlève tout ce qui est inclus entre < et > - $contenu = $this->nettoyer_html($contenu); - // Accentuation - $contenu = html_entity_decode($contenu); - // Initialisations - $nboccu = 0; - $dejavu = ''; - $total = ''; - $resultat= ''; - // Recherche des occurrences - do { - $occu = stristr($contenu,$motclef); - if ($occu !== false) { - if ($motentier === true) { - $controle_entier=$this->test_motentier($contenu,$motclef); - } else { - $controle_entier=true; - } - if ($controle_entier) { - if ($titre !== $dejavu) { - $resultat = '


    Mot clef trouvé dans la page : '.$titre.'

    '; - } - $dejavu = $titre; - $nboccu++; - $resultat .= '

    '.$nboccu.' - "...'.substr($occu,0,200).'..."

    '; - } - // Pour recherche d'une autre occurrence dans le même contenu - $contenu = substr($occu,10); - } - } - while($occu != ''); - $this->setData(['search',$total,$this->getData(['search',$total]) + $nboccu]); - - - return $resultat; - } - - // Déclaration de la fonction nettoyer(string $contenu) : string - // Supprime de $contenu les caractères placés entre < et >, donc les balises html comme


    etc... - // Retourne $contenu nettoyée, le résultat est sensiblement différent de celui obtenu avec la fonction strip_tags() - private function nettoyer_html($contenu) - { - do { - $pos1=strpos($contenu,chr(60)); - if($pos1!==false) { - $pos2=strpos($contenu,chr(62)); - if($pos2!==false) $contenu=substr_replace($contenu," ",$pos1,($pos2 - $pos1 + 1)); - } - } - while($pos1!==false); - return $contenu; - } - - // Déclaration de la fonction test_motentier(string $chaine, string $clef) : bool - // Vérifie si dans la string $chaine, $clef est un mot entier - // $clef ne doit pas être précédé ni suivi d'une lettre maj ou min - private function test_motentier($chaine, $clef) - { - $resultat=true; - $pos1=stripos($chaine,$clef); - $avant=ord(substr($chaine,$pos1-1, 1)); - $apres=ord(substr($chaine,$pos1+strlen($clef),1)); - // Traitement pour le caractère qui précède et celui qui suit - if (($avant>=65 && $avant<=90) || - ($avant>=97 && $avant<=122) || - ($apres>=65 && $apres<=90) || - ($apres>=97 && $apres<=122) ) { - $resultat=false; - } - return $resultat; - } -} diff --git a/core/module/search/view/index/index.php b/core/module/search/view/index/index.php deleted file mode 100755 index e5243bde..00000000 --- a/core/module/search/view/index/index.php +++ /dev/null @@ -1,29 +0,0 @@ - -

    -
    -
    -

    Rechercher

    -
    -
    - 'Mot ou phrase', - 'help' => 'Tout ou partie d\'un mot ou d\'une phrase, sans guillemets. N\'oubliez pas les accents.' - ]); ?> -
    -
    - 'Ok' - ]); ?> -
    -
    -
    -
    - false - ]); ?> -
    -
    -
    -
    -
    - diff --git a/core/module/search/view/result/result.php b/core/module/search/view/result/result.php deleted file mode 100755 index 072d3607..00000000 --- a/core/module/search/view/result/result.php +++ /dev/null @@ -1,38 +0,0 @@ - -
    -
    -
    -

    Recherche

    -
    -
    - 'Mot ou phrase', - 'value' => isset($_POST['searchMotphraseclef']) === true ? $_POST['searchMotphraseclef'] : '', - 'help' => 'Tout ou partie d\'un mot ou d\'une phrase, sans guillemets. N\'oubliez pas les accents.' - ]); ?> -
    -
    - 'Ok' - ]); ?> -
    -
    -
    - isset($_POST['searchMotentier']) === true ? $_POST['searchMotentier'] : '' - ]); ?> -
    -
    -
    -
    -
    -

    Résultat(s)

    - -
    -
    -
    - From a4505c2d88ad04679a8d3a79852a145fd678231b Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 14 Aug 2020 17:32:11 +0200 Subject: [PATCH 051/194] inscription module --- core/core.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/core.php b/core/core.php index 39dd9b1f..7d2ef525 100755 --- a/core/core.php +++ b/core/core.php @@ -2146,7 +2146,7 @@ class layout extends common { // Affichage du module de recherche $items .= 'getData(['theme','footer','displaySearch']) === false ? ' class="displayNone"' : ''; - $items .= '> | Rechercher'; + $items .= '> | Rechercher'; $items .= ''; // Affichage des mentions légales $items .= ' Date: Fri, 14 Aug 2020 17:32:21 +0200 Subject: [PATCH 052/194] gestion erreur --- core/module/config/config.php | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/core/module/config/config.php b/core/module/config/config.php index 27bb4a4a..e8219783 100755 --- a/core/module/config/config.php +++ b/core/module/config/config.php @@ -408,18 +408,33 @@ class config extends common { public function index() { // Soumission du formulaire if($this->isPost()) { + $success = true; // Basculement en mise à jour auto // Remise à 0 du compteur if ($this->getData(['config','autoUpdate']) === false && $this->getInput('configAutoUpdate', helper::FILTER_BOOLEAN) === true) { $this->setData(['core','lastAutoUpdate',0]); } - if ($this->getInput('configLegalCheck', helper::FILTER_BOOLEAN) === true ) { - $legalPageId = $this->getInput('configLegalPageId', helper::FILTER_ID); + // Empêcher la modification si défini dans footer + if ( $this->getData(['theme','footer','displaySearch']) === true + AND $this->getInput('configSearchPageId') === '' + ){ + $searchPageId = $this->getData(['config','searchPageId']); + self::$inputNotices['configSearchPageId'] = 'Désactiver l\'option dans le pied de page'; + $success = false; } else { - $legalPageId = ''; + $searchPageId = $this->getInput('configSearchPageId'); + } + // Empêcher la modification si défini dans footer + if ( $this->getData(['theme','footer','displayLegal']) === true + AND $this->getInput('configLegalPageId') === '' + ){ + $legalPageId = $this->getData(['config','legalPageId']); + self::$inputNotices['configLegalPageId'] = 'Désactiver l\'option dans le pied de page'; + $success = false; + } else { + $legalPageId = $this->getInput('configLegalPageId'); } - $this->getInput('configPage404'); // Sauvegarder $this->setData([ 'config', @@ -445,8 +460,8 @@ class config extends common { ], 'timezone' => $this->getInput('configTimezone', helper::FILTER_STRING_SHORT, true), 'itemsperPage' => $this->getInput('configItemsperPage', helper::FILTER_INT,true), - 'legalPageId' => $this->getInput('configLegalPageId'), - 'searchPageId' => $this->getInput('configSearchPageId'), + 'legalPageId' => $legalPageId, + 'searchPageId' => $searchPageId, 'metaDescription' => $this->getInput('configMetaDescription', helper::FILTER_STRING_LONG, true), 'title' => $this->getInput('configTitle', helper::FILTER_STRING_SHORT, true), 'autoUpdate' => $this->getInput('configAutoUpdate', helper::FILTER_BOOLEAN), @@ -515,7 +530,7 @@ class config extends common { $this->addOutput([ 'redirect' => helper::baseUrl() . $this->getUrl(), 'notification' => 'Modifications enregistrées', - 'state' => true + 'state' => $success ]); } // Initialisation du screen - APPEL AUTO DESACTIVE POUR EVITER UN RALENTISSEMENT From 997ef55efb1680b075c60384f9ffd5b491fdd56f Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 14 Aug 2020 17:32:35 +0200 Subject: [PATCH 053/194] Masque --- core/module/config/view/index/index.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/module/config/view/index/index.php b/core/module/config/view/index/index.php index fd273d6a..02ccdfc4 100755 --- a/core/module/config/view/index/index.php +++ b/core/module/config/view/index/index.php @@ -85,7 +85,7 @@
    -
    +
    'Aucune'],helper::arrayCollumn($pages, 'title', 'SORT_ASC')), [ 'label' => 'Accès interdit, erreur 403', @@ -93,7 +93,7 @@ 'help' => 'Une page 403 ne doit pas apparaître dans l\'arborescence du menu. Créez puis sélectionnez une page orpheline.' ]); ?>
    -
    +
    'Aucune'],helper::arrayCollumn($pages, 'title', 'SORT_ASC')), [ 'label' => 'Page inexistante, erreur 404 ', From 3e65b0bc6a0dfee03150d4e6d4c73d77beb9a069 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 14 Aug 2020 17:32:48 +0200 Subject: [PATCH 054/194] masque --- core/module/theme/view/footer/footer.php | 97 +++++++++++++----------- 1 file changed, 53 insertions(+), 44 deletions(-) diff --git a/core/module/theme/view/footer/footer.php b/core/module/theme/view/footer/footer.php index b09fee98..c95d2c89 100755 --- a/core/module/theme/view/footer/footer.php +++ b/core/module/theme/view/footer/footer.php @@ -13,11 +13,11 @@
    -
    +

    Couleurs

    -
    +
    'colorPicker', 'label' => 'Fond', @@ -25,7 +25,9 @@ 'help' => 'Quand le pied de page est dans le site, l\'arrière plan transparent montre le fond de la page. Quand le pied de page est hors du site, l\'arrière plan transparent montre le fond du site.' ]); ?>
    -
    +
    +
    +
    'colorPicker', 'label' => 'Texte', @@ -35,52 +37,59 @@
    -
    +
    -

    Informations

    +

    Paramètres du bloc Informations

    -
    - $this->getData(['theme', 'footer','displayCopyright']) - ]); ?> -
    -
    - $this->getData(['theme', 'footer','displayVersion']) - ]); ?> -
    -
    - (bool) empty($this->getData(['config', 'legalPageId'])) ? false : $this->getData(['theme', 'footer', 'displayLegal']), - 'disabled' => (bool) empty($this->getData(['config', 'legalPageId'])) ? true : false, - 'help' => (bool) empty($this->getData(['config', 'legalPageId'])) ? 'Pour activer cette option, sélectionnez la page contenant les mentions légales dans la gestion du site' : '' - ]); ?> -
    -
    - $this->getData(['theme', 'footer', 'displayMemberBar']), - 'help' => 'Affiche les icônes de gestion du compte et de déconnexion. Uniquement pour les membres simples une fois connectés.' + $this->getData(['theme', 'footer','displayCopyright']), + 'help' => 'Affiche cette mention devant ZwiiCMS' ]); ?> -
    -
    - $this->getData(['theme', 'footer', 'displaySiteMap']), - 'help' => 'Un plan du site permet un meilleur référencement.' - ]); ?> -
    -
    - $this->getData(['theme', 'footer', 'displaySearch']) - ]); ?> -
    -
    - $this->getData(['theme', 'footer', 'loginLink']) - ]); ?> -
    + $this->getData(['theme', 'footer','displayVersion']), + 'help' => 'Affiche le numéro de version après ZwiiCMS' + ]); ?> +
    +
    +
    +
    + $this->getData(['theme', 'footer', 'displaySiteMap']), + 'help' => 'Un plan du site permet un meilleur référencement.' + ]); ?> +
    +
    + $this->getData(['theme', 'footer', 'loginLink']), + 'help' => 'Pour éviter 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.' + ]); ?> +
    +
    +
    +
    + (bool) empty($this->getData(['config', 'legalPageId'])) ? false : $this->getData(['theme', 'footer', 'displayLegal']), + 'disabled' => (bool) empty($this->getData(['config', 'legalPageId'])) ? true : false, + 'help' => (bool) empty($this->getData(['config', 'legalPageId'])) ? 'Pour activer cette option, sélectionnez la page contenant les mentions légales dans la configuration du site' : '' + ]); ?> +
    +
    + (bool) empty($this->getData(['config', 'searchPageId'])) ? false : $this->getData(['theme', 'footer', 'displaySearch']), + 'disabled' => (bool) empty($this->getData(['config', 'searchPageId'])) ? true : false, + 'help' => (bool) empty($this->getData(['config', 'searchPageId'])) ? 'Pour activer cette option, sélectionnez la page contenant un module de recherche dans la configuration du site' : '' + ]); ?>
    @@ -136,7 +145,7 @@
    -

    Configuration

    +

    Configuration des blocs

    From 6227b843fb02cbb5b632aa1545db94d2f11ea4af Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 14 Aug 2020 17:33:01 +0200 Subject: [PATCH 055/194] =?UTF-8?q?droits=20modifi=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/install/view/index/index.css | 0 core/vendor/zwiico/png/a.png | Bin core/vendor/zwiico/png/b.png | Bin core/vendor/zwiico/png/c.png | Bin core/vendor/zwiico/png/d.png | Bin core/vendor/zwiico/png/e.png | Bin core/vendor/zwiico/png/f.png | Bin core/vendor/zwiico/png/g.png | Bin core/vendor/zwiico/png/h.png | Bin core/vendor/zwiico/png/i.png | Bin core/vendor/zwiico/png/j.png | Bin core/vendor/zwiico/png/k.png | Bin core/vendor/zwiico/png/l.png | Bin core/vendor/zwiico/png/m.png | Bin core/vendor/zwiico/png/n.png | Bin core/vendor/zwiico/png/o.png | Bin core/vendor/zwiico/png/p.png | Bin core/vendor/zwiico/png/q.png | Bin core/vendor/zwiico/png/r.png | Bin core/vendor/zwiico/png/s.png | Bin core/vendor/zwiico/png/t.png | Bin core/vendor/zwiico/png/u.png | Bin 22 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 core/module/install/view/index/index.css mode change 100644 => 100755 core/vendor/zwiico/png/a.png mode change 100644 => 100755 core/vendor/zwiico/png/b.png mode change 100644 => 100755 core/vendor/zwiico/png/c.png mode change 100644 => 100755 core/vendor/zwiico/png/d.png mode change 100644 => 100755 core/vendor/zwiico/png/e.png mode change 100644 => 100755 core/vendor/zwiico/png/f.png mode change 100644 => 100755 core/vendor/zwiico/png/g.png mode change 100644 => 100755 core/vendor/zwiico/png/h.png mode change 100644 => 100755 core/vendor/zwiico/png/i.png mode change 100644 => 100755 core/vendor/zwiico/png/j.png mode change 100644 => 100755 core/vendor/zwiico/png/k.png mode change 100644 => 100755 core/vendor/zwiico/png/l.png mode change 100644 => 100755 core/vendor/zwiico/png/m.png mode change 100644 => 100755 core/vendor/zwiico/png/n.png mode change 100644 => 100755 core/vendor/zwiico/png/o.png mode change 100644 => 100755 core/vendor/zwiico/png/p.png mode change 100644 => 100755 core/vendor/zwiico/png/q.png mode change 100644 => 100755 core/vendor/zwiico/png/r.png mode change 100644 => 100755 core/vendor/zwiico/png/s.png mode change 100644 => 100755 core/vendor/zwiico/png/t.png mode change 100644 => 100755 core/vendor/zwiico/png/u.png diff --git a/core/module/install/view/index/index.css b/core/module/install/view/index/index.css old mode 100644 new mode 100755 diff --git a/core/vendor/zwiico/png/a.png b/core/vendor/zwiico/png/a.png old mode 100644 new mode 100755 diff --git a/core/vendor/zwiico/png/b.png b/core/vendor/zwiico/png/b.png old mode 100644 new mode 100755 diff --git a/core/vendor/zwiico/png/c.png b/core/vendor/zwiico/png/c.png old mode 100644 new mode 100755 diff --git a/core/vendor/zwiico/png/d.png b/core/vendor/zwiico/png/d.png old mode 100644 new mode 100755 diff --git a/core/vendor/zwiico/png/e.png b/core/vendor/zwiico/png/e.png old mode 100644 new mode 100755 diff --git a/core/vendor/zwiico/png/f.png b/core/vendor/zwiico/png/f.png old mode 100644 new mode 100755 diff --git a/core/vendor/zwiico/png/g.png b/core/vendor/zwiico/png/g.png old mode 100644 new mode 100755 diff --git a/core/vendor/zwiico/png/h.png b/core/vendor/zwiico/png/h.png old mode 100644 new mode 100755 diff --git a/core/vendor/zwiico/png/i.png b/core/vendor/zwiico/png/i.png old mode 100644 new mode 100755 diff --git a/core/vendor/zwiico/png/j.png b/core/vendor/zwiico/png/j.png old mode 100644 new mode 100755 diff --git a/core/vendor/zwiico/png/k.png b/core/vendor/zwiico/png/k.png old mode 100644 new mode 100755 diff --git a/core/vendor/zwiico/png/l.png b/core/vendor/zwiico/png/l.png old mode 100644 new mode 100755 diff --git a/core/vendor/zwiico/png/m.png b/core/vendor/zwiico/png/m.png old mode 100644 new mode 100755 diff --git a/core/vendor/zwiico/png/n.png b/core/vendor/zwiico/png/n.png old mode 100644 new mode 100755 diff --git a/core/vendor/zwiico/png/o.png b/core/vendor/zwiico/png/o.png old mode 100644 new mode 100755 diff --git a/core/vendor/zwiico/png/p.png b/core/vendor/zwiico/png/p.png old mode 100644 new mode 100755 diff --git a/core/vendor/zwiico/png/q.png b/core/vendor/zwiico/png/q.png old mode 100644 new mode 100755 diff --git a/core/vendor/zwiico/png/r.png b/core/vendor/zwiico/png/r.png old mode 100644 new mode 100755 diff --git a/core/vendor/zwiico/png/s.png b/core/vendor/zwiico/png/s.png old mode 100644 new mode 100755 diff --git a/core/vendor/zwiico/png/t.png b/core/vendor/zwiico/png/t.png old mode 100644 new mode 100755 diff --git a/core/vendor/zwiico/png/u.png b/core/vendor/zwiico/png/u.png old mode 100644 new mode 100755 From 18ab09cd3c334a1ebbaefe37e54c8f6109cd60ed Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 14 Aug 2020 17:56:03 +0200 Subject: [PATCH 056/194] =?UTF-8?q?d=C3=A9placer=20le=20stockage=20de=20la?= =?UTF-8?q?=20nouvelle=20version=20du=20core?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/core/core.php b/core/core.php index 7d2ef525..c2ac6916 100755 --- a/core/core.php +++ b/core/core.php @@ -1360,6 +1360,20 @@ class common { // Options de barre de membre simple $this->setData(['config','page404','none']); $this->setData(['config','page403','none']); + // Module de recherche + // Suppression du dossier search + if (is_dir('core/module/search')) { + $dir = getcwd(); + chdir('core/module/search'); + $files = glob('*'); + foreach($files as $file) unlink($file); + chdir($dir); + rmdir ('core/module/search/'); + } + // Désactivation de l'option dans le pied de page + $this->setData(['theme','footer','displaySearch',false]); + // Inscription des nouvelles variables + $this->setData(['config','searchPageId','']); $this->setData(['core', 'dataVersion', 10300]); } } From 8ba60263f72d6c9d4652211d6d7ccbc3140bde29 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 14 Aug 2020 17:56:17 +0200 Subject: [PATCH 057/194] =?UTF-8?q?page=20de=20recherche=20par=20d=C3=A9fa?= =?UTF-8?q?ut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/install/ressource/defaultdata.php | 32 ++++++++++++++++--- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 7942a8f4..49fb8d2f 100755 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -25,6 +25,7 @@ class init extends common { 'timezone' => 'Europe/Paris', 'itemsperPage' => 10, 'legalPageId' => 'mentions-legales', + 'searchPageId' => 'rechercher', '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 !', 'proxyUrl' => '', @@ -296,7 +297,7 @@ class init extends common { 'moduleId' => '', 'parentPageId' => 'accueil', 'modulePosition' => 'bottom', - 'position' => 3, + 'position' => 2, 'group' => self::GROUP_VISITOR, 'targetBlank' => false, 'title' => 'Mise en page', @@ -344,7 +345,7 @@ class init extends common { 'moduleId' => 'blog', 'modulePosition' => 'bottom', 'parentPageId' => '', - 'position' => 4, + 'position' => 3, 'group' => self::GROUP_VISITOR, 'targetBlank' => false, 'title' => 'Blog', @@ -367,7 +368,7 @@ class init extends common { 'moduleId' => 'gallery', 'modulePosition' => 'bottom', 'parentPageId' => '', - 'position' => 5, + 'position' => 4, 'group' => self::GROUP_VISITOR, 'targetBlank' => false, 'title' => 'Galeries', @@ -391,7 +392,7 @@ class init extends common { 'moduleId' => 'redirection', 'modulePosition' => 'bottom', 'parentPageId' => '', - 'position' => 6, + 'position' => 5, 'group' => self::GROUP_VISITOR, 'targetBlank' => true, 'title' => 'Site de Zwii', @@ -589,6 +590,29 @@ class init extends common { 'hideMenuSide' => false, 'hideMenuChildren' =>false ], + 'rechercher' => [ + 'typeMenu' => 'text', + 'iconUrl' => '', + 'disable' => false, + 'content' => '

    Rechercher dans le site.

    ', + 'hideTitle' => true, + 'breadCrumb' => false, + 'metaDescription' => '', + 'metaTitle' => '', + 'moduleId' => 'research', + 'modulePosition' => 'bottom', + 'parentPageId' => '', + 'position' => 6, + 'group' => self::GROUP_VISITOR, + 'targetBlank' => false, + 'title' => 'Rechercher', + 'block' => '12', + 'barLeft' => '', + 'barRight' => '', + 'displayMenu' => 'none', + 'hideMenuSide' => false, + 'hideMenuChildren' =>false + ], ], 'module' => [ 'blog' => [ From f8e1f9800210b886a6748f9f68b5c3e793406268 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 14 Aug 2020 18:10:17 +0200 Subject: [PATCH 058/194] Changes --- CHANGES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.md b/CHANGES.md index ee86978d..3b9ce9eb 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -6,6 +6,7 @@ - Login : l'option "Se souvenir de moi" est fonctionnelle. - Menu : déplacement de la classe "active". - Modifications : + - La recherche dans le site devient un module externe plutôt qu'un module interne ; diverses corrections dans le module. - Configuration du site : - Pages 403 (accès interdit) et 404 (page introuvable) personnalisables - Sauvegarde du site dans une archive : animation d'attente avec message de confirmation ou d'erreur. ; le nom de l'archive prend le nom du sous-domaine s'il existe. From 7e3dc1d1c064b8e548f104d3ea6d208519a2519d Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 15 Aug 2020 09:35:43 +0200 Subject: [PATCH 059/194] nom du module + variables static --- core/core.php | 1 - core/module/install/ressource/defaultdata.php | 2 +- .../research.php => search/search.php} | 24 +++++++++++-------- .../{research => search}/view/index/index.php | 0 .../view/result/result.php | 4 ++-- 5 files changed, 17 insertions(+), 14 deletions(-) rename module/{research/research.php => search/search.php} (89%) rename module/{research => search}/view/index/index.php (100%) rename module/{research => search}/view/result/result.php (85%) diff --git a/core/core.php b/core/core.php index c2ac6916..9a66b6eb 100755 --- a/core/core.php +++ b/core/core.php @@ -48,7 +48,6 @@ class common { 'install', 'maintenance', 'page', - 'search', 'sitemap', 'theme', 'user' diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 49fb8d2f..59027d38 100755 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -599,7 +599,7 @@ class init extends common { 'breadCrumb' => false, 'metaDescription' => '', 'metaTitle' => '', - 'moduleId' => 'research', + 'moduleId' => 'search', 'modulePosition' => 'bottom', 'parentPageId' => '', 'position' => 6, diff --git a/module/research/research.php b/module/search/search.php similarity index 89% rename from module/research/research.php rename to module/search/search.php index edd6eedc..f384c452 100755 --- a/module/research/research.php +++ b/module/search/search.php @@ -17,7 +17,7 @@ // Module de recherche d'un mot ou d'une phrase clef -class research extends common { +class search extends common { public static $actions = [ 'index' => self::GROUP_VISITOR @@ -29,7 +29,11 @@ class research extends common { public static $resultTitle = ''; - const RESEARCH_VERSION = '1.1'; + public static $motclef = ''; + + public static $motentier = ''; + + const SEARCH_VERSION = '1.1'; public function index() { @@ -42,15 +46,15 @@ class research extends common { self::$nbResults = 0; // Récupération du mot clef passé par le formulaire de ...view/index.php, avec caractères accentués - $motclef=$this->getInput('searchMotphraseclef'); + self::$motclef=$this->getInput('searchMotphraseclef'); // Récupération de l'état de l'option mot entier passé par le même formulaire - $motentier=$this->getInput('searchMotentier', helper::FILTER_BOOLEAN); + self::$motentier=$this->getInput('searchMotentier', helper::FILTER_BOOLEAN); //Pour affichage de l'entête du résultat self::$resultTitle = 'Aucun résultat'; $result = ''; - if ($motclef !== "" && strlen($motclef) > 2) { + if (self::$motclef !== "" && strlen(self::$motclef) > 2) { foreach($this->getHierarchy(null,false,null) as $parentId => $childIds) { if ($this->getData(['page', $parentId, 'disable']) === false && $this->getUser('group') >= $this->getData(['page', $parentId, 'group']) && @@ -59,7 +63,7 @@ class research extends common { $titre = $this->getData(['page', $parentId, 'title']); $contenu = $this->getData(['page', $parentId, 'content']); // Pages sauf pages filles et articles de blog - $result .= $this->occurrence($url, $titre, $contenu, $motclef, $motentier); + $result .= $this->occurrence($url, $titre, $contenu, self::$motclef, self::$motentier); } foreach($childIds as $childId) { @@ -71,7 +75,7 @@ class research extends common { $titre = $this->getData(['page', $childId, 'title']); $contenu = $this->getData(['page', $childId, 'content']); //Pages filles - $result .= $this->occurrence($url, $titre, $contenu, $motclef, $motentier); + $result .= $this->occurrence($url, $titre, $contenu, self::$motclef, self::$motentier); } @@ -84,7 +88,7 @@ class research extends common { $titre = $article['title']; $contenu = $article['content']; // Articles de sous-page de type blog - $result .= $this->occurrence($url, $titre, $contenu, $motclef, $motentier); + $result .= $this->occurrence($url, $titre, $contenu, self::$motclef, self::$motentier); } } @@ -101,7 +105,7 @@ class research extends common { $titre = $article['title']; $contenu = $article['content']; // Articles de Blog - $result .= $this->occurrence($url, $titre, $contenu, $motclef, $motentier); + $result .= $this->occurrence($url, $titre, $contenu, self::$motclef, self::$motentier); } } @@ -115,7 +119,7 @@ class research extends common { } else { $result .= 'Nombre d\'occurrences : '.self::$nbResults; $notification = 'Nombre d\'occurrences : '.self::$nbResults; - self::$resultTitle = 'Résultat(s) : "' . $motclef . '" a été trouvé '. self::$nbResults . ' fois'; + self::$resultTitle = 'Résultat(s) : "' . self::$motclef . '" a été trouvé '. self::$nbResults . ' fois'; $success = true; } } else { diff --git a/module/research/view/index/index.php b/module/search/view/index/index.php similarity index 100% rename from module/research/view/index/index.php rename to module/search/view/index/index.php diff --git a/module/research/view/result/result.php b/module/search/view/result/result.php similarity index 85% rename from module/research/view/result/result.php rename to module/search/view/result/result.php index 57183a3e..2e5d2945 100755 --- a/module/research/view/result/result.php +++ b/module/search/view/result/result.php @@ -6,7 +6,7 @@ 'Votre recherche', 'help' => 'Saisir toute ou partie d\'un mot ou d\'une phrase, sans guillemets. N\'oubliez pas les accents.', - 'value' => isset($_POST['searchMotphraseclef']) === true ? $_POST['searchMotphraseclef'] : '' + 'value' => $module::$motclef ]); ?>
    @@ -18,7 +18,7 @@
    isset($_POST['searchMotentier']) === true ? $_POST['searchMotentier'] : '' + 'checked' => $module::$motentier ]); ?>
    From cdb0dbc3b4ec3b9f39ce55f12fce835979a7bff6 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 15 Aug 2020 09:48:05 +0200 Subject: [PATCH 060/194] Nom du module en FR --- core/module/page/page.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/module/page/page.php b/core/module/page/page.php index ea04e665..ab1a92df 100755 --- a/core/module/page/page.php +++ b/core/module/page/page.php @@ -35,7 +35,7 @@ class page extends common { 'form' => 'Formulaire', 'gallery' => 'Galerie', 'redirection' => 'Redirection', - 'research' => 'Rechercher' + 'search' => 'Recherche' ]; public static $typeMenu = [ 'text' => 'Texte', From febbdf39232aeeeb6362c5a47788ccad1e9831a8 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 15 Aug 2020 09:48:13 +0200 Subject: [PATCH 061/194] Modif des bulles --- core/module/config/view/index/index.php | 115 ++++++++++++------------ 1 file changed, 58 insertions(+), 57 deletions(-) diff --git a/core/module/config/view/index/index.php b/core/module/config/view/index/index.php index 02ccdfc4..813db985 100755 --- a/core/module/config/view/index/index.php +++ b/core/module/config/view/index/index.php @@ -52,63 +52,7 @@
    -

    Pages spéciales

    -
    -
    - getData(['page']); - foreach($pages as $page => $pageId) { - if ($this->getData(['page',$page,'block']) === 'bar' || - $this->getData(['page',$page,'disable']) === true) { - unset($pages[$page]); - } - } - echo template::select('configHomePageId', helper::arrayCollumn($pages, 'title', 'SORT_ASC'), [ - 'label' => 'Accueil du site', - 'selected' =>$this->getData(['config', 'homePageId']), - 'help' => 'La page par défaut, c\'est la première page vue par vos visiteurs' - ]); ?> -
    -
    - 'Sélectionner'] , helper::arrayCollumn($this->getData(['page']), 'title', 'SORT_ASC') ) , [ - 'label' => 'Mentions légales', - 'selected' => $this->getData(['config', 'legalPageId']), - 'help' => 'Les mentions légales sont obligatoires en France. Une option du thèmz - pied de page ajoute un lien discret vers cette page.' - ]); ?> -
    -
    - 'Sélectionner'] , helper::arrayCollumn($this->getData(['page']), 'title', 'SORT_ASC') ) , [ - 'label' => 'Recherche dans le site', - 'selected' => $this->getData(['config', 'searchPageId']), - 'help' => 'Définir la page contenant un module de recherche permet d\'activer le lein dans le pied de page.' - ]); ?> -
    -
    -
    -
    - 'Aucune'],helper::arrayCollumn($pages, 'title', 'SORT_ASC')), [ - 'label' => 'Accès interdit, erreur 403', - 'selected' =>$this->getData(['config', 'page403']), - 'help' => 'Une page 403 ne doit pas apparaître dans l\'arborescence du menu. Créez puis sélectionnez une page orpheline.' - ]); ?> -
    -
    - 'Aucune'],helper::arrayCollumn($pages, 'title', 'SORT_ASC')), [ - 'label' => 'Page inexistante, erreur 404 ', - 'selected' =>$this->getData(['config', 'page404']), - 'help' => 'Une page 404 ne doit pas apparaître dans l\'arborescence du menu. Créez puis sélectionnez une page orpheline.' - ]); ?> -
    -
    -
    -
    -
    -
    -
    -
    -

    Paramètres

    +

    Paramètres généraux

    @@ -196,6 +140,63 @@
    +
    +
    +
    +

    Pages spéciales

    +
    +
    + getData(['page']); + foreach($pages as $page => $pageId) { + if ($this->getData(['page',$page,'block']) === 'bar' || + $this->getData(['page',$page,'disable']) === true) { + unset($pages[$page]); + } + } + echo template::select('configHomePageId', helper::arrayCollumn($pages, 'title', 'SORT_ASC'), [ + 'label' => 'Accueil du site', + 'selected' =>$this->getData(['config', 'homePageId']), + 'help' => 'La première page que vos visiteurs verront.' + ]); ?> +
    +
    + 'Sélectionner'] , helper::arrayCollumn($this->getData(['page']), 'title', 'SORT_ASC') ) , [ + 'label' => 'Mentions légales', + 'selected' => $this->getData(['config', 'legalPageId']), + 'help' => 'Les mentions légales sont obligatoires en France. Une option du pied de page ajoute un lien discret vers cette page.' + ]); ?> +
    +
    + 'Sélectionner'] , helper::arrayCollumn($this->getData(['page']), 'title', 'SORT_ASC') ) , [ + 'label' => 'Recherche dans le site', + 'selected' => $this->getData(['config', 'searchPageId']), + 'help' => 'Sélectionner la page "Recherche" ou une page contenant le module "Recherche" permet d\'activer un lien dans le pied de page. ' + ]); ?> +
    +
    +
    +
    + 'Aucune'],helper::arrayCollumn($pages, 'title', 'SORT_ASC')), [ + 'label' => 'Accès interdit, erreur 403', + 'selected' =>$this->getData(['config', 'page403']), + 'help' => 'Une page 403 ne doit pas apparaître dans l\'arborescence du menu. Créez ou éditez une page orpheline.' + ]); ?> +
    +
    + 'Aucune'],helper::arrayCollumn($pages, 'title', 'SORT_ASC')), [ + 'label' => 'Page inexistante, erreur 404 ', + 'selected' =>$this->getData(['config', 'page404']), + 'help' => 'Une page 404 ne doit pas apparaître dans l\'arborescence du menu. Créez ou éditez une page orpheline.' + ]); ?> +
    +
    +
    +
    +
    +
    From b96a089678269f5744601ffe7f01c6ae5160b362 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 15 Aug 2020 10:03:36 +0200 Subject: [PATCH 062/194] =?UTF-8?q?Libell=C3=A9s=20modifi=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/page/page.php | 2 +- core/module/page/view/edit/edit.php | 8 ++++---- module/search/view/index/index.php | 2 +- module/search/view/result/result.php | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/core/module/page/page.php b/core/module/page/page.php index ab1a92df..b7d53053 100755 --- a/core/module/page/page.php +++ b/core/module/page/page.php @@ -40,7 +40,7 @@ class page extends common { public static $typeMenu = [ 'text' => 'Texte', 'icon' => 'Icône', - 'icontitle' => 'Icône et bulle' + 'icontitle' => 'Icône avec bulle de texte' ]; // Position du module public static $modulePosition = [ diff --git a/core/module/page/view/edit/edit.php b/core/module/page/view/edit/edit.php index 27c277ea..f1c36685 100755 --- a/core/module/page/view/edit/edit.php +++ b/core/module/page/view/edit/edit.php @@ -63,13 +63,13 @@ echo template::formOpen('pageEditForm');
    'La page peut être représentée par une image de petite taille.', - 'label' => 'Aspect', + 'label' => 'Aspect du lien', 'selected' => $this->getData(['page', $this->getUrl(2), 'typeMenu']) ]); ?>
    'Sélectionnez une image ou une icône de petite dimension', 'label' => 'Icône', 'value' => $this->getData(['page', $this->getUrl(2), 'iconUrl']) ]); ?> @@ -77,7 +77,7 @@ echo template::formOpen('pageEditForm');
    'En position libre ajoutez le module en plaçant [MODULE] à l\'endroit voulu dans votre page.', - 'label' => 'Position du module dans la page', + 'label' => 'Position du module', 'selected' => $this->getData(['page', $this->getUrl(2), 'modulePosition']) ]); ?>
    @@ -216,7 +216,7 @@ echo template::formOpen('pageEditForm');
    -

    Options avancées d'emplacement +

    Options d'emplacement avancées
    'Votre recherche', + 'label' => 'Rechercher dans le site', 'help' => 'Saisir toute ou partie d\'un mot ou d\'une phrase, sans guillemets. N\'oubliez pas les accents.' ]); ?>
    diff --git a/module/search/view/result/result.php b/module/search/view/result/result.php index 2e5d2945..2c71bd94 100755 --- a/module/search/view/result/result.php +++ b/module/search/view/result/result.php @@ -4,8 +4,8 @@
    'Votre recherche', - 'help' => 'Saisir toute ou partie d\'un mot ou d\'une phrase, sans guillemets. N\'oubliez pas les accents.', + 'label' => 'Rechercher dans le site', + 'help' => 'Saisissez toute ou partie d\'un mot ou d\'une phrase, sans guillemets. N\'oubliez pas les accents.', 'value' => $module::$motclef ]); ?>
    From 635e56176529f46da9b404883dc2001a9c1ea753 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 15 Aug 2020 10:11:04 +0200 Subject: [PATCH 063/194] autres modifs --- core/module/install/ressource/defaultdata.php | 4 ++-- module/search/view/index/index.php | 3 +-- module/search/view/result/result.php | 3 +-- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 59027d38..72909a90 100755 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -576,7 +576,7 @@ class init extends common { 'breadCrumb' => false, 'metaDescription' => '', 'metaTitle' => '', - 'moduleId' => '', + 'moduleId' => 'search', 'modulePosition' => 'bottom', 'parentPageId' => '', 'position' => 0, @@ -594,7 +594,7 @@ class init extends common { 'typeMenu' => 'text', 'iconUrl' => '', 'disable' => false, - 'content' => '

    Rechercher dans le site.

    ', + 'content' => '

    Rechercher dans le site

    ', 'hideTitle' => true, 'breadCrumb' => false, 'metaDescription' => '', diff --git a/module/search/view/index/index.php b/module/search/view/index/index.php index eaf2abf5..ddef65b9 100755 --- a/module/search/view/index/index.php +++ b/module/search/view/index/index.php @@ -4,8 +4,7 @@
    'Rechercher dans le site', - 'help' => 'Saisir toute ou partie d\'un mot ou d\'une phrase, sans guillemets. N\'oubliez pas les accents.' + 'placeholder' => 'Saisissez vos mots clés ou une phrase' ]); ?>
    diff --git a/module/search/view/result/result.php b/module/search/view/result/result.php index 2c71bd94..b6e6cb53 100755 --- a/module/search/view/result/result.php +++ b/module/search/view/result/result.php @@ -4,8 +4,7 @@
    'Rechercher dans le site', - 'help' => 'Saisissez toute ou partie d\'un mot ou d\'une phrase, sans guillemets. N\'oubliez pas les accents.', + 'placeholder' => 'Saisissez vos mots clés ou une phrase', 'value' => $module::$motclef ]); ?>
    From 59e42e81d8c0eb091c98558015a51786343a02aa Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 16 Aug 2020 10:34:09 +0200 Subject: [PATCH 064/194] Rechercher : loupe dans le menu --- core/module/install/ressource/defaultdata.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 72909a90..7947f2b0 100755 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -415,7 +415,7 @@ class init extends common { 'moduleId' => 'form', 'modulePosition' => 'bottom', 'parentPageId' => '', - 'position' => 7, + 'position' => 6, 'group' => self::GROUP_VISITOR, 'targetBlank' => false, 'title' => 'Contact', @@ -590,9 +590,9 @@ class init extends common { 'hideMenuSide' => false, 'hideMenuChildren' =>false ], - 'rechercher' => [ - 'typeMenu' => 'text', - 'iconUrl' => '', + 'recherche' => [ + 'typeMenu' => 'icon', + 'iconUrl' => 'icones/loupe.png', 'disable' => false, 'content' => '

    Rechercher dans le site

    ', 'hideTitle' => true, @@ -602,10 +602,10 @@ class init extends common { 'moduleId' => 'search', 'modulePosition' => 'bottom', 'parentPageId' => '', - 'position' => 6, + 'position' => 7, 'group' => self::GROUP_VISITOR, 'targetBlank' => false, - 'title' => 'Rechercher', + 'title' => 'Recherche', 'block' => '12', 'barLeft' => '', 'barRight' => '', From 67707f36ede257f2a250a4f1a8d84ca9602fa577 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 16 Aug 2020 10:43:09 +0200 Subject: [PATCH 065/194] Page de configuration du mode de recherche --- module/search/search.php | 13 ++++++++++++- module/search/view/config/config.css | 16 ++++++++++++++++ module/search/view/config/config.php | 15 +++++++++++++++ 3 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 module/search/view/config/config.css create mode 100644 module/search/view/config/config.php diff --git a/module/search/search.php b/module/search/search.php index f384c452..cd23bf5b 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -20,7 +20,8 @@ class search extends common { public static $actions = [ - 'index' => self::GROUP_VISITOR + 'index' => self::GROUP_VISITOR, + 'config' => self::GROUP_MODERATOR ]; public static $resultList = ''; @@ -35,6 +36,16 @@ class search extends common { const SEARCH_VERSION = '1.1'; + // Configuration vide + public function config() { + // Valeurs en sortie, affichage du formulaire + $this->addOutput([ + 'view' => 'config', + 'showBarEditButton' => true, + 'showPageContent' => true + ]); + + } public function index() { if($this->isPost()) { diff --git a/module/search/view/config/config.css b/module/search/view/config/config.css new file mode 100644 index 00000000..8e5c351d --- /dev/null +++ b/module/search/view/config/config.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/ + */ + + + @import url("site/data/admin.css"); \ No newline at end of file diff --git a/module/search/view/config/config.php b/module/search/view/config/config.php new file mode 100644 index 00000000..974a2f45 --- /dev/null +++ b/module/search/view/config/config.php @@ -0,0 +1,15 @@ +
    +
    + 'buttonGrey', + 'href' => helper::baseUrl() . 'page/edit/' . $this->getUrl(0), + 'ico' => 'left', + 'value' => 'Retour' + ]); ?> +
    +
    +
    +
    +

    Aucun paramètre de configuration

    +
    +
    \ No newline at end of file From 368f98e959b034c99fdc2753dd973067c3b0a7c2 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 16 Aug 2020 10:55:44 +0200 Subject: [PATCH 066/194] Liste des versions des modules dans config --- core/module/config/view/index/index.php | 50 ++++--------------------- 1 file changed, 8 insertions(+), 42 deletions(-) diff --git a/core/module/config/view/index/index.php b/core/module/config/view/index/index.php index 813db985..99a48da6 100755 --- a/core/module/config/view/index/index.php +++ b/core/module/config/view/index/index.php @@ -561,7 +561,7 @@
    -

    Système +

    Versions des modules
    -
    - 'ZwiiCMS', - 'readonly' => true, - 'value' => common::ZWII_VERSION - ]); ?> -
    -
    - 'Blog', - 'readonly' => true, - 'value' => blog::BLOG_VERSION - ]); ?> -
    -
    - 'Form', - 'readonly' => true, - 'value' => form::FORM_VERSION - ]); ?> -
    -
    - 'Gallery', - 'readonly' => true, - 'value' => gallery::GALLERY_VERSION - ]); ?> -
    -
    - 'News', - 'readonly' => true, - 'value' => news::NEWS_VERSION - ]); ?> -
    -
    - 'Redirection', - 'readonly' => true, - 'value' => redirection::REDIRECTION_VERSION - ]); ?> +
    + + + + + +
    From 1aa57f0f35d36c733e485ae829aed56779a844dc Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 16 Aug 2020 10:55:52 +0200 Subject: [PATCH 067/194] copyright --- module/search/search.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/module/search/search.php b/module/search/search.php index cd23bf5b..12542f6c 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -8,15 +8,14 @@ * * @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 + * @copyright Sylvain Lelièvre * @license GNU General Public License, version 3 * @link http://zwiicms.com/ * - * Module rechercher - * Produit par la communauté à partir d'un développement de Sylvain Lelièvre */ -// Module de recherche d'un mot ou d'une phrase clef - class search extends common { public static $actions = [ From 2c61f2a0b74181b5c7e2d0b7b6a7aeb3c7cc863b Mon Sep 17 00:00:00 2001 From: Fred <23246457+fredtempez@users.noreply.github.com> Date: Sun, 16 Aug 2020 10:57:52 +0200 Subject: [PATCH 068/194] Add files via upload --- site/file/source/icones/loupe.png | Bin 0 -> 1577 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 site/file/source/icones/loupe.png diff --git a/site/file/source/icones/loupe.png b/site/file/source/icones/loupe.png new file mode 100644 index 0000000000000000000000000000000000000000..c0aec15fc4d0b4eea509a4d5c8e62614da977d4e GIT binary patch literal 1577 zcmV+^2G;qBP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+U=KZlH4c^hW~Sl905rPiQ`~Cs&a!peqONK(>;^j zB(?izs~XCHg)D>~LC=Ko*Y_E|p-{;jlA7m|b3{oc6|NX~JWJUv#kAY=u61lZUCVL7ubwoa5YGO&Jl* zS4Qn%)58oD4}@IyXBpM-D8{yHLG@T;1M(hQJWv}IVnlofO4O;+q_O)(4K5}gZ0MOA z%a*wq7jCjRrB!LNNs$hMER9DHftYV!Xs=uLdJS3MV<)IG!5HC_zpde)CjX>{Iok>m zMZaSOzj);}+*ssR3oQVld2!Pn;77gi$EW;3s)C^IFgrF_<8hielsBBx)y`cyu8E$z zb?>FuL1Eyg7-{Ip!-kJC>O`(hnQ7|G)27cd>rL&V`lbE>HM*$rCbjhJrUq#+dzheg zo#;X@VX#Q>gHuN_1HuN_1HuN_1HuV2D zBolu;;Gfv=1D1WAO)aQibpQYXg=s@WP)S2WAaHVTW@&6?004NLeUUv#!%!53PgA8u zDhhTG>5!r7VnI~IQL9jd3ZYhL)xqSYf6$~MX>oBBTni5VELI&{oON|@6$HT_5GO|` zMHeaYzNFA1#s`=8ao#(J`|bmTMww|=*Epc*RWp@{i<#`I7q&)-|u2P%lqD+t5?lg4DgA>v&=B7#2duZn^lAJK5>{8WtI4xc+8{*i66PHxctVs z;IP0m!)7`)PaGx|3mvRWF%8f*2*Ul_{iE6ZG`iXeeS zEJ1<@1vQjVMinvIby6&(=sfP>A9DN>xfF7hz{s(H3N*-$AN&t~&(_LMPPj>-IMDrK z+aJR~U>9iCZTtJ!wwot_{~5T_+x|)enE52V-qxZ=K;JfSaoyIGJ>YT&7<@8hQ+6aj zm5|Q^?`QN)SzzE6=vi~;);h=O1CXX!C2xR(Ltvyp+3Ozf4tCD%-#e}O{QzNZa-cif zh~@wQ00v@9M??Vs0RI60puMM)00009a7bBm000XU000XU0RWnu7ytkO2XskIMF->v z5C|MKpT8%p0003nNklnJ8B$K{QzL{@kI&bRSzZIYZB)}4Qmo8=N{3LJ#xCe6f zOAe$!qe}3Zf^2|Wpa+~t`@kKL2{SX1D06@ppj&{8ft9eSrRTXa?*`ywRgwdzAq0ss zN(>dJ@|lEyp9MZQ5cK7<2m!AJZtDFJn3tSe@>%bTTPxuFbk0$7HjU`6MLmPhpsYoH z1yemQ40-La50){_fH(ku25jZiwvOGZh(y6(tz+$gy0+tE}q@umIk)uAdaR?cu0Q5}3&4HfmP$NXq00000NkvXXu0mjfMpNnL literal 0 HcmV?d00001 From eea886c1c89804cc87d705fc0c2f19f9d63fcf53 Mon Sep 17 00:00:00 2001 From: Fred <23246457+fredtempez@users.noreply.github.com> Date: Sun, 16 Aug 2020 10:58:31 +0200 Subject: [PATCH 069/194] Add files via upload --- site/file/source/icones/loupe.png | Bin 0 -> 1577 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 site/file/source/icones/loupe.png diff --git a/site/file/source/icones/loupe.png b/site/file/source/icones/loupe.png new file mode 100644 index 0000000000000000000000000000000000000000..c0aec15fc4d0b4eea509a4d5c8e62614da977d4e GIT binary patch literal 1577 zcmV+^2G;qBP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+U=KZlH4c^hW~Sl905rPiQ`~Cs&a!peqONK(>;^j zB(?izs~XCHg)D>~LC=Ko*Y_E|p-{;jlA7m|b3{oc6|NX~JWJUv#kAY=u61lZUCVL7ubwoa5YGO&Jl* zS4Qn%)58oD4}@IyXBpM-D8{yHLG@T;1M(hQJWv}IVnlofO4O;+q_O)(4K5}gZ0MOA z%a*wq7jCjRrB!LNNs$hMER9DHftYV!Xs=uLdJS3MV<)IG!5HC_zpde)CjX>{Iok>m zMZaSOzj);}+*ssR3oQVld2!Pn;77gi$EW;3s)C^IFgrF_<8hielsBBx)y`cyu8E$z zb?>FuL1Eyg7-{Ip!-kJC>O`(hnQ7|G)27cd>rL&V`lbE>HM*$rCbjhJrUq#+dzheg zo#;X@VX#Q>gHuN_1HuN_1HuN_1HuV2D zBolu;;Gfv=1D1WAO)aQibpQYXg=s@WP)S2WAaHVTW@&6?004NLeUUv#!%!53PgA8u zDhhTG>5!r7VnI~IQL9jd3ZYhL)xqSYf6$~MX>oBBTni5VELI&{oON|@6$HT_5GO|` zMHeaYzNFA1#s`=8ao#(J`|bmTMww|=*Epc*RWp@{i<#`I7q&)-|u2P%lqD+t5?lg4DgA>v&=B7#2duZn^lAJK5>{8WtI4xc+8{*i66PHxctVs z;IP0m!)7`)PaGx|3mvRWF%8f*2*Ul_{iE6ZG`iXeeS zEJ1<@1vQjVMinvIby6&(=sfP>A9DN>xfF7hz{s(H3N*-$AN&t~&(_LMPPj>-IMDrK z+aJR~U>9iCZTtJ!wwot_{~5T_+x|)enE52V-qxZ=K;JfSaoyIGJ>YT&7<@8hQ+6aj zm5|Q^?`QN)SzzE6=vi~;);h=O1CXX!C2xR(Ltvyp+3Ozf4tCD%-#e}O{QzNZa-cif zh~@wQ00v@9M??Vs0RI60puMM)00009a7bBm000XU000XU0RWnu7ytkO2XskIMF->v z5C|MKpT8%p0003nNklnJ8B$K{QzL{@kI&bRSzZIYZB)}4Qmo8=N{3LJ#xCe6f zOAe$!qe}3Zf^2|Wpa+~t`@kKL2{SX1D06@ppj&{8ft9eSrRTXa?*`ywRgwdzAq0ss zN(>dJ@|lEyp9MZQ5cK7<2m!AJZtDFJn3tSe@>%bTTPxuFbk0$7HjU`6MLmPhpsYoH z1yemQ40-La50){_fH(ku25jZiwvOGZh(y6(tz+$gy0+tE}q@umIk)uAdaR?cu0Q5}3&4HfmP$NXq00000NkvXXu0mjfMpNnL literal 0 HcmV?d00001 From 1695e48db1510fa54148b0c988257746b7c01feb Mon Sep 17 00:00:00 2001 From: Fred <23246457+fredtempez@users.noreply.github.com> Date: Sun, 16 Aug 2020 11:00:04 +0200 Subject: [PATCH 070/194] Add files via upload --- site/file/thumb/icones/loupe.png | Bin 0 -> 5207 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 site/file/thumb/icones/loupe.png diff --git a/site/file/thumb/icones/loupe.png b/site/file/thumb/icones/loupe.png new file mode 100644 index 0000000000000000000000000000000000000000..4bb22f175fe09ca76be21b7d48d6ef13f4ef8bbf GIT binary patch literal 5207 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 RRa^i7002ovPDHLkV1hMTP9gvR literal 0 HcmV?d00001 From 6c870d23d27362d3ef9381c0f9ea6761aa917072 Mon Sep 17 00:00:00 2001 From: Fred <23246457+fredtempez@users.noreply.github.com> Date: Sun, 16 Aug 2020 11:00:32 +0200 Subject: [PATCH 071/194] Delete mini_home_black.png --- site/file/thumb/icones/mini_home_black.png | Bin 398 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 site/file/thumb/icones/mini_home_black.png diff --git a/site/file/thumb/icones/mini_home_black.png b/site/file/thumb/icones/mini_home_black.png deleted file mode 100755 index c10adef145f3d1d02d17ef9559e8dd0a7ccb4a17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 398 zcmeAS@N?(olHy`uVBq!ia0y~yU~~Xs4kn<8( Date: Sun, 16 Aug 2020 11:00:40 +0200 Subject: [PATCH 072/194] Delete mini_home_blue.png --- site/file/thumb/icones/mini_home_blue.png | Bin 7823 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 site/file/thumb/icones/mini_home_blue.png diff --git a/site/file/thumb/icones/mini_home_blue.png b/site/file/thumb/icones/mini_home_blue.png deleted file mode 100755 index 7faad994b447c624248f58ee3b0c9bca1c8682e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7823 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 From 5ff6a7d65b0b7b7a3a6836cb712f15f614d16e33 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 16 Aug 2020 11:01:39 +0200 Subject: [PATCH 073/194] Droits --- module/search/view/config/config.css | 0 module/search/view/config/config.php | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 module/search/view/config/config.css mode change 100644 => 100755 module/search/view/config/config.php diff --git a/module/search/view/config/config.css b/module/search/view/config/config.css old mode 100644 new mode 100755 diff --git a/module/search/view/config/config.php b/module/search/view/config/config.php old mode 100644 new mode 100755 From fe273b80191879288ff9f72eb35364dc94e2c799 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 16 Aug 2020 15:52:05 +0200 Subject: [PATCH 074/194] =?UTF-8?q?Bug=20titre=20de=20la=20configuration?= =?UTF-8?q?=20du=20module=20masqu=C3=A9=20si=20titre=20de=20la=20page=20ma?= =?UTF-8?q?squ=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES.md | 1 + core/core.php | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 3b9ce9eb..1731e65b 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -5,6 +5,7 @@ - Bloquage de l'incrémentation de l'id de page lorsque deux pages ont le même nom. - Login : l'option "Se souvenir de moi" est fonctionnelle. - Menu : déplacement de la classe "active". + - Le titre dans la configuration du module non affiché si le titre de la page est masqué. - Modifications : - La recherche dans le site devient un module externe plutôt qu'un module interne ; diverses corrections dans le module. - Configuration du site : diff --git a/core/core.php b/core/core.php index 9a66b6eb..d9943611 100755 --- a/core/core.php +++ b/core/core.php @@ -2070,12 +2070,12 @@ class layout extends common { AND ( $this->getData(['page', $this->getUrl(0)]) === null OR $this->getData(['page', $this->getUrl(0), 'hideTitle']) === false + OR $this->getUrl(1) === 'config' ) ) { echo '

    ' . $this->core->output['title'] . '

    '; } echo $this->core->output['content']; - } From e076950f0ec9eb59b69abed9566fa51ddaef49cf Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 16 Aug 2020 15:59:37 +0200 Subject: [PATCH 075/194] Personnalisation module de recherche --- module/form/view/config/config.php | 20 +++++------ module/search/search.php | 27 ++++++++++----- module/search/view/config/config.php | 52 +++++++++++++++++++++------- module/search/view/index/index.php | 20 ++++++++--- module/search/view/result/result.php | 36 ------------------- 5 files changed, 84 insertions(+), 71 deletions(-) delete mode 100755 module/search/view/result/result.php diff --git a/module/form/view/config/config.php b/module/form/view/config/config.php index 7eae904c..85db7110 100755 --- a/module/form/view/config/config.php +++ b/module/form/view/config/config.php @@ -37,13 +37,13 @@ 'displayNone formConfigLabelWrapper' ]); ?> -
    +
    'Liste des valeurs séparées par des virgules (valeur1,valeur2,...)', 'class' => 'formConfigValues', 'classWrapper' => 'displayNone formConfigValuesWrapper' - ]); ?> + ]); ?>

    @@ -82,8 +82,8 @@ !empty($this->getData(['module', $this->getUrl(0), 'config', 'user'])) || !empty($this->getData(['module', $this->getUrl(0), 'config', 'mail'])), 'help' => 'Sélectionnez au moins un groupe, un utilisateur ou saississez un email. Votre serveur doit autoriser les envois de mail.' - ]); ?> -
    + ]); ?> +
    $this->getData(['module', $this->getUrl(0), 'config', 'subject']) ]); ?>
    -
    - +
    @@ -110,7 +110,7 @@ 'label' => 'A un membre', 'selected' => array_search($this->getData(['module', $this->getUrl(0), 'config', 'user']),$module::$listUsers) ]); ?> -
    +
    'A une adresse email', @@ -124,7 +124,7 @@ (bool) $this->getData(['module', $this->getUrl(0), 'config', 'replyto']), 'help' => 'Cette option permet de réponse drectement à l\'expéditeur du message si celui-ci a indiqué un email valide.' - ]); ?> + ]); ?>
    @@ -141,7 +141,7 @@ 'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'pageId']) ]); ?>
    -
    +
    $this->getData(['module', $this->getUrl(0), 'config', 'captcha']) ]); ?> diff --git a/module/search/search.php b/module/search/search.php index 12542f6c..39b2f15c 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -37,13 +37,24 @@ class search extends common { // Configuration vide public function config() { + if($this->isPost()) { + // Soumission du formulaire + $this->setData(['module', $this->getUrl(0), [ + 'submitText' => $this->getInput('searchSubmitText'), + 'placeHolder' => $this->getInput('searchPlaceHolder') + ]]); + // Valeurs en sortie, affichage du formulaire + $this->addOutput([ + 'redirect' => helper::baseUrl() . $this->getUrl(), + 'notification' => 'Modifications enregistrées', + 'state' => true + ]); + } // Valeurs en sortie, affichage du formulaire $this->addOutput([ - 'view' => 'config', - 'showBarEditButton' => true, - 'showPageContent' => true + 'title' => 'Configuration du module', + 'view' => 'config' ]); - } public function index() { @@ -141,15 +152,15 @@ class search extends common { self::$resultList = $result; // Valeurs en sortie, affichage du résultat $this->addOutput([ - 'title' => '', - 'view' => 'result', + 'view' => 'index', 'notification' => $notification, - 'state' => $success + 'state' => $success, + 'showBarEditButton' => true, + 'showPageContent' => true ]); } else { // Valeurs en sortie, affichage du formulaire $this->addOutput([ - 'title' => '', 'view' => 'index', 'showBarEditButton' => true, 'showPageContent' => true diff --git a/module/search/view/config/config.php b/module/search/view/config/config.php index 974a2f45..ab7416fe 100755 --- a/module/search/view/config/config.php +++ b/module/search/view/config/config.php @@ -1,15 +1,41 @@ -
    -
    - 'buttonGrey', - 'href' => helper::baseUrl() . 'page/edit/' . $this->getUrl(0), - 'ico' => 'left', - 'value' => 'Retour' - ]); ?> + +
    +
    + 'buttonGrey', + 'href' => helper::baseUrl() . 'page/edit/' . $this->getUrl(0), + 'ico' => 'left', + 'value' => 'Retour' + ]); ?> +
    +
    + +
    -
    -
    -
    -

    Aucun paramètre de configuration

    -
    +
    +
    +
    +

    Paramètres

    +
    +
    + 'Texte du bouton de soumission', + 'value' => $this->getData(['module', $this->getUrl(0), 'submitText']), + 'placeholder' => 'Rechercher' + ]); ?> +
    +
    + 'Texte dans la zone de recherche', + 'value' => $this->getData(['module', $this->getUrl(0), 'placeHolder']), + 'placeholder' => 'Saisissez vos mots clés ou une phrase' + ]); ?> +
    +
    +
    +
    +
    + +
    Version n° +
    \ No newline at end of file diff --git a/module/search/view/index/index.php b/module/search/view/index/index.php index ddef65b9..d01ec1d6 100755 --- a/module/search/view/index/index.php +++ b/module/search/view/index/index.php @@ -2,14 +2,14 @@
    -
    +
    'Saisissez vos mots clés ou une phrase' + 'placeholder' => $this->getData(['module',$this->getUrl(0),'placeHolder']) ? $this->getData(['module',$this->getUrl(0),'placeHolder']) : 'Saisissez vos mots clés ou une phrase' ]); ?>
    -
    +
    'Ok' + 'value' => $this->getData(['module',$this->getUrl(0),'submitText']) ? $this->getData(['module',$this->getUrl(0),'submitText']) : 'Rechercher' ]); ?>
    @@ -22,4 +22,16 @@
    + +
    +
    +

    + +
    +
    + diff --git a/module/search/view/result/result.php b/module/search/view/result/result.php deleted file mode 100755 index b6e6cb53..00000000 --- a/module/search/view/result/result.php +++ /dev/null @@ -1,36 +0,0 @@ - -
    -
    -
    -
    - 'Saisissez vos mots clés ou une phrase', - 'value' => $module::$motclef - ]); ?> -
    -
    - 'Ok' - ]); ?> -
    -
    -
    -
    - $module::$motentier - ]); ?> -
    -
    -
    -
    -
    -
    -

    - -
    -
    - From 9b847547f336e8e20c604cfdf5d07d0729dc67fb Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 16 Aug 2020 16:24:09 +0200 Subject: [PATCH 076/194] =?UTF-8?q?Textes=20par=20d=C3=A9faut=20dans=20la?= =?UTF-8?q?=20config?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/search/search.php | 9 +++++++-- module/search/view/config/config.php | 13 ++++++++++--- module/search/view/index/index.php | 5 +++-- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/module/search/search.php b/module/search/search.php index 39b2f15c..ee06f007 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -33,6 +33,10 @@ class search extends common { public static $motentier = ''; + public static $defaultButtonText = 'Rechercher'; + + public static $defaultPlaceHolder = 'Un mot clé ou une phrase entière sans guillemets'; + const SEARCH_VERSION = '1.1'; // Configuration vide @@ -41,7 +45,8 @@ class search extends common { // Soumission du formulaire $this->setData(['module', $this->getUrl(0), [ 'submitText' => $this->getInput('searchSubmitText'), - 'placeHolder' => $this->getInput('searchPlaceHolder') + 'placeHolder' => $this->getInput('searchPlaceHolder'), + 'resultHideContent' => $this->getInput('searchResultHideContent',helper::FILTER_BOOLEAN) ]]); // Valeurs en sortie, affichage du formulaire $this->addOutput([ @@ -156,7 +161,7 @@ class search extends common { 'notification' => $notification, 'state' => $success, 'showBarEditButton' => true, - 'showPageContent' => true + 'showPageContent' => !$this->getData(['module', $this->getUrl(0),'resultHideContent']) ]); } else { // Valeurs en sortie, affichage du formulaire diff --git a/module/search/view/config/config.php b/module/search/view/config/config.php index ab7416fe..f3dc2d59 100755 --- a/module/search/view/config/config.php +++ b/module/search/view/config/config.php @@ -21,17 +21,24 @@ 'Texte du bouton de soumission', 'value' => $this->getData(['module', $this->getUrl(0), 'submitText']), - 'placeholder' => 'Rechercher' + 'placeholder' => $module::$defaultButtonText ]); ?>
    'Texte dans la zone de recherche', + 'label' => 'Aide dans la zone de saisie', 'value' => $this->getData(['module', $this->getUrl(0), 'placeHolder']), - 'placeholder' => 'Saisissez vos mots clés ou une phrase' + 'placeholder' => $module::$defaultPlaceHolder ]); ?>
    +
    +
    + $this->getData(['module', $this->getUrl(0), 'resultHideContent']), + ]); ?> +
    +
    diff --git a/module/search/view/index/index.php b/module/search/view/index/index.php index d01ec1d6..336f6633 100755 --- a/module/search/view/index/index.php +++ b/module/search/view/index/index.php @@ -4,12 +4,13 @@
    $this->getData(['module',$this->getUrl(0),'placeHolder']) ? $this->getData(['module',$this->getUrl(0),'placeHolder']) : 'Saisissez vos mots clés ou une phrase' + 'placeholder' => $this->getData(['module',$this->getUrl(0),'placeHolder']) ? $this->getData(['module',$this->getUrl(0),'placeHolder']) : $module::$defaultPlaceHolder, + 'value' => $module::$motclef ]); ?>
    $this->getData(['module',$this->getUrl(0),'submitText']) ? $this->getData(['module',$this->getUrl(0),'submitText']) : 'Rechercher' + 'value' => $this->getData(['module',$this->getUrl(0),'submitText']) ? $this->getData(['module',$this->getUrl(0),'submitText']) : $module::$defaultButtonText ]); ?>
    From 6976594a1496ae98adc87e8ffc86a5dc4cd31949 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 16 Aug 2020 21:02:26 +0200 Subject: [PATCH 077/194] =?UTF-8?q?Nouveau=20moteur=20de=20recherche=20bas?= =?UTF-8?q?=C3=A9=20sur=20des=20regex=20-=20reste=20=20=C3=A0=20faire=20re?= =?UTF-8?q?cherche=20par=20chaine?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/search/search.php | 75 ++++++++++++++---------------- module/search/view/index/index.css | 3 ++ module/search/view/index/index.php | 2 +- 3 files changed, 39 insertions(+), 41 deletions(-) create mode 100644 module/search/view/index/index.css diff --git a/module/search/search.php b/module/search/search.php index ee06f007..540dd4c1 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -80,7 +80,21 @@ class search extends common { //Pour affichage de l'entête du résultat self::$resultTitle = 'Aucun résultat'; $result = ''; - if (self::$motclef !== "" && strlen(self::$motclef) > 2) { + // protection des guillemets + // ^((("){1}([^"])*("){1})([ ]+))+$ + //preg_match('(?:^|(?<=\s))"([^"]+)"(?:$|(?=\s))',self::$motclef,$matches); + //print_r($matches); + // Découpage de la chaîne de mots clés + $keywords = '/('; + $a = explode(' ',self::$motclef); + foreach ($a as $key => $value) { + + $keywords .= self::$motentier === false ? $value . '|' : '\\b' . $value . '\\b|' ; + } + $keywords = substr($keywords,0,strlen($keywords) - 1); + $keywords .= ')/i'; + //echo $keywords; + if ($keywords !== "" && strlen($keywords) > 2) { foreach($this->getHierarchy(null,false,null) as $parentId => $childIds) { if ($this->getData(['page', $parentId, 'disable']) === false && $this->getUser('group') >= $this->getData(['page', $parentId, 'group']) && @@ -89,7 +103,7 @@ class search extends common { $titre = $this->getData(['page', $parentId, 'title']); $contenu = $this->getData(['page', $parentId, 'content']); // Pages sauf pages filles et articles de blog - $result .= $this->occurrence($url, $titre, $contenu, self::$motclef, self::$motentier); + $result .= $this->occurrence($url, $titre, $contenu, $keywords, self::$motentier); } foreach($childIds as $childId) { @@ -101,7 +115,7 @@ class search extends common { $titre = $this->getData(['page', $childId, 'title']); $contenu = $this->getData(['page', $childId, 'content']); //Pages filles - $result .= $this->occurrence($url, $titre, $contenu, self::$motclef, self::$motentier); + $result .= $this->occurrence($url, $titre, $contenu, $keywords, self::$motentier); } @@ -114,7 +128,7 @@ class search extends common { $titre = $article['title']; $contenu = $article['content']; // Articles de sous-page de type blog - $result .= $this->occurrence($url, $titre, $contenu, self::$motclef, self::$motentier); + $result .= $this->occurrence($url, $titre, $contenu, $keywords, self::$motentier); } } @@ -131,7 +145,7 @@ class search extends common { $titre = $article['title']; $contenu = $article['content']; // Articles de Blog - $result .= $this->occurrence($url, $titre, $contenu, self::$motclef, self::$motentier); + $result .= $this->occurrence($url, $titre, $contenu, $keywords, self::$motentier); } } @@ -143,7 +157,7 @@ class search extends common { $result .='Mot clef non trouvé. Avez-vous pensé aux accents ?'; $success = false; } else { - $result .= 'Nombre d\'occurrences : '.self::$nbResults; + //$result .= self::$nbResults .' occurrences ont été trouvées.'; $notification = 'Nombre d\'occurrences : '.self::$nbResults; self::$resultTitle = 'Résultat(s) : "' . self::$motclef . '" a été trouvé '. self::$nbResults . ' fois'; $success = true; @@ -189,24 +203,24 @@ class search extends common { $resultat= ''; // Recherche des occurrences do { - $occu = stristr($contenu,$motclef); - if ($occu !== false) { - if ($motentier === true) { - $controle_entier=$this->test_motentier($contenu,$motclef); - } else { - $controle_entier=true; + $occu = preg_match_all($motclef,$contenu,$matches,PREG_OFFSET_CAPTURE); + if ($occu !== false && !empty($matches[0]) ) { + /*echo "
    ";
    +				print_r($matches);
    +				echo "
    ";*/ + if ($titre !== $dejavu) { + $resultat = '

    '.$titre.'

    '; } - if ($controle_entier) { - if ($titre !== $dejavu) { - $resultat = '

    '.$titre.'

    '; - } - $dejavu = $titre; - $nboccu++; - $resultat .= '

    '.$nboccu.' - "...'.substr($occu,0,200).'..."

    '; + $dejavu = $titre; + $nboccu .= count($matches[0]); + $contenu = preg_replace($motclef, '\1', $contenu); + foreach ($matches[0] as $key => $value) { + //$resultat .= '

    '.$nboccu.' - "...'.substr($contenu,$value[1] ,200).'..."

    '; # code... + $resultat .= '"'.substr($contenu,$value[1] ,200).'..."

    '; # code... } - // Pour recherche d'une autre occurrence dans le même contenu - $contenu = substr($occu,10); } + // Pour recherche d'une autre occurrence dans le même contenu + $contenu = substr($occu,10); } while($occu != ''); self::$nbResults = self::$nbResults + $nboccu; @@ -229,23 +243,4 @@ class search extends common { while($pos1!==false); return $contenu; } - - // Déclaration de la fonction test_motentier(string $chaine, string $clef) : bool - // Vérifie si dans la string $chaine, $clef est un mot entier - // $clef ne doit pas être précédé ni suivi d'une lettre maj ou min - private function test_motentier($chaine, $clef) - { - $resultat=true; - $pos1=stripos($chaine,$clef); - $avant=ord(substr($chaine,$pos1-1, 1)); - $apres=ord(substr($chaine,$pos1+strlen($clef),1)); - // Traitement pour le caractère qui précède et celui qui suit - if (($avant>=65 && $avant<=90) || - ($avant>=97 && $avant<=122) || - ($apres>=65 && $apres<=90) || - ($apres>=97 && $apres<=122) ) { - $resultat=false; - } - return $resultat; - } } diff --git a/module/search/view/index/index.css b/module/search/view/index/index.css new file mode 100644 index 00000000..906a9170 --- /dev/null +++ b/module/search/view/index/index.css @@ -0,0 +1,3 @@ +.evidence { + background: yellow; +} \ No newline at end of file diff --git a/module/search/view/index/index.php b/module/search/view/index/index.php index 336f6633..5d06a337 100755 --- a/module/search/view/index/index.php +++ b/module/search/view/index/index.php @@ -17,7 +17,7 @@
    false + 'checked' => $module::$motentier ]); ?>
    From 784a4935fdb129270086841be1b2c3e9d0d92f47 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Mon, 17 Aug 2020 10:39:44 +0200 Subject: [PATCH 078/194] =?UTF-8?q?Regex=20de=20nettoyage=20+=20mise=20en?= =?UTF-8?q?=20=C3=A9vidence?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/install/ressource/defaultdata.php | 4 +- module/search/search.php | 47 +++++++------------ module/search/view/index/index.php | 2 +- 3 files changed, 20 insertions(+), 33 deletions(-) diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 7947f2b0..b2ac445e 100755 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -25,7 +25,7 @@ class init extends common { 'timezone' => 'Europe/Paris', 'itemsperPage' => 10, 'legalPageId' => 'mentions-legales', - 'searchPageId' => 'rechercher', + 'searchPageId' => 'recherche', '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 !', 'proxyUrl' => '', @@ -112,7 +112,7 @@ class init extends common { 'displaySiteMap' => true, 'displayCopyright' => false, 'displayLegal' => false, - 'displaySearch' => false, + 'displaySearch' => true, 'displayMemberBar' => false, 'template' => '3' ], diff --git a/module/search/search.php b/module/search/search.php index 540dd4c1..fd19d10f 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -35,7 +35,7 @@ class search extends common { public static $defaultButtonText = 'Rechercher'; - public static $defaultPlaceHolder = 'Un mot clé ou une phrase entière sans guillemets'; + public static $defaultPlaceHolder = 'Que recherchez-vous ?'; const SEARCH_VERSION = '1.1'; @@ -153,17 +153,15 @@ class search extends common { } // Message de synthèse de la recherche if (self::$nbResults === 0) { - $notification = 'Mot clef non trouvé. Avez-vous pensé aux accents ?'; - $result .='Mot clef non trouvé. Avez-vous pensé aux accents ?'; + + $result .='Aucun résultat. Avez-vous pensé aux accents ?'; $success = false; } else { - //$result .= self::$nbResults .' occurrences ont été trouvées.'; - $notification = 'Nombre d\'occurrences : '.self::$nbResults; - self::$resultTitle = 'Résultat(s) : "' . self::$motclef . '" a été trouvé '. self::$nbResults . ' fois'; + $r = self::$nbResults == 1 ? '' : '( ' .self::$nbResults . ' éléments découverts )'; + self::$resultTitle = ' Résultat de votre recherche ' . $r ; $success = true; } } else { - $notification = 'Trop court ! Minimum 3 caractères'; $result = 'Trop court ! Minimum 3 caractères'; $success = false; } @@ -172,8 +170,6 @@ class search extends common { // Valeurs en sortie, affichage du résultat $this->addOutput([ 'view' => 'index', - 'notification' => $notification, - 'state' => $success, 'showBarEditButton' => true, 'showPageContent' => !$this->getData(['module', $this->getUrl(0),'resultHideContent']) ]); @@ -193,7 +189,7 @@ class search extends common { private function occurrence($url, $titre, $contenu, $motclef, $motentier) { // Nettoyage de $contenu : on enlève tout ce qui est inclus entre < et > - $contenu = $this->nettoyer_html($contenu); + $contenu = preg_replace ('/<[^>]*>/', ' ', $contenu); // Accentuation $contenu = html_entity_decode($contenu); // Initialisations @@ -213,34 +209,25 @@ class search extends common { } $dejavu = $titre; $nboccu .= count($matches[0]); - $contenu = preg_replace($motclef, '\1', $contenu); foreach ($matches[0] as $key => $value) { - //$resultat .= '

    '.$nboccu.' - "...'.substr($contenu,$value[1] ,200).'..."

    '; # code... - $resultat .= '"'.substr($contenu,$value[1] ,200).'..."

    '; # code... + // Mise en évidence + $d = $value[1] -50 < 0 ? 1 : $value[1] - 50; + $t = substr($contenu,(int) $d ,150); + // Nettoyage caractères invalides + $t = preg_replace('/[^[:alnum:][:space:]]/u', '', $t); + // Applique une mise en évidence + $t = preg_replace($motclef, '\1',$t,1); + // Sauver résultat + $resultat .='"'.$t.'..."

    '; + } } // Pour recherche d'une autre occurrence dans le même contenu $contenu = substr($occu,10); } while($occu != ''); - self::$nbResults = self::$nbResults + $nboccu; + self::$nbResults = self::$nbResults + $nboccu; // Nombre total d'occurences return $resultat; } - - // Déclaration de la fonction nettoyer(string $contenu) : string - // Supprime de $contenu les caractères placés entre < et >, donc les balises html comme


    etc... - // Retourne $contenu nettoyée, le résultat est sensiblement différent de celui obtenu avec la fonction strip_tags() - private function nettoyer_html($contenu) - { - do { - $pos1=strpos($contenu,chr(60)); - if($pos1!==false) { - $pos2=strpos($contenu,chr(62)); - if($pos2!==false) $contenu=substr_replace($contenu," ",$pos1,($pos2 - $pos1 + 1)); - } - } - while($pos1!==false); - return $contenu; - } } diff --git a/module/search/view/index/index.php b/module/search/view/index/index.php index 5d06a337..8e42cb34 100755 --- a/module/search/view/index/index.php +++ b/module/search/view/index/index.php @@ -28,7 +28,7 @@

    From 0e93feb076c9c495c449057efdd613849e68164e Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Mon, 17 Aug 2020 10:44:31 +0200 Subject: [PATCH 079/194] changes --- CHANGES.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 1731e65b..142e3fc4 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -7,7 +7,9 @@ - Menu : déplacement de la classe "active". - Le titre dans la configuration du module non affiché si le titre de la page est masqué. - Modifications : - - La recherche dans le site devient un module externe plutôt qu'un module interne ; diverses corrections dans le module. + - Module recherche : + - La recherche dans le site devient un module externe plutôt qu'un module interne ; + - Diverses corrections optimisations permettant une recherche à l'aide de plusieurs mot-clés. - Configuration du site : - Pages 403 (accès interdit) et 404 (page introuvable) personnalisables - Sauvegarde du site dans une archive : animation d'attente avec message de confirmation ou d'erreur. ; le nom de l'archive prend le nom du sous-domaine s'il existe. From 58b923fc1862d5d96686221b295621bb8f03cc6a Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Mon, 17 Aug 2020 10:51:45 +0200 Subject: [PATCH 080/194] =?UTF-8?q?aper=C3=A7u=20sur=20deux=20lignes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/search/search.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/module/search/search.php b/module/search/search.php index fd19d10f..2101ec4d 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -211,8 +211,8 @@ class search extends common { $nboccu .= count($matches[0]); foreach ($matches[0] as $key => $value) { // Mise en évidence - $d = $value[1] -50 < 0 ? 1 : $value[1] - 50; - $t = substr($contenu,(int) $d ,150); + $d = $value[1] - 50 < 0 ? 1 : $value[1] - 50; + $t = substr($contenu,(int) $d ,200); // Nettoyage caractères invalides $t = preg_replace('/[^[:alnum:][:space:]]/u', '', $t); // Applique une mise en évidence From 0f851a730461e3932e95271c6a952a04cc979e43 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Mon, 17 Aug 2020 10:53:32 +0200 Subject: [PATCH 081/194] =?UTF-8?q?Pr=C3=A9sentation=20de=20l'aper=C3=A7u?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/search/search.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/search/search.php b/module/search/search.php index 2101ec4d..6fc32079 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -218,7 +218,7 @@ class search extends common { // Applique une mise en évidence $t = preg_replace($motclef, '\1',$t,1); // Sauver résultat - $resultat .='"'.$t.'..."

    '; + $resultat .='...'.$t.' ...

    '; } } From a17a7e0807820eb77ca41ce66d52b2370560f45f Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Mon, 17 Aug 2020 11:05:44 +0200 Subject: [PATCH 082/194] =?UTF-8?q?multi=20mise=20en=20=C3=A9vidence?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/search/search.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/search/search.php b/module/search/search.php index 6fc32079..5eca3b2f 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -216,7 +216,7 @@ class search extends common { // Nettoyage caractères invalides $t = preg_replace('/[^[:alnum:][:space:]]/u', '', $t); // Applique une mise en évidence - $t = preg_replace($motclef, '\1',$t,1); + $t = preg_replace($motclef, '\1',$t); // Sauver résultat $resultat .='...'.$t.' ...

    '; From c541c2e742a08272400f7fc5a7a09575bdc5d832 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Mon, 17 Aug 2020 11:09:32 +0200 Subject: [PATCH 083/194] Masquer le nombre d'occurences --- module/search/search.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/module/search/search.php b/module/search/search.php index 5eca3b2f..2f817cc0 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -157,8 +157,8 @@ class search extends common { $result .='Aucun résultat. Avez-vous pensé aux accents ?'; $success = false; } else { - $r = self::$nbResults == 1 ? '' : '( ' .self::$nbResults . ' éléments découverts )'; - self::$resultTitle = ' Résultat de votre recherche ' . $r ; + //$r = self::$nbResults == 1 ? '' : '( ' .self::$nbResults . ' éléments découverts )'; + self::$resultTitle = ' Résultat de votre recherche';// ' . $r ; $success = true; } } else { From bd12f3d5d9a04fcdad955d1d61e3308942dcfeb2 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Mon, 17 Aug 2020 15:34:18 +0200 Subject: [PATCH 084/194] =?UTF-8?q?Modifications=20de=20=20libell=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core.php | 2 +- core/module/config/view/index/index.php | 4 ++-- module/search/search.php | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/core/core.php b/core/core.php index d9943611..1bacb585 100755 --- a/core/core.php +++ b/core/core.php @@ -2159,7 +2159,7 @@ class layout extends common { // Affichage du module de recherche $items .= 'getData(['theme','footer','displaySearch']) === false ? ' class="displayNone"' : ''; - $items .= '> | Rechercher'; + $items .= '> | Recherche'; $items .= ''; // Affichage des mentions légales $items .= ' 'Aucune'],helper::arrayCollumn($pages, 'title', 'SORT_ASC')), [ 'label' => 'Accès interdit, erreur 403', 'selected' =>$this->getData(['config', 'page403']), - 'help' => 'Une page 403 ne doit pas apparaître dans l\'arborescence du menu. Créez ou éditez une page orpheline.' + 'help' => 'Une page 403 ne doit pas apparaître dans l\'arborescence du menu. Créez et éditez une page orpheline.' ]); ?>
    @@ -189,7 +189,7 @@ echo template::select('configPage404', array_merge(['none' => 'Aucune'],helper::arrayCollumn($pages, 'title', 'SORT_ASC')), [ 'label' => 'Page inexistante, erreur 404 ', 'selected' =>$this->getData(['config', 'page404']), - 'help' => 'Une page 404 ne doit pas apparaître dans l\'arborescence du menu. Créez ou éditez une page orpheline.' + 'help' => 'Une page 404 ne doit pas apparaître dans l\'arborescence du menu. Créez et éditez une page orpheline.' ]); ?>
    diff --git a/module/search/search.php b/module/search/search.php index 2f817cc0..7e58d779 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -146,7 +146,6 @@ class search extends common { $contenu = $article['content']; // Articles de Blog $result .= $this->occurrence($url, $titre, $contenu, $keywords, self::$motentier); - } } } @@ -154,7 +153,7 @@ class search extends common { // Message de synthèse de la recherche if (self::$nbResults === 0) { - $result .='Aucun résultat. Avez-vous pensé aux accents ?'; + $result .='Avez-vous pensé aux accents ?'; $success = false; } else { //$r = self::$nbResults == 1 ? '' : '( ' .self::$nbResults . ' éléments découverts )'; From 4c43750e3af52607c5dead255bc437c851000376 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Mon, 17 Aug 2020 15:36:31 +0200 Subject: [PATCH 085/194] bug recherche vide --- module/search/search.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/search/search.php b/module/search/search.php index 7e58d779..55be5062 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -94,7 +94,7 @@ class search extends common { $keywords = substr($keywords,0,strlen($keywords) - 1); $keywords .= ')/i'; //echo $keywords; - if ($keywords !== "" && strlen($keywords) > 2) { + if (self::$motclef !== "" && strlen($keywords) > 2) { foreach($this->getHierarchy(null,false,null) as $parentId => $childIds) { if ($this->getData(['page', $parentId, 'disable']) === false && $this->getUser('group') >= $this->getData(['page', $parentId, 'group']) && From dd39587938687a777a9dac499a7d38bd332d00fb Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Mon, 17 Aug 2020 16:51:18 +0200 Subject: [PATCH 086/194] tri par pertinence + css --- module/search/search.php | 62 +++++++++++++++++++----------- module/search/view/index/index.css | 5 +++ 2 files changed, 44 insertions(+), 23 deletions(-) diff --git a/module/search/search.php b/module/search/search.php index 55be5062..739acd4f 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -66,7 +66,7 @@ class search extends common { if($this->isPost()) { //Initialisations variables $success = true; - $result = ''; + $result = []; $notification = ''; $total=''; self::$nbResults = 0; @@ -79,12 +79,6 @@ class search extends common { //Pour affichage de l'entête du résultat self::$resultTitle = 'Aucun résultat'; - $result = ''; - // protection des guillemets - // ^((("){1}([^"])*("){1})([ ]+))+$ - //preg_match('(?:^|(?<=\s))"([^"]+)"(?:$|(?=\s))',self::$motclef,$matches); - //print_r($matches); - // Découpage de la chaîne de mots clés $keywords = '/('; $a = explode(' ',self::$motclef); foreach ($a as $key => $value) { @@ -94,7 +88,7 @@ class search extends common { $keywords = substr($keywords,0,strlen($keywords) - 1); $keywords .= ')/i'; //echo $keywords; - if (self::$motclef !== "" && strlen($keywords) > 2) { + if (self::$motclef !== "" && strlen(self::$motclef) > 2) { foreach($this->getHierarchy(null,false,null) as $parentId => $childIds) { if ($this->getData(['page', $parentId, 'disable']) === false && $this->getUser('group') >= $this->getData(['page', $parentId, 'group']) && @@ -103,7 +97,9 @@ class search extends common { $titre = $this->getData(['page', $parentId, 'title']); $contenu = $this->getData(['page', $parentId, 'content']); // Pages sauf pages filles et articles de blog - $result .= $this->occurrence($url, $titre, $contenu, $keywords, self::$motentier); + if (!empty($this->occurrence($url, $titre, $contenu, $keywords, self::$motentier)) ) { + $result [] = $this->occurrence($url, $titre, $contenu, $keywords, self::$motentier); + } } foreach($childIds as $childId) { @@ -115,8 +111,9 @@ class search extends common { $titre = $this->getData(['page', $childId, 'title']); $contenu = $this->getData(['page', $childId, 'content']); //Pages filles - $result .= $this->occurrence($url, $titre, $contenu, $keywords, self::$motentier); - + if (!empty($this->occurrence($url, $titre, $contenu, $keywords, self::$motentier)) ) { + $result [] = $this->occurrence($url, $titre, $contenu, $keywords, self::$motentier); + } } // Articles d'une sous-page blog @@ -128,8 +125,9 @@ class search extends common { $titre = $article['title']; $contenu = $article['content']; // Articles de sous-page de type blog - $result .= $this->occurrence($url, $titre, $contenu, $keywords, self::$motentier); - + if (!empty($this->occurrence($url, $titre, $contenu, $keywords, self::$motentier)) ) { + $result [] = $this->occurrence($url, $titre, $contenu, $keywords, self::$motentier); + } } } } @@ -145,7 +143,9 @@ class search extends common { $titre = $article['title']; $contenu = $article['content']; // Articles de Blog - $result .= $this->occurrence($url, $titre, $contenu, $keywords, self::$motentier); + if (!empty($this->occurrence($url, $titre, $contenu, $keywords, self::$motentier)) ) { + $result [] = $this->occurrence($url, $titre, $contenu, $keywords, self::$motentier); + } } } } @@ -153,7 +153,7 @@ class search extends common { // Message de synthèse de la recherche if (self::$nbResults === 0) { - $result .='Avez-vous pensé aux accents ?'; + $result [] ='Avez-vous pensé aux accents ?'; $success = false; } else { //$r = self::$nbResults == 1 ? '' : '( ' .self::$nbResults . ' éléments découverts )'; @@ -161,11 +161,26 @@ class search extends common { $success = true; } } else { - $result = 'Trop court ! Minimum 3 caractères'; + $result [] = 'Trop court ! Minimum 3 caractères'; $success = false; } - - self::$resultList = $result; + // Calculer les longeurs des résultats dans $t + foreach ($result as $key => $value) { + $t[$key] = strlen($value); + } + // Trier $t par longueur de chaines + rsort($t); + // Affecter la nouvelle liste dans $r + foreach ($t as $key => $value) { + foreach ($result as $keyResult => $valueResult) { + if (strlen($result[$keyResult]) === $value) { + $r [] = $result[$keyResult]; + continue; + } + } + } + // Générer une chaine de cararctères + self::$resultList= implode("
    ", $r); // Valeurs en sortie, affichage du résultat $this->addOutput([ 'view' => 'index', @@ -209,15 +224,17 @@ class search extends common { $dejavu = $titre; $nboccu .= count($matches[0]); foreach ($matches[0] as $key => $value) { - // Mise en évidence + // Création de l'aperçu + // Eviter de découper avec une valeur négative $d = $value[1] - 50 < 0 ? 1 : $value[1] - 50; + // Rechercher l'espace le plus proche + $d = strpos($contenu,' ',$d); + // Découper l'aperçu $t = substr($contenu,(int) $d ,200); - // Nettoyage caractères invalides - $t = preg_replace('/[^[:alnum:][:space:]]/u', '', $t); // Applique une mise en évidence $t = preg_replace($motclef, '\1',$t); // Sauver résultat - $resultat .='...'.$t.' ...

    '; + $resultat .='
    ...'.$t.'...
    '; } } @@ -226,7 +243,6 @@ class search extends common { } while($occu != ''); self::$nbResults = self::$nbResults + $nboccu; // Nombre total d'occurences - return $resultat; } } diff --git a/module/search/view/index/index.css b/module/search/view/index/index.css index 906a9170..2903655b 100644 --- a/module/search/view/index/index.css +++ b/module/search/view/index/index.css @@ -1,3 +1,8 @@ .evidence { background: yellow; +} +.line { + font-style: italic; + margin: .5em; + margin-left: 1em; } \ No newline at end of file From 8bc087bc892839d4df9a25d9677c6fbef987889a Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Tue, 18 Aug 2020 19:07:28 +0200 Subject: [PATCH 087/194] =?UTF-8?q?am=C3=A9liorer=20css=20+=20pb=20double?= =?UTF-8?q?=20affichage=20+=20d=C3=A9coupage=20aper=C3=A7u?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/search/search.php | 52 ++++++++++++---------------- module/search/view/config/config.php | 2 +- module/search/view/index/index.css | 11 +++--- 3 files changed, 29 insertions(+), 36 deletions(-) diff --git a/module/search/search.php b/module/search/search.php index 739acd4f..7c7fcbf1 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -35,7 +35,7 @@ class search extends common { public static $defaultButtonText = 'Rechercher'; - public static $defaultPlaceHolder = 'Que recherchez-vous ?'; + public static $defaultPlaceHolder = 'Entrez un plusieurs mots-clés.'; const SEARCH_VERSION = '1.1'; @@ -211,37 +211,29 @@ class search extends common { $dejavu = ''; $total = ''; $resultat= ''; - // Recherche des occurrences - do { - $occu = preg_match_all($motclef,$contenu,$matches,PREG_OFFSET_CAPTURE); - if ($occu !== false && !empty($matches[0]) ) { - /*echo "
    ";
    -				print_r($matches);
    -				echo "
    ";*/ - if ($titre !== $dejavu) { - $resultat = '

    '.$titre.'

    '; - } - $dejavu = $titre; - $nboccu .= count($matches[0]); - foreach ($matches[0] as $key => $value) { - // Création de l'aperçu - // Eviter de découper avec une valeur négative - $d = $value[1] - 50 < 0 ? 1 : $value[1] - 50; - // Rechercher l'espace le plus proche - $d = strpos($contenu,' ',$d); - // Découper l'aperçu - $t = substr($contenu,(int) $d ,200); - // Applique une mise en évidence - $t = preg_replace($motclef, '\1',$t); - // Sauver résultat - $resultat .='
    ...'.$t.'...
    '; - - } + $occu = preg_match_all($motclef,$contenu,$matches,PREG_OFFSET_CAPTURE); + if ($occu !== false && !empty($matches[0]) ) { + if ($titre !== $dejavu) { + $resultat = '

    '.$titre.'

    '; + } + $dejavu = $titre; + $nboccu .= count($matches[0]); + foreach ($matches[0] as $key => $value) { + // Création de l'aperçu + // Eviter de découper avec une valeur négative + $d = $value[1] - 50 < 0 ? 1 : $value[1] - 50; + // Eviter de découper avec une valeur au-delà de la longueur + $d = $value[1] - 50 < 0 ? 1 : $value[1] - 50; + // Rechercher l'espace le plus proche + $d = $d > 1 ? strpos($contenu,' ',$d) : $d; + // Découper l'aperçu + $t = substr($contenu,(int) $d ,200); + // Applique une mise en évidence + $t = preg_replace($motclef, '\1',$t); + // Sauver résultat + $resultat .='
    '.$t.'...
    '; } - // Pour recherche d'une autre occurrence dans le même contenu - $contenu = substr($occu,10); } - while($occu != ''); self::$nbResults = self::$nbResults + $nboccu; // Nombre total d'occurences return $resultat; } diff --git a/module/search/view/config/config.php b/module/search/view/config/config.php index f3dc2d59..e2457966 100755 --- a/module/search/view/config/config.php +++ b/module/search/view/config/config.php @@ -19,7 +19,7 @@
    'Texte du bouton de soumission', + 'label' => 'Texte du bouton', 'value' => $this->getData(['module', $this->getUrl(0), 'submitText']), 'placeholder' => $module::$defaultButtonText ]); ?> diff --git a/module/search/view/index/index.css b/module/search/view/index/index.css index 2903655b..330cb608 100644 --- a/module/search/view/index/index.css +++ b/module/search/view/index/index.css @@ -1,8 +1,9 @@ -.evidence { +.seachTitle { + /* rien */ +} +.searchKeyword { background: yellow; } -.line { - font-style: italic; - margin: .5em; - margin-left: 1em; +.searchResult { + margin: .8em 0 .8em 0.5em; } \ No newline at end of file From 6647cf8beab3bec1dcd39c9891274685e402a6f2 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 19 Aug 2020 14:06:34 +0200 Subject: [PATCH 088/194] oups --- module/search/search.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/search/search.php b/module/search/search.php index 7c7fcbf1..da94ecd5 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -35,7 +35,7 @@ class search extends common { public static $defaultButtonText = 'Rechercher'; - public static $defaultPlaceHolder = 'Entrez un plusieurs mots-clés.'; + public static $defaultPlaceHolder = 'Entrez un ou plusieurs mots-clés.'; const SEARCH_VERSION = '1.1'; From 6a075b988018e0f0a2fd9ae5d6f9bbd97e86c154 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 19 Aug 2020 15:18:57 +0200 Subject: [PATCH 089/194] =?UTF-8?q?Moteur=20de=20recherche=20-=20r=C3=A9su?= =?UTF-8?q?ltats=20condens=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/search/search.php | 107 +++++++++++++---------------- module/search/view/index/index.css | 6 +- module/search/view/index/index.php | 9 +-- 3 files changed, 52 insertions(+), 70 deletions(-) diff --git a/module/search/search.php b/module/search/search.php index da94ecd5..89f9849a 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -23,18 +23,17 @@ class search extends common { 'config' => self::GROUP_MODERATOR ]; + // Variable pour l'affichage des résultats public static $resultList = ''; - - public static $nbResults = 0; - + public static $resultError = ''; public static $resultTitle = ''; + public static $nbResults = 0; public static $motclef = ''; - public static $motentier = ''; + // paramètres pas défaut public static $defaultButtonText = 'Rechercher'; - public static $defaultPlaceHolder = 'Entrez un ou plusieurs mots-clés.'; const SEARCH_VERSION = '1.1'; @@ -78,7 +77,6 @@ class search extends common { self::$motentier=$this->getInput('searchMotentier', helper::FILTER_BOOLEAN); //Pour affichage de l'entête du résultat - self::$resultTitle = 'Aucun résultat'; $keywords = '/('; $a = explode(' ',self::$motclef); foreach ($a as $key => $value) { @@ -97,8 +95,9 @@ class search extends common { $titre = $this->getData(['page', $parentId, 'title']); $contenu = $this->getData(['page', $parentId, 'content']); // Pages sauf pages filles et articles de blog - if (!empty($this->occurrence($url, $titre, $contenu, $keywords, self::$motentier)) ) { - $result [] = $this->occurrence($url, $titre, $contenu, $keywords, self::$motentier); + $tempData = $this->occurrence($url, $titre, $contenu, $keywords, self::$motentier); + if (is_array($tempData) ) { + $result [] = $tempData; } } @@ -111,8 +110,9 @@ class search extends common { $titre = $this->getData(['page', $childId, 'title']); $contenu = $this->getData(['page', $childId, 'content']); //Pages filles - if (!empty($this->occurrence($url, $titre, $contenu, $keywords, self::$motentier)) ) { - $result [] = $this->occurrence($url, $titre, $contenu, $keywords, self::$motentier); + $tempData = $this->occurrence($url, $titre, $contenu, $keywords, self::$motentier); + if (is_array($tempData) ) { + $result [] = $tempData; } } @@ -125,8 +125,9 @@ class search extends common { $titre = $article['title']; $contenu = $article['content']; // Articles de sous-page de type blog - if (!empty($this->occurrence($url, $titre, $contenu, $keywords, self::$motentier)) ) { - $result [] = $this->occurrence($url, $titre, $contenu, $keywords, self::$motentier); + $tempData = $this->occurrence($url, $titre, $contenu, $keywords, self::$motentier); + if (is_array($tempData) ) { + $result [] = $tempData; } } } @@ -134,7 +135,6 @@ class search extends common { } // Articles d'un blog - if ($this->getData(['page', $parentId, 'moduleId']) === 'blog' ) { foreach($this->getData(['module',$parentId]) as $articleId => $article) { if($this->getData(['module',$parentId,$articleId,'state']) === true) @@ -143,44 +143,34 @@ class search extends common { $titre = $article['title']; $contenu = $article['content']; // Articles de Blog - if (!empty($this->occurrence($url, $titre, $contenu, $keywords, self::$motentier)) ) { - $result [] = $this->occurrence($url, $titre, $contenu, $keywords, self::$motentier); + $tempData = $this->occurrence($url, $titre, $contenu, $keywords, self::$motentier); + if (is_array($tempData) ) { + $result [] = $tempData; } } } } - } - // Message de synthèse de la recherche - if (self::$nbResults === 0) { + } - $result [] ='Avez-vous pensé aux accents ?'; - $success = false; + // Message de synthèse de la recherche + if (count($result) === 0) { + self::$resultTitle = 'Aucun résultat'; + self::$resultError = 'Avez-vous pensé aux accents ?'; } else { - //$r = self::$nbResults == 1 ? '' : '( ' .self::$nbResults . ' éléments découverts )'; - self::$resultTitle = ' Résultat de votre recherche';// ' . $r ; - $success = true; + self::$resultError = ''; + self::$resultTitle = ' Résultat de votre recherche'; + rsort($result); + foreach ($result as $key => $value) { + $r [] = $value['preview']; + } + // Générer une chaine de caractères + self::$resultList= implode("
    ", $r); } } else { - $result [] = 'Trop court ! Minimum 3 caractères'; - $success = false; + self::$resultTitle = 'Aucun résultat'; + self::$resultError = 'Trop court ! Minimum 3 caractères'; } - // Calculer les longeurs des résultats dans $t - foreach ($result as $key => $value) { - $t[$key] = strlen($value); - } - // Trier $t par longueur de chaines - rsort($t); - // Affecter la nouvelle liste dans $r - foreach ($t as $key => $value) { - foreach ($result as $keyResult => $valueResult) { - if (strlen($result[$keyResult]) === $value) { - $r [] = $result[$keyResult]; - continue; - } - } - } - // Générer une chaine de cararctères - self::$resultList= implode("
    ", $r); + // Valeurs en sortie, affichage du résultat $this->addOutput([ 'view' => 'index', @@ -207,34 +197,29 @@ class search extends common { // Accentuation $contenu = html_entity_decode($contenu); // Initialisations - $nboccu = 0; - $dejavu = ''; - $total = ''; - $resultat= ''; - $occu = preg_match_all($motclef,$contenu,$matches,PREG_OFFSET_CAPTURE); - if ($occu !== false && !empty($matches[0]) ) { - if ($titre !== $dejavu) { - $resultat = '

    '.$titre.'

    '; - } - $dejavu = $titre; - $nboccu .= count($matches[0]); - foreach ($matches[0] as $key => $value) { + + $valid = preg_match_all($motclef,$contenu,$matches,PREG_OFFSET_CAPTURE); + if ($valid > 0 ) { + if (($matches[0][0][1]) > 0) { + $resultat = '

    ' . $titre . '

    '; // Création de l'aperçu // Eviter de découper avec une valeur négative - $d = $value[1] - 50 < 0 ? 1 : $value[1] - 50; - // Eviter de découper avec une valeur au-delà de la longueur - $d = $value[1] - 50 < 0 ? 1 : $value[1] - 50; + $d = $matches[0][0][1] - 50 < 0 ? 1 : $matches[0][0][1] - 50; // Rechercher l'espace le plus proche $d = $d > 1 ? strpos($contenu,' ',$d) : $d; // Découper l'aperçu - $t = substr($contenu,(int) $d ,200); + $t = substr($contenu,(int) $d ,300); // Applique une mise en évidence $t = preg_replace($motclef, '\1',$t); // Sauver résultat - $resultat .='
    '.$t.'...
    '; + $resultat .= '

    '.$t.'...

    '; + $resultat .= '

    '.count($matches[0]) . ' occurence(s)

    '; + //} + return ([ + 'matches' => count($matches[0]), + 'preview' => $resultat + ]); } } - self::$nbResults = self::$nbResults + $nboccu; // Nombre total d'occurences - return $resultat; } } diff --git a/module/search/view/index/index.css b/module/search/view/index/index.css index 330cb608..775fd2dc 100644 --- a/module/search/view/index/index.css +++ b/module/search/view/index/index.css @@ -1,5 +1,7 @@ -.seachTitle { - /* rien */ +.searchTitle { + font: caption; + font-style: italic; + margin-left: .5em; } .searchKeyword { background: yellow; diff --git a/module/search/view/index/index.php b/module/search/view/index/index.php index 8e42cb34..1a86d1c6 100755 --- a/module/search/view/index/index.php +++ b/module/search/view/index/index.php @@ -23,16 +23,11 @@

    -

    - +

    +

    - From 3731ef209a90228e526d82f1ca5d024fe4c8ab1d Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 19 Aug 2020 15:27:23 +0200 Subject: [PATCH 090/194] pluriel occurence --- module/search/search.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/module/search/search.php b/module/search/search.php index 89f9849a..9cc9d8e9 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -213,7 +213,8 @@ class search extends common { $t = preg_replace($motclef, '\1',$t); // Sauver résultat $resultat .= '

    '.$t.'...

    '; - $resultat .= '

    '.count($matches[0]) . ' occurence(s)

    '; + $o = count($matches[0]) === 1 ? ' occurence

    ' : ' occurences

    '; + $resultat .= '

    '.count($matches[0]) . $o; //} return ([ 'matches' => count($matches[0]), From 1f4ba11970ede33daae2cbc1604739e8ae946381 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 19 Aug 2020 15:31:03 +0200 Subject: [PATCH 091/194] occurence pluriel sur une ligne --- module/search/search.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/module/search/search.php b/module/search/search.php index 9cc9d8e9..90ae8899 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -213,8 +213,7 @@ class search extends common { $t = preg_replace($motclef, '\1',$t); // Sauver résultat $resultat .= '

    '.$t.'...

    '; - $o = count($matches[0]) === 1 ? ' occurence

    ' : ' occurences

    '; - $resultat .= '

    '.count($matches[0]) . $o; + $resultat .= '

    '.count($matches[0]) . (count($matches[0]) === 1 ? ' occurence

    ' : ' occurences

    '); //} return ([ 'matches' => count($matches[0]), From 29a419345019581bb38966bb547162d2c3299c9b Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 19 Aug 2020 16:40:23 +0200 Subject: [PATCH 092/194] Petites corrections --- module/search/search.php | 2 +- module/search/view/index/index.css | 4 ++-- module/search/view/index/index.php | 7 +++++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/module/search/search.php b/module/search/search.php index 90ae8899..205aee32 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -164,7 +164,7 @@ class search extends common { $r [] = $value['preview']; } // Générer une chaine de caractères - self::$resultList= implode("
    ", $r); + self::$resultList= implode("", $r); } } else { self::$resultTitle = 'Aucun résultat'; diff --git a/module/search/view/index/index.css b/module/search/view/index/index.css index 775fd2dc..5a7d9319 100644 --- a/module/search/view/index/index.css +++ b/module/search/view/index/index.css @@ -1,11 +1,11 @@ .searchTitle { font: caption; font-style: italic; - margin-left: .5em; + margin-left: 1em; } .searchKeyword { background: yellow; } .searchResult { - margin: .8em 0 .8em 0.5em; + margin: .3em 0 .3em 1em; } \ No newline at end of file diff --git a/module/search/view/index/index.php b/module/search/view/index/index.php index 1a86d1c6..1e66cdd5 100755 --- a/module/search/view/index/index.php +++ b/module/search/view/index/index.php @@ -26,8 +26,11 @@

    -

    -

    + '.$module::$resultList.'

    '; + ?> + '.$module::$resultError.'

    '; ?>
    From 540ec4a796dddf8606cef745034d2c23d1bbe56a Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 19 Aug 2020 17:46:39 +0200 Subject: [PATCH 093/194] Champ vide --- module/search/view/index/index.php | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/module/search/view/index/index.php b/module/search/view/index/index.php index 1e66cdd5..da7d8d94 100755 --- a/module/search/view/index/index.php +++ b/module/search/view/index/index.php @@ -25,12 +25,14 @@

    -

    - '.$module::$resultList.'

    '; + + '.$module::$resultList.'

    '; + ?> + '.$module::$resultError.'

    '; ?> - '.$module::$resultError.'

    '; ?>
    From 18c5ca26a7c9287d056cd95cee571e550e9b7f2a Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 19 Aug 2020 18:15:23 +0200 Subject: [PATCH 094/194] =?UTF-8?q?pr=C3=A9sentation=20div=20h4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/search/view/index/index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/search/view/index/index.php b/module/search/view/index/index.php index da7d8d94..76393c7a 100755 --- a/module/search/view/index/index.php +++ b/module/search/view/index/index.php @@ -26,7 +26,7 @@
    + echo '

    '.$module::$resultTitle . '

    '; ?> '.$module::$resultList.'

    '; ?> From 64641b241748cb3e0a15326dc74649dd89eb5f44 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 19 Aug 2020 18:16:49 +0200 Subject: [PATCH 095/194] =?UTF-8?q?pr=C3=A9sentation=20bloc=20h4=20encore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/search/view/index/index.php | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/module/search/view/index/index.php b/module/search/view/index/index.php index 76393c7a..bd27bcdb 100755 --- a/module/search/view/index/index.php +++ b/module/search/view/index/index.php @@ -22,17 +22,18 @@
    -
    -
    -
    - '.$module::$resultTitle . ''; ?> - '.$module::$resultList.'

    '; - ?> - '.$module::$resultError.'

    '; - ?> +
    + +
    +
    + '.$module::$resultTitle . ''; ?> + '.$module::$resultList.'

    '; + ?> + '.$module::$resultError.'

    '; + ?> +
    -
    + From 6f3e81f7cecea70e411fb136624b48d7b2ab8f37 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 19 Aug 2020 18:44:40 +0200 Subject: [PATCH 096/194] Gallery : modif theme notification + espace en trop --- module/gallery/gallery.php | 4 ++-- module/gallery/ressource/defaultdata.php | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/module/gallery/gallery.php b/module/gallery/gallery.php index 27a7d9d2..91b865ce 100755 --- a/module/gallery/gallery.php +++ b/module/gallery/gallery.php @@ -655,8 +655,8 @@ class gallery extends common { // Valeurs en sortie $this->addOutput([ 'redirect' => helper::baseUrl() . $this->getUrl() . '/theme', - 'notification' => $success ? 'Modifications enregistrées' : 'Modifications non enregistées !', - 'state' => $success + 'notification' => $success !== FALSE ? 'Modifications enregistrées' : 'Modifications non enregistées !', + 'state' => $success !== FALSE ]); } // Valeurs en sortie diff --git a/module/gallery/ressource/defaultdata.php b/module/gallery/ressource/defaultdata.php index 7a66f120..ff71bbc3 100755 --- a/module/gallery/ressource/defaultdata.php +++ b/module/gallery/ressource/defaultdata.php @@ -7,7 +7,7 @@ class theme extends gallery { 'thumbMargin' => '.5em', 'thumbBorder' => '.1em', 'thumbOpacity' => '.7', - 'thumbBorderColor' => 'rgba(221, 221, 221, 1)', + 'thumbBorderColor' => 'rgba(221, 221, 221, 1)', 'thumbRadius' => '.3em', 'thumbShadows' => '1px 1px 10px', 'thumbShadowsColor'=> 'rgba(125, 125, 125, 1)', From 04c5fe5193dd655403bd2e80540e236b8fbbcb20 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 19 Aug 2020 18:46:00 +0200 Subject: [PATCH 097/194] =?UTF-8?q?Module=20search=20choix=20couleur=20des?= =?UTF-8?q?=20mots-cl=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/search/ressource/theme.css | 11 +++++++++++ module/search/ressource/vartheme.css | 3 +++ module/search/search.php | 21 +++++++++++++++++---- module/search/view/config/config.php | 12 ++++++++++-- module/search/view/index/index.css | 5 ++++- site/file/source/icones/loupe.png | Bin 6 files changed, 45 insertions(+), 7 deletions(-) create mode 100755 module/search/ressource/theme.css create mode 100755 module/search/ressource/vartheme.css mode change 100644 => 100755 module/search/view/index/index.css mode change 100644 => 100755 site/file/source/icones/loupe.png diff --git a/module/search/ressource/theme.css b/module/search/ressource/theme.css new file mode 100755 index 00000000..63462103 --- /dev/null +++ b/module/search/ressource/theme.css @@ -0,0 +1,11 @@ +.searchTitle { + font: caption; + font-style: italic; + margin-left: 1em; +} +.searchKeyword { + background: var(--keywordColor); +} +.searchResult { + margin: .3em 0 .3em 1em; +} \ No newline at end of file diff --git a/module/search/ressource/vartheme.css b/module/search/ressource/vartheme.css new file mode 100755 index 00000000..9a5c4cdb --- /dev/null +++ b/module/search/ressource/vartheme.css @@ -0,0 +1,3 @@ +.searchKeyword { + --keywordColor: #keywordColor#; +} diff --git a/module/search/search.php b/module/search/search.php index 205aee32..6b65800c 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -45,19 +45,32 @@ class search extends common { $this->setData(['module', $this->getUrl(0), [ 'submitText' => $this->getInput('searchSubmitText'), 'placeHolder' => $this->getInput('searchPlaceHolder'), - 'resultHideContent' => $this->getInput('searchResultHideContent',helper::FILTER_BOOLEAN) + 'resultHideContent' => $this->getInput('searchResultHideContent',helper::FILTER_BOOLEAN), + 'keywordColor' => $this->getInput('searchKeywordColor') ]]); + + // Création des fichiers CSS + $content = file_get_contents('module/search/ressource/vartheme.css'); + $themeCss = file_get_contents('module/search/ressource/theme.css'); + // Injection des variables + $content = str_replace('#keywordColor#',$this->getinput('searchKeywordColor'),$content ); + $success = file_put_contents('module/search/view/index/index.css',$content . $themeCss); + // Valeurs en sortie, affichage du formulaire $this->addOutput([ 'redirect' => helper::baseUrl() . $this->getUrl(), - 'notification' => 'Modifications enregistrées', - 'state' => true + 'notification' => $success !== FALSE ? 'Modifications enregistrées' : 'Modifications non enregistées !', + 'state' => $success !== FALSE ]); + } // Valeurs en sortie, affichage du formulaire $this->addOutput([ 'title' => 'Configuration du module', - 'view' => 'config' + 'view' => 'config', + 'vendor' => [ + 'tinycolorpicker' + ] ]); } diff --git a/module/search/view/config/config.php b/module/search/view/config/config.php index e2457966..c1fed71d 100755 --- a/module/search/view/config/config.php +++ b/module/search/view/config/config.php @@ -17,14 +17,22 @@

    Paramètres

    -
    +
    + 'colorPicker', + 'help' => 'Le curseur horizontal règle le niveau de transparence.', + 'label' => 'Mot-clef en évidence', + 'value' => $this->getData(['module', $this->getUrl(0), 'keywordColor']) + ]); ?> +
    +
    'Texte du bouton', 'value' => $this->getData(['module', $this->getUrl(0), 'submitText']), 'placeholder' => $module::$defaultButtonText ]); ?>
    -
    +
    'Aide dans la zone de saisie', 'value' => $this->getData(['module', $this->getUrl(0), 'placeHolder']), diff --git a/module/search/view/index/index.css b/module/search/view/index/index.css old mode 100644 new mode 100755 index 5a7d9319..3af11bdd --- a/module/search/view/index/index.css +++ b/module/search/view/index/index.css @@ -1,10 +1,13 @@ +.searchKeyword { + --keywordColor: rgba(227, 227, 14, 0.8); +} .searchTitle { font: caption; font-style: italic; margin-left: 1em; } .searchKeyword { - background: yellow; + background: var(--keywordColor); } .searchResult { margin: .3em 0 .3em 1em; diff --git a/site/file/source/icones/loupe.png b/site/file/source/icones/loupe.png old mode 100644 new mode 100755 From 1c065ba5468e5e212a98db68af859af25517c1e6 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 19 Aug 2020 19:02:37 +0200 Subject: [PATCH 098/194] =?UTF-8?q?Recherche=20d'une=20suite=20de=20mots-c?= =?UTF-8?q?l=C3=A9s.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/search/search.php | 10 ++++------ module/search/view/index/index.php | 3 ++- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/module/search/search.php b/module/search/search.php index 6b65800c..1de32f27 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -34,7 +34,7 @@ class search extends common { // paramètres pas défaut public static $defaultButtonText = 'Rechercher'; - public static $defaultPlaceHolder = 'Entrez un ou plusieurs mots-clés.'; + public static $defaultPlaceHolder = 'Un plusieurs mots-clés séparés par un espace ou par +'; const SEARCH_VERSION = '1.1'; @@ -98,8 +98,9 @@ class search extends common { } $keywords = substr($keywords,0,strlen($keywords) - 1); $keywords .= ')/i'; - //echo $keywords; - if (self::$motclef !== "" && strlen(self::$motclef) > 2) { + $keywords = str_replace ('+', ' ',$keywords); + echo $keywords; + if (self::$motclef !== '' ) { foreach($this->getHierarchy(null,false,null) as $parentId => $childIds) { if ($this->getData(['page', $parentId, 'disable']) === false && $this->getUser('group') >= $this->getData(['page', $parentId, 'group']) && @@ -179,9 +180,6 @@ class search extends common { // Générer une chaine de caractères self::$resultList= implode("", $r); } - } else { - self::$resultTitle = 'Aucun résultat'; - self::$resultError = 'Trop court ! Minimum 3 caractères'; } // Valeurs en sortie, affichage du résultat diff --git a/module/search/view/index/index.php b/module/search/view/index/index.php index bd27bcdb..d87515a4 100755 --- a/module/search/view/index/index.php +++ b/module/search/view/index/index.php @@ -17,7 +17,8 @@
    $module::$motentier + 'checked' => $module::$motentier, + 'help' => 'Pour rechercher une suite de mots-clés, les séparez par le symbole + plutôt que l\'espace.' ]); ?>
    From 711b3ffab91813533f085f94c76752dff166479b Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 19 Aug 2020 19:05:00 +0200 Subject: [PATCH 099/194] =?UTF-8?q?echo=20supprim=C3=A9=20+=20couleur=20pa?= =?UTF-8?q?r=20d=C3=A9faut=20keyword?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/search/search.php | 1 - module/search/view/index/index.css | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/module/search/search.php b/module/search/search.php index 1de32f27..8b2e6d07 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -99,7 +99,6 @@ class search extends common { $keywords = substr($keywords,0,strlen($keywords) - 1); $keywords .= ')/i'; $keywords = str_replace ('+', ' ',$keywords); - echo $keywords; if (self::$motclef !== '' ) { foreach($this->getHierarchy(null,false,null) as $parentId => $childIds) { if ($this->getData(['page', $parentId, 'disable']) === false && diff --git a/module/search/view/index/index.css b/module/search/view/index/index.css index 3af11bdd..ebe4a812 100755 --- a/module/search/view/index/index.css +++ b/module/search/view/index/index.css @@ -1,5 +1,5 @@ .searchKeyword { - --keywordColor: rgba(227, 227, 14, 0.8); + --keywordColor: rgba(10, 183, 170, 0.46); } .searchTitle { font: caption; From 3feab64a17eb95edfe610c93d9c5f2fd9b71c7c0 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 19 Aug 2020 20:34:40 +0200 Subject: [PATCH 100/194] =?UTF-8?q?Stockage=20des=20param=C3=A8tres=20g?= =?UTF-8?q?=C3=A9n=C3=A9rique=20au=20module?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/search/search.php | 3 +-- module/search/view/config/config.php | 6 +++--- module/search/view/index/index.css | 2 +- site/file/thumb/icones/loupe.png | Bin 4 files changed, 5 insertions(+), 6 deletions(-) mode change 100644 => 100755 site/file/thumb/icones/loupe.png diff --git a/module/search/search.php b/module/search/search.php index 8b2e6d07..49d3e815 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -42,13 +42,12 @@ class search extends common { public function config() { if($this->isPost()) { // Soumission du formulaire - $this->setData(['module', $this->getUrl(0), [ + $this->setData(['module', 'search', [ 'submitText' => $this->getInput('searchSubmitText'), 'placeHolder' => $this->getInput('searchPlaceHolder'), 'resultHideContent' => $this->getInput('searchResultHideContent',helper::FILTER_BOOLEAN), 'keywordColor' => $this->getInput('searchKeywordColor') ]]); - // Création des fichiers CSS $content = file_get_contents('module/search/ressource/vartheme.css'); $themeCss = file_get_contents('module/search/ressource/theme.css'); diff --git a/module/search/view/config/config.php b/module/search/view/config/config.php index c1fed71d..9e79794e 100755 --- a/module/search/view/config/config.php +++ b/module/search/view/config/config.php @@ -22,20 +22,20 @@ 'class' => 'colorPicker', 'help' => 'Le curseur horizontal règle le niveau de transparence.', 'label' => 'Mot-clef en évidence', - 'value' => $this->getData(['module', $this->getUrl(0), 'keywordColor']) + 'value' => $this->getData(['module', 'search', 'keywordColor']) ]); ?>
    'Texte du bouton', - 'value' => $this->getData(['module', $this->getUrl(0), 'submitText']), + 'value' => $this->getData(['module', 'search', 'submitText']), 'placeholder' => $module::$defaultButtonText ]); ?>
    'Aide dans la zone de saisie', - 'value' => $this->getData(['module', $this->getUrl(0), 'placeHolder']), + 'value' => $this->getData(['module', 'search', 'placeHolder']), 'placeholder' => $module::$defaultPlaceHolder ]); ?>
    diff --git a/module/search/view/index/index.css b/module/search/view/index/index.css index ebe4a812..2030ce0a 100755 --- a/module/search/view/index/index.css +++ b/module/search/view/index/index.css @@ -1,5 +1,5 @@ .searchKeyword { - --keywordColor: rgba(10, 183, 170, 0.46); + --keywordColor: rgba(80, 237, 9, 0.88); } .searchTitle { font: caption; diff --git a/site/file/thumb/icones/loupe.png b/site/file/thumb/icones/loupe.png old mode 100644 new mode 100755 From d2b6c54418010b59b17774f2bad1287c66b1106f Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 19 Aug 2020 21:08:00 +0200 Subject: [PATCH 101/194] =?UTF-8?q?Gallery=20stockage=20unique=20des=20par?= =?UTF-8?q?am=C3=A8tres=20de=20theme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/gallery/gallery.php | 8 +++---- module/gallery/view/gallery/gallery.css | 24 ++++++++++----------- module/gallery/view/index/index.css | 24 ++++++++++----------- module/gallery/view/theme/theme.php | 28 ++++++++++++------------- 4 files changed, 42 insertions(+), 42 deletions(-) diff --git a/module/gallery/gallery.php b/module/gallery/gallery.php index 91b865ce..84a2ba19 100755 --- a/module/gallery/gallery.php +++ b/module/gallery/gallery.php @@ -19,7 +19,7 @@ class gallery extends common { const SORT_ASC = 'SORT_ASC'; const SORT_DSC = 'SORT_DSC'; const SORT_HAND = 'SORT_HAND'; - const GALLERY_VERSION = '2.26'; + const GALLERY_VERSION = '2.3'; public static $directories = []; @@ -608,14 +608,14 @@ class gallery extends common { } // Initialisation des données de thème de la galerie dasn theme.json // Création des valeur par défaut absentes - if ( $this->getData(['theme', $this->getUrl(0)]) === null ) { + if ( $this->getData(['theme', 'gallery']) === null ) { require_once('module/gallery/ressource/defaultdata.php'); - $this->setData(['theme', $this->getUrl(0), theme::$defaultData]); + $this->setData(['theme', 'gallery', theme::$defaultData]); } // Soumission du formulaire if($this->isPost()) { - $this->setData(['theme', $this->getUrl(0), [ + $this->setData(['theme', 'gallery', [ 'thumbAlign' => $this->getinput('galleryThemeThumbAlign'), 'thumbWidth' => $this->getinput('galleryThemeThumbWidth'), 'thumbHeight' => $this->getinput('galleryThemeThumbHeight'), diff --git a/module/gallery/view/gallery/gallery.css b/module/gallery/view/gallery/gallery.css index a9da4105..b8f9959e 100755 --- a/module/gallery/view/gallery/gallery.css +++ b/module/gallery/view/gallery/gallery.css @@ -2,28 +2,28 @@ --thumbAlign: center; } .colPicture { - --thumbWidth: 18em; - --thumbMargin: .5em; + --thumbWidth: 15em; + --thumbMargin: .3em; } .galleryPicture, .galleryGalleryPicture { - --thumbHeight: 15em; - --thumbBorder: .1em; - --thumbBorderColor: rgba(221, 221, 221, 1); - --thumbRadius: .3em; - --thumbShadows: 1px 1px 10px; - --thumbShadowsColor: rgba(125, 125, 125, 1); + --thumbHeight: 12em; + --thumbBorder: 0em; + --thumbBorderColor: rgba(121, 176, 214, 1); + --thumbRadius: 0em; + --thumbShadows: 0px; + --thumbShadowsColor: rgba(29, 72, 104, 1); } .galleryName, .galleryGalleryName { - --legendHeight: .375em; + --legendHeight: .125em; --legendAlign: center; - --legendTextColor: rgba(255, 255, 255, 1); - --legendBgColor: rgba(0, 0, 0, .6); + --legendTextColor: rgba(4, 21, 39, 1); + --legendBgColor: rgba(143, 181, 184, 0.74); } .galleryPicture:hover, .galleryGalleryPicture:hover { - --thumbOpacity: .7; + --thumbOpacity: 1; } .galleryPicture, .galleryGalleryPicture { diff --git a/module/gallery/view/index/index.css b/module/gallery/view/index/index.css index a9da4105..b8f9959e 100755 --- a/module/gallery/view/index/index.css +++ b/module/gallery/view/index/index.css @@ -2,28 +2,28 @@ --thumbAlign: center; } .colPicture { - --thumbWidth: 18em; - --thumbMargin: .5em; + --thumbWidth: 15em; + --thumbMargin: .3em; } .galleryPicture, .galleryGalleryPicture { - --thumbHeight: 15em; - --thumbBorder: .1em; - --thumbBorderColor: rgba(221, 221, 221, 1); - --thumbRadius: .3em; - --thumbShadows: 1px 1px 10px; - --thumbShadowsColor: rgba(125, 125, 125, 1); + --thumbHeight: 12em; + --thumbBorder: 0em; + --thumbBorderColor: rgba(121, 176, 214, 1); + --thumbRadius: 0em; + --thumbShadows: 0px; + --thumbShadowsColor: rgba(29, 72, 104, 1); } .galleryName, .galleryGalleryName { - --legendHeight: .375em; + --legendHeight: .125em; --legendAlign: center; - --legendTextColor: rgba(255, 255, 255, 1); - --legendBgColor: rgba(0, 0, 0, .6); + --legendTextColor: rgba(4, 21, 39, 1); + --legendBgColor: rgba(143, 181, 184, 0.74); } .galleryPicture:hover, .galleryGalleryPicture:hover { - --thumbOpacity: .7; + --thumbOpacity: 1; } .galleryPicture, .galleryGalleryPicture { diff --git a/module/gallery/view/theme/theme.php b/module/gallery/view/theme/theme.php index 704cb0c7..d9759a14 100755 --- a/module/gallery/view/theme/theme.php +++ b/module/gallery/view/theme/theme.php @@ -20,25 +20,25 @@
    'Largeur', - 'selected' => $this->getData(['theme', $this->getUrl(0),'thumbWidth']) + 'selected' => $this->getData(['theme', 'gallery','thumbWidth']) ]); ?>
    'Hauteur', - 'selected' => $this->getData(['theme', $this->getUrl(0),'thumbHeight']) + 'selected' => $this->getData(['theme', 'gallery','thumbHeight']) ]); ?>
    'Alignement', - 'selected' => $this->getData(['theme', $this->getUrl(0),'thumbAlign']) + 'selected' => $this->getData(['theme', 'gallery','thumbAlign']) ]); ?>
    'Marge', - 'selected' => $this->getData(['theme', $this->getUrl(0),'thumbMargin']) + 'selected' => $this->getData(['theme', 'gallery','thumbMargin']) ]); ?>
    @@ -46,7 +46,7 @@
    'Bordure', - 'selected' => $this->getData(['theme', $this->getUrl(0),'thumbBorder']) + 'selected' => $this->getData(['theme', 'gallery','thumbBorder']) ]); ?>
    @@ -54,13 +54,13 @@ 'class' => 'colorPicker', 'help' => 'Le curseur horizontal règle le niveau de transparence.', 'label' => 'Couleur de la bordure', - 'value' => $this->getData(['theme', $this->getUrl(0),'thumbBorderColor']) + 'value' => $this->getData(['theme', 'gallery','thumbBorderColor']) ]); ?>
    'Arrondi des angles', - 'selected' => $this->getData(['theme', $this->getUrl(0),'thumbRadius']) + 'selected' => $this->getData(['theme', 'gallery','thumbRadius']) ]); ?>
    @@ -68,7 +68,7 @@
    'Ombre', - 'selected' => $this->getData(['theme', $this->getUrl(0),'thumbShadows']) + 'selected' => $this->getData(['theme', 'gallery','thumbShadows']) ]); ?>
    @@ -76,13 +76,13 @@ 'class' => 'colorPicker', 'help' => 'Le curseur horizontal règle le niveau de transparence.', 'label' => 'Couleur de l\'ombre', - 'value' => $this->getData(['theme', $this->getUrl(0),'thumbShadowsColor']) + 'value' => $this->getData(['theme', 'gallery','thumbShadowsColor']) ]); ?>
    'Opacité au survol', - 'selected' => $this->getData(['theme', $this->getUrl(0),'thumbOpacity']) + 'selected' => $this->getData(['theme', 'gallery','thumbOpacity']) ]); ?>
    @@ -99,7 +99,7 @@ 'class' => 'colorPicker', 'help' => 'Le curseur horizontal règle le niveau de transparence.', 'label' => 'Texte', - 'value' => $this->getData(['theme', $this->getUrl(0),'legendTextColor']) + 'value' => $this->getData(['theme', 'gallery','legendTextColor']) ]); ?>
    @@ -107,19 +107,19 @@ 'class' => 'colorPicker', 'help' => 'Le curseur horizontal règle le niveau de transparence.', 'label' => 'Fond', - 'value' => $this->getData(['theme', $this->getUrl(0),'legendBgColor']) + 'value' => $this->getData(['theme', 'gallery','legendBgColor']) ]); ?>
    'Hauteur', - 'selected' => $this->getData(['theme', $this->getUrl(0),'legendHeight']) + 'selected' => $this->getData(['theme', 'gallery','legendHeight']) ]); ?>
    'Alignement', - 'selected' => $this->getData(['theme', $this->getUrl(0),'legendAlign']) + 'selected' => $this->getData(['theme', 'gallery','legendAlign']) ]); ?>
    From f25b27eae089f03972a4282a2936946a2fab5324 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 19 Aug 2020 21:08:21 +0200 Subject: [PATCH 102/194] =?UTF-8?q?Search=20gestion=20du=20th=C3=A8me=20mo?= =?UTF-8?q?difi=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/search/ressource/defaultdata.php | 6 ++++++ module/search/search.php | 16 ++++++++++------ module/search/view/config/config.php | 18 ++++++++---------- module/search/view/index/index.css | 2 +- module/search/view/index/index.php | 4 ++-- 5 files changed, 27 insertions(+), 19 deletions(-) create mode 100644 module/search/ressource/defaultdata.php diff --git a/module/search/ressource/defaultdata.php b/module/search/ressource/defaultdata.php new file mode 100644 index 00000000..70f27c6c --- /dev/null +++ b/module/search/ressource/defaultdata.php @@ -0,0 +1,6 @@ + 'rgba(229, 229, 1, 1)' + ]; +} \ No newline at end of file diff --git a/module/search/search.php b/module/search/search.php index 49d3e815..feba7693 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -32,21 +32,25 @@ class search extends common { public static $motclef = ''; public static $motentier = ''; - // paramètres pas défaut - public static $defaultButtonText = 'Rechercher'; - public static $defaultPlaceHolder = 'Un plusieurs mots-clés séparés par un espace ou par +'; - const SEARCH_VERSION = '1.1'; // Configuration vide public function config() { + // Initialisation des données de thème de la galerie dasn theme.json + // Création des valeur par défaut absentes + if ( $this->getData(['theme', 'search']) === null ) { + require_once('module/search/ressource/defaultdata.php'); + $this->setData(['theme', 'search', theme::$defaultData]); + } if($this->isPost()) { // Soumission du formulaire - $this->setData(['module', 'search', [ + $this->setData(['theme', 'search', [ + 'keywordColor' => $this->getInput('searchKeywordColor') + ]]); + $this->setData(['module', $this->getUrl(0), [ 'submitText' => $this->getInput('searchSubmitText'), 'placeHolder' => $this->getInput('searchPlaceHolder'), 'resultHideContent' => $this->getInput('searchResultHideContent',helper::FILTER_BOOLEAN), - 'keywordColor' => $this->getInput('searchKeywordColor') ]]); // Création des fichiers CSS $content = file_get_contents('module/search/ressource/vartheme.css'); diff --git a/module/search/view/config/config.php b/module/search/view/config/config.php index 9e79794e..ed1c6b39 100755 --- a/module/search/view/config/config.php +++ b/module/search/view/config/config.php @@ -17,26 +17,24 @@

    Paramètres

    -
    +
    'colorPicker', - 'help' => 'Le curseur horizontal règle le niveau de transparence.', - 'label' => 'Mot-clef en évidence', - 'value' => $this->getData(['module', 'search', 'keywordColor']) + 'help' => ' Cette couleur est commune à tous les modules de recherche. Le curseur horizontal règle le niveau de transparence.', + 'label' => 'Mot-clef en évidence.', + 'value' => $this->getData(['theme', 'search', 'keywordColor']) ]); ?>
    -
    +
    'Texte du bouton', - 'value' => $this->getData(['module', 'search', 'submitText']), - 'placeholder' => $module::$defaultButtonText + 'value' => $this->getData(['module', $this->getUrl(0), 'submitText']) ? $this->getData(['module', $this->getUrl(0), 'submitText']) : 'Rechercher' ]); ?>
    -
    +
    'Aide dans la zone de saisie', - 'value' => $this->getData(['module', 'search', 'placeHolder']), - 'placeholder' => $module::$defaultPlaceHolder + 'value' => $this->getData(['module', $this->getUrl(0), 'placeHolder']) ? $this->getData(['module', $this->getUrl(0), 'placeHolder']) : 'Un plusieurs mots-clés séparés par un espace ou par +' ]); ?>
    diff --git a/module/search/view/index/index.css b/module/search/view/index/index.css index 2030ce0a..8e5dc743 100755 --- a/module/search/view/index/index.css +++ b/module/search/view/index/index.css @@ -1,5 +1,5 @@ .searchKeyword { - --keywordColor: rgba(80, 237, 9, 0.88); + --keywordColor: rgba(229, 229, 1, 1); } .searchTitle { font: caption; diff --git a/module/search/view/index/index.php b/module/search/view/index/index.php index d87515a4..0b40c108 100755 --- a/module/search/view/index/index.php +++ b/module/search/view/index/index.php @@ -4,13 +4,13 @@
    $this->getData(['module',$this->getUrl(0),'placeHolder']) ? $this->getData(['module',$this->getUrl(0),'placeHolder']) : $module::$defaultPlaceHolder, + 'placeholder' => $this->getData(['module', $this->getUrl(0), 'placeHolder']) ? $this->getData(['module', $this->getUrl(0), 'placeHolder']) : 'Un plusieurs mots-clés séparés par un espace ou par +', 'value' => $module::$motclef ]); ?>
    $this->getData(['module',$this->getUrl(0),'submitText']) ? $this->getData(['module',$this->getUrl(0),'submitText']) : $module::$defaultButtonText + 'value' => $this->getData(['module', $this->getUrl(0), 'submitText']) ? $this->getData(['module', $this->getUrl(0), 'submitText']) : 'Rechercher' ]); ?>
    From b3a094c4ee05f9f6a15cd64c0740b9e80c39d81c Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Thu, 20 Aug 2020 12:14:36 +0200 Subject: [PATCH 103/194] =?UTF-8?q?Libell=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/search/search.php | 2 +- module/search/view/config/config.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/module/search/search.php b/module/search/search.php index feba7693..c18a221f 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -226,7 +226,7 @@ class search extends common { $t = preg_replace($motclef, '\1',$t); // Sauver résultat $resultat .= '

    '.$t.'...

    '; - $resultat .= '

    '.count($matches[0]) . (count($matches[0]) === 1 ? ' occurence

    ' : ' occurences

    '); + $resultat .= '

    '.count($matches[0]) . (count($matches[0]) === 1 ? ' correspondance

    ' : ' correspondances

    '); //} return ([ 'matches' => count($matches[0]), diff --git a/module/search/view/config/config.php b/module/search/view/config/config.php index ed1c6b39..dde7aeb9 100755 --- a/module/search/view/config/config.php +++ b/module/search/view/config/config.php @@ -21,7 +21,7 @@ 'colorPicker', 'help' => ' Cette couleur est commune à tous les modules de recherche. Le curseur horizontal règle le niveau de transparence.', - 'label' => 'Mot-clef en évidence.', + 'label' => 'Surlignement', 'value' => $this->getData(['theme', 'search', 'keywordColor']) ]); ?>

    @@ -34,7 +34,7 @@
    'Aide dans la zone de saisie', - 'value' => $this->getData(['module', $this->getUrl(0), 'placeHolder']) ? $this->getData(['module', $this->getUrl(0), 'placeHolder']) : 'Un plusieurs mots-clés séparés par un espace ou par +' + 'value' => $this->getData(['module', $this->getUrl(0), 'placeHolder']) ? $this->getData(['module', $this->getUrl(0), 'placeHolder']) : 'Un ou plusieurs mots-clés séparés par un espace ou par +' ]); ?>
    From f7b411a09f80e7db966369069abf7774a86a0312 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Thu, 20 Aug 2020 13:21:28 +0200 Subject: [PATCH 104/194] =?UTF-8?q?Modif=20galerie=20:=20mise=20=C3=A0=20j?= =?UTF-8?q?our=20et=20nettoyage=20du=20json?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core.php | 27 +++++++++++++++++++++++++ module/gallery/view/gallery/gallery.css | 24 +++++++++++----------- module/gallery/view/index/index.css | 24 +++++++++++----------- 3 files changed, 51 insertions(+), 24 deletions(-) mode change 100755 => 100644 module/gallery/view/gallery/gallery.css diff --git a/core/core.php b/core/core.php index 1bacb585..8b3b6c6b 100755 --- a/core/core.php +++ b/core/core.php @@ -1373,6 +1373,33 @@ class common { $this->setData(['theme','footer','displaySearch',false]); // Inscription des nouvelles variables $this->setData(['config','searchPageId','']); + + // Actualisation du stockage du thème de la galerie + //---------------------------------------- + // Mettre à jour les données des galeries + $pageList = array(); + foreach ($this->getHierarchy(null,null,null) as $parentKey=>$parentValue) { + $pageList [] = $parentKey; + foreach ($parentValue as $childKey) { + $pageList [] = $childKey; + } + } + // Mise à jour des données de thème de la galerie + // Les données de thème sont communes au site + foreach ($pageList as $parentKey => $parent) { + //La page a une galerie + if ($this->getData(['page',$parent,'moduleId']) === 'gallery' ) { + foreach ( $this->getData(['module', $parent]) as $galleryKey => $galleryItem) { + // Transfert du theme dans une structure unique + if ( is_array($this->getdata(['theme',$parent])) ) { + $this->setdata(['theme','gallery',$this->getdata(['theme',$parent])]); + } + } + $this->deleteData(['theme',$parent]); + } + } + + // Mise à jour du numéro de version $this->setData(['core', 'dataVersion', 10300]); } } diff --git a/module/gallery/view/gallery/gallery.css b/module/gallery/view/gallery/gallery.css old mode 100755 new mode 100644 index b8f9959e..a9da4105 --- a/module/gallery/view/gallery/gallery.css +++ b/module/gallery/view/gallery/gallery.css @@ -2,28 +2,28 @@ --thumbAlign: center; } .colPicture { - --thumbWidth: 15em; - --thumbMargin: .3em; + --thumbWidth: 18em; + --thumbMargin: .5em; } .galleryPicture, .galleryGalleryPicture { - --thumbHeight: 12em; - --thumbBorder: 0em; - --thumbBorderColor: rgba(121, 176, 214, 1); - --thumbRadius: 0em; - --thumbShadows: 0px; - --thumbShadowsColor: rgba(29, 72, 104, 1); + --thumbHeight: 15em; + --thumbBorder: .1em; + --thumbBorderColor: rgba(221, 221, 221, 1); + --thumbRadius: .3em; + --thumbShadows: 1px 1px 10px; + --thumbShadowsColor: rgba(125, 125, 125, 1); } .galleryName, .galleryGalleryName { - --legendHeight: .125em; + --legendHeight: .375em; --legendAlign: center; - --legendTextColor: rgba(4, 21, 39, 1); - --legendBgColor: rgba(143, 181, 184, 0.74); + --legendTextColor: rgba(255, 255, 255, 1); + --legendBgColor: rgba(0, 0, 0, .6); } .galleryPicture:hover, .galleryGalleryPicture:hover { - --thumbOpacity: 1; + --thumbOpacity: .7; } .galleryPicture, .galleryGalleryPicture { diff --git a/module/gallery/view/index/index.css b/module/gallery/view/index/index.css index b8f9959e..a9da4105 100755 --- a/module/gallery/view/index/index.css +++ b/module/gallery/view/index/index.css @@ -2,28 +2,28 @@ --thumbAlign: center; } .colPicture { - --thumbWidth: 15em; - --thumbMargin: .3em; + --thumbWidth: 18em; + --thumbMargin: .5em; } .galleryPicture, .galleryGalleryPicture { - --thumbHeight: 12em; - --thumbBorder: 0em; - --thumbBorderColor: rgba(121, 176, 214, 1); - --thumbRadius: 0em; - --thumbShadows: 0px; - --thumbShadowsColor: rgba(29, 72, 104, 1); + --thumbHeight: 15em; + --thumbBorder: .1em; + --thumbBorderColor: rgba(221, 221, 221, 1); + --thumbRadius: .3em; + --thumbShadows: 1px 1px 10px; + --thumbShadowsColor: rgba(125, 125, 125, 1); } .galleryName, .galleryGalleryName { - --legendHeight: .125em; + --legendHeight: .375em; --legendAlign: center; - --legendTextColor: rgba(4, 21, 39, 1); - --legendBgColor: rgba(143, 181, 184, 0.74); + --legendTextColor: rgba(255, 255, 255, 1); + --legendBgColor: rgba(0, 0, 0, .6); } .galleryPicture:hover, .galleryGalleryPicture:hover { - --thumbOpacity: 1; + --thumbOpacity: .7; } .galleryPicture, .galleryGalleryPicture { From f26924461c0e03578273f8d636d765f31eb6c42c Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Thu, 20 Aug 2020 13:43:40 +0200 Subject: [PATCH 105/194] =?UTF-8?q?avertissement=20dans=20th=C3=A8mes=20ga?= =?UTF-8?q?lerie=20et=20recherche?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/gallery/view/theme/theme.php | 14 ++++++----- module/search/view/config/config.php | 35 +++++++++++++++++----------- 2 files changed, 29 insertions(+), 20 deletions(-) diff --git a/module/gallery/view/theme/theme.php b/module/gallery/view/theme/theme.php index d9759a14..07ed6da9 100755 --- a/module/gallery/view/theme/theme.php +++ b/module/gallery/view/theme/theme.php @@ -1,4 +1,5 @@ +
    -

    Configuration des vignettes

    +

    Vignettes

    Thème commun à tous les modules de galerie du site
    -

    Configuration des légendes

    +

    Légendes

    Thème commun à tous les modules de galerie du site
    +
    -
    -
    Version n° - +
    +
    Version n° +
    -
    +
    \ No newline at end of file diff --git a/module/search/view/config/config.php b/module/search/view/config/config.php index dde7aeb9..e62ea4e3 100755 --- a/module/search/view/config/config.php +++ b/module/search/view/config/config.php @@ -12,33 +12,23 @@
    -
    +
    -

    Paramètres

    +

    Paramètres du module

    -
    - 'colorPicker', - 'help' => ' Cette couleur est commune à tous les modules de recherche. Le curseur horizontal règle le niveau de transparence.', - 'label' => 'Surlignement', - 'value' => $this->getData(['theme', 'search', 'keywordColor']) - ]); ?> -
    -
    +
    'Texte du bouton', 'value' => $this->getData(['module', $this->getUrl(0), 'submitText']) ? $this->getData(['module', $this->getUrl(0), 'submitText']) : 'Rechercher' ]); ?>
    -
    +
    'Aide dans la zone de saisie', 'value' => $this->getData(['module', $this->getUrl(0), 'placeHolder']) ? $this->getData(['module', $this->getUrl(0), 'placeHolder']) : 'Un ou plusieurs mots-clés séparés par un espace ou par +' ]); ?>
    -
    -
    $this->getData(['module', $this->getUrl(0), 'resultHideContent']), @@ -48,6 +38,23 @@
    +
    +
    +
    +

    Thème

    (commun à tous les modules de recherche du site) +
    +
    + 'colorPicker', + 'help' => 'Le curseur horizontal règle le niveau de transparence.', + 'label' => 'Surlignement', + 'value' => $this->getData(['theme', 'search', 'keywordColor']) + ]); ?> +
    +
    +
    +
    +
    Version n° From 7986fc27d714a76deb8c7bb7ea7779f6dc335f94 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Thu, 20 Aug 2020 15:56:48 +0200 Subject: [PATCH 106/194] =?UTF-8?q?Ic=C3=B4nes=20d'aide?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/gallery/view/theme/theme.php | 12 ++++++++++-- module/search/view/config/config.php | 7 +++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/module/gallery/view/theme/theme.php b/module/gallery/view/theme/theme.php index 07ed6da9..8ada32ed 100755 --- a/module/gallery/view/theme/theme.php +++ b/module/gallery/view/theme/theme.php @@ -16,7 +16,11 @@
    -

    Vignettes

    Thème commun à tous les modules de galerie du site +

    Vignettes + +

    -

    Légendes

    Thème commun à tous les modules de galerie du site +

    Légendes + +

    -

    Thème

    (commun à tous les modules de recherche du site) +

    Thème + +

    'colorPicker', - 'help' => 'Le curseur horizontal règle le niveau de transparence.', + 'help' => 'Le curseur horizontal règle le niveau de transparence, le placer tout à la gauche pour un surlignement invisible.', 'label' => 'Surlignement', 'value' => $this->getData(['theme', 'search', 'keywordColor']) ]); ?> From 016790052cf6cb6ab8c67cf75b8ce885c60ccba8 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Thu, 20 Aug 2020 16:11:11 +0200 Subject: [PATCH 107/194] =?UTF-8?q?Dimension=20de=20l'aper=C3=A7u?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/search/search.php | 14 ++++++++++---- module/search/view/config/config.php | 12 ++++++++++-- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/module/search/search.php b/module/search/search.php index c18a221f..9477be85 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -23,14 +23,20 @@ class search extends common { 'config' => self::GROUP_MODERATOR ]; - // Variable pour l'affichage des résultats + // Variables pour l'affichage des résultats public static $resultList = ''; public static $resultError = ''; public static $resultTitle = ''; - public static $nbResults = 0; + // Variables pour le dialogue avec le formulaire public static $motclef = ''; public static $motentier = ''; + public static $previewLength = [ + 100 => '100 caractères', + 200 => '200 caractères', + 300 => '300 caractères', + 400 => '400 caractères', + ]; const SEARCH_VERSION = '1.1'; @@ -51,6 +57,7 @@ class search extends common { 'submitText' => $this->getInput('searchSubmitText'), 'placeHolder' => $this->getInput('searchPlaceHolder'), 'resultHideContent' => $this->getInput('searchResultHideContent',helper::FILTER_BOOLEAN), + 'previewLength' => $this->getInput('searchPreviewLength',helper::FILTER_INT) ]]); // Création des fichiers CSS $content = file_get_contents('module/search/ressource/vartheme.css'); @@ -84,7 +91,6 @@ class search extends common { $result = []; $notification = ''; $total=''; - self::$nbResults = 0; // Récupération du mot clef passé par le formulaire de ...view/index.php, avec caractères accentués self::$motclef=$this->getInput('searchMotphraseclef'); @@ -221,7 +227,7 @@ class search extends common { // Rechercher l'espace le plus proche $d = $d > 1 ? strpos($contenu,' ',$d) : $d; // Découper l'aperçu - $t = substr($contenu,(int) $d ,300); + $t = substr($contenu,(int) $d ,$this->getData(['module',$this->getUrl(0),'previewLength'])); // Applique une mise en évidence $t = preg_replace($motclef, '\1',$t); // Sauver résultat diff --git a/module/search/view/config/config.php b/module/search/view/config/config.php index 4bf0ffe8..ba56088d 100755 --- a/module/search/view/config/config.php +++ b/module/search/view/config/config.php @@ -17,13 +17,21 @@

    Paramètres du module

    -
    +
    'Texte du bouton', 'value' => $this->getData(['module', $this->getUrl(0), 'submitText']) ? $this->getData(['module', $this->getUrl(0), 'submitText']) : 'Rechercher' ]); ?>
    -
    +
    + 'Dimension de l\'aperçu', + 'selected' => $this->getData(['module', $this->getUrl(0),'previewLength']) + ]); ?> +
    +
    +
    +
    'Aide dans la zone de saisie', 'value' => $this->getData(['module', $this->getUrl(0), 'placeHolder']) ? $this->getData(['module', $this->getUrl(0), 'placeHolder']) : 'Un ou plusieurs mots-clés séparés par un espace ou par +' From b050238af7e78ed175d2cb2b9c04b5b25c451d38 Mon Sep 17 00:00:00 2001 From: fredtempez Date: Thu, 20 Aug 2020 19:31:11 +0200 Subject: [PATCH 108/194] Erreur d'initialisation --- module/search/ressource/defaultdata.php | 8 ++++++++ module/search/search.php | 18 +++++++++++++----- module/search/view/config/config.php | 6 +++--- 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/module/search/ressource/defaultdata.php b/module/search/ressource/defaultdata.php index 70f27c6c..74af410a 100644 --- a/module/search/ressource/defaultdata.php +++ b/module/search/ressource/defaultdata.php @@ -3,4 +3,12 @@ class theme extends search { public static $defaultData = [ 'keywordColor' => 'rgba(229, 229, 1, 1)' ]; +} +class data extends search { + public static $defaultData = [ + 'previewLength' => 100, + 'resultHideContent' => false, + 'placeHolder' => 'Un plusieurs mots-clés séparés par un espace ou par +', + 'submitText' => 'Rechercher' + ]; } \ No newline at end of file diff --git a/module/search/search.php b/module/search/search.php index 9477be85..ffa973aa 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -43,11 +43,6 @@ class search extends common { // Configuration vide public function config() { // Initialisation des données de thème de la galerie dasn theme.json - // Création des valeur par défaut absentes - if ( $this->getData(['theme', 'search']) === null ) { - require_once('module/search/ressource/defaultdata.php'); - $this->setData(['theme', 'search', theme::$defaultData]); - } if($this->isPost()) { // Soumission du formulaire $this->setData(['theme', 'search', [ @@ -86,6 +81,19 @@ class search extends common { public function index() { if($this->isPost()) { + + // Création des valeurs de thème par défaut + if ( $this->getData(['theme', 'search']) === null ) { + require_once('module/search/ressource/defaultdata.php'); + $this->setData(['theme', 'search', theme::$defaultData]); + } + // Création des valeurs de réglage par défaut + if ( $this->getData(['module', 'search']) === null ) { + require_once('module/search/ressource/defaultdata.php'); + $this->setData(['module', $this->getUrl(0), data::$defaultData]); + } + + //Initialisations variables $success = true; $result = []; diff --git a/module/search/view/config/config.php b/module/search/view/config/config.php index ba56088d..8280ee9a 100755 --- a/module/search/view/config/config.php +++ b/module/search/view/config/config.php @@ -20,7 +20,7 @@
    'Texte du bouton', - 'value' => $this->getData(['module', $this->getUrl(0), 'submitText']) ? $this->getData(['module', $this->getUrl(0), 'submitText']) : 'Rechercher' + 'value' => $this->getData(['module', $this->getUrl(0), 'submitText']) ]); ?>
    @@ -34,11 +34,11 @@
    'Aide dans la zone de saisie', - 'value' => $this->getData(['module', $this->getUrl(0), 'placeHolder']) ? $this->getData(['module', $this->getUrl(0), 'placeHolder']) : 'Un ou plusieurs mots-clés séparés par un espace ou par +' + 'value' => $this->getData(['module', $this->getUrl(0), 'placeHolder']) ]); ?>
    - $this->getData(['module', $this->getUrl(0), 'resultHideContent']), ]); ?>
    From 14aaa9af23bd102a56b466adcb5ad5a1a81fb028 Mon Sep 17 00:00:00 2001 From: fredtempez Date: Thu, 20 Aug 2020 19:31:19 +0200 Subject: [PATCH 109/194] =?UTF-8?q?espace=20supprim=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/core/core.php b/core/core.php index 8b3b6c6b..0e871d58 100755 --- a/core/core.php +++ b/core/core.php @@ -1374,8 +1374,6 @@ class common { // Inscription des nouvelles variables $this->setData(['config','searchPageId','']); - // Actualisation du stockage du thème de la galerie - //---------------------------------------- // Mettre à jour les données des galeries $pageList = array(); foreach ($this->getHierarchy(null,null,null) as $parentKey=>$parentValue) { From 86b552ec939158144d958fd0b6b0b620d89eccd1 Mon Sep 17 00:00:00 2001 From: fredtempez Date: Thu, 20 Aug 2020 19:33:03 +0200 Subject: [PATCH 110/194] changes --- CHANGES.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index 142e3fc4..a1b4a8db 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -10,6 +10,8 @@ - Module recherche : - La recherche dans le site devient un module externe plutôt qu'un module interne ; - Diverses corrections optimisations permettant une recherche à l'aide de plusieurs mot-clés. + - Module galerie : + - Les données du thème de galerie sont désormais stockés de manière unique, un seul thème par site pour toutes les galeries d'un même site. - Configuration du site : - Pages 403 (accès interdit) et 404 (page introuvable) personnalisables - Sauvegarde du site dans une archive : animation d'attente avec message de confirmation ou d'erreur. ; le nom de l'archive prend le nom du sous-domaine s'il existe. From 1325b09fe9968e1a96999a1a24a313836774b48c Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 21 Aug 2020 09:45:59 +0200 Subject: [PATCH 111/194] =?UTF-8?q?d=C3=A9faut=20d'initialisation=20+=20li?= =?UTF-8?q?bell=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/search/ressource/defaultdata.php | 2 +- module/search/search.php | 25 ++++++++++++------------- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/module/search/ressource/defaultdata.php b/module/search/ressource/defaultdata.php index 74af410a..4eb9eaa6 100644 --- a/module/search/ressource/defaultdata.php +++ b/module/search/ressource/defaultdata.php @@ -8,7 +8,7 @@ class data extends search { public static $defaultData = [ 'previewLength' => 100, 'resultHideContent' => false, - 'placeHolder' => 'Un plusieurs mots-clés séparés par un espace ou par +', + 'placeHolder' => 'Un ou plusieurs mots-clés séparés par un espace ou par +', 'submitText' => 'Rechercher' ]; } \ No newline at end of file diff --git a/module/search/search.php b/module/search/search.php index ffa973aa..7b128f81 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -80,20 +80,19 @@ class search extends common { } public function index() { + // Création des valeurs de thème par défaut + if ( $this->getData(['theme', 'search']) === null ) { + require_once('module/search/ressource/defaultdata.php'); + $this->setData(['theme', 'search', theme::$defaultData]); + } + // Création des valeurs de réglage par défaut + var_dump($this->getData(['module', 'search'])); + if ( $this->getData(['module', 'search']) === null ) { + require_once('module/search/ressource/defaultdata.php'); + $this->setData(['module', $this->getUrl(0), data::$defaultData]); + } + if($this->isPost()) { - - // Création des valeurs de thème par défaut - if ( $this->getData(['theme', 'search']) === null ) { - require_once('module/search/ressource/defaultdata.php'); - $this->setData(['theme', 'search', theme::$defaultData]); - } - // Création des valeurs de réglage par défaut - if ( $this->getData(['module', 'search']) === null ) { - require_once('module/search/ressource/defaultdata.php'); - $this->setData(['module', $this->getUrl(0), data::$defaultData]); - } - - //Initialisations variables $success = true; $result = []; From 04d585b27717c72384d5d3e65fa52c93d03ac5c5 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 21 Aug 2020 09:50:06 +0200 Subject: [PATCH 112/194] =?UTF-8?q?libell=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/search/view/index/index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/search/view/index/index.php b/module/search/view/index/index.php index 0b40c108..b87104b6 100755 --- a/module/search/view/index/index.php +++ b/module/search/view/index/index.php @@ -18,7 +18,7 @@
    $module::$motentier, - 'help' => 'Pour rechercher une suite de mots-clés, les séparez par le symbole + plutôt que l\'espace.' + 'help' => 'Pour rechercher des mots-clés consécutifs, reliez-les par le symbole +.' ]); ?>
    From 04978ab13a51e3534f63afe6bbb60025da33f301 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 21 Aug 2020 14:55:40 +0200 Subject: [PATCH 113/194] debug off --- module/search/search.php | 1 - 1 file changed, 1 deletion(-) diff --git a/module/search/search.php b/module/search/search.php index 7b128f81..d8e3fdde 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -86,7 +86,6 @@ class search extends common { $this->setData(['theme', 'search', theme::$defaultData]); } // Création des valeurs de réglage par défaut - var_dump($this->getData(['module', 'search'])); if ( $this->getData(['module', 'search']) === null ) { require_once('module/search/ressource/defaultdata.php'); $this->setData(['module', $this->getUrl(0), data::$defaultData]); From 707397f3ec7db3dc498fa7ff9cb6aed4c84164d7 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 21 Aug 2020 18:01:55 +0200 Subject: [PATCH 114/194] 10.2.07 bug flatpickr dans le module formulaire --- CHANGES.md | 6 +++++- module/form/form.php | 10 ++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index e698931e..b6bd1bbf 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,9 +1,13 @@ # Changelog +## version 10.2.07 +- Correction : + - Défaut de chargement de flatpickr dans le module formulaire qui passe en version 2.4 + ## version 10.2.06 - Corrections : - Anticipation de la dépréciation de l'option de cookie samesite=none. - - Warning : absence de fichier map dans le thème TinyMCE lightgray + - Warning : absence de fichier map dans le thème TinyMCE lightgray. ## version 10.2.05 - Correction : diff --git a/module/form/form.php b/module/form/form.php index 2784ebdf..19918a4d 100755 --- a/module/form/form.php +++ b/module/form/form.php @@ -32,7 +32,7 @@ class form extends common { public static $pagination; - const FORM_VERSION = '2.3'; + const FORM_VERSION = '2.4'; // Objets const TYPE_MAIL = 'mail'; @@ -382,7 +382,10 @@ class form extends common { $this->addOutput([ 'notification' => ($sent === true ? 'Formulaire soumis' : $sent), 'redirect' => $redirect ? helper::baseUrl() . $redirect : '', - 'state' => ($sent === true ? true : null) + 'state' => ($sent === true ? true : null), + 'vendor' => [ + 'flatpickr' + ], ]); } // Valeurs en sortie @@ -390,6 +393,9 @@ class form extends common { 'showBarEditButton' => true, 'showPageContent' => true, 'view' => 'index', + 'vendor' => [ + 'flatpickr' + ], ]); } } From 4e88ec43adcfd9258603a2b8ea8181dba279f565 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 21 Aug 2020 18:35:07 +0200 Subject: [PATCH 115/194] =?UTF-8?q?10.2.07=20Num=C3=A9rotation=20de=20la?= =?UTF-8?q?=20version?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- core/core.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f427f44d..fd806728 100755 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ![](https://img.shields.io/github/last-commit/fredtempez/ZwiiCMS/master) ![](https://img.shields.io/github/release-date/fredtempez/ZwiiCMS) -# ZwiiCMS 10.2.06 +# ZwiiCMS 10.2.07 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/core/core.php b/core/core.php index c7e34b24..219210ef 100755 --- a/core/core.php +++ b/core/core.php @@ -39,7 +39,7 @@ class common { const ACCESS_TIMER = 1800; // Numéro de version - const ZWII_VERSION = '10.2.06'; + const ZWII_VERSION = '10.2.07'; const ZWII_UPDATE_CHANNEL = "v10"; public static $actions = []; From 34f0f8ff0dc4271e7feabe59d14ed1e5bc055217 Mon Sep 17 00:00:00 2001 From: fredtempez Date: Sat, 22 Aug 2020 10:48:03 +0200 Subject: [PATCH 116/194] 10.2.08 bug pageId --- CHANGES.md | 4 ++++ README.md | 2 +- core/core.php | 2 +- core/module/page/page.php | 7 ++++++- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index b6bd1bbf..690a500b 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,9 @@ # Changelog +## version 10.2.08 +- Correction : + - Bug pageId, régression corrigée. + ## version 10.2.07 - Correction : - Défaut de chargement de flatpickr dans le module formulaire qui passe en version 2.4 diff --git a/README.md b/README.md index fd806728..77cd7536 100755 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ![](https://img.shields.io/github/last-commit/fredtempez/ZwiiCMS/master) ![](https://img.shields.io/github/release-date/fredtempez/ZwiiCMS) -# ZwiiCMS 10.2.07 +# ZwiiCMS 10.2.08 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/core/core.php b/core/core.php index 219210ef..a3f31036 100755 --- a/core/core.php +++ b/core/core.php @@ -39,7 +39,7 @@ class common { const ACCESS_TIMER = 1800; // Numéro de version - const ZWII_VERSION = '10.2.07'; + const ZWII_VERSION = '10.2.08'; const ZWII_UPDATE_CHANNEL = "v10"; public static $actions = []; diff --git a/core/module/page/page.php b/core/module/page/page.php index 0afd8acd..f409058e 100755 --- a/core/module/page/page.php +++ b/core/module/page/page.php @@ -184,7 +184,12 @@ class page extends common { else { // Soumission du formulaire if($this->isPost()) { - $pageId = $this->getInput('pageEditTitle', helper::FILTER_ID, true); + // Génére l'ID si le titre de la page a changé + if ( $this->getInput('pageEditTitle') !== $this->getData(['page',$this->getUrl(2),'title']) ) { + $pageId = $this->getInput('pageEditTitle', helper::FILTER_ID, true); + } else { + $pageId = $this->getUrl(2); + } // un dossier existe du même nom (erreur en cas de redirection) if (file_exists($pageId)) { $pageId = uniqid($pageId); From a6a46fea76cd82d314be8aff40a2f0d0c501fdbc Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 22 Aug 2020 18:26:08 +0200 Subject: [PATCH 117/194] Alignement des select --- core/module/theme/view/footer/footer.php | 79 +++++++++++++++--------- 1 file changed, 51 insertions(+), 28 deletions(-) diff --git a/core/module/theme/view/footer/footer.php b/core/module/theme/view/footer/footer.php index c95d2c89..fcccdac8 100755 --- a/core/module/theme/view/footer/footer.php +++ b/core/module/theme/view/footer/footer.php @@ -148,7 +148,6 @@

    Configuration des blocs

    - getData(['theme', 'footer', 'template'])) ? $module::$footerblocks[3] : $module::$footerblocks [$this->getData(['theme', 'footer', 'template'])] ;?> 'Disposition', @@ -171,39 +170,63 @@

    Contenu personnalisé

    - 'Emplacement', - 'selected' => $this->getData(['theme', 'footer', 'textPosition']), - 'class' => 'themeFooterContent' - ]); ?> - 'Alignement', - 'selected' => $this->getData(['theme', 'footer', 'textAlign']) - ]); ?> +
    +
    + 'Emplacement', + 'selected' => $this->getData(['theme', 'footer', 'textPosition']), + 'class' => 'themeFooterContent' + ]); ?> +
    +
    +
    +
    + 'Alignement', + 'selected' => $this->getData(['theme', 'footer', 'textAlign']) + ]); ?> +
    +

    Réseaux sociaux

    - 'Emplacement', - 'selected' => $this->getData(['theme', 'footer', 'socialsPosition']), - 'class' => 'themeFooterContent' - ]); ?> - 'Alignement', - 'selected' => $this->getData(['theme', 'footer', 'socialsAlign']) - ]); ?> +
    +
    + 'Emplacement', + 'selected' => $this->getData(['theme', 'footer', 'socialsPosition']), + 'class' => 'themeFooterContent' + ]); ?> +
    +
    +
    +
    + 'Alignement', + 'selected' => $this->getData(['theme', 'footer', 'socialsAlign']) + ]); ?> +
    +

    Informations

    - 'Emplacement', - 'selected' => $this->getData(['theme', 'footer', 'copyrightPosition']), - 'class' => 'themeFooterContent' - ]); ?> - 'Alignement', - 'selected' => $this->getData(['theme', 'footer', 'copyrightAlign']) - ]); ?> +
    +
    + 'Emplacement', + 'selected' => $this->getData(['theme', 'footer', 'copyrightPosition']), + 'class' => 'themeFooterContent' + ]); ?> +
    +
    +
    +
    + 'Alignement', + 'selected' => $this->getData(['theme', 'footer', 'copyrightAlign']) + ]); ?> +
    +
    From f7b1e7638793508f796c922e59503da70602a53c Mon Sep 17 00:00:00 2001 From: fredtempez Date: Mon, 24 Aug 2020 20:04:28 +0200 Subject: [PATCH 118/194] =?UTF-8?q?mots=20cl=C3=A9s=20approchants=20+=20mo?= =?UTF-8?q?t=20cl=C3=A9=20suivi=20d'un=20caract=C3=A8re=20de=20ponctuation?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/search/search.php | 2 +- module/search/view/index/index.php | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/module/search/search.php b/module/search/search.php index d8e3fdde..25355f9c 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -109,7 +109,7 @@ class search extends common { $a = explode(' ',self::$motclef); foreach ($a as $key => $value) { - $keywords .= self::$motentier === false ? $value . '|' : '\\b' . $value . '\\b|' ; + $keywords .= self::$motentier === true ? $value . '|' : '\\b' . $value . '\\b\\W|' ; } $keywords = substr($keywords,0,strlen($keywords) - 1); $keywords .= ')/i'; diff --git a/module/search/view/index/index.php b/module/search/view/index/index.php index b87104b6..66b72b91 100755 --- a/module/search/view/index/index.php +++ b/module/search/view/index/index.php @@ -16,9 +16,8 @@
    - $module::$motentier, - 'help' => 'Pour rechercher des mots-clés consécutifs, reliez-les par le symbole +.' + $module::$motentier ]); ?>
    From 5ece1ed117936e9c6cec0c5cc1d50b3edc4135fa Mon Sep 17 00:00:00 2001 From: fredtempez Date: Tue, 25 Aug 2020 20:43:17 +0200 Subject: [PATCH 119/194] Permission 644 --- core/class/SitemapGenerator.class.php | 0 core/class/autoload.php | 0 core/class/helper.class.php | 0 core/class/jsondb/Dot.class.php | 0 core/class/jsondb/JsonDb.class.php | 0 core/class/phpmailer/Exception.class.php | 0 core/class/phpmailer/PHPMailer.class.php | 0 core/class/phpmailer/SMTP.class.php | 0 core/class/template.class.php | 0 core/core.js.php | 0 core/core.php | 0 core/layout/blank.php | 0 core/layout/light.php | 0 core/layout/mail.php | 0 core/layout/main.php | 0 core/module/config/config.php | 0 core/module/config/view/backup/backup.php | 0 core/module/config/view/index/index.js.php | 0 core/module/config/view/index/index.php | 0 core/module/config/view/manage/manage.php | 0 core/module/config/view/restore/restore.php | 0 core/module/config/view/script/script.php | 0 core/module/install/install.php | 0 core/module/install/ressource/defaultdata.php | 0 core/module/install/view/index/index.js.php | 0 core/module/install/view/index/index.php | 0 core/module/install/view/update/update.js.php | 0 core/module/install/view/update/update.php | 0 core/module/maintenance/maintenance.php | 0 core/module/maintenance/view/index/index.php | 0 core/module/page/page.php | 0 core/module/page/view/edit/edit.js.php | 0 core/module/page/view/edit/edit.php | 0 core/module/search/search.php | 0 core/module/search/view/index/index.php | 0 core/module/search/view/result/result.php | 0 core/module/sitemap/sitemap.php | 0 core/module/sitemap/view/index/index.php | 0 core/module/theme/theme.php | 0 core/module/theme/view/admin/admin.js.php | 0 core/module/theme/view/admin/admin.php | 0 core/module/theme/view/advanced/advanced.js.php | 0 core/module/theme/view/advanced/advanced.php | 0 core/module/theme/view/body/body.js.php | 0 core/module/theme/view/body/body.php | 0 core/module/theme/view/footer/footer.js.php | 0 core/module/theme/view/footer/footer.php | 0 core/module/theme/view/header/header.js.php | 0 core/module/theme/view/header/header.php | 0 core/module/theme/view/index/index.js.php | 0 core/module/theme/view/index/index.php | 0 core/module/theme/view/manage/manage.php | 0 core/module/theme/view/menu/menu.js.php | 0 core/module/theme/view/menu/menu.php | 0 core/module/theme/view/site/site.js.php | 0 core/module/theme/view/site/site.php | 0 core/module/user/user.php | 0 core/module/user/view/add/add.js.php | 0 core/module/user/view/add/add.php | 0 core/module/user/view/edit/edit.js.php | 0 core/module/user/view/edit/edit.php | 0 core/module/user/view/forgot/forgot.php | 0 core/module/user/view/index/index.js.php | 0 core/module/user/view/index/index.php | 0 core/module/user/view/login/login.php | 0 core/module/user/view/reset/reset.php | 0 core/vendor/filemanager/UploadHandler.php | 0 core/vendor/filemanager/ajax_calls.php | 0 core/vendor/filemanager/config/config.php | 0 core/vendor/filemanager/dialog.php | 0 core/vendor/filemanager/execute.php | 0 core/vendor/filemanager/force_download.php | 0 core/vendor/filemanager/include/FtpClient.php | 0 core/vendor/filemanager/include/FtpException.php | 0 core/vendor/filemanager/include/FtpWrapper.php | 0 core/vendor/filemanager/include/Response.php | 0 core/vendor/filemanager/include/ftp_class.php | 0 core/vendor/filemanager/include/mime_type_lib.php | 0 core/vendor/filemanager/include/php_image_magician.php | 0 core/vendor/filemanager/include/utils.php | 0 core/vendor/filemanager/index.php | 0 core/vendor/filemanager/lang/az_AZ.php | 0 core/vendor/filemanager/lang/bg_BG.php | 0 core/vendor/filemanager/lang/ca.php | 0 core/vendor/filemanager/lang/cs.php | 0 core/vendor/filemanager/lang/da.php | 0 core/vendor/filemanager/lang/de.php | 0 core/vendor/filemanager/lang/el_GR.php | 0 core/vendor/filemanager/lang/en_EN.php | 0 core/vendor/filemanager/lang/es.php | 0 core/vendor/filemanager/lang/fa.php | 0 core/vendor/filemanager/lang/fr_FR.php | 0 core/vendor/filemanager/lang/he_IL.php | 0 core/vendor/filemanager/lang/hr.php | 0 core/vendor/filemanager/lang/hu_HU.php | 0 core/vendor/filemanager/lang/id.php | 0 core/vendor/filemanager/lang/it.php | 0 core/vendor/filemanager/lang/ja.php | 0 core/vendor/filemanager/lang/languages.php | 0 core/vendor/filemanager/lang/lt.php | 0 core/vendor/filemanager/lang/mn_MN.php | 0 core/vendor/filemanager/lang/nb_NO.php | 0 core/vendor/filemanager/lang/nl.php | 0 core/vendor/filemanager/lang/nn_NO.php | 0 core/vendor/filemanager/lang/pl.php | 0 core/vendor/filemanager/lang/pt_BR.php | 0 core/vendor/filemanager/lang/pt_PT.php | 0 core/vendor/filemanager/lang/ro.php | 0 core/vendor/filemanager/lang/ru.php | 0 core/vendor/filemanager/lang/sk.php | 0 core/vendor/filemanager/lang/sl.php | 0 core/vendor/filemanager/lang/sv_SE.php | 0 core/vendor/filemanager/lang/th_TH.php | 0 core/vendor/filemanager/lang/tr_TR.php | 0 core/vendor/filemanager/lang/uk_UA.php | 0 core/vendor/filemanager/lang/vi.php | 0 core/vendor/filemanager/lang/zh_CN.php | 0 core/vendor/filemanager/upload.php | 0 core/vendor/tinymce/links.php | 0 index.php | 0 module/blog/blog.php | 0 module/blog/view/add/add.js.php | 0 module/blog/view/add/add.php | 0 module/blog/view/article/article.js.php | 0 module/blog/view/article/article.php | 0 module/blog/view/comment/comment.js.php | 0 module/blog/view/comment/comment.php | 0 module/blog/view/config/config.js.php | 0 module/blog/view/config/config.php | 0 module/blog/view/edit/edit.js.php | 0 module/blog/view/edit/edit.php | 0 module/blog/view/index/index.php | 0 module/form/form.php | 0 module/form/view/config/config.js.php | 0 module/form/view/config/config.php | 0 module/form/view/data/data.js.php | 0 module/form/view/data/data.php | 0 module/form/view/index/index.js.php | 0 module/form/view/index/index.php | 0 module/gallery/gallery.php | 0 module/gallery/ressource/defaultdata.php | 0 module/gallery/view/config/config.js.php | 0 module/gallery/view/config/config.php | 0 module/gallery/view/edit/edit.js.php | 0 module/gallery/view/edit/edit.php | 0 module/gallery/view/gallery/gallery.js.php | 0 module/gallery/view/gallery/gallery.php | 0 module/gallery/view/index/index.php | 0 module/gallery/view/theme/theme.php | 0 module/news/news.php | 0 module/news/view/add/add.js.php | 0 module/news/view/add/add.php | 0 module/news/view/config/config.js.php | 0 module/news/view/config/config.php | 0 module/news/view/edit/edit.js.php | 0 module/news/view/edit/edit.php | 0 module/news/view/index/index.php | 0 module/redirection/redirection.php | 0 module/redirection/view/config/config.php | 0 module/redirection/view/index/index.js.php | 0 module/redirection/view/index/index.php | 0 161 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 core/class/SitemapGenerator.class.php mode change 100755 => 100644 core/class/autoload.php mode change 100755 => 100644 core/class/helper.class.php mode change 100755 => 100644 core/class/jsondb/Dot.class.php mode change 100755 => 100644 core/class/jsondb/JsonDb.class.php mode change 100755 => 100644 core/class/phpmailer/Exception.class.php mode change 100755 => 100644 core/class/phpmailer/PHPMailer.class.php mode change 100755 => 100644 core/class/phpmailer/SMTP.class.php mode change 100755 => 100644 core/class/template.class.php mode change 100755 => 100644 core/core.js.php mode change 100755 => 100644 core/core.php mode change 100755 => 100644 core/layout/blank.php mode change 100755 => 100644 core/layout/light.php mode change 100755 => 100644 core/layout/mail.php mode change 100755 => 100644 core/layout/main.php mode change 100755 => 100644 core/module/config/config.php mode change 100755 => 100644 core/module/config/view/backup/backup.php mode change 100755 => 100644 core/module/config/view/index/index.js.php mode change 100755 => 100644 core/module/config/view/index/index.php mode change 100755 => 100644 core/module/config/view/manage/manage.php mode change 100755 => 100644 core/module/config/view/restore/restore.php mode change 100755 => 100644 core/module/config/view/script/script.php mode change 100755 => 100644 core/module/install/install.php mode change 100755 => 100644 core/module/install/ressource/defaultdata.php mode change 100755 => 100644 core/module/install/view/index/index.js.php mode change 100755 => 100644 core/module/install/view/index/index.php mode change 100755 => 100644 core/module/install/view/update/update.js.php mode change 100755 => 100644 core/module/install/view/update/update.php mode change 100755 => 100644 core/module/maintenance/maintenance.php mode change 100755 => 100644 core/module/maintenance/view/index/index.php mode change 100755 => 100644 core/module/page/page.php mode change 100755 => 100644 core/module/page/view/edit/edit.js.php mode change 100755 => 100644 core/module/page/view/edit/edit.php mode change 100755 => 100644 core/module/search/search.php mode change 100755 => 100644 core/module/search/view/index/index.php mode change 100755 => 100644 core/module/search/view/result/result.php mode change 100755 => 100644 core/module/sitemap/sitemap.php mode change 100755 => 100644 core/module/sitemap/view/index/index.php mode change 100755 => 100644 core/module/theme/theme.php mode change 100755 => 100644 core/module/theme/view/admin/admin.js.php mode change 100755 => 100644 core/module/theme/view/admin/admin.php mode change 100755 => 100644 core/module/theme/view/advanced/advanced.js.php mode change 100755 => 100644 core/module/theme/view/advanced/advanced.php mode change 100755 => 100644 core/module/theme/view/body/body.js.php mode change 100755 => 100644 core/module/theme/view/body/body.php mode change 100755 => 100644 core/module/theme/view/footer/footer.js.php mode change 100755 => 100644 core/module/theme/view/footer/footer.php mode change 100755 => 100644 core/module/theme/view/header/header.js.php mode change 100755 => 100644 core/module/theme/view/header/header.php mode change 100755 => 100644 core/module/theme/view/index/index.js.php mode change 100755 => 100644 core/module/theme/view/index/index.php mode change 100755 => 100644 core/module/theme/view/manage/manage.php mode change 100755 => 100644 core/module/theme/view/menu/menu.js.php mode change 100755 => 100644 core/module/theme/view/menu/menu.php mode change 100755 => 100644 core/module/theme/view/site/site.js.php mode change 100755 => 100644 core/module/theme/view/site/site.php mode change 100755 => 100644 core/module/user/user.php mode change 100755 => 100644 core/module/user/view/add/add.js.php mode change 100755 => 100644 core/module/user/view/add/add.php mode change 100755 => 100644 core/module/user/view/edit/edit.js.php mode change 100755 => 100644 core/module/user/view/edit/edit.php mode change 100755 => 100644 core/module/user/view/forgot/forgot.php mode change 100755 => 100644 core/module/user/view/index/index.js.php mode change 100755 => 100644 core/module/user/view/index/index.php mode change 100755 => 100644 core/module/user/view/login/login.php mode change 100755 => 100644 core/module/user/view/reset/reset.php mode change 100755 => 100644 core/vendor/filemanager/UploadHandler.php mode change 100755 => 100644 core/vendor/filemanager/ajax_calls.php mode change 100755 => 100644 core/vendor/filemanager/config/config.php mode change 100755 => 100644 core/vendor/filemanager/dialog.php mode change 100755 => 100644 core/vendor/filemanager/execute.php mode change 100755 => 100644 core/vendor/filemanager/force_download.php mode change 100755 => 100644 core/vendor/filemanager/include/FtpClient.php mode change 100755 => 100644 core/vendor/filemanager/include/FtpException.php mode change 100755 => 100644 core/vendor/filemanager/include/FtpWrapper.php mode change 100755 => 100644 core/vendor/filemanager/include/Response.php mode change 100755 => 100644 core/vendor/filemanager/include/ftp_class.php mode change 100755 => 100644 core/vendor/filemanager/include/mime_type_lib.php mode change 100755 => 100644 core/vendor/filemanager/include/php_image_magician.php mode change 100755 => 100644 core/vendor/filemanager/include/utils.php mode change 100755 => 100644 core/vendor/filemanager/index.php mode change 100755 => 100644 core/vendor/filemanager/lang/az_AZ.php mode change 100755 => 100644 core/vendor/filemanager/lang/bg_BG.php mode change 100755 => 100644 core/vendor/filemanager/lang/ca.php mode change 100755 => 100644 core/vendor/filemanager/lang/cs.php mode change 100755 => 100644 core/vendor/filemanager/lang/da.php mode change 100755 => 100644 core/vendor/filemanager/lang/de.php mode change 100755 => 100644 core/vendor/filemanager/lang/el_GR.php mode change 100755 => 100644 core/vendor/filemanager/lang/en_EN.php mode change 100755 => 100644 core/vendor/filemanager/lang/es.php mode change 100755 => 100644 core/vendor/filemanager/lang/fa.php mode change 100755 => 100644 core/vendor/filemanager/lang/fr_FR.php mode change 100755 => 100644 core/vendor/filemanager/lang/he_IL.php mode change 100755 => 100644 core/vendor/filemanager/lang/hr.php mode change 100755 => 100644 core/vendor/filemanager/lang/hu_HU.php mode change 100755 => 100644 core/vendor/filemanager/lang/id.php mode change 100755 => 100644 core/vendor/filemanager/lang/it.php mode change 100755 => 100644 core/vendor/filemanager/lang/ja.php mode change 100755 => 100644 core/vendor/filemanager/lang/languages.php mode change 100755 => 100644 core/vendor/filemanager/lang/lt.php mode change 100755 => 100644 core/vendor/filemanager/lang/mn_MN.php mode change 100755 => 100644 core/vendor/filemanager/lang/nb_NO.php mode change 100755 => 100644 core/vendor/filemanager/lang/nl.php mode change 100755 => 100644 core/vendor/filemanager/lang/nn_NO.php mode change 100755 => 100644 core/vendor/filemanager/lang/pl.php mode change 100755 => 100644 core/vendor/filemanager/lang/pt_BR.php mode change 100755 => 100644 core/vendor/filemanager/lang/pt_PT.php mode change 100755 => 100644 core/vendor/filemanager/lang/ro.php mode change 100755 => 100644 core/vendor/filemanager/lang/ru.php mode change 100755 => 100644 core/vendor/filemanager/lang/sk.php mode change 100755 => 100644 core/vendor/filemanager/lang/sl.php mode change 100755 => 100644 core/vendor/filemanager/lang/sv_SE.php mode change 100755 => 100644 core/vendor/filemanager/lang/th_TH.php mode change 100755 => 100644 core/vendor/filemanager/lang/tr_TR.php mode change 100755 => 100644 core/vendor/filemanager/lang/uk_UA.php mode change 100755 => 100644 core/vendor/filemanager/lang/vi.php mode change 100755 => 100644 core/vendor/filemanager/lang/zh_CN.php mode change 100755 => 100644 core/vendor/filemanager/upload.php mode change 100755 => 100644 core/vendor/tinymce/links.php mode change 100755 => 100644 index.php mode change 100755 => 100644 module/blog/blog.php mode change 100755 => 100644 module/blog/view/add/add.js.php mode change 100755 => 100644 module/blog/view/add/add.php mode change 100755 => 100644 module/blog/view/article/article.js.php mode change 100755 => 100644 module/blog/view/article/article.php mode change 100755 => 100644 module/blog/view/comment/comment.js.php mode change 100755 => 100644 module/blog/view/comment/comment.php mode change 100755 => 100644 module/blog/view/config/config.js.php mode change 100755 => 100644 module/blog/view/config/config.php mode change 100755 => 100644 module/blog/view/edit/edit.js.php mode change 100755 => 100644 module/blog/view/edit/edit.php mode change 100755 => 100644 module/blog/view/index/index.php mode change 100755 => 100644 module/form/form.php mode change 100755 => 100644 module/form/view/config/config.js.php mode change 100755 => 100644 module/form/view/config/config.php mode change 100755 => 100644 module/form/view/data/data.js.php mode change 100755 => 100644 module/form/view/data/data.php mode change 100755 => 100644 module/form/view/index/index.js.php mode change 100755 => 100644 module/form/view/index/index.php mode change 100755 => 100644 module/gallery/gallery.php mode change 100755 => 100644 module/gallery/ressource/defaultdata.php mode change 100755 => 100644 module/gallery/view/config/config.js.php mode change 100755 => 100644 module/gallery/view/config/config.php mode change 100755 => 100644 module/gallery/view/edit/edit.js.php mode change 100755 => 100644 module/gallery/view/edit/edit.php mode change 100755 => 100644 module/gallery/view/gallery/gallery.js.php mode change 100755 => 100644 module/gallery/view/gallery/gallery.php mode change 100755 => 100644 module/gallery/view/index/index.php mode change 100755 => 100644 module/gallery/view/theme/theme.php mode change 100755 => 100644 module/news/news.php mode change 100755 => 100644 module/news/view/add/add.js.php mode change 100755 => 100644 module/news/view/add/add.php mode change 100755 => 100644 module/news/view/config/config.js.php mode change 100755 => 100644 module/news/view/config/config.php mode change 100755 => 100644 module/news/view/edit/edit.js.php mode change 100755 => 100644 module/news/view/edit/edit.php mode change 100755 => 100644 module/news/view/index/index.php mode change 100755 => 100644 module/redirection/redirection.php mode change 100755 => 100644 module/redirection/view/config/config.php mode change 100755 => 100644 module/redirection/view/index/index.js.php mode change 100755 => 100644 module/redirection/view/index/index.php diff --git a/core/class/SitemapGenerator.class.php b/core/class/SitemapGenerator.class.php old mode 100755 new mode 100644 diff --git a/core/class/autoload.php b/core/class/autoload.php old mode 100755 new mode 100644 diff --git a/core/class/helper.class.php b/core/class/helper.class.php old mode 100755 new mode 100644 diff --git a/core/class/jsondb/Dot.class.php b/core/class/jsondb/Dot.class.php old mode 100755 new mode 100644 diff --git a/core/class/jsondb/JsonDb.class.php b/core/class/jsondb/JsonDb.class.php old mode 100755 new mode 100644 diff --git a/core/class/phpmailer/Exception.class.php b/core/class/phpmailer/Exception.class.php old mode 100755 new mode 100644 diff --git a/core/class/phpmailer/PHPMailer.class.php b/core/class/phpmailer/PHPMailer.class.php old mode 100755 new mode 100644 diff --git a/core/class/phpmailer/SMTP.class.php b/core/class/phpmailer/SMTP.class.php old mode 100755 new mode 100644 diff --git a/core/class/template.class.php b/core/class/template.class.php old mode 100755 new mode 100644 diff --git a/core/core.js.php b/core/core.js.php old mode 100755 new mode 100644 diff --git a/core/core.php b/core/core.php old mode 100755 new mode 100644 diff --git a/core/layout/blank.php b/core/layout/blank.php old mode 100755 new mode 100644 diff --git a/core/layout/light.php b/core/layout/light.php old mode 100755 new mode 100644 diff --git a/core/layout/mail.php b/core/layout/mail.php old mode 100755 new mode 100644 diff --git a/core/layout/main.php b/core/layout/main.php old mode 100755 new mode 100644 diff --git a/core/module/config/config.php b/core/module/config/config.php old mode 100755 new mode 100644 diff --git a/core/module/config/view/backup/backup.php b/core/module/config/view/backup/backup.php old mode 100755 new mode 100644 diff --git a/core/module/config/view/index/index.js.php b/core/module/config/view/index/index.js.php old mode 100755 new mode 100644 diff --git a/core/module/config/view/index/index.php b/core/module/config/view/index/index.php old mode 100755 new mode 100644 diff --git a/core/module/config/view/manage/manage.php b/core/module/config/view/manage/manage.php old mode 100755 new mode 100644 diff --git a/core/module/config/view/restore/restore.php b/core/module/config/view/restore/restore.php old mode 100755 new mode 100644 diff --git a/core/module/config/view/script/script.php b/core/module/config/view/script/script.php old mode 100755 new mode 100644 diff --git a/core/module/install/install.php b/core/module/install/install.php old mode 100755 new mode 100644 diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php old mode 100755 new mode 100644 diff --git a/core/module/install/view/index/index.js.php b/core/module/install/view/index/index.js.php old mode 100755 new mode 100644 diff --git a/core/module/install/view/index/index.php b/core/module/install/view/index/index.php old mode 100755 new mode 100644 diff --git a/core/module/install/view/update/update.js.php b/core/module/install/view/update/update.js.php old mode 100755 new mode 100644 diff --git a/core/module/install/view/update/update.php b/core/module/install/view/update/update.php old mode 100755 new mode 100644 diff --git a/core/module/maintenance/maintenance.php b/core/module/maintenance/maintenance.php old mode 100755 new mode 100644 diff --git a/core/module/maintenance/view/index/index.php b/core/module/maintenance/view/index/index.php old mode 100755 new mode 100644 diff --git a/core/module/page/page.php b/core/module/page/page.php old mode 100755 new mode 100644 diff --git a/core/module/page/view/edit/edit.js.php b/core/module/page/view/edit/edit.js.php old mode 100755 new mode 100644 diff --git a/core/module/page/view/edit/edit.php b/core/module/page/view/edit/edit.php old mode 100755 new mode 100644 diff --git a/core/module/search/search.php b/core/module/search/search.php old mode 100755 new mode 100644 diff --git a/core/module/search/view/index/index.php b/core/module/search/view/index/index.php old mode 100755 new mode 100644 diff --git a/core/module/search/view/result/result.php b/core/module/search/view/result/result.php old mode 100755 new mode 100644 diff --git a/core/module/sitemap/sitemap.php b/core/module/sitemap/sitemap.php old mode 100755 new mode 100644 diff --git a/core/module/sitemap/view/index/index.php b/core/module/sitemap/view/index/index.php old mode 100755 new mode 100644 diff --git a/core/module/theme/theme.php b/core/module/theme/theme.php old mode 100755 new mode 100644 diff --git a/core/module/theme/view/admin/admin.js.php b/core/module/theme/view/admin/admin.js.php old mode 100755 new mode 100644 diff --git a/core/module/theme/view/admin/admin.php b/core/module/theme/view/admin/admin.php old mode 100755 new mode 100644 diff --git a/core/module/theme/view/advanced/advanced.js.php b/core/module/theme/view/advanced/advanced.js.php old mode 100755 new mode 100644 diff --git a/core/module/theme/view/advanced/advanced.php b/core/module/theme/view/advanced/advanced.php old mode 100755 new mode 100644 diff --git a/core/module/theme/view/body/body.js.php b/core/module/theme/view/body/body.js.php old mode 100755 new mode 100644 diff --git a/core/module/theme/view/body/body.php b/core/module/theme/view/body/body.php old mode 100755 new mode 100644 diff --git a/core/module/theme/view/footer/footer.js.php b/core/module/theme/view/footer/footer.js.php old mode 100755 new mode 100644 diff --git a/core/module/theme/view/footer/footer.php b/core/module/theme/view/footer/footer.php old mode 100755 new mode 100644 diff --git a/core/module/theme/view/header/header.js.php b/core/module/theme/view/header/header.js.php old mode 100755 new mode 100644 diff --git a/core/module/theme/view/header/header.php b/core/module/theme/view/header/header.php old mode 100755 new mode 100644 diff --git a/core/module/theme/view/index/index.js.php b/core/module/theme/view/index/index.js.php old mode 100755 new mode 100644 diff --git a/core/module/theme/view/index/index.php b/core/module/theme/view/index/index.php old mode 100755 new mode 100644 diff --git a/core/module/theme/view/manage/manage.php b/core/module/theme/view/manage/manage.php old mode 100755 new mode 100644 diff --git a/core/module/theme/view/menu/menu.js.php b/core/module/theme/view/menu/menu.js.php old mode 100755 new mode 100644 diff --git a/core/module/theme/view/menu/menu.php b/core/module/theme/view/menu/menu.php old mode 100755 new mode 100644 diff --git a/core/module/theme/view/site/site.js.php b/core/module/theme/view/site/site.js.php old mode 100755 new mode 100644 diff --git a/core/module/theme/view/site/site.php b/core/module/theme/view/site/site.php old mode 100755 new mode 100644 diff --git a/core/module/user/user.php b/core/module/user/user.php old mode 100755 new mode 100644 diff --git a/core/module/user/view/add/add.js.php b/core/module/user/view/add/add.js.php old mode 100755 new mode 100644 diff --git a/core/module/user/view/add/add.php b/core/module/user/view/add/add.php old mode 100755 new mode 100644 diff --git a/core/module/user/view/edit/edit.js.php b/core/module/user/view/edit/edit.js.php old mode 100755 new mode 100644 diff --git a/core/module/user/view/edit/edit.php b/core/module/user/view/edit/edit.php old mode 100755 new mode 100644 diff --git a/core/module/user/view/forgot/forgot.php b/core/module/user/view/forgot/forgot.php old mode 100755 new mode 100644 diff --git a/core/module/user/view/index/index.js.php b/core/module/user/view/index/index.js.php old mode 100755 new mode 100644 diff --git a/core/module/user/view/index/index.php b/core/module/user/view/index/index.php old mode 100755 new mode 100644 diff --git a/core/module/user/view/login/login.php b/core/module/user/view/login/login.php old mode 100755 new mode 100644 diff --git a/core/module/user/view/reset/reset.php b/core/module/user/view/reset/reset.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/UploadHandler.php b/core/vendor/filemanager/UploadHandler.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/ajax_calls.php b/core/vendor/filemanager/ajax_calls.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/config/config.php b/core/vendor/filemanager/config/config.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/dialog.php b/core/vendor/filemanager/dialog.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/execute.php b/core/vendor/filemanager/execute.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/force_download.php b/core/vendor/filemanager/force_download.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/include/FtpClient.php b/core/vendor/filemanager/include/FtpClient.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/include/FtpException.php b/core/vendor/filemanager/include/FtpException.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/include/FtpWrapper.php b/core/vendor/filemanager/include/FtpWrapper.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/include/Response.php b/core/vendor/filemanager/include/Response.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/include/ftp_class.php b/core/vendor/filemanager/include/ftp_class.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/include/mime_type_lib.php b/core/vendor/filemanager/include/mime_type_lib.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/include/php_image_magician.php b/core/vendor/filemanager/include/php_image_magician.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/include/utils.php b/core/vendor/filemanager/include/utils.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/index.php b/core/vendor/filemanager/index.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/az_AZ.php b/core/vendor/filemanager/lang/az_AZ.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/bg_BG.php b/core/vendor/filemanager/lang/bg_BG.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/ca.php b/core/vendor/filemanager/lang/ca.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/cs.php b/core/vendor/filemanager/lang/cs.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/da.php b/core/vendor/filemanager/lang/da.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/de.php b/core/vendor/filemanager/lang/de.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/el_GR.php b/core/vendor/filemanager/lang/el_GR.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/en_EN.php b/core/vendor/filemanager/lang/en_EN.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/es.php b/core/vendor/filemanager/lang/es.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/fa.php b/core/vendor/filemanager/lang/fa.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/fr_FR.php b/core/vendor/filemanager/lang/fr_FR.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/he_IL.php b/core/vendor/filemanager/lang/he_IL.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/hr.php b/core/vendor/filemanager/lang/hr.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/hu_HU.php b/core/vendor/filemanager/lang/hu_HU.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/id.php b/core/vendor/filemanager/lang/id.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/it.php b/core/vendor/filemanager/lang/it.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/ja.php b/core/vendor/filemanager/lang/ja.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/languages.php b/core/vendor/filemanager/lang/languages.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/lt.php b/core/vendor/filemanager/lang/lt.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/mn_MN.php b/core/vendor/filemanager/lang/mn_MN.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/nb_NO.php b/core/vendor/filemanager/lang/nb_NO.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/nl.php b/core/vendor/filemanager/lang/nl.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/nn_NO.php b/core/vendor/filemanager/lang/nn_NO.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/pl.php b/core/vendor/filemanager/lang/pl.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/pt_BR.php b/core/vendor/filemanager/lang/pt_BR.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/pt_PT.php b/core/vendor/filemanager/lang/pt_PT.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/ro.php b/core/vendor/filemanager/lang/ro.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/ru.php b/core/vendor/filemanager/lang/ru.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/sk.php b/core/vendor/filemanager/lang/sk.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/sl.php b/core/vendor/filemanager/lang/sl.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/sv_SE.php b/core/vendor/filemanager/lang/sv_SE.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/th_TH.php b/core/vendor/filemanager/lang/th_TH.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/tr_TR.php b/core/vendor/filemanager/lang/tr_TR.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/uk_UA.php b/core/vendor/filemanager/lang/uk_UA.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/vi.php b/core/vendor/filemanager/lang/vi.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/lang/zh_CN.php b/core/vendor/filemanager/lang/zh_CN.php old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/upload.php b/core/vendor/filemanager/upload.php old mode 100755 new mode 100644 diff --git a/core/vendor/tinymce/links.php b/core/vendor/tinymce/links.php old mode 100755 new mode 100644 diff --git a/index.php b/index.php old mode 100755 new mode 100644 diff --git a/module/blog/blog.php b/module/blog/blog.php old mode 100755 new mode 100644 diff --git a/module/blog/view/add/add.js.php b/module/blog/view/add/add.js.php old mode 100755 new mode 100644 diff --git a/module/blog/view/add/add.php b/module/blog/view/add/add.php old mode 100755 new mode 100644 diff --git a/module/blog/view/article/article.js.php b/module/blog/view/article/article.js.php old mode 100755 new mode 100644 diff --git a/module/blog/view/article/article.php b/module/blog/view/article/article.php old mode 100755 new mode 100644 diff --git a/module/blog/view/comment/comment.js.php b/module/blog/view/comment/comment.js.php old mode 100755 new mode 100644 diff --git a/module/blog/view/comment/comment.php b/module/blog/view/comment/comment.php old mode 100755 new mode 100644 diff --git a/module/blog/view/config/config.js.php b/module/blog/view/config/config.js.php old mode 100755 new mode 100644 diff --git a/module/blog/view/config/config.php b/module/blog/view/config/config.php old mode 100755 new mode 100644 diff --git a/module/blog/view/edit/edit.js.php b/module/blog/view/edit/edit.js.php old mode 100755 new mode 100644 diff --git a/module/blog/view/edit/edit.php b/module/blog/view/edit/edit.php old mode 100755 new mode 100644 diff --git a/module/blog/view/index/index.php b/module/blog/view/index/index.php old mode 100755 new mode 100644 diff --git a/module/form/form.php b/module/form/form.php old mode 100755 new mode 100644 diff --git a/module/form/view/config/config.js.php b/module/form/view/config/config.js.php old mode 100755 new mode 100644 diff --git a/module/form/view/config/config.php b/module/form/view/config/config.php old mode 100755 new mode 100644 diff --git a/module/form/view/data/data.js.php b/module/form/view/data/data.js.php old mode 100755 new mode 100644 diff --git a/module/form/view/data/data.php b/module/form/view/data/data.php old mode 100755 new mode 100644 diff --git a/module/form/view/index/index.js.php b/module/form/view/index/index.js.php old mode 100755 new mode 100644 diff --git a/module/form/view/index/index.php b/module/form/view/index/index.php old mode 100755 new mode 100644 diff --git a/module/gallery/gallery.php b/module/gallery/gallery.php old mode 100755 new mode 100644 diff --git a/module/gallery/ressource/defaultdata.php b/module/gallery/ressource/defaultdata.php old mode 100755 new mode 100644 diff --git a/module/gallery/view/config/config.js.php b/module/gallery/view/config/config.js.php old mode 100755 new mode 100644 diff --git a/module/gallery/view/config/config.php b/module/gallery/view/config/config.php old mode 100755 new mode 100644 diff --git a/module/gallery/view/edit/edit.js.php b/module/gallery/view/edit/edit.js.php old mode 100755 new mode 100644 diff --git a/module/gallery/view/edit/edit.php b/module/gallery/view/edit/edit.php old mode 100755 new mode 100644 diff --git a/module/gallery/view/gallery/gallery.js.php b/module/gallery/view/gallery/gallery.js.php old mode 100755 new mode 100644 diff --git a/module/gallery/view/gallery/gallery.php b/module/gallery/view/gallery/gallery.php old mode 100755 new mode 100644 diff --git a/module/gallery/view/index/index.php b/module/gallery/view/index/index.php old mode 100755 new mode 100644 diff --git a/module/gallery/view/theme/theme.php b/module/gallery/view/theme/theme.php old mode 100755 new mode 100644 diff --git a/module/news/news.php b/module/news/news.php old mode 100755 new mode 100644 diff --git a/module/news/view/add/add.js.php b/module/news/view/add/add.js.php old mode 100755 new mode 100644 diff --git a/module/news/view/add/add.php b/module/news/view/add/add.php old mode 100755 new mode 100644 diff --git a/module/news/view/config/config.js.php b/module/news/view/config/config.js.php old mode 100755 new mode 100644 diff --git a/module/news/view/config/config.php b/module/news/view/config/config.php old mode 100755 new mode 100644 diff --git a/module/news/view/edit/edit.js.php b/module/news/view/edit/edit.js.php old mode 100755 new mode 100644 diff --git a/module/news/view/edit/edit.php b/module/news/view/edit/edit.php old mode 100755 new mode 100644 diff --git a/module/news/view/index/index.php b/module/news/view/index/index.php old mode 100755 new mode 100644 diff --git a/module/redirection/redirection.php b/module/redirection/redirection.php old mode 100755 new mode 100644 diff --git a/module/redirection/view/config/config.php b/module/redirection/view/config/config.php old mode 100755 new mode 100644 diff --git a/module/redirection/view/index/index.js.php b/module/redirection/view/index/index.js.php old mode 100755 new mode 100644 diff --git a/module/redirection/view/index/index.php b/module/redirection/view/index/index.php old mode 100755 new mode 100644 From 77df0f9de89106f0d095ac57e26f528f4c436c78 Mon Sep 17 00:00:00 2001 From: fredtempez Date: Tue, 25 Aug 2020 21:01:10 +0200 Subject: [PATCH 120/194] =?UTF-8?q?mots=20cl=C3=A9s=20apporchants=20par=20?= =?UTF-8?q?d=C3=A9faut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/search/search.php | 2 +- module/search/view/index/index.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/module/search/search.php b/module/search/search.php index 25355f9c..97f47e32 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -30,7 +30,7 @@ class search extends common { // Variables pour le dialogue avec le formulaire public static $motclef = ''; - public static $motentier = ''; + public static $motentier = true; public static $previewLength = [ 100 => '100 caractères', 200 => '200 caractères', diff --git a/module/search/view/index/index.php b/module/search/view/index/index.php index 66b72b91..dd4faa52 100755 --- a/module/search/view/index/index.php +++ b/module/search/view/index/index.php @@ -17,7 +17,7 @@
    $module::$motentier + 'checked' => $module::$motentier, ]); ?>
    From 590daa8b898b31bf17f8bfb863972f28a7699d14 Mon Sep 17 00:00:00 2001 From: fredtempez Date: Tue, 25 Aug 2020 23:16:47 +0200 Subject: [PATCH 121/194] =?UTF-8?q?mauvaise=20mise=20en=20=C3=A9vidence=20?= =?UTF-8?q?des=20espaces=20+=20r=C3=A9=C3=A9criture=20de=20la=20fonction?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/search/search.php | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/module/search/search.php b/module/search/search.php index 97f47e32..74acfcfa 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -104,16 +104,6 @@ class search extends common { // Récupération de l'état de l'option mot entier passé par le même formulaire self::$motentier=$this->getInput('searchMotentier', helper::FILTER_BOOLEAN); - //Pour affichage de l'entête du résultat - $keywords = '/('; - $a = explode(' ',self::$motclef); - foreach ($a as $key => $value) { - - $keywords .= self::$motentier === true ? $value . '|' : '\\b' . $value . '\\b\\W|' ; - } - $keywords = substr($keywords,0,strlen($keywords) - 1); - $keywords .= ')/i'; - $keywords = str_replace ('+', ' ',$keywords); if (self::$motclef !== '' ) { foreach($this->getHierarchy(null,false,null) as $parentId => $childIds) { if ($this->getData(['page', $parentId, 'disable']) === false && @@ -123,7 +113,7 @@ class search extends common { $titre = $this->getData(['page', $parentId, 'title']); $contenu = $this->getData(['page', $parentId, 'content']); // Pages sauf pages filles et articles de blog - $tempData = $this->occurrence($url, $titre, $contenu, $keywords, self::$motentier); + $tempData = $this->occurrence($url, $titre, $contenu, self::$motclef, self::$motentier); if (is_array($tempData) ) { $result [] = $tempData; } @@ -138,7 +128,7 @@ class search extends common { $titre = $this->getData(['page', $childId, 'title']); $contenu = $this->getData(['page', $childId, 'content']); //Pages filles - $tempData = $this->occurrence($url, $titre, $contenu, $keywords, self::$motentier); + $tempData = $this->occurrence($url, $titre, $contenu, self::$motclef, self::$motentier); if (is_array($tempData) ) { $result [] = $tempData; } @@ -153,7 +143,7 @@ class search extends common { $titre = $article['title']; $contenu = $article['content']; // Articles de sous-page de type blog - $tempData = $this->occurrence($url, $titre, $contenu, $keywords, self::$motentier); + $tempData = $this->occurrence($url, $titre, $contenu, self::$motclef, self::$motentier); if (is_array($tempData) ) { $result [] = $tempData; } @@ -171,7 +161,7 @@ class search extends common { $titre = $article['title']; $contenu = $article['content']; // Articles de Blog - $tempData = $this->occurrence($url, $titre, $contenu, $keywords, self::$motentier); + $tempData = $this->occurrence($url, $titre, $contenu, self::$motclef, self::$motentier); if (is_array($tempData) ) { $result [] = $tempData; } @@ -221,9 +211,19 @@ class search extends common { $contenu = preg_replace ('/<[^>]*>/', ' ', $contenu); // Accentuation $contenu = html_entity_decode($contenu); - // Initialisations - $valid = preg_match_all($motclef,$contenu,$matches,PREG_OFFSET_CAPTURE); + // Construire la clé de recherche selon options de recherche + $keywords = '/('; + $a = explode(' ',$motclef); + foreach ($a as $key => $value) { + $keywords .= $motentier === true ? $value . '|' : '\b' . $value . '\b|' ; + } + $keywords = substr($keywords,0,strlen($keywords) - 1); + $keywords .= ')/i'; + $keywords = str_replace ('+', ' ',$keywords); + + // Rechercher + $valid = preg_match_all($keywords,$contenu,$matches,PREG_OFFSET_CAPTURE); if ($valid > 0 ) { if (($matches[0][0][1]) > 0) { $resultat = '

    ' . $titre . '

    '; @@ -233,12 +233,12 @@ class search extends common { // Rechercher l'espace le plus proche $d = $d > 1 ? strpos($contenu,' ',$d) : $d; // Découper l'aperçu - $t = substr($contenu,(int) $d ,$this->getData(['module',$this->getUrl(0),'previewLength'])); + $t = substr($contenu, $d ,$this->getData(['module',$this->getUrl(0),'previewLength'])); // Applique une mise en évidence - $t = preg_replace($motclef, '\1',$t); + $t = preg_replace($keywords, '\1',$t); // Sauver résultat $resultat .= '

    '.$t.'...

    '; - $resultat .= '

    '.count($matches[0]) . (count($matches[0]) === 1 ? ' correspondance

    ' : ' correspondances

    '); + $resultat .= '

    ' . count($matches[0]) . (count($matches[0]) === 1 ? ' correspondance

    ' : ' correspondances

    '); //} return ([ 'matches' => count($matches[0]), From 36a2c0fcde4d3a7960e8a74223e631f6bacb559f Mon Sep 17 00:00:00 2001 From: fredtempez Date: Wed, 26 Aug 2020 19:54:17 +0200 Subject: [PATCH 122/194] Rechercher de phrase exacte entre guillemets --- module/search/search.php | 8 +++++++- module/search/view/index/index.php | 6 +++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/module/search/search.php b/module/search/search.php index 74acfcfa..e63509c8 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -38,6 +38,10 @@ class search extends common { 400 => '400 caractères', ]; + // Message par défaut + public static $messagePlaceHolder = 'Un ou plusieurs mots-clés entre des espaces ou des guillemets'; + public static $messageButtontext = 'Rechercher'; + const SEARCH_VERSION = '1.1'; // Configuration vide @@ -212,9 +216,11 @@ class search extends common { // Accentuation $contenu = html_entity_decode($contenu); + // Découper le chaîne en tenant compte des quillemets + $a = str_getcsv(html_entity_decode($motclef), ' '); + // Construire la clé de recherche selon options de recherche $keywords = '/('; - $a = explode(' ',$motclef); foreach ($a as $key => $value) { $keywords .= $motentier === true ? $value . '|' : '\b' . $value . '\b|' ; } diff --git a/module/search/view/index/index.php b/module/search/view/index/index.php index dd4faa52..4399c591 100755 --- a/module/search/view/index/index.php +++ b/module/search/view/index/index.php @@ -4,19 +4,19 @@

    $this->getData(['module', $this->getUrl(0), 'placeHolder']) ? $this->getData(['module', $this->getUrl(0), 'placeHolder']) : 'Un plusieurs mots-clés séparés par un espace ou par +', + 'placeholder' => $this->getData(['module', $this->getUrl(0), 'placeHolder']) ? $this->getData(['module', $this->getUrl(0), 'placeHolder']) : $module::$messagePlaceHolder, 'value' => $module::$motclef ]); ?>
    $this->getData(['module', $this->getUrl(0), 'submitText']) ? $this->getData(['module', $this->getUrl(0), 'submitText']) : 'Rechercher' + 'value' => $this->getData(['module', $this->getUrl(0), 'submitText']) ? $this->getData(['module', $this->getUrl(0), 'submitText']) : $module::$messageButtontext ]); ?>
    - $module::$motentier, ]); ?>
    From 05beea4ab1876a3b19a5fbe2accc76bf9e9a9369 Mon Sep 17 00:00:00 2001 From: fredtempez Date: Wed, 26 Aug 2020 19:58:38 +0200 Subject: [PATCH 123/194] =?UTF-8?q?Tinymce=20espace=20ins=C3=A9cable?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/vendor/tinymce/init.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/vendor/tinymce/init.js b/core/vendor/tinymce/init.js index edefd352..feeceba2 100755 --- a/core/vendor/tinymce/init.js +++ b/core/vendor/tinymce/init.js @@ -18,7 +18,7 @@ tinymce.init({ // Langue language: "fr_FR", // Plugins - plugins: "advlist anchor autolink autoresize autosave codemirror colorpicker contextmenu fullscreen hr image imagetools link lists media paste searchreplace stickytoolbar tabfocus table template textcolor emoticons ", + plugins: "advlist anchor autolink autoresize autosave codemirror colorpicker contextmenu fullscreen hr image imagetools link lists media paste searchreplace stickytoolbar tabfocus table template textcolor emoticons nonbreaking", // Contenu de la barre d'outils toolbar: "restoredraft | undo redo | formatselect bold italic underline forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist emoticons | table template | image media link | code fullscreen", // Emoticons @@ -73,7 +73,7 @@ tinymce.init({ // Pages internes link_list: baseUrl + "core/vendor/tinymce/links.php", // Contenu du menu contextuel - contextmenu: "selectall searchreplace | hr | media image link anchor | insertable cell row column deletetable", + contextmenu: "selectall searchreplace | hr | media image link anchor nonbreaking | insertable cell row column deletetable", // Fichiers CSS à intégrer à l'éditeur content_css: [ baseUrl + "core/layout/common.css", From 7cf99fb99ebca6df652a9777ecb3830ea1d4c636 Mon Sep 17 00:00:00 2001 From: fredtempez Date: Wed, 26 Aug 2020 20:01:36 +0200 Subject: [PATCH 124/194] lorem multiples --- core/module/install/ressource/defaultdata.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index b2ac445e..86a97694 100644 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -233,9 +233,9 @@ class init extends common { 'disable' => false, 'content' => '

    Vous pouvez assigner des parents à vos pages afin de mieux organiser votre menu !

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam interdum, neque non vulputate hendrerit, arcu turpis dapibus nisl, id scelerisque metus lectus vitae nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec feugiat dolor et turpis finibus condimentum. Cras sit amet ligula sagittis justo.

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam interdum, neque non vulputate hendrerit, arcu turpis dapibus nisl, id scelerisque metus lectus vitae nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec feugiat dolor et turpis finibus condimentum. Cras sit amet ligula sagittis justo.

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam interdum, neque non vulputate hendrerit, arcu turpis dapibus nisl, id scelerisque metus lectus vitae nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec feugiat dolor et turpis finibus condimentum. Cras sit amet ligula sagittis justo.

    +

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus ac dolor arcu. Cras dignissim finibus nisi, vulputate egestas mauris faucibus ultricies. Nullam ornare pretium eleifend. Donec placerat purus ut turpis dapibus condimentum. Fusce at leo pharetra nisl vestibulum fermentum. Maecenas feugiat justo at semper tincidunt. Integer in blandit lorem.

    +

    Ergo ego senator inimicus, si ita vultis, homini, amicus esse, sicut semper fui, rei publicae debeo. Quid? si ipsas inimicitias, depono rei publicae causa, quis me tandem iure reprehendet, praesertim cum ego omnium meorum consiliorum atque factorum exempla semper ex summorum hominum consiliis atque factis mihi censuerim petenda.

    +

    Principium autem unde latius se funditabat, emersit ex negotio tali. Chilo ex vicario et coniux eius Maxima nomine, questi apud Olybrium ea tempestate urbi praefectum, vitamque suam venenis petitam adseverantes inpetrarunt ut hi, quos suspectati sunt, ilico rapti conpingerentur in vincula, organarius Sericus et Asbolius palaestrita et aruspex Campensis.

    ', 'hideTitle' => false, 'breadCrumb' => true, @@ -261,8 +261,8 @@ class init extends common { 'disable' => false, 'content' => '

    Cette page n\'est visible que des membres de votre site !

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam interdum, neque non vulputate hendrerit, arcu turpis dapibus nisl, id scelerisque metus lectus vitae nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec feugiat dolor et turpis finibus condimentum. Cras sit amet ligula sagittis justo.

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam interdum, neque non vulputate hendrerit, arcu turpis dapibus nisl, id scelerisque metus lectus vitae nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec feugiat dolor et turpis finibus condimentum. Cras sit amet ligula sagittis justo.

    +

    Eius populus ab incunabulis primis ad usque pueritiae tempus extremum, quod annis circumcluditur fere trecentis, circummurana pertulit bella, deinde aetatem ingressus adultam post multiplices bellorum aerumnas Alpes transcendit et fretum, in iuvenem erectus et virum ex omni plaga quam orbis ambit inmensus, reportavit laureas et triumphos, iamque vergens in senium et nomine solo aliquotiens vincens ad tranquilliora vitae discessit.

    +

    Exsistit autem hoc loco quaedam quaestio subdifficilis, num quando amici novi, digni amicitia, veteribus sint anteponendi, ut equis vetulis teneros anteponere solemus. Indigna homine dubitatio! Non enim debent esse amicitiarum sicut aliarum rerum satietates; veterrima quaeque, ut ea vina, quae vetustatem ferunt, esse debet suavissima; verumque illud est, quod dicitur, multos modios salis simul edendos esse, ut amicitiae munus expletum sit.

    ', 'hideTitle' => false, 'breadCrumb' => true, @@ -626,7 +626,7 @@ class init extends common { 'userId' => '' ] ], - 'content' => '

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a placerat metus. Morbi luctus laoreet dolor et euismod. Phasellus eget eros ac eros pretium tincidunt. Sed maximus magna lectus, non vestibulum sapien pretium maximus. Donec convallis leo tortor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Cras convallis lacus eu risus gravida varius. Etiam mattis massa vitae eros placerat bibendum.

    Vivamus tempus magna augue, in bibendum quam blandit at. Morbi felis tortor, suscipit ut ipsum ut, volutpat consectetur orci. Nulla tincidunt quis ligula non viverra. Sed pretium dictum blandit. Donec fringilla, nunc at dictum pretium, arcu massa viverra leo, et porta turpis ipsum eget risus. Quisque quis maximus purus, in elementum arcu. Donec nisi orci, aliquam non luctus non, congue volutpat massa. Curabitur sed risus congue, porta arcu vel, tincidunt nisi. Duis tincidunt quam ut velit maximus ornare. Nullam sagittis, ante quis pharetra hendrerit, lorem massa dapibus mi, a hendrerit dolor odio nec augue. Nunc sem nisl, tincidunt vitae nunc et, viverra tristique diam. In eget dignissim lectus. Nullam volutpat lacus id ex dapibus viverra. Pellentesque ultricies lorem ut nunc elementum volutpat. Cras id ultrices justo.

    Phasellus nec erat leo. Praesent at sem nunc. Vestibulum quis condimentum turpis. Cras semper diam vitae enim fringilla, ut fringilla mauris efficitur. In nec porttitor urna. Nam eros leo, vehicula eget lobortis sed, gravida id mauris. Nulla bibendum nunc tortor, non bibendum justo consectetur vel. Phasellus nec risus diam. In commodo tellus nec nulla fringilla, nec feugiat nunc consectetur. Etiam non eros sodales, sodales lacus vel, finibus leo. Quisque hendrerit tristique congue. Phasellus nec augue vitae libero elementum facilisis. Mauris pretium ornare nisi, non scelerisque velit consectetur sit amet.

    ', + 'content' => '

    Et eodem impetu Domitianum praecipitem per scalas itidem funibus constrinxerunt, eosque coniunctos per ampla spatia civitatis acri raptavere discursu. iamque artuum et membrorum divulsa conpage superscandentes corpora mortuorum ad ultimam truncata deformitatem velut exsaturati mox abiecerunt in flumen.

    Ex his quidam aeternitati se commendari posse per statuas aestimantes eas ardenter adfectant quasi plus praemii de figmentis aereis sensu carentibus adepturi, quam ex conscientia honeste recteque factorum, easque auro curant inbracteari, quod Acilio Glabrioni delatum est primo, cum consiliis armisque regem superasset Antiochum. quam autem sit pulchrum exigua haec spernentem et minima ad ascensus verae gloriae tendere longos et arduos, ut memorat vates Ascraeus, Censorius Cato monstravit. qui interrogatus quam ob rem inter multos... statuam non haberet malo inquit ambigere bonos quam ob rem id non meruerim, quam quod est gravius cur inpetraverim mussitare.

    Latius iam disseminata licentia onerosus bonis omnibus Caesar nullum post haec adhibens modum orientis latera cuncta vexabat nec honoratis parcens nec urbium primatibus nec plebeiis.

    ', 'picture' => 'galerie/landscape/meadow.jpg', 'hidePicture' => false, 'pictureSize' => 20, @@ -638,7 +638,7 @@ class init extends common { 'mon-deuxieme-article' => [ 'closeComment' => false, 'comment' => [], - 'content' => '

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam lobortis eros pharetra metus rutrum pretium et sagittis mauris. Donec commodo venenatis sem nec suscipit. In tempor sollicitudin scelerisque. Etiam quis nibh eleifend, congue nisl quis, ultricies ipsum. Integer at est a eros vulputate pellentesque eu vitae tellus. Nullam suscipit quam nisl. Vivamus dui odio, luctus ac fringilla ultrices, eleifend vel sapien. Integer sem ex, lobortis eu mattis eu, condimentum non libero. Aliquam non porttitor elit, eu hendrerit neque. Praesent tortor urna, tincidunt sed dictum id, rutrum tempus sapien.

    Donec accumsan ante ac odio laoreet porttitor. Pellentesque et leo a leo scelerisque mattis id vel elit. Quisque egestas congue enim nec semper. Morbi mollis nibh sapien. Nunc quis fringilla lorem. Donec vel venenatis nunc. Donec lectus velit, tempor sit amet dui sed, consequat commodo enim. Nam porttitor neque semper, dapibus nunc bibendum, lobortis urna. Morbi ullamcorper molestie lectus a elementum. Curabitur eu cursus orci, sed tristique justo. In massa lacus, imperdiet eu elit quis, consectetur maximus magna. Integer suscipit varius ante vitae egestas. Morbi scelerisque fermentum ipsum, euismod faucibus mi tincidunt id. Sed at consectetur velit. Ut fermentum nunc nibh, at commodo felis lacinia nec.

    Nullam a justo quis lectus facilisis semper eget quis sem. Morbi suscipit erat sem, non fermentum nunc luctus vel. Proin venenatis quam ut arcu luctus efficitur. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nam sollicitudin tristique nunc nec convallis. Maecenas id tortor semper, tempus nisl laoreet, cursus lacus. Aliquam sagittis est in leo congue, a pharetra felis aliquet. Nulla gravida lobortis sapien, quis viverra enim ullamcorper sed. Donec ultrices sem eu volutpat dapibus. Nam euismod, tellus eu congue mollis, massa nisi finibus odio, vitae porta arcu urna ac lorem. Sed faucibus dignissim pretium. Pellentesque eget ante tellus. Pellentesque a elementum odio, sit amet vulputate diam. Lorem ipsum dolor sit amet, consectetur adipiscing elit. In hendrerit consequat dolor, malesuada pellentesque tellus molestie non. Aenean quis purus a lectus pellentesque laoreet.

    ', + 'content' => '

    Et prima post Osdroenam quam, ut dictum est, ab hac descriptione discrevimus, Commagena, nunc Euphratensis, clementer adsurgit, Hierapoli, vetere Nino et Samosata civitatibus amplis inlustris.

    Ob haec et huius modi multa, quae cernebantur in paucis, omnibus timeri sunt coepta. et ne tot malis dissimulatis paulatimque serpentibus acervi crescerent aerumnarum, nobilitatis decreto legati mittuntur: Praetextatus ex urbi praefecto et ex vicario Venustus et ex consulari Minervius oraturi, ne delictis supplicia sint grandiora, neve senator quisquam inusitato et inlicito more tormentis exponeretur.

    Sed ut tum ad senem senex de senectute, sic hoc libro ad amicum amicissimus scripsi de amicitia. Tum est Cato locutus, quo erat nemo fere senior temporibus illis, nemo prudentior; nunc Laelius et sapiens (sic enim est habitus) et amicitiae gloria excellens de amicitia loquetur. Tu velim a me animum parumper avertas, Laelium loqui ipsum putes. C. Fannius et Q. Mucius ad socerum veniunt post mortem Africani; ab his sermo oritur, respondet Laelius, cuius tota disputatio est de amicitia, quam legens te ipse cognosces.

    ', 'picture' => 'galerie/landscape/desert.jpg', 'hidePicture' => false, 'pictureSize' => 40, @@ -650,7 +650,7 @@ class init extends common { 'mon-troisieme-article' => [ 'closeComment' => true, 'comment' => [], - 'content' => '

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut ut tempus nibh. Cras eget iaculis justo, ac laoreet lacus. Nunc tellus nulla, auctor id hendrerit eu, pellentesque in sapien. In hac habitasse platea dictumst. Aliquam leo urna, hendrerit id nunc eget, finibus maximus dolor. Sed rutrum sapien consectetur, tincidunt nulla at, blandit quam. Duis ex enim, vehicula vel nisi vitae, lobortis volutpat nisl. Vivamus enim libero, euismod nec risus vel, interdum placerat elit. In cursus sapien condimentum dui imperdiet, sed lobortis ante consectetur. Maecenas hendrerit eget felis non consequat.

    Nullam nec risus non velit efficitur tempus eget tincidunt mauris. Etiam venenatis leo id justo sagittis, commodo dignissim sapien tristique. Vivamus finibus augue malesuada sapien gravida rutrum. Integer mattis lectus ac pulvinar scelerisque. Integer suscipit feugiat metus, ac molestie odio suscipit eget. Fusce at elit in tellus venenatis finibus id sit amet magna. Integer sodales luctus neque blandit posuere. Cras pellentesque dictum lorem eget vestibulum. Quisque vitae metus non nisi efficitur rhoncus ut vitae ipsum. Donec accumsan massa at est faucibus lacinia. Quisque imperdiet luctus neque eu vestibulum. Phasellus pellentesque felis ligula, id imperdiet elit ultrices eu.

    ', + 'content' => '

    Rogatus ad ultimum admissusque in consistorium ambage nulla praegressa inconsiderate et leviter proficiscere inquit ut praeceptum est, Caesar sciens quod si cessaveris, et tuas et palatii tui auferri iubebo prope diem annonas. hocque solo contumaciter dicto subiratus abscessit nec in conspectum eius postea venit saepius arcessitus.

    Proinde concepta rabie saeviore, quam desperatio incendebat et fames, amplificatis viribus ardore incohibili in excidium urbium matris Seleuciae efferebantur, quam comes tuebatur Castricius tresque legiones bellicis sudoribus induratae.

    Inter has ruinarum varietates a Nisibi quam tuebatur accitus Vrsicinus, cui nos obsecuturos iunxerat imperiale praeceptum, dispicere litis exitialis certamina cogebatur abnuens et reclamans, adulatorum oblatrantibus turmis, bellicosus sane milesque semper et militum ductor sed forensibus iurgiis longe discretus, qui metu sui discriminis anxius cum accusatores quaesitoresque subditivos sibi consociatos ex isdem foveis cerneret emergentes, quae clam palamve agitabantur, occultis Constantium litteris edocebat inplorans subsidia, quorum metu tumor notissimus Caesaris exhalaret.

    ', 'picture' => 'galerie/landscape/iceberg.jpg', 'hidePicture' => false, 'pictureSize' => 100, From 70a496a749c288320fd74b1314959083cb8593ae Mon Sep 17 00:00:00 2001 From: fredtempez Date: Tue, 1 Sep 2020 20:48:40 +0200 Subject: [PATCH 125/194] =?UTF-8?q?modif=20url=20vers=20zwiicms.fr=20=20+?= =?UTF-8?q?=20=C3=A9criture=20update?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/class/helper.class.php | 2 +- core/core.js.php | 2 +- core/core.php | 17 +++++++++-------- core/layout/blank.css | 2 +- core/layout/common.css | 2 +- core/layout/light.css | 2 +- core/module/config/config.php | 2 +- core/module/config/view/backup/backup.css | 2 +- core/module/config/view/backup/backup.js.php | 2 +- core/module/config/view/index/index.css | 2 +- core/module/config/view/index/index.js.php | 2 +- core/module/config/view/manage/manage.css | 2 +- core/module/config/view/script/script.css | 2 +- core/module/install/install.php | 2 +- core/module/install/view/index/index.js.php | 2 +- core/module/install/view/update/update.css | 2 +- core/module/maintenance/maintenance.php | 2 +- core/module/page/page.php | 2 +- core/module/page/view/edit/edit.css | 2 +- core/module/page/view/edit/edit.js.php | 2 +- core/module/sitemap/sitemap.php | 2 +- core/module/theme/theme.php | 2 +- core/module/theme/view/admin/admin.css | 2 +- core/module/theme/view/admin/admin.js.php | 2 +- core/module/theme/view/advanced/advanced.css | 2 +- core/module/theme/view/advanced/advanced.js.php | 2 +- core/module/theme/view/body/body.css | 2 +- core/module/theme/view/body/body.js.php | 2 +- core/module/theme/view/footer/footer.css | 2 +- core/module/theme/view/footer/footer.js.php | 2 +- core/module/theme/view/header/header.css | 2 +- core/module/theme/view/header/header.js.php | 2 +- core/module/theme/view/index/index.css | 2 +- core/module/theme/view/index/index.js.php | 2 +- core/module/theme/view/manage/manage.css | 2 +- core/module/theme/view/menu/menu.css | 2 +- core/module/theme/view/menu/menu.js.php | 2 +- core/module/theme/view/site/site.css | 2 +- core/module/theme/view/site/site.js.php | 2 +- core/module/user/user.php | 2 +- core/module/user/view/add/add.css | 2 +- core/module/user/view/add/add.js.php | 2 +- core/module/user/view/edit/edit.css | 2 +- core/module/user/view/edit/edit.js.php | 2 +- core/module/user/view/forgot/forgot.css | 2 +- core/module/user/view/index/index.css | 2 +- core/module/user/view/index/index.js.php | 2 +- core/module/user/view/login/login.css | 2 +- core/module/user/view/reset/reset.css | 2 +- index.php | 2 +- module/blog/blog.php | 2 +- module/blog/view/add/add.css | 2 +- module/blog/view/add/add.js.php | 2 +- module/blog/view/article/article.js.php | 2 +- module/blog/view/comment/comment.css | 2 +- module/blog/view/comment/comment.js.php | 2 +- module/blog/view/config/config.css | 2 +- module/blog/view/config/config.js.php | 2 +- module/blog/view/edit/edit.css | 2 +- module/blog/view/edit/edit.js.php | 2 +- module/form/form.php | 2 +- module/form/view/config/config.js.php | 2 +- module/form/view/data/data.css | 2 +- module/form/view/data/data.js.php | 2 +- module/form/view/index/index.js.php | 2 +- module/gallery/gallery.php | 2 +- module/gallery/view/config/config.css | 2 +- module/gallery/view/config/config.js.php | 2 +- module/gallery/view/edit/edit.css | 2 +- module/gallery/view/edit/edit.js.php | 2 +- module/gallery/view/gallery/gallery.js.php | 2 +- module/gallery/view/theme/theme.css | 2 +- module/news/news.php | 2 +- module/news/view/add/add.css | 2 +- module/news/view/add/add.js.php | 2 +- module/news/view/config/config.css | 2 +- module/news/view/config/config.js.php | 2 +- module/news/view/edit/edit.js.php | 2 +- module/redirection/redirection.php | 2 +- module/redirection/view/config/config.css | 2 +- module/redirection/view/index/index.css | 2 +- module/redirection/view/index/index.js.php | 2 +- module/search/search.php | 2 +- module/search/view/config/config.css | 2 +- 84 files changed, 92 insertions(+), 91 deletions(-) diff --git a/core/class/helper.class.php b/core/class/helper.class.php index 86649506..f14395fc 100644 --- a/core/class/helper.class.php +++ b/core/class/helper.class.php @@ -187,7 +187,7 @@ class helper { * @return string */ public static function getOnlineVersion() { - return (helper::urlGetContents('http://zwiicms.com/update/'. common::ZWII_UPDATE_CHANNEL . '/version')); + return (helper::urlGetContents('http://zwiicms.fr/update/'. common::ZWII_UPDATE_CHANNEL . '/version')); } diff --git a/core/core.js.php b/core/core.js.php index 7165ee17..9c16b702 100644 --- a/core/core.js.php +++ b/core/core.js.php @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ var core = {}; diff --git a/core/core.php b/core/core.php index 0e871d58..67c628a8 100644 --- a/core/core.php +++ b/core/core.php @@ -10,7 +10,7 @@ * @license GNU General Public License, version 3 * @author Frédéric Tempez * @copyright Copyright (C) 2018-2020, Frédéric Tempez - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ class common { @@ -2169,7 +2169,7 @@ class layout extends common { $items .= '>Motorisé par '; // Toujours afficher le nom du CMS $items .= ''; - $items .= 'ZwiiCMS'; + $items .= 'ZwiiCMS'; $items .= ''; // Affichage du numéro de version $items .= '' . template::ico('brush') . ''; $rightItems .= '
  • ' . template::ico('cog-alt') . '
  • '; // Mise à jour automatique + $today = mktime(0, 0, 0); // Une mise à jour est disponible + recherche auto activée + 1 jour de délais - $lastAutoUpdate = mktime(0, 0, 0); - if( $this->getData(['config','autoUpdate']) === true && - $lastAutoUpdate > $this->getData(['core','lastAutoUpdate']) + 86400 && - helper::checkNewVersion(common::ZWII_UPDATE_CHANNEL)) { - $this->setData(['core','updateAvailable', true]); - $this->setData(['core','lastAutoUpdate',$lastAutoUpdate]); + if ( $this->getData(['config','autoUpdate']) === true + AND $today > $this->getData(['core','lastAutoUpdate']) + 86400 ) { + if ( helper::checkNewVersion(common::ZWII_UPDATE_CHANNEL) ) { + $this->setData(['core','updateAvailable', true]); + $this->setData(['core','lastAutoUpdate',$today]); + } } // Afficher le bouton : Mise à jour détectée + activée if ( $this->getData(['core','updateAvailable']) === true && diff --git a/core/layout/blank.css b/core/layout/blank.css index 1f211778..b0bb2187 100755 --- a/core/layout/blank.css +++ b/core/layout/blank.css @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /** diff --git a/core/layout/common.css b/core/layout/common.css index a50ecfb1..45174a7a 100755 --- a/core/layout/common.css +++ b/core/layout/common.css @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /** diff --git a/core/layout/light.css b/core/layout/light.css index 0fd9cda4..5ea840d3 100755 --- a/core/layout/light.css +++ b/core/layout/light.css @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /** diff --git a/core/module/config/config.php b/core/module/config/config.php index e8219783..ce2248c3 100644 --- a/core/module/config/config.php +++ b/core/module/config/config.php @@ -11,7 +11,7 @@ * @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/ + * @link http://zwiicms.fr/ */ class config extends common { diff --git a/core/module/config/view/backup/backup.css b/core/module/config/view/backup/backup.css index a476cafe..ef7b951f 100755 --- a/core/module/config/view/backup/backup.css +++ b/core/module/config/view/backup/backup.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ @import url("site/data/admin.css"); diff --git a/core/module/config/view/backup/backup.js.php b/core/module/config/view/backup/backup.js.php index d3325d2c..69a768af 100755 --- a/core/module/config/view/backup/backup.js.php +++ b/core/module/config/view/backup/backup.js.php @@ -7,7 +7,7 @@ * @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/ + * @link http://zwiicms.fr/ */ $( document).ready(function() { diff --git a/core/module/config/view/index/index.css b/core/module/config/view/index/index.css index c7999362..49813799 100755 --- a/core/module/config/view/index/index.css +++ b/core/module/config/view/index/index.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ @import url("site/data/admin.css"); diff --git a/core/module/config/view/index/index.js.php b/core/module/config/view/index/index.js.php index bab33917..78ddaec2 100644 --- a/core/module/config/view/index/index.js.php +++ b/core/module/config/view/index/index.js.php @@ -7,7 +7,7 @@ * @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/ + * @link http://zwiicms.fr/ */ $( document).ready(function() { diff --git a/core/module/config/view/manage/manage.css b/core/module/config/view/manage/manage.css index 6faa3a6a..a7139f53 100755 --- a/core/module/config/view/manage/manage.css +++ b/core/module/config/view/manage/manage.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ @import url("site/data/admin.css"); \ No newline at end of file diff --git a/core/module/config/view/script/script.css b/core/module/config/view/script/script.css index 6faa3a6a..a7139f53 100755 --- a/core/module/config/view/script/script.css +++ b/core/module/config/view/script/script.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ @import url("site/data/admin.css"); \ No newline at end of file diff --git a/core/module/install/install.php b/core/module/install/install.php index fa966310..5d46267f 100644 --- a/core/module/install/install.php +++ b/core/module/install/install.php @@ -9,7 +9,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ diff --git a/core/module/install/view/index/index.js.php b/core/module/install/view/index/index.js.php index 7a7d83c5..eef087dd 100644 --- a/core/module/install/view/index/index.js.php +++ b/core/module/install/view/index/index.js.php @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /** diff --git a/core/module/install/view/update/update.css b/core/module/install/view/update/update.css index b7b07fc9..10b92b20 100755 --- a/core/module/install/view/update/update.css +++ b/core/module/install/view/update/update.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ diff --git a/core/module/maintenance/maintenance.php b/core/module/maintenance/maintenance.php index b91765c5..63e76e76 100644 --- a/core/module/maintenance/maintenance.php +++ b/core/module/maintenance/maintenance.php @@ -9,7 +9,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ class maintenance extends common { diff --git a/core/module/page/page.php b/core/module/page/page.php index b7d53053..85b83b39 100644 --- a/core/module/page/page.php +++ b/core/module/page/page.php @@ -11,7 +11,7 @@ * @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/ + * @link http://zwiicms.fr/ */ class page extends common { diff --git a/core/module/page/view/edit/edit.css b/core/module/page/view/edit/edit.css index cb67dad9..2e992869 100755 --- a/core/module/page/view/edit/edit.css +++ b/core/module/page/view/edit/edit.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ diff --git a/core/module/page/view/edit/edit.js.php b/core/module/page/view/edit/edit.js.php index 2b9d0ab3..48a473d6 100644 --- a/core/module/page/view/edit/edit.js.php +++ b/core/module/page/view/edit/edit.js.php @@ -9,7 +9,7 @@ * @authorFrédéric Tempez * @copyright Copyright (C) 2018-2020, Frédéric Tempez * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /** diff --git a/core/module/sitemap/sitemap.php b/core/module/sitemap/sitemap.php index ed5ba2ae..0d14ded4 100644 --- a/core/module/sitemap/sitemap.php +++ b/core/module/sitemap/sitemap.php @@ -9,7 +9,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ class sitemap extends common { diff --git a/core/module/theme/theme.php b/core/module/theme/theme.php index 529d6900..a226d3f9 100644 --- a/core/module/theme/theme.php +++ b/core/module/theme/theme.php @@ -9,7 +9,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ * @copyright : Frédéric Tempez * @copyright Copyright (C) 2018-2020, Frédéric Tempez */ diff --git a/core/module/theme/view/admin/admin.css b/core/module/theme/view/admin/admin.css index a7f42f05..c1a66e94 100755 --- a/core/module/theme/view/admin/admin.css +++ b/core/module/theme/view/admin/admin.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ /* Thème administration */ diff --git a/core/module/theme/view/admin/admin.js.php b/core/module/theme/view/admin/admin.js.php index a745a90f..c23e98ed 100644 --- a/core/module/theme/view/admin/admin.js.php +++ b/core/module/theme/view/admin/admin.js.php @@ -7,7 +7,7 @@ * @author Fred Tempez * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /** diff --git a/core/module/theme/view/advanced/advanced.css b/core/module/theme/view/advanced/advanced.css index bfeedf7c..654bd6be 100755 --- a/core/module/theme/view/advanced/advanced.css +++ b/core/module/theme/view/advanced/advanced.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ /* Thème administration */ diff --git a/core/module/theme/view/advanced/advanced.js.php b/core/module/theme/view/advanced/advanced.js.php index 212f172e..464d93bb 100644 --- a/core/module/theme/view/advanced/advanced.js.php +++ b/core/module/theme/view/advanced/advanced.js.php @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /** diff --git a/core/module/theme/view/body/body.css b/core/module/theme/view/body/body.css index 5ad98fd8..752c880a 100755 --- a/core/module/theme/view/body/body.css +++ b/core/module/theme/view/body/body.css @@ -8,7 +8,7 @@ * @license GNU General Public License, version 3 * @author Frédéric Tempez * @copyright Copyright (C) 2018-2020, Frédéric Tempez - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ @import url("site/data/admin.css"); diff --git a/core/module/theme/view/body/body.js.php b/core/module/theme/view/body/body.js.php index 9950b80f..4b46e333 100644 --- a/core/module/theme/view/body/body.js.php +++ b/core/module/theme/view/body/body.js.php @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /** diff --git a/core/module/theme/view/footer/footer.css b/core/module/theme/view/footer/footer.css index bfeedf7c..654bd6be 100755 --- a/core/module/theme/view/footer/footer.css +++ b/core/module/theme/view/footer/footer.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ /* Thème administration */ diff --git a/core/module/theme/view/footer/footer.js.php b/core/module/theme/view/footer/footer.js.php index 16a68700..9b5e9c5c 100644 --- a/core/module/theme/view/footer/footer.js.php +++ b/core/module/theme/view/footer/footer.js.php @@ -9,7 +9,7 @@ * @license GNU General Public License, version 3 * @author Frédéric Tempez * @copyright Copyright (C) 2018-2020, Frédéric Tempez - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /** diff --git a/core/module/theme/view/header/header.css b/core/module/theme/view/header/header.css index 6faa3a6a..a7139f53 100755 --- a/core/module/theme/view/header/header.css +++ b/core/module/theme/view/header/header.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ @import url("site/data/admin.css"); \ No newline at end of file diff --git a/core/module/theme/view/header/header.js.php b/core/module/theme/view/header/header.js.php index cc10fdef..b7d05593 100644 --- a/core/module/theme/view/header/header.js.php +++ b/core/module/theme/view/header/header.js.php @@ -9,7 +9,7 @@ * @license GNU General Public License, version 3 * @author Frédéric Tempez * @copyright Copyright (C) 2018-2020, Frédéric Tempez - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ $(document).ready(function(){ diff --git a/core/module/theme/view/index/index.css b/core/module/theme/view/index/index.css index 678d9da2..776025ed 100755 --- a/core/module/theme/view/index/index.css +++ b/core/module/theme/view/index/index.css @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ diff --git a/core/module/theme/view/index/index.js.php b/core/module/theme/view/index/index.js.php index 34804d79..345e765e 100644 --- a/core/module/theme/view/index/index.js.php +++ b/core/module/theme/view/index/index.js.php @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /** diff --git a/core/module/theme/view/manage/manage.css b/core/module/theme/view/manage/manage.css index bfeedf7c..654bd6be 100755 --- a/core/module/theme/view/manage/manage.css +++ b/core/module/theme/view/manage/manage.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ /* Thème administration */ diff --git a/core/module/theme/view/menu/menu.css b/core/module/theme/view/menu/menu.css index 6faa3a6a..a7139f53 100755 --- a/core/module/theme/view/menu/menu.css +++ b/core/module/theme/view/menu/menu.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ @import url("site/data/admin.css"); \ No newline at end of file diff --git a/core/module/theme/view/menu/menu.js.php b/core/module/theme/view/menu/menu.js.php index 8e222c6d..ab3848a5 100644 --- a/core/module/theme/view/menu/menu.js.php +++ b/core/module/theme/view/menu/menu.js.php @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ $(document).ready(function(){ diff --git a/core/module/theme/view/site/site.css b/core/module/theme/view/site/site.css index 74fce65d..2aa6edae 100755 --- a/core/module/theme/view/site/site.css +++ b/core/module/theme/view/site/site.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ diff --git a/core/module/theme/view/site/site.js.php b/core/module/theme/view/site/site.js.php index ba211043..22a97f80 100644 --- a/core/module/theme/view/site/site.js.php +++ b/core/module/theme/view/site/site.js.php @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /* diff --git a/core/module/user/user.php b/core/module/user/user.php index b9e8a124..cb093ee2 100644 --- a/core/module/user/user.php +++ b/core/module/user/user.php @@ -9,7 +9,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ class user extends common { diff --git a/core/module/user/view/add/add.css b/core/module/user/view/add/add.css index 6faa3a6a..a7139f53 100755 --- a/core/module/user/view/add/add.css +++ b/core/module/user/view/add/add.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ @import url("site/data/admin.css"); \ No newline at end of file diff --git a/core/module/user/view/add/add.js.php b/core/module/user/view/add/add.js.php index f83d4a40..6d797f0c 100644 --- a/core/module/user/view/add/add.js.php +++ b/core/module/user/view/add/add.js.php @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /** diff --git a/core/module/user/view/edit/edit.css b/core/module/user/view/edit/edit.css index 74fce65d..2aa6edae 100755 --- a/core/module/user/view/edit/edit.css +++ b/core/module/user/view/edit/edit.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ diff --git a/core/module/user/view/edit/edit.js.php b/core/module/user/view/edit/edit.js.php index e712a9bc..ad7e1087 100644 --- a/core/module/user/view/edit/edit.js.php +++ b/core/module/user/view/edit/edit.js.php @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /** diff --git a/core/module/user/view/forgot/forgot.css b/core/module/user/view/forgot/forgot.css index 74fce65d..2aa6edae 100755 --- a/core/module/user/view/forgot/forgot.css +++ b/core/module/user/view/forgot/forgot.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ diff --git a/core/module/user/view/index/index.css b/core/module/user/view/index/index.css index 74fce65d..2aa6edae 100755 --- a/core/module/user/view/index/index.css +++ b/core/module/user/view/index/index.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ diff --git a/core/module/user/view/index/index.js.php b/core/module/user/view/index/index.js.php index ab2f99db..53d5d62d 100644 --- a/core/module/user/view/index/index.js.php +++ b/core/module/user/view/index/index.js.php @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /** diff --git a/core/module/user/view/login/login.css b/core/module/user/view/login/login.css index f2341432..ce4f1b21 100755 --- a/core/module/user/view/login/login.css +++ b/core/module/user/view/login/login.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ /* diff --git a/core/module/user/view/reset/reset.css b/core/module/user/view/reset/reset.css index 6faa3a6a..a7139f53 100755 --- a/core/module/user/view/reset/reset.css +++ b/core/module/user/view/reset/reset.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ @import url("site/data/admin.css"); \ No newline at end of file diff --git a/index.php b/index.php index 0a03051a..e0dfd752 100644 --- a/index.php +++ b/index.php @@ -11,7 +11,7 @@ * @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/ + * @link http://zwiicms.fr/ */ /** diff --git a/module/blog/blog.php b/module/blog/blog.php index 0709be0f..e69db419 100644 --- a/module/blog/blog.php +++ b/module/blog/blog.php @@ -9,7 +9,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ class blog extends common { diff --git a/module/blog/view/add/add.css b/module/blog/view/add/add.css index 74fce65d..2aa6edae 100755 --- a/module/blog/view/add/add.css +++ b/module/blog/view/add/add.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ diff --git a/module/blog/view/add/add.js.php b/module/blog/view/add/add.js.php index bb843f65..1ade9625 100644 --- a/module/blog/view/add/add.js.php +++ b/module/blog/view/add/add.js.php @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /** diff --git a/module/blog/view/article/article.js.php b/module/blog/view/article/article.js.php index 9c5d795f..0d0fb3e9 100644 --- a/module/blog/view/article/article.js.php +++ b/module/blog/view/article/article.js.php @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /** diff --git a/module/blog/view/comment/comment.css b/module/blog/view/comment/comment.css index 74fce65d..2aa6edae 100755 --- a/module/blog/view/comment/comment.css +++ b/module/blog/view/comment/comment.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ diff --git a/module/blog/view/comment/comment.js.php b/module/blog/view/comment/comment.js.php index 680c2e6a..fa8ec3e3 100644 --- a/module/blog/view/comment/comment.js.php +++ b/module/blog/view/comment/comment.js.php @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /** diff --git a/module/blog/view/config/config.css b/module/blog/view/config/config.css index 74fce65d..2aa6edae 100755 --- a/module/blog/view/config/config.css +++ b/module/blog/view/config/config.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ diff --git a/module/blog/view/config/config.js.php b/module/blog/view/config/config.js.php index 5096f9bd..df6138c0 100644 --- a/module/blog/view/config/config.js.php +++ b/module/blog/view/config/config.js.php @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /** diff --git a/module/blog/view/edit/edit.css b/module/blog/view/edit/edit.css index 74fce65d..2aa6edae 100755 --- a/module/blog/view/edit/edit.css +++ b/module/blog/view/edit/edit.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ diff --git a/module/blog/view/edit/edit.js.php b/module/blog/view/edit/edit.js.php index 837db768..8daaa07a 100644 --- a/module/blog/view/edit/edit.js.php +++ b/module/blog/view/edit/edit.js.php @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ diff --git a/module/form/form.php b/module/form/form.php index 9f814df7..6a0f2714 100644 --- a/module/form/form.php +++ b/module/form/form.php @@ -11,7 +11,7 @@ * @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/ + * @link http://zwiicms.fr/ */ class form extends common { diff --git a/module/form/view/config/config.js.php b/module/form/view/config/config.js.php index 8b4d4fb0..37afae73 100644 --- a/module/form/view/config/config.js.php +++ b/module/form/view/config/config.js.php @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /** diff --git a/module/form/view/data/data.css b/module/form/view/data/data.css index 74fce65d..2aa6edae 100755 --- a/module/form/view/data/data.css +++ b/module/form/view/data/data.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ diff --git a/module/form/view/data/data.js.php b/module/form/view/data/data.js.php index 91d0e044..9fb2aafd 100644 --- a/module/form/view/data/data.js.php +++ b/module/form/view/data/data.js.php @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /** diff --git a/module/form/view/index/index.js.php b/module/form/view/index/index.js.php index 699b1831..697edee7 100644 --- a/module/form/view/index/index.js.php +++ b/module/form/view/index/index.js.php @@ -7,7 +7,7 @@ * @author Frédéric Tempez * @copyright Copyright (C) 2008-2018, Frédéric Tempez * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /** diff --git a/module/gallery/gallery.php b/module/gallery/gallery.php index 84a2ba19..36121257 100644 --- a/module/gallery/gallery.php +++ b/module/gallery/gallery.php @@ -11,7 +11,7 @@ * @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/ + * @link http://zwiicms.fr/ */ class gallery extends common { diff --git a/module/gallery/view/config/config.css b/module/gallery/view/config/config.css index 424570ff..a859c8dd 100755 --- a/module/gallery/view/config/config.css +++ b/module/gallery/view/config/config.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ diff --git a/module/gallery/view/config/config.js.php b/module/gallery/view/config/config.js.php index 7a5fef17..f56117b3 100644 --- a/module/gallery/view/config/config.js.php +++ b/module/gallery/view/config/config.js.php @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ $( document ).ready(function() { diff --git a/module/gallery/view/edit/edit.css b/module/gallery/view/edit/edit.css index 74fce65d..2aa6edae 100755 --- a/module/gallery/view/edit/edit.css +++ b/module/gallery/view/edit/edit.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ diff --git a/module/gallery/view/edit/edit.js.php b/module/gallery/view/edit/edit.js.php index 0c376690..c36e08d7 100644 --- a/module/gallery/view/edit/edit.js.php +++ b/module/gallery/view/edit/edit.js.php @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /** diff --git a/module/gallery/view/gallery/gallery.js.php b/module/gallery/view/gallery/gallery.js.php index bd1f6c78..d99980d2 100644 --- a/module/gallery/view/gallery/gallery.js.php +++ b/module/gallery/view/gallery/gallery.js.php @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ /** diff --git a/module/gallery/view/theme/theme.css b/module/gallery/view/theme/theme.css index 74fce65d..2aa6edae 100755 --- a/module/gallery/view/theme/theme.css +++ b/module/gallery/view/theme/theme.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ diff --git a/module/news/news.php b/module/news/news.php index 08c121d8..ac221426 100644 --- a/module/news/news.php +++ b/module/news/news.php @@ -9,7 +9,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ class news extends common { diff --git a/module/news/view/add/add.css b/module/news/view/add/add.css index 74fce65d..2aa6edae 100755 --- a/module/news/view/add/add.css +++ b/module/news/view/add/add.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ diff --git a/module/news/view/add/add.js.php b/module/news/view/add/add.js.php index 8ddda8b1..77bb1442 100644 --- a/module/news/view/add/add.js.php +++ b/module/news/view/add/add.js.php @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /** diff --git a/module/news/view/config/config.css b/module/news/view/config/config.css index 74fce65d..2aa6edae 100755 --- a/module/news/view/config/config.css +++ b/module/news/view/config/config.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ diff --git a/module/news/view/config/config.js.php b/module/news/view/config/config.js.php index 33f9871c..608f5324 100644 --- a/module/news/view/config/config.js.php +++ b/module/news/view/config/config.js.php @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /** diff --git a/module/news/view/edit/edit.js.php b/module/news/view/edit/edit.js.php index b2e01d4c..ef1444ff 100644 --- a/module/news/view/edit/edit.js.php +++ b/module/news/view/edit/edit.js.php @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /** diff --git a/module/redirection/redirection.php b/module/redirection/redirection.php index 4e96f279..5c92521c 100644 --- a/module/redirection/redirection.php +++ b/module/redirection/redirection.php @@ -9,7 +9,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ class redirection extends common { diff --git a/module/redirection/view/config/config.css b/module/redirection/view/config/config.css index 74fce65d..2aa6edae 100755 --- a/module/redirection/view/config/config.css +++ b/module/redirection/view/config/config.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ diff --git a/module/redirection/view/index/index.css b/module/redirection/view/index/index.css index 74fce65d..2aa6edae 100755 --- a/module/redirection/view/index/index.css +++ b/module/redirection/view/index/index.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ diff --git a/module/redirection/view/index/index.js.php b/module/redirection/view/index/index.js.php index 4cfe09b5..9ed8ce32 100644 --- a/module/redirection/view/index/index.js.php +++ b/module/redirection/view/index/index.js.php @@ -9,7 +9,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ * **/ diff --git a/module/search/search.php b/module/search/search.php index e63509c8..e44ff3a1 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -12,7 +12,7 @@ * @copyright Copyright (C) 2018-2020, Frédéric Tempez * @copyright Sylvain Lelièvre * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ * */ diff --git a/module/search/view/config/config.css b/module/search/view/config/config.css index 8e5c351d..5e80538a 100755 --- a/module/search/view/config/config.css +++ b/module/search/view/config/config.css @@ -9,7 +9,7 @@ * @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/ + * @link http://zwiicms.fr/ */ From 2d4a4b323c3b67033a49514ab555e2a2815d429c Mon Sep 17 00:00:00 2001 From: fredtempez Date: Tue, 1 Sep 2020 21:35:25 +0200 Subject: [PATCH 126/194] backup animation avec contenu du gestionnaire de fichiers --- core/module/config/view/backup/backup.js.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/core/module/config/view/backup/backup.js.php b/core/module/config/view/backup/backup.js.php index 69a768af..90b38808 100755 --- a/core/module/config/view/backup/backup.js.php +++ b/core/module/config/view/backup/backup.js.php @@ -14,8 +14,10 @@ $( document).ready(function() { $("#configBackupForm").submit( function(e){ $("#configBackupSubmit").addClass("disabled").prop("disabled", true); e.preventDefault(); - $("body").addClass("loading"); - $(".modal").addClass("alertMessage"); + if ($("input[name=configBackupOption]").is(':checked')) { + $("body").addClass("loading"); + $(".modal").addClass("alertMessage"); + } var url = "getUrl(0); ?>/backup"; $.ajax({ type: "POST", @@ -30,8 +32,10 @@ $( document).ready(function() { core.alert("Une erreur s'est produite, la sauvegarde n'a pas été générée !"); }, complete: function(){ + if ($("input[name=configBackupOption]").is(':checked')) { + $(".modal").removeClass("alertMessage"); + } $("#configBackupSubmit").removeClass("disabled").prop("disabled", false); - $(".modal").removeClass("alertMessage"); } }); }); From b4b33ec600acc4f5f5dc9fb8621421975d0482e0 Mon Sep 17 00:00:00 2001 From: fredtempez Date: Tue, 1 Sep 2020 21:42:46 +0200 Subject: [PATCH 127/194] hauteur captcha --- core/layout/common.css | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/layout/common.css b/core/layout/common.css index 45174a7a..1e0abe08 100755 --- a/core/layout/common.css +++ b/core/layout/common.css @@ -1374,6 +1374,8 @@ th.col12 { * Taille des images */ .captchaNumber { - height:20px; - vertical-align: middle; + height: 25px; + vertical-align: bottom; + padding-left: 5px; + padding-right: 5px; } \ No newline at end of file From e576a62b2df3ea4455ab0f57df50cae0298f70c4 Mon Sep 17 00:00:00 2001 From: fredtempez Date: Wed, 2 Sep 2020 09:03:01 +0200 Subject: [PATCH 128/194] =?UTF-8?q?aside=20dans=20les=20barres=20lat=C3=A9?= =?UTF-8?q?rales?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/layout/main.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/layout/main.php b/core/layout/main.php index 8a8182c2..963a65b8 100644 --- a/core/layout/main.php +++ b/core/layout/main.php @@ -186,7 +186,7 @@
    -
    showBarContentLeft(); ?>
    +
    showContent(); if (file_exists(self::DATA_DIR . 'body.inc.html')) { @@ -196,7 +196,7 @@
    -
    showBarContentRight(); ?>
    +
    Date: Tue, 8 Sep 2020 14:14:59 +0200 Subject: [PATCH 129/194] 10.2.09 securisation setData --- CHANGES.md | 6 +++++- README.md | 2 +- core/core.php | 7 ++++--- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 690a500b..6a1c3dec 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,7 +1,11 @@ # Changelog +## version 10.2.09 +- Correction : + - Sécurisation de la fonction d'enregistrement des données. + ## version 10.2.08 -- Correction : +- Correction : - Bug pageId, régression corrigée. ## version 10.2.07 diff --git a/README.md b/README.md index 77cd7536..523694bc 100755 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ![](https://img.shields.io/github/last-commit/fredtempez/ZwiiCMS/master) ![](https://img.shields.io/github/release-date/fredtempez/ZwiiCMS) -# ZwiiCMS 10.2.08 +# ZwiiCMS 10.2.09 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/core/core.php b/core/core.php index a3f31036..6b4ea82d 100644 --- a/core/core.php +++ b/core/core.php @@ -39,7 +39,7 @@ class common { const ACCESS_TIMER = 1800; // Numéro de version - const ZWII_VERSION = '10.2.08'; + const ZWII_VERSION = '10.2.09'; const ZWII_UPDATE_CHANNEL = "v10"; public static $actions = []; @@ -946,8 +946,9 @@ class common { */ public function setData($keys = []) { - // Pas d'enregistrement lorsqu'une notice est présente - if (!empty(self::$inputNotices)) { + // Pas d'enregistrement lorsqu'une notice est présente ou tableau transmis vide + if (!empty(self::$inputNotices + AND empty($keys))) { return false; } From b36a0f069f4cab04b9a8d43fc5501aaa93988884 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Tue, 8 Sep 2020 21:25:42 +0200 Subject: [PATCH 130/194] =?UTF-8?q?Bug=20masque=20installation=20valid?= =?UTF-8?q?=C3=A9=20vide?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/install/install.php | 34 +++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/core/module/install/install.php b/core/module/install/install.php index 5d46267f..7d03bfe9 100644 --- a/core/module/install/install.php +++ b/core/module/install/install.php @@ -72,18 +72,27 @@ class install extends common { $this->setData(['module', 'blog', 'mon-deuxieme-article', 'userId', $userId]); $this->setData(['module', 'blog', 'mon-troisieme-article', 'userId', $userId]); } - $success = $this->setData([ - 'user', - $userId, - [ - 'firstname' => $userFirstname, - 'forgot' => 0, - 'group' => self::GROUP_ADMIN, - 'lastname' => $userLastname, - 'mail' => $userMail, - 'password' => $this->getInput('installPassword', helper::FILTER_PASSWORD, true) - ] - ]); + // Création de l'utilisateur si les données sont complétées. + $success = false; + if ( $userFirstname + AND $userLastname + AND $userMail + AND $this->getInput('installPassword', helper::FILTER_PASSWORD, true) + AND $this->getInput('installConfirmPassword', helper::FILTER_STRING_SHORT, true) + ){ + $success = $this->setData([ + 'user', + $userId, + [ + 'firstname' => $userFirstname, + 'forgot' => 0, + 'group' => self::GROUP_ADMIN, + 'lastname' => $userLastname, + 'mail' => $userMail, + 'password' => $this->getInput('installPassword', helper::FILTER_PASSWORD, true) + ] + ]); + } if ($success === true) { // Formulaire complété envoi du mail // Envoie le mail $sent = $this->sendMail( @@ -102,6 +111,7 @@ class install extends common { // Créer sitemap $this->createSitemap(); // Valeurs en sortie + echo helper::baseUrl(false); $this->addOutput([ 'redirect' => helper::baseUrl(false), 'notification' => ($sent === true ? 'Installation terminée' : $sent), From f89e2d314210454bf4742fc0d174cad69caba55b Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Tue, 8 Sep 2020 21:28:53 +0200 Subject: [PATCH 131/194] =?UTF-8?q?Bug=20masque=20installation=20valid?= =?UTF-8?q?=C3=A9=20vide?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index 2f95dc49..107a8f50 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -6,6 +6,7 @@ - Login : l'option "Se souvenir de moi" est fonctionnelle. - Menu : déplacement de la classe "active". - Le titre dans la configuration du module non affiché si le titre de la page est masqué. + - Installation : bug si le masque de saisie est validé vide. - Modifications : - Module recherche : - La recherche dans le site devient un module externe plutôt qu'un module interne ; @@ -16,6 +17,7 @@ - Pages 403 (accès interdit) et 404 (page introuvable) personnalisables - Sauvegarde du site dans une archive : animation d'attente avec message de confirmation ou d'erreur. ; le nom de l'archive prend le nom du sous-domaine s'il existe. - Captcha : addition présentée en lettres sous la forme d'images, réponse en chiffres ; correction du nom de la fonction (capcha en captcha). + ## version 10.2.09 - Correction : - Sécurisation de la fonction d'enregistrement des données. From 19af48b777bc0634ce372f8e3588b2c1e2386143 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Tue, 8 Sep 2020 22:26:33 +0200 Subject: [PATCH 132/194] Existence des pages 404 et 403 --- core/core.php | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/core/core.php b/core/core.php index 69ca155c..ef872517 100644 --- a/core/core.php +++ b/core/core.php @@ -1991,25 +1991,28 @@ class core extends common { 'content' => template::speech('La page ' . $accessInfo['pageId'] . ' est ouverte par l\'utilisateur ' . $accessInfo['userName'] . '') ]); } else { - if ( $this->getData(['config','page403']) === 'none') { + if ( $this->getData(['config','page403']) !== 'none' + AND $this->getData(['page',$this->getData(['config','page403'])])) + { + header('Location:' . helper::baseUrl() . $this->getData(['config','page403'])); + } else { $this->addOutput([ 'title' => 'Erreur 403', 'content' => template::speech('Vous n\'êtes pas autorisé à accéder à cette page...') ]); - } else { - header('Location:' . helper::baseUrl() . $this->getData(['config','page403'])); } } - } - elseif($this->output['content'] === '') { + } elseif ($this->output['content'] === '') { http_response_code(404); - if ( $this->getData(['config','page404']) === 'none') { - $this->addOutput([ - 'title' => 'Erreur 404', - 'content' => template::speech('Oups ! La page demandée est introuvable...') - ]); - } else { + if ( $this->getData(['config','page404']) !== 'none' + AND $this->getData(['page',$this->getData(['config','page404'])])) + { header('Location:' . helper::baseUrl() . $this->getData(['config','page404'])); + } else { + $this->addOutput([ + 'title' => 'Erreur 404', + 'content' => template::speech('Oups ! La page demandée est introuvable...') + ]); } } // Mise en forme des métas From 711e5fef444f06bcf313b0776b593057baefb283 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 9 Sep 2020 14:23:05 +0200 Subject: [PATCH 133/194] 10.3.00 module installation corrections --- core/module/user/user.php | 44 ++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/core/module/user/user.php b/core/module/user/user.php index cb093ee2..3063915b 100644 --- a/core/module/user/user.php +++ b/core/module/user/user.php @@ -37,12 +37,13 @@ class user extends common { public function add() { // Soumission du formulaire if($this->isPost()) { - $check=true; + $check = true; + $sent = false; // L'identifiant d'utilisateur est indisponible $userId = $this->getInput('userAddId', helper::FILTER_ID, true); if($this->getData(['user', $userId])) { self::$inputNotices['userAddId'] = 'Identifiant déjà utilisé'; - $check=false; + $check = false; } // Double vérification pour le mot de passe if($this->getInput('userAddPassword', helper::FILTER_STRING_SHORT, true) !== $this->getInput('userAddConfirmPassword', helper::FILTER_STRING_SHORT, true)) { @@ -54,12 +55,14 @@ class user extends common { $userLastname = $this->getInput('userAddLastname', helper::FILTER_STRING_SHORT, true); $userMail = $this->getInput('userAddMail', helper::FILTER_MAIL, true); // Pas de nom saisi - if (empty($userFirstname) || - empty($userLastname) || - empty($this->getInput('userAddPassword', helper::FILTER_STRING_SHORT, true)) || - empty($this->getInput('userAddConfirmPassword', helper::FILTER_STRING_SHORT, true))) { - $check=false; + if (empty($userFirstname) + OR empty($userLastname) + OR empty($this->getInput('userAddPassword', helper::FILTER_STRING_SHORT, true)) + OR empty($this->getInput('userAddConfirmPassword', helper::FILTER_STRING_SHORT, true)) ) + { + $check = false; } + // Si tout est ok création effective if ($check === true) { $this->setData([ @@ -74,20 +77,19 @@ class user extends common { 'password' => $this->getInput('userAddPassword', helper::FILTER_PASSWORD, true), ] ]); - } - // Envoie le mail - $sent = true; - if($this->getInput('userAddSendMail', helper::FILTER_BOOLEAN) && $check === true) { - $sent = $this->sendMail( - $userMail, - 'Compte créé sur ' . $this->getData(['config', 'title']), - 'Bonjour ' . $userFirstname . ' ' . $userLastname . ',

    ' . - 'Un administrateur vous a créé un compte sur le site ' . $this->getData(['config', 'title']) . '. Vous trouverez ci-dessous les détails de votre compte.

    ' . - 'Identifiant du compte : ' . $this->getInput('userAddId') . '
    ' . - 'Mot de passe du compte : ' . $this->getInput('userAddPassword') . '

    ' . - 'Nous ne conservons pas les mots de passe, en conséquence nous vous conseillons de conserver ce message tant que vous ne vous êtes pas connecté. Vous pourrez modifier votre mot de passe après votre première connexion.', - null - ); + // Envoie le mail + if($this->getInput('userAddSendMail', helper::FILTER_BOOLEAN) && $check === true) { + $sent = $this->sendMail( + $userMail, + 'Compte créé sur ' . $this->getData(['config', 'title']), + 'Bonjour ' . $userFirstname . ' ' . $userLastname . ',

    ' . + 'Un administrateur vous a créé un compte sur le site ' . $this->getData(['config', 'title']) . '. Vous trouverez ci-dessous les détails de votre compte.

    ' . + 'Identifiant du compte : ' . $this->getInput('userAddId') . '
    ' . + 'Mot de passe du compte : ' . $this->getInput('userAddPassword') . '

    ' . + 'Nous ne conservons pas les mots de passe, en conséquence nous vous conseillons de conserver ce message tant que vous ne vous êtes pas connecté. Vous pourrez modifier votre mot de passe après votre première connexion.', + null + ); + } } // Valeurs en sortie $this->addOutput([ From 61984d5c78f0aa8b7b6e5479832ade54e293d457 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 9 Sep 2020 16:47:53 +0200 Subject: [PATCH 134/194] Revert "10.3.00 module installation corrections" This reverts commit 711e5fef444f06bcf313b0776b593057baefb283. --- core/module/user/user.php | 44 +++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/core/module/user/user.php b/core/module/user/user.php index 3063915b..cb093ee2 100644 --- a/core/module/user/user.php +++ b/core/module/user/user.php @@ -37,13 +37,12 @@ class user extends common { public function add() { // Soumission du formulaire if($this->isPost()) { - $check = true; - $sent = false; + $check=true; // L'identifiant d'utilisateur est indisponible $userId = $this->getInput('userAddId', helper::FILTER_ID, true); if($this->getData(['user', $userId])) { self::$inputNotices['userAddId'] = 'Identifiant déjà utilisé'; - $check = false; + $check=false; } // Double vérification pour le mot de passe if($this->getInput('userAddPassword', helper::FILTER_STRING_SHORT, true) !== $this->getInput('userAddConfirmPassword', helper::FILTER_STRING_SHORT, true)) { @@ -55,14 +54,12 @@ class user extends common { $userLastname = $this->getInput('userAddLastname', helper::FILTER_STRING_SHORT, true); $userMail = $this->getInput('userAddMail', helper::FILTER_MAIL, true); // Pas de nom saisi - if (empty($userFirstname) - OR empty($userLastname) - OR empty($this->getInput('userAddPassword', helper::FILTER_STRING_SHORT, true)) - OR empty($this->getInput('userAddConfirmPassword', helper::FILTER_STRING_SHORT, true)) ) - { - $check = false; + if (empty($userFirstname) || + empty($userLastname) || + empty($this->getInput('userAddPassword', helper::FILTER_STRING_SHORT, true)) || + empty($this->getInput('userAddConfirmPassword', helper::FILTER_STRING_SHORT, true))) { + $check=false; } - // Si tout est ok création effective if ($check === true) { $this->setData([ @@ -77,19 +74,20 @@ class user extends common { 'password' => $this->getInput('userAddPassword', helper::FILTER_PASSWORD, true), ] ]); - // Envoie le mail - if($this->getInput('userAddSendMail', helper::FILTER_BOOLEAN) && $check === true) { - $sent = $this->sendMail( - $userMail, - 'Compte créé sur ' . $this->getData(['config', 'title']), - 'Bonjour ' . $userFirstname . ' ' . $userLastname . ',

    ' . - 'Un administrateur vous a créé un compte sur le site ' . $this->getData(['config', 'title']) . '. Vous trouverez ci-dessous les détails de votre compte.

    ' . - 'Identifiant du compte : ' . $this->getInput('userAddId') . '
    ' . - 'Mot de passe du compte : ' . $this->getInput('userAddPassword') . '

    ' . - 'Nous ne conservons pas les mots de passe, en conséquence nous vous conseillons de conserver ce message tant que vous ne vous êtes pas connecté. Vous pourrez modifier votre mot de passe après votre première connexion.', - null - ); - } + } + // Envoie le mail + $sent = true; + if($this->getInput('userAddSendMail', helper::FILTER_BOOLEAN) && $check === true) { + $sent = $this->sendMail( + $userMail, + 'Compte créé sur ' . $this->getData(['config', 'title']), + 'Bonjour ' . $userFirstname . ' ' . $userLastname . ',

    ' . + 'Un administrateur vous a créé un compte sur le site ' . $this->getData(['config', 'title']) . '. Vous trouverez ci-dessous les détails de votre compte.

    ' . + 'Identifiant du compte : ' . $this->getInput('userAddId') . '
    ' . + 'Mot de passe du compte : ' . $this->getInput('userAddPassword') . '

    ' . + 'Nous ne conservons pas les mots de passe, en conséquence nous vous conseillons de conserver ce message tant que vous ne vous êtes pas connecté. Vous pourrez modifier votre mot de passe après votre première connexion.', + null + ); } // Valeurs en sortie $this->addOutput([ From f84613561e9f1e4765417e2dc6bf54824919c5cf Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 9 Sep 2020 17:01:31 +0200 Subject: [PATCH 135/194] Valider nouveau user --- core/module/user/user.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/core/module/user/user.php b/core/module/user/user.php index cb093ee2..56b37edb 100644 --- a/core/module/user/user.php +++ b/core/module/user/user.php @@ -53,11 +53,11 @@ class user extends common { $userFirstname = $this->getInput('userAddFirstname', helper::FILTER_STRING_SHORT, true); $userLastname = $this->getInput('userAddLastname', helper::FILTER_STRING_SHORT, true); $userMail = $this->getInput('userAddMail', helper::FILTER_MAIL, true); - // Pas de nom saisi - if (empty($userFirstname) || - empty($userLastname) || - empty($this->getInput('userAddPassword', helper::FILTER_STRING_SHORT, true)) || - empty($this->getInput('userAddConfirmPassword', helper::FILTER_STRING_SHORT, true))) { + // Vérification des saisies + if (empty($userFirstname) + AND empty($userLastname) + AND empty($this->getInput('userAddPassword', helper::FILTER_STRING_SHORT, true)) + AND empty($this->getInput('userAddConfirmPassword', helper::FILTER_STRING_SHORT, true))) { $check=false; } // Si tout est ok création effective From 9c5642b9b0253f4534ea91d23e1b8f8cd7e2c537 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 9 Sep 2020 17:21:02 +0200 Subject: [PATCH 136/194] =?UTF-8?q?Installation=20+=20cr=C3=A9ation=20user?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/install/install.php | 70 +++++++++++++++++---------------- core/module/user/user.php | 2 +- 2 files changed, 38 insertions(+), 34 deletions(-) mode change 100644 => 100755 core/module/install/install.php mode change 100644 => 100755 core/module/user/user.php diff --git a/core/module/install/install.php b/core/module/install/install.php old mode 100644 new mode 100755 index 7d03bfe9..d925f8e0 --- a/core/module/install/install.php +++ b/core/module/install/install.php @@ -41,45 +41,26 @@ class install extends common { else { // Soumission du formulaire if($this->isPost()) { - //$sent = $success = false; + $success = true; // Double vérification pour le mot de passe if($this->getInput('installPassword', helper::FILTER_STRING_SHORT, true) !== $this->getInput('installConfirmPassword', helper::FILTER_STRING_SHORT, true)) { self::$inputNotices['installConfirmPassword'] = 'Incorrect'; + $success = false; } - // Crée l'utilisateur + // Utilisateur $userFirstname = $this->getInput('installFirstname', helper::FILTER_STRING_SHORT, true); $userLastname = $this->getInput('installLastname', helper::FILTER_STRING_SHORT, true); $userMail = $this->getInput('installMail', helper::FILTER_MAIL, true); $userId = $this->getInput('installId', helper::FILTER_ID, true); - // Bannière par défaut - // Créer les dossiers - if (!is_dir(self::FILE_DIR.'source/banniere/')) { - mkdir(self::FILE_DIR.'source/banniere/');} - if (!is_dir(self::FILE_DIR.'thumb/banniere/')) { - mkdir(self::FILE_DIR.'thumb/banniere/'); - } - // Copier les fichiers - copy('core/module/install/ressource/file/source/banniere960.jpg',self::FILE_DIR.'source/banniere/banniere960.jpg'); - copy('core/module/install/ressource/file/thumb/banniere960.jpg',self::FILE_DIR.'thumb/banniere/banniere960.jpg'); - // Copie des icônes - copy('core/module/install/ressource/file/source/favicon.ico',self::FILE_DIR.'source/favicon.ico'); - copy('core/module/install/ressource/file/source/faviconDark.ico',self::FILE_DIR.'source/faviconDark.ico'); - // Configure certaines données par défaut - if ($this->getInput('installDefaultData',helper::FILTER_BOOLEAN) === TRUE) { - $this->initData('page','fr',true); - $this->initData('module','fr',true); - $this->setData(['module', 'blog', 'mon-premier-article', 'userId', $userId]); - $this->setData(['module', 'blog', 'mon-deuxieme-article', 'userId', $userId]); - $this->setData(['module', 'blog', 'mon-troisieme-article', 'userId', $userId]); - } // Création de l'utilisateur si les données sont complétées. - $success = false; if ( $userFirstname AND $userLastname AND $userMail AND $this->getInput('installPassword', helper::FILTER_PASSWORD, true) AND $this->getInput('installConfirmPassword', helper::FILTER_STRING_SHORT, true) + AND $success ){ + // success retour de l'enregistrement des données $success = $this->setData([ 'user', $userId, @@ -92,9 +73,10 @@ class install extends common { 'password' => $this->getInput('installPassword', helper::FILTER_PASSWORD, true) ] ]); - } - if ($success === true) { // Formulaire complété envoi du mail + // Compte créé, envoi du mail et création des données du site + if ($success) { // Formulaire complété envoi du mail // Envoie le mail + // Sent contient true si réussite sinon code erreur d'envoi en clair $sent = $this->sendMail( $userMail, 'Installation de votre site', @@ -104,19 +86,41 @@ class install extends common { 'Identifiant du compte : ' . $this->getInput('installId') . '
    ', null ); + // Créer les dossiers + if (!is_dir(self::FILE_DIR.'source/banniere/')) { + mkdir(self::FILE_DIR.'source/banniere/');} + if (!is_dir(self::FILE_DIR.'thumb/banniere/')) { + mkdir(self::FILE_DIR.'thumb/banniere/'); + } + // Copier les fichiers + copy('core/module/install/ressource/file/source/banniere960.jpg',self::FILE_DIR.'source/banniere/banniere960.jpg'); + copy('core/module/install/ressource/file/thumb/banniere960.jpg',self::FILE_DIR.'thumb/banniere/banniere960.jpg'); + // Copie des icônes + copy('core/module/install/ressource/file/source/favicon.ico',self::FILE_DIR.'source/favicon.ico'); + copy('core/module/install/ressource/file/source/faviconDark.ico',self::FILE_DIR.'source/faviconDark.ico'); + // Configure certaines données par défaut + if ($this->getInput('installDefaultData',helper::FILTER_BOOLEAN) === TRUE) { + $this->initData('page','fr',true); + $this->initData('module','fr',true); + $this->setData(['module', 'blog', 'mon-premier-article', 'userId', $userId]); + $this->setData(['module', 'blog', 'mon-deuxieme-article', 'userId', $userId]); + $this->setData(['module', 'blog', 'mon-troisieme-article', 'userId', $userId]); + } // Stocker le dossier d'installation $this->setData(['core', 'baseUrl', helper::baseUrl(false,false) ]); // Générer un fichier robots.txt $this->createRobots(); // Créer sitemap $this->createSitemap(); - // Valeurs en sortie - echo helper::baseUrl(false); - $this->addOutput([ - 'redirect' => helper::baseUrl(false), - 'notification' => ($sent === true ? 'Installation terminée' : $sent), - 'state' => ($sent === true ? true : null) - ]); + } else { + die ('Erreur fatale : impossible de stockage les données de l\utilisateur.'); + } + // Valeurs en sortie + $this->addOutput([ + 'redirect' => helper::baseUrl(false), + 'notification' => ($sent === true ? 'Installation terminée' : $sent), + 'state' => ($sent === true ? true : null) + ]); } } diff --git a/core/module/user/user.php b/core/module/user/user.php old mode 100644 new mode 100755 index 56b37edb..718c56c7 --- a/core/module/user/user.php +++ b/core/module/user/user.php @@ -58,7 +58,7 @@ class user extends common { AND empty($userLastname) AND empty($this->getInput('userAddPassword', helper::FILTER_STRING_SHORT, true)) AND empty($this->getInput('userAddConfirmPassword', helper::FILTER_STRING_SHORT, true))) { - $check=false; + $check = false; } // Si tout est ok création effective if ($check === true) { From a1c2a86d5ab5ae75798abb4b7d7c0759cc571f67 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 12 Sep 2020 09:05:57 +0200 Subject: [PATCH 137/194] 10.3.00 bug test variable --- core/module/user/user.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/module/user/user.php b/core/module/user/user.php index 718c56c7..34c51a64 100755 --- a/core/module/user/user.php +++ b/core/module/user/user.php @@ -468,7 +468,8 @@ class user extends common { */ public function logout() { // Ne pas effacer l'identifiant mais seulement le mot de passe - if ($_COOKIE['ZWII_USER_LONGTIME'] !== 'true' ) { + if (array_key_exists('ZWII_USER_LONGTIME',$_COOKIE) + AND $_COOKIE['ZWII_USER_LONGTIME'] !== 'true' ) { helper::deleteCookie('ZWII_USER_ID'); helper::deleteCookie('ZWII_USER_LONGTIME'); } From 44d5866d3d0c5bd90e81833ed3663570626e0d11 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 12 Sep 2020 09:52:30 +0200 Subject: [PATCH 138/194] initialisation --- core/core.php | 2 +- core/module/config/config.php | 1 + core/module/config/view/index/index.php | 12 +++++++-- core/module/install/ressource/defaultdata.php | 26 ++++++++++++++++++- core/module/maintenance/maintenance.php | 23 +++++++++++----- core/module/maintenance/view/index/index.php | 2 +- core/module/user/user.php | 3 ++- 7 files changed, 57 insertions(+), 12 deletions(-) diff --git a/core/core.php b/core/core.php index ef872517..587f2c02 100644 --- a/core/core.php +++ b/core/core.php @@ -1713,7 +1713,7 @@ class core extends common { // Déconnexion $user = new user; $user->logout(); - // Rédirection + // Redirection http_response_code(302); header('Location:' . helper::baseUrl() . 'maintenance'); exit(); diff --git a/core/module/config/config.php b/core/module/config/config.php index ce2248c3..cd5dcf0e 100644 --- a/core/module/config/config.php +++ b/core/module/config/config.php @@ -442,6 +442,7 @@ class config extends common { 'homePageId' => $this->getInput('configHomePageId', helper::FILTER_ID, true), 'page404' => $this->getInput('configPage404'), 'page403' => $this->getInput('configPage403'), + 'page302' => $this->getInput('configPage302'), 'analyticsId' => $this->getInput('configAnalyticsId'), 'autoBackup' => $this->getInput('configAutoBackup', helper::FILTER_BOOLEAN), 'maintenance' => $this->getInput('configMaintenance', helper::FILTER_BOOLEAN), diff --git a/core/module/config/view/index/index.php b/core/module/config/view/index/index.php index 2f9a82e5..2875ba7d 100644 --- a/core/module/config/view/index/index.php +++ b/core/module/config/view/index/index.php @@ -176,7 +176,7 @@
    -
    +
    'Aucune'],helper::arrayCollumn($pages, 'title', 'SORT_ASC')), [ 'label' => 'Accès interdit, erreur 403', @@ -187,11 +187,19 @@
    'Aucune'],helper::arrayCollumn($pages, 'title', 'SORT_ASC')), [ - 'label' => 'Page inexistante, erreur 404 ', + 'label' => 'Page inexistante, erreur 404', 'selected' =>$this->getData(['config', 'page404']), 'help' => 'Une page 404 ne doit pas apparaître dans l\'arborescence du menu. Créez et éditez une page orpheline.' ]); ?>
    +
    + 'Aucune'],helper::arrayCollumn($pages, 'title', 'SORT_ASC')), [ + 'label' => 'Site en maintenance', + 'selected' =>$this->getData(['config', 'page302']), + 'help' => 'Page de maintenance personnalisable' + ]); ?> +
    diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 86a97694..4635ce66 100644 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -10,8 +10,9 @@ class init extends common { 'favicon' => 'favicon.ico', 'faviconDark' => 'faviconDark.ico', 'homePageId' => 'accueil', + 'page302' => 'erreur302', + 'page403' => 'erreur403', 'page404' => 'erreur404', - 'page403' => 'erreur403', 'maintenance' => false, 'social' => [ 'facebookId' => 'facebook', @@ -544,6 +545,29 @@ class init extends common { 'hideMenuHead' => false, 'hideMenuChildren' => false ], + 'erreur302' => [ + 'typeMenu' => 'text', + 'iconUrl' => '', + 'disable' => false, + 'content' => '

    Maintenance en cours...<\/h1>\r\n

    Notre site est actuellement en maintenance. Nous sommes désolés pour la gêne occasionnée et faisons notre possible pour être rapidement de retour.<\/p>\r\n

    \r\n
    <\/span>Administration<\/a><\/div>\r\n<\/div>\r\n

    <\/p>', + 'hideTitle' => false, + 'breadCrumb' => false, + 'metaDescription' => '', + 'metaTitle' => '', + 'moduleId' => '', + 'modulePosition' => 'bottom', + 'parentPageId' => '', + 'position' => 0, + 'group' => self::GROUP_VISITOR, + 'targetBlank' => false, + 'title' => 'Erreur 302', + 'block' => '12', + 'barLeft' => '', + 'barRight' => '', + 'displayMenu' => 'none', + 'hideMenuSide' => false, + 'hideMenuChildren' =>false + ], 'erreur403' => [ 'typeMenu' => 'text', 'iconUrl' => '', diff --git a/core/module/maintenance/maintenance.php b/core/module/maintenance/maintenance.php index 63e76e76..377c6f9f 100644 --- a/core/module/maintenance/maintenance.php +++ b/core/module/maintenance/maintenance.php @@ -22,12 +22,23 @@ class maintenance extends common { * Maintenance */ public function index() { - // Valeurs en sortie - $this->addOutput([ - 'display' => self::DISPLAY_LAYOUT_LIGHT, - 'title' => 'Maintenance en cours...', - 'view' => 'index' - ]); + // Page perso définie et existante + if ($this->getData(['config','page302']) !== 'none' + AND $this->getData(['page',$this->getData(['config','page302'])]) ) { + $this->addOutput([ + 'display' => self::DISPLAY_LAYOUT_LIGHT, + 'title' => $this->getData(['page',$this->getData(['config','page302']),'title']), + 'content' => $this->getdata(['page',$this->getData(['config','page302']),'content']) . '

    ', + 'view' => 'index' + ]); + } else { + // Valeurs en sortie + $this->addOutput([ + 'display' => self::DISPLAY_LAYOUT_LIGHT, + 'title' => 'Maintenance en cours...', + 'view' => 'index' + ]); + } } } \ No newline at end of file diff --git a/core/module/maintenance/view/index/index.php b/core/module/maintenance/view/index/index.php index 52b7ac08..de412318 100644 --- a/core/module/maintenance/view/index/index.php +++ b/core/module/maintenance/view/index/index.php @@ -2,7 +2,7 @@
    'Administration', + 'value' => 'Connexion', 'href' => helper::baseUrl() . 'user/login', 'ico' => 'lock' ]); ?> diff --git a/core/module/user/user.php b/core/module/user/user.php index 718c56c7..34c51a64 100755 --- a/core/module/user/user.php +++ b/core/module/user/user.php @@ -468,7 +468,8 @@ class user extends common { */ public function logout() { // Ne pas effacer l'identifiant mais seulement le mot de passe - if ($_COOKIE['ZWII_USER_LONGTIME'] !== 'true' ) { + if (array_key_exists('ZWII_USER_LONGTIME',$_COOKIE) + AND $_COOKIE['ZWII_USER_LONGTIME'] !== 'true' ) { helper::deleteCookie('ZWII_USER_ID'); helper::deleteCookie('ZWII_USER_LONGTIME'); } From 9b6ece352bc47df09ed0f6adceee5b11aed96913 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 12 Sep 2020 19:37:42 +0200 Subject: [PATCH 139/194] =?UTF-8?q?fic=20url=20bouton=20+=20libell=C3=A9?= =?UTF-8?q?=20et=20options=20de=20page=20par=20d=C3=A9faut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/install/ressource/defaultdata.php | 20 ++++++++++--------- core/module/maintenance/maintenance.php | 2 +- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 4635ce66..15420b0b 100644 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -11,7 +11,7 @@ class init extends common { 'faviconDark' => 'faviconDark.ico', 'homePageId' => 'accueil', 'page302' => 'erreur302', - 'page403' => 'erreur403', + 'page403' => 'erreur403', 'page404' => 'erreur404', 'maintenance' => false, 'social' => [ @@ -549,25 +549,27 @@ class init extends common { 'typeMenu' => 'text', 'iconUrl' => '', 'disable' => false, - 'content' => '

    Maintenance en cours...<\/h1>\r\n

    Notre site est actuellement en maintenance. Nous sommes désolés pour la gêne occasionnée et faisons notre possible pour être rapidement de retour.<\/p>\r\n

    \r\n
    <\/span>Administration<\/a><\/div>\r\n<\/div>\r\n

    <\/p>', + 'content' => '

    Notre site est actuellement en maintenance. Nous sommes désolés pour la gêne occasionnée et faisons notre possible pour être rapidement de retour.

    +
    ', 'hideTitle' => false, 'breadCrumb' => false, 'metaDescription' => '', 'metaTitle' => '', 'moduleId' => '', - 'modulePosition' => 'bottom', + 'modulePosition' => '', 'parentPageId' => '', 'position' => 0, 'group' => self::GROUP_VISITOR, 'targetBlank' => false, - 'title' => 'Erreur 302', + 'title' => 'Maintenance en cours', 'block' => '12', 'barLeft' => '', 'barRight' => '', 'displayMenu' => 'none', - 'hideMenuSide' => false, - 'hideMenuChildren' =>false - ], + 'hideMenuSide' => true, + 'hideMenuHead' => true, + 'hideMenuChildren' => true + ], 'erreur403' => [ 'typeMenu' => 'text', 'iconUrl' => '', @@ -589,7 +591,7 @@ class init extends common { 'barRight' => '', 'displayMenu' => 'none', 'hideMenuSide' => false, - 'hideMenuChildren' =>false + 'hideMenuChildren' => false ], 'erreur404' => [ 'typeMenu' => 'text', @@ -635,7 +637,7 @@ class init extends common { 'barRight' => '', 'displayMenu' => 'none', 'hideMenuSide' => false, - 'hideMenuChildren' =>false + 'hideMenuChildren' => false ], ], 'module' => [ diff --git a/core/module/maintenance/maintenance.php b/core/module/maintenance/maintenance.php index 377c6f9f..9d1dfb88 100644 --- a/core/module/maintenance/maintenance.php +++ b/core/module/maintenance/maintenance.php @@ -28,7 +28,7 @@ class maintenance extends common { $this->addOutput([ 'display' => self::DISPLAY_LAYOUT_LIGHT, 'title' => $this->getData(['page',$this->getData(['config','page302']),'title']), - 'content' => $this->getdata(['page',$this->getData(['config','page302']),'content']) . '', + 'content' => $this->getdata(['page',$this->getData(['config','page302']),'content']), 'view' => 'index' ]); } else { From d7b9817ae0b3430aa0570339cae3451859c8003b Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 12 Sep 2020 19:49:32 +0200 Subject: [PATCH 140/194] bouton dans code de page --- core/module/install/ressource/defaultdata.php | 3 +-- core/module/maintenance/maintenance.php | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 15420b0b..250e9d8d 100644 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -549,8 +549,7 @@ class init extends common { 'typeMenu' => 'text', 'iconUrl' => '', 'disable' => false, - 'content' => '

    Notre site est actuellement en maintenance. Nous sommes désolés pour la gêne occasionnée et faisons notre possible pour être rapidement de retour.

    - ', + 'content' => '

    Notre site est actuellement en maintenance. Nous sommes désolés pour la gêne occasionnée et faisons notre possible pour être rapidement de retour.

    ', 'hideTitle' => false, 'breadCrumb' => false, 'metaDescription' => '', diff --git a/core/module/maintenance/maintenance.php b/core/module/maintenance/maintenance.php index 9d1dfb88..29b70340 100644 --- a/core/module/maintenance/maintenance.php +++ b/core/module/maintenance/maintenance.php @@ -28,7 +28,7 @@ class maintenance extends common { $this->addOutput([ 'display' => self::DISPLAY_LAYOUT_LIGHT, 'title' => $this->getData(['page',$this->getData(['config','page302']),'title']), - 'content' => $this->getdata(['page',$this->getData(['config','page302']),'content']), + 'content' => $this->getdata(['page',$this->getData(['config','page302']),'content']) . '', 'view' => 'index' ]); } else { From a42798f47c12a40a1e4952d2d586cea384c45873 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 12 Sep 2020 20:00:09 +0200 Subject: [PATCH 141/194] Bouton dans la page --- core/module/install/ressource/defaultdata.php | 3 ++- core/module/maintenance/maintenance.php | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 250e9d8d..03b2aaca 100644 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -549,7 +549,8 @@ class init extends common { 'typeMenu' => 'text', 'iconUrl' => '', 'disable' => false, - 'content' => '

    Notre site est actuellement en maintenance. Nous sommes désolés pour la gêne occasionnée et faisons notre possible pour être rapidement de retour.

    ', + 'content' => '

    Notre site est actuellement en maintenance. Nous sommes désolés pour la gêne occasionnée et faisons notre possible pour être rapidement de retour.

    + ', 'hideTitle' => false, 'breadCrumb' => false, 'metaDescription' => '', diff --git a/core/module/maintenance/maintenance.php b/core/module/maintenance/maintenance.php index 29b70340..9d1dfb88 100644 --- a/core/module/maintenance/maintenance.php +++ b/core/module/maintenance/maintenance.php @@ -28,7 +28,7 @@ class maintenance extends common { $this->addOutput([ 'display' => self::DISPLAY_LAYOUT_LIGHT, 'title' => $this->getData(['page',$this->getData(['config','page302']),'title']), - 'content' => $this->getdata(['page',$this->getData(['config','page302']),'content']) . '', + 'content' => $this->getdata(['page',$this->getData(['config','page302']),'content']), 'view' => 'index' ]); } else { From 2f40fd565a4ecf0f058d99c34fc82391bfea4cb1 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 13 Sep 2020 18:11:03 +0200 Subject: [PATCH 142/194] pb du lien de login dans la page --- core/module/install/ressource/defaultdata.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 03b2aaca..3a960ccb 100644 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -550,7 +550,7 @@ class init extends common { 'iconUrl' => '', 'disable' => false, 'content' => '

    Notre site est actuellement en maintenance. Nous sommes désolés pour la gêne occasionnée et faisons notre possible pour être rapidement de retour.

    - ', + ', 'hideTitle' => false, 'breadCrumb' => false, 'metaDescription' => '', From d6eaa7cd501637ac9be005b297887ba4bb8ced25 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Mon, 14 Sep 2020 21:15:55 +0200 Subject: [PATCH 143/194] bulle aide + filtre orphelines --- core/module/config/view/index/index.php | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/core/module/config/view/index/index.php b/core/module/config/view/index/index.php index 2875ba7d..dd7db208 100644 --- a/core/module/config/view/index/index.php +++ b/core/module/config/view/index/index.php @@ -150,10 +150,18 @@ $pages = $this->getData(['page']); foreach($pages as $page => $pageId) { if ($this->getData(['page',$page,'block']) === 'bar' || - $this->getData(['page',$page,'disable']) === true) { + $this->getData(['page',$page,'disable']) === true) { unset($pages[$page]); } } + $orphans = $this->getData(['page']); + foreach($orphans as $page => $pageId) { + if ($this->getData(['page',$page,'block']) === 'bar' || + $this->getData(['page',$page,'disable']) === true || + $this->getdata(['page',$page, 'position']) !== 0) { + unset($orphans[$page]); + } + } echo template::select('configHomePageId', helper::arrayCollumn($pages, 'title', 'SORT_ASC'), [ 'label' => 'Accueil du site', 'selected' =>$this->getData(['config', 'homePageId']), @@ -178,26 +186,26 @@
    'Aucune'],helper::arrayCollumn($pages, 'title', 'SORT_ASC')), [ + echo template::select('configPage403', array_merge(['none' => 'Aucune'],helper::arrayCollumn($orphans, 'title', 'SORT_ASC')), [ 'label' => 'Accès interdit, erreur 403', 'selected' =>$this->getData(['config', 'page403']), - 'help' => 'Une page 403 ne doit pas apparaître dans l\'arborescence du menu. Créez et éditez une page orpheline.' + 'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.' ]); ?>
    'Aucune'],helper::arrayCollumn($pages, 'title', 'SORT_ASC')), [ + echo template::select('configPage404', array_merge(['none' => 'Aucune'],helper::arrayCollumn($orphans, 'title', 'SORT_ASC')), [ 'label' => 'Page inexistante, erreur 404', 'selected' =>$this->getData(['config', 'page404']), - 'help' => 'Une page 404 ne doit pas apparaître dans l\'arborescence du menu. Créez et éditez une page orpheline.' + 'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.' ]); ?>
    'Aucune'],helper::arrayCollumn($pages, 'title', 'SORT_ASC')), [ + echo template::select('configPage302', array_merge(['none' => 'Aucune'],helper::arrayCollumn($orphans, 'title', 'SORT_ASC')), [ 'label' => 'Site en maintenance', 'selected' =>$this->getData(['config', 'page302']), - 'help' => 'Page de maintenance personnalisable' + 'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.' ]); ?>
    From ad275ec629e0ffff25e51a4b2f7a9b646922eb8c Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 12 Sep 2020 09:52:30 +0200 Subject: [PATCH 144/194] initialisation --- core/core.php | 2 +- core/module/config/config.php | 1 + core/module/config/view/index/index.php | 12 +++++++-- core/module/install/ressource/defaultdata.php | 26 ++++++++++++++++++- core/module/maintenance/maintenance.php | 23 +++++++++++----- core/module/maintenance/view/index/index.php | 2 +- 6 files changed, 55 insertions(+), 11 deletions(-) diff --git a/core/core.php b/core/core.php index ef872517..587f2c02 100644 --- a/core/core.php +++ b/core/core.php @@ -1713,7 +1713,7 @@ class core extends common { // Déconnexion $user = new user; $user->logout(); - // Rédirection + // Redirection http_response_code(302); header('Location:' . helper::baseUrl() . 'maintenance'); exit(); diff --git a/core/module/config/config.php b/core/module/config/config.php index ce2248c3..cd5dcf0e 100644 --- a/core/module/config/config.php +++ b/core/module/config/config.php @@ -442,6 +442,7 @@ class config extends common { 'homePageId' => $this->getInput('configHomePageId', helper::FILTER_ID, true), 'page404' => $this->getInput('configPage404'), 'page403' => $this->getInput('configPage403'), + 'page302' => $this->getInput('configPage302'), 'analyticsId' => $this->getInput('configAnalyticsId'), 'autoBackup' => $this->getInput('configAutoBackup', helper::FILTER_BOOLEAN), 'maintenance' => $this->getInput('configMaintenance', helper::FILTER_BOOLEAN), diff --git a/core/module/config/view/index/index.php b/core/module/config/view/index/index.php index 2f9a82e5..2875ba7d 100644 --- a/core/module/config/view/index/index.php +++ b/core/module/config/view/index/index.php @@ -176,7 +176,7 @@
    -
    +
    'Aucune'],helper::arrayCollumn($pages, 'title', 'SORT_ASC')), [ 'label' => 'Accès interdit, erreur 403', @@ -187,11 +187,19 @@
    'Aucune'],helper::arrayCollumn($pages, 'title', 'SORT_ASC')), [ - 'label' => 'Page inexistante, erreur 404 ', + 'label' => 'Page inexistante, erreur 404', 'selected' =>$this->getData(['config', 'page404']), 'help' => 'Une page 404 ne doit pas apparaître dans l\'arborescence du menu. Créez et éditez une page orpheline.' ]); ?>
    +
    + 'Aucune'],helper::arrayCollumn($pages, 'title', 'SORT_ASC')), [ + 'label' => 'Site en maintenance', + 'selected' =>$this->getData(['config', 'page302']), + 'help' => 'Page de maintenance personnalisable' + ]); ?> +
    diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 86a97694..4635ce66 100644 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -10,8 +10,9 @@ class init extends common { 'favicon' => 'favicon.ico', 'faviconDark' => 'faviconDark.ico', 'homePageId' => 'accueil', + 'page302' => 'erreur302', + 'page403' => 'erreur403', 'page404' => 'erreur404', - 'page403' => 'erreur403', 'maintenance' => false, 'social' => [ 'facebookId' => 'facebook', @@ -544,6 +545,29 @@ class init extends common { 'hideMenuHead' => false, 'hideMenuChildren' => false ], + 'erreur302' => [ + 'typeMenu' => 'text', + 'iconUrl' => '', + 'disable' => false, + 'content' => '

    Maintenance en cours...<\/h1>\r\n

    Notre site est actuellement en maintenance. Nous sommes désolés pour la gêne occasionnée et faisons notre possible pour être rapidement de retour.<\/p>\r\n

    \r\n
    <\/span>Administration<\/a><\/div>\r\n<\/div>\r\n

    <\/p>', + 'hideTitle' => false, + 'breadCrumb' => false, + 'metaDescription' => '', + 'metaTitle' => '', + 'moduleId' => '', + 'modulePosition' => 'bottom', + 'parentPageId' => '', + 'position' => 0, + 'group' => self::GROUP_VISITOR, + 'targetBlank' => false, + 'title' => 'Erreur 302', + 'block' => '12', + 'barLeft' => '', + 'barRight' => '', + 'displayMenu' => 'none', + 'hideMenuSide' => false, + 'hideMenuChildren' =>false + ], 'erreur403' => [ 'typeMenu' => 'text', 'iconUrl' => '', diff --git a/core/module/maintenance/maintenance.php b/core/module/maintenance/maintenance.php index 63e76e76..377c6f9f 100644 --- a/core/module/maintenance/maintenance.php +++ b/core/module/maintenance/maintenance.php @@ -22,12 +22,23 @@ class maintenance extends common { * Maintenance */ public function index() { - // Valeurs en sortie - $this->addOutput([ - 'display' => self::DISPLAY_LAYOUT_LIGHT, - 'title' => 'Maintenance en cours...', - 'view' => 'index' - ]); + // Page perso définie et existante + if ($this->getData(['config','page302']) !== 'none' + AND $this->getData(['page',$this->getData(['config','page302'])]) ) { + $this->addOutput([ + 'display' => self::DISPLAY_LAYOUT_LIGHT, + 'title' => $this->getData(['page',$this->getData(['config','page302']),'title']), + 'content' => $this->getdata(['page',$this->getData(['config','page302']),'content']) . '

    ', + 'view' => 'index' + ]); + } else { + // Valeurs en sortie + $this->addOutput([ + 'display' => self::DISPLAY_LAYOUT_LIGHT, + 'title' => 'Maintenance en cours...', + 'view' => 'index' + ]); + } } } \ No newline at end of file diff --git a/core/module/maintenance/view/index/index.php b/core/module/maintenance/view/index/index.php index 52b7ac08..de412318 100644 --- a/core/module/maintenance/view/index/index.php +++ b/core/module/maintenance/view/index/index.php @@ -2,7 +2,7 @@
    'Administration', + 'value' => 'Connexion', 'href' => helper::baseUrl() . 'user/login', 'ico' => 'lock' ]); ?> From f26ca90a91d22eed49a681779b8405b1141ab717 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 12 Sep 2020 19:37:42 +0200 Subject: [PATCH 145/194] =?UTF-8?q?fic=20url=20bouton=20+=20libell=C3=A9?= =?UTF-8?q?=20et=20options=20de=20page=20par=20d=C3=A9faut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/install/ressource/defaultdata.php | 20 ++++++++++--------- core/module/maintenance/maintenance.php | 2 +- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 4635ce66..15420b0b 100644 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -11,7 +11,7 @@ class init extends common { 'faviconDark' => 'faviconDark.ico', 'homePageId' => 'accueil', 'page302' => 'erreur302', - 'page403' => 'erreur403', + 'page403' => 'erreur403', 'page404' => 'erreur404', 'maintenance' => false, 'social' => [ @@ -549,25 +549,27 @@ class init extends common { 'typeMenu' => 'text', 'iconUrl' => '', 'disable' => false, - 'content' => '

    Maintenance en cours...<\/h1>\r\n

    Notre site est actuellement en maintenance. Nous sommes désolés pour la gêne occasionnée et faisons notre possible pour être rapidement de retour.<\/p>\r\n

    \r\n
    <\/span>Administration<\/a><\/div>\r\n<\/div>\r\n

    <\/p>', + 'content' => '

    Notre site est actuellement en maintenance. Nous sommes désolés pour la gêne occasionnée et faisons notre possible pour être rapidement de retour.

    +
    ', 'hideTitle' => false, 'breadCrumb' => false, 'metaDescription' => '', 'metaTitle' => '', 'moduleId' => '', - 'modulePosition' => 'bottom', + 'modulePosition' => '', 'parentPageId' => '', 'position' => 0, 'group' => self::GROUP_VISITOR, 'targetBlank' => false, - 'title' => 'Erreur 302', + 'title' => 'Maintenance en cours', 'block' => '12', 'barLeft' => '', 'barRight' => '', 'displayMenu' => 'none', - 'hideMenuSide' => false, - 'hideMenuChildren' =>false - ], + 'hideMenuSide' => true, + 'hideMenuHead' => true, + 'hideMenuChildren' => true + ], 'erreur403' => [ 'typeMenu' => 'text', 'iconUrl' => '', @@ -589,7 +591,7 @@ class init extends common { 'barRight' => '', 'displayMenu' => 'none', 'hideMenuSide' => false, - 'hideMenuChildren' =>false + 'hideMenuChildren' => false ], 'erreur404' => [ 'typeMenu' => 'text', @@ -635,7 +637,7 @@ class init extends common { 'barRight' => '', 'displayMenu' => 'none', 'hideMenuSide' => false, - 'hideMenuChildren' =>false + 'hideMenuChildren' => false ], ], 'module' => [ diff --git a/core/module/maintenance/maintenance.php b/core/module/maintenance/maintenance.php index 377c6f9f..9d1dfb88 100644 --- a/core/module/maintenance/maintenance.php +++ b/core/module/maintenance/maintenance.php @@ -28,7 +28,7 @@ class maintenance extends common { $this->addOutput([ 'display' => self::DISPLAY_LAYOUT_LIGHT, 'title' => $this->getData(['page',$this->getData(['config','page302']),'title']), - 'content' => $this->getdata(['page',$this->getData(['config','page302']),'content']) . '', + 'content' => $this->getdata(['page',$this->getData(['config','page302']),'content']), 'view' => 'index' ]); } else { From f8e11f40162c5eeca45562a3883352194c6d290f Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 12 Sep 2020 19:49:32 +0200 Subject: [PATCH 146/194] bouton dans code de page --- core/module/install/ressource/defaultdata.php | 3 +-- core/module/maintenance/maintenance.php | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 15420b0b..250e9d8d 100644 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -549,8 +549,7 @@ class init extends common { 'typeMenu' => 'text', 'iconUrl' => '', 'disable' => false, - 'content' => '

    Notre site est actuellement en maintenance. Nous sommes désolés pour la gêne occasionnée et faisons notre possible pour être rapidement de retour.

    - ', + 'content' => '

    Notre site est actuellement en maintenance. Nous sommes désolés pour la gêne occasionnée et faisons notre possible pour être rapidement de retour.

    ', 'hideTitle' => false, 'breadCrumb' => false, 'metaDescription' => '', diff --git a/core/module/maintenance/maintenance.php b/core/module/maintenance/maintenance.php index 9d1dfb88..29b70340 100644 --- a/core/module/maintenance/maintenance.php +++ b/core/module/maintenance/maintenance.php @@ -28,7 +28,7 @@ class maintenance extends common { $this->addOutput([ 'display' => self::DISPLAY_LAYOUT_LIGHT, 'title' => $this->getData(['page',$this->getData(['config','page302']),'title']), - 'content' => $this->getdata(['page',$this->getData(['config','page302']),'content']), + 'content' => $this->getdata(['page',$this->getData(['config','page302']),'content']) . '', 'view' => 'index' ]); } else { From 4bca8f92f40fa18f5cc0a4edb0832aec44658069 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 12 Sep 2020 20:00:09 +0200 Subject: [PATCH 147/194] Bouton dans la page --- core/module/install/ressource/defaultdata.php | 3 ++- core/module/maintenance/maintenance.php | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 250e9d8d..03b2aaca 100644 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -549,7 +549,8 @@ class init extends common { 'typeMenu' => 'text', 'iconUrl' => '', 'disable' => false, - 'content' => '

    Notre site est actuellement en maintenance. Nous sommes désolés pour la gêne occasionnée et faisons notre possible pour être rapidement de retour.

    ', + 'content' => '

    Notre site est actuellement en maintenance. Nous sommes désolés pour la gêne occasionnée et faisons notre possible pour être rapidement de retour.

    + ', 'hideTitle' => false, 'breadCrumb' => false, 'metaDescription' => '', diff --git a/core/module/maintenance/maintenance.php b/core/module/maintenance/maintenance.php index 29b70340..9d1dfb88 100644 --- a/core/module/maintenance/maintenance.php +++ b/core/module/maintenance/maintenance.php @@ -28,7 +28,7 @@ class maintenance extends common { $this->addOutput([ 'display' => self::DISPLAY_LAYOUT_LIGHT, 'title' => $this->getData(['page',$this->getData(['config','page302']),'title']), - 'content' => $this->getdata(['page',$this->getData(['config','page302']),'content']) . '', + 'content' => $this->getdata(['page',$this->getData(['config','page302']),'content']), 'view' => 'index' ]); } else { From 084b5c73c5af457b96adb5934f4b4e4b273f76e3 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 13 Sep 2020 18:11:03 +0200 Subject: [PATCH 148/194] pb du lien de login dans la page --- core/module/install/ressource/defaultdata.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 03b2aaca..3a960ccb 100644 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -550,7 +550,7 @@ class init extends common { 'iconUrl' => '', 'disable' => false, 'content' => '

    Notre site est actuellement en maintenance. Nous sommes désolés pour la gêne occasionnée et faisons notre possible pour être rapidement de retour.

    - ', + ', 'hideTitle' => false, 'breadCrumb' => false, 'metaDescription' => '', From 659bc7f922b0fedf70a0e9ab5d7c754761c2cdff Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Mon, 14 Sep 2020 21:15:55 +0200 Subject: [PATCH 149/194] bulle aide + filtre orphelines --- core/module/config/view/index/index.php | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/core/module/config/view/index/index.php b/core/module/config/view/index/index.php index 2875ba7d..dd7db208 100644 --- a/core/module/config/view/index/index.php +++ b/core/module/config/view/index/index.php @@ -150,10 +150,18 @@ $pages = $this->getData(['page']); foreach($pages as $page => $pageId) { if ($this->getData(['page',$page,'block']) === 'bar' || - $this->getData(['page',$page,'disable']) === true) { + $this->getData(['page',$page,'disable']) === true) { unset($pages[$page]); } } + $orphans = $this->getData(['page']); + foreach($orphans as $page => $pageId) { + if ($this->getData(['page',$page,'block']) === 'bar' || + $this->getData(['page',$page,'disable']) === true || + $this->getdata(['page',$page, 'position']) !== 0) { + unset($orphans[$page]); + } + } echo template::select('configHomePageId', helper::arrayCollumn($pages, 'title', 'SORT_ASC'), [ 'label' => 'Accueil du site', 'selected' =>$this->getData(['config', 'homePageId']), @@ -178,26 +186,26 @@
    'Aucune'],helper::arrayCollumn($pages, 'title', 'SORT_ASC')), [ + echo template::select('configPage403', array_merge(['none' => 'Aucune'],helper::arrayCollumn($orphans, 'title', 'SORT_ASC')), [ 'label' => 'Accès interdit, erreur 403', 'selected' =>$this->getData(['config', 'page403']), - 'help' => 'Une page 403 ne doit pas apparaître dans l\'arborescence du menu. Créez et éditez une page orpheline.' + 'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.' ]); ?>
    'Aucune'],helper::arrayCollumn($pages, 'title', 'SORT_ASC')), [ + echo template::select('configPage404', array_merge(['none' => 'Aucune'],helper::arrayCollumn($orphans, 'title', 'SORT_ASC')), [ 'label' => 'Page inexistante, erreur 404', 'selected' =>$this->getData(['config', 'page404']), - 'help' => 'Une page 404 ne doit pas apparaître dans l\'arborescence du menu. Créez et éditez une page orpheline.' + 'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.' ]); ?>
    'Aucune'],helper::arrayCollumn($pages, 'title', 'SORT_ASC')), [ + echo template::select('configPage302', array_merge(['none' => 'Aucune'],helper::arrayCollumn($orphans, 'title', 'SORT_ASC')), [ 'label' => 'Site en maintenance', 'selected' =>$this->getData(['config', 'page302']), - 'help' => 'Page de maintenance personnalisable' + 'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.' ]); ?>
    From b177a9eca17bbe27ae22a5bec08cd8031f66589e Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Tue, 15 Sep 2020 20:35:32 +0200 Subject: [PATCH 150/194] Recherche titre des ressources --- module/search/search.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/module/search/search.php b/module/search/search.php index e44ff3a1..b2a41f07 100755 --- a/module/search/search.php +++ b/module/search/search.php @@ -115,7 +115,7 @@ class search extends common { $this->getData(['page', $parentId, 'block']) !== 'bar') { $url = $parentId; $titre = $this->getData(['page', $parentId, 'title']); - $contenu = $this->getData(['page', $parentId, 'content']); + $contenu = ' ' . $titre . ' ' . $this->getData(['page', $parentId, 'content']); // Pages sauf pages filles et articles de blog $tempData = $this->occurrence($url, $titre, $contenu, self::$motclef, self::$motentier); if (is_array($tempData) ) { @@ -130,7 +130,7 @@ class search extends common { $this->getData(['page', $parentId, 'block']) !== 'bar') { $url = $childId; $titre = $this->getData(['page', $childId, 'title']); - $contenu = $this->getData(['page', $childId, 'content']); + $contenu = ' ' . $titre . ' ' . $this->getData(['page', $childId, 'content']); //Pages filles $tempData = $this->occurrence($url, $titre, $contenu, self::$motclef, self::$motentier); if (is_array($tempData) ) { @@ -145,7 +145,7 @@ class search extends common { if($this->getData(['module',$childId,$articleId,'state']) === true) { $url = $childId . '/' . $articleId; $titre = $article['title']; - $contenu = $article['content']; + $contenu = ' ' . $titre . ' ' . $article['content']; // Articles de sous-page de type blog $tempData = $this->occurrence($url, $titre, $contenu, self::$motclef, self::$motentier); if (is_array($tempData) ) { @@ -163,7 +163,7 @@ class search extends common { { $url = $parentId. '/' . $articleId; $titre = $article['title']; - $contenu = $article['content']; + $contenu = ' ' . $titre . ' ' . $article['content']; // Articles de Blog $tempData = $this->occurrence($url, $titre, $contenu, self::$motclef, self::$motentier); if (is_array($tempData) ) { @@ -237,7 +237,7 @@ class search extends common { // Eviter de découper avec une valeur négative $d = $matches[0][0][1] - 50 < 0 ? 1 : $matches[0][0][1] - 50; // Rechercher l'espace le plus proche - $d = $d > 1 ? strpos($contenu,' ',$d) : $d; + $d = $d >= 1 ? strpos($contenu,' ',$d) : $d; // Découper l'aperçu $t = substr($contenu, $d ,$this->getData(['module',$this->getUrl(0),'previewLength'])); // Applique une mise en évidence From 8885ddb362ec1dbf33edd3c565097e686638265a Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Tue, 15 Sep 2020 20:41:08 +0200 Subject: [PATCH 151/194] Exemple de site bulle --- core/module/install/view/index/index.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/module/install/view/index/index.php b/core/module/install/view/index/index.php index 6debdbf3..91458aa7 100644 --- a/core/module/install/view/index/index.php +++ b/core/module/install/view/index/index.php @@ -39,7 +39,8 @@
    true + 'checked' => true, + 'help' => 'Permet la découverte des fonctionnalités du CMS, option recommandée aux débutants' ]); ?>
    From dfe31a2400a6ae360620411904e879b2eea12de9 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 16 Sep 2020 14:59:21 +0200 Subject: [PATCH 152/194] =?UTF-8?q?Traitement=20des=20modification=20et=20?= =?UTF-8?q?des=20suppression=20des=20pages=20sp=C3=A9ciales?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/page/page.php | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/core/module/page/page.php b/core/module/page/page.php index 85b83b39..1e39d774 100644 --- a/core/module/page/page.php +++ b/core/module/page/page.php @@ -130,6 +130,22 @@ class page extends common { 'notification' => 'Impossible de supprimer la page d\'accueil' ]); } + // Impossible de supprimer la page de recherche affectée + elseif($url[0] === $this->getData(['config', 'searchPageId'])) { + // Valeurs en sortie + $this->addOutput([ + 'redirect' => helper::baseUrl() . 'page/edit/' . $url[0], + 'notification' => 'Désactiver la page de recherche dans la configuration avant de la supprimer' + ]); + } + // Impossible de supprimer la page des mentions légales affectée + elseif($url[0] === $this->getData(['config', 'legalPageId'])) { + // Valeurs en sortie + $this->addOutput([ + 'redirect' => helper::baseUrl() . 'page/edit/' . $url[0], + 'notification' => 'Désactiver la page des mentions légales dans la configuration avant de la supprimer' + ]); + } // Jeton incorrect elseif(!isset($_GET['csrf'])) { // Valeurs en sortie @@ -221,6 +237,22 @@ class page extends common { if($pageId !== $this->getUrl(2)) { $this->deleteData(['page', $this->getUrl(2)]); } + // Traitement des pages spéciales affectées dans la config : + if ($this->getUrl(2) === $this->getData(['config', 'legalPageId']) ) { + $this->setData(['config','legalPageId', $pageId]); + } + if ($this->getUrl(2) === $this->getData(['config', 'searchPageId']) ) { + $this->setData(['config','searchPageId', $pageId]); + } + if ($this->getUrl(2) === $this->getData(['config', 'page404']) ) { + $this->setData(['config','page404', $pageId]); + } + if ($this->getUrl(2) === $this->getData(['config', 'page403']) ) { + $this->setData(['config','page403', $pageId]); + } + if ($this->getUrl(2) === $this->getData(['config', 'page302']) ) { + $this->setData(['config','page302', $pageId]); + } // Si la page est une page enfant, actualise les positions des autres enfants du parent, sinon actualise les pages sans parents $lastPosition = 1; $hierarchy = $this->getInput('pageEditParentPageId') ? $this->getHierarchy($this->getInput('pageEditParentPageId')) : array_keys($this->getHierarchy()); From 9d9c6780df089270e1c41a365375835b9f24fa92 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 16 Sep 2020 15:04:14 +0200 Subject: [PATCH 153/194] =?UTF-8?q?Traitement=20des=20modification=20et=20?= =?UTF-8?q?des=20suppression=20des=20pages=20sp=C3=A9ciales?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/page/page.php | 36 ++++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/core/module/page/page.php b/core/module/page/page.php index 1e39d774..11db18ac 100644 --- a/core/module/page/page.php +++ b/core/module/page/page.php @@ -126,24 +126,48 @@ class page extends common { elseif($url[0] === $this->getData(['config', 'homePageId'])) { // Valeurs en sortie $this->addOutput([ - 'redirect' => helper::baseUrl() . 'page/edit/' . $url[0], - 'notification' => 'Impossible de supprimer la page d\'accueil' + 'redirect' => helper::baseUrl() . 'config', + 'notification' => 'Désactiver la page dans la configuration avant de la supprimer' ]); } // Impossible de supprimer la page de recherche affectée elseif($url[0] === $this->getData(['config', 'searchPageId'])) { // Valeurs en sortie $this->addOutput([ - 'redirect' => helper::baseUrl() . 'page/edit/' . $url[0], - 'notification' => 'Désactiver la page de recherche dans la configuration avant de la supprimer' + 'redirect' => helper::baseUrl() . 'config', + 'notification' => 'Désactiver la page dans la configuration avant de la supprimer' ]); } // Impossible de supprimer la page des mentions légales affectée elseif($url[0] === $this->getData(['config', 'legalPageId'])) { // Valeurs en sortie $this->addOutput([ - 'redirect' => helper::baseUrl() . 'page/edit/' . $url[0], - 'notification' => 'Désactiver la page des mentions légales dans la configuration avant de la supprimer' + 'redirect' => helper::baseUrl() . 'config', + 'notification' => 'Désactiver la page dans la configuration avant de la supprimer' + ]); + } + // Impossible de supprimer la page des mentions légales affectée + elseif($url[0] === $this->getData(['config', 'page404'])) { + // Valeurs en sortie + $this->addOutput([ + 'redirect' => helper::baseUrl() . 'config', + 'notification' => 'Désactiver la page dans la configuration avant de la supprimer' + ]); + } + // Impossible de supprimer la page des mentions légales affectée + elseif($url[0] === $this->getData(['config', 'page403'])) { + // Valeurs en sortie + $this->addOutput([ + 'redirect' => helper::baseUrl() . 'config', + 'notification' => 'Désactiver la page dans la configuration avant de la supprimer' + ]); + } + // Impossible de supprimer la page des mentions légales affectée + elseif($url[0] === $this->getData(['config', 'page302'])) { + // Valeurs en sortie + $this->addOutput([ + 'redirect' => helper::baseUrl() . 'config', + 'notification' => 'Désactiver la page dans la configuration avant de la supprimer' ]); } // Jeton incorrect From 1395ed4a0a48f8b7eaf02b9087091c215c6f0857 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 16 Sep 2020 15:09:26 +0200 Subject: [PATCH 154/194] =?UTF-8?q?Installation=20:=20option=20de=20site?= =?UTF-8?q?=20par=20d=C3=A9faut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/install/install.php | 2 +- core/module/install/view/index/index.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core/module/install/install.php b/core/module/install/install.php index d925f8e0..516f0e0b 100755 --- a/core/module/install/install.php +++ b/core/module/install/install.php @@ -99,7 +99,7 @@ class install extends common { copy('core/module/install/ressource/file/source/favicon.ico',self::FILE_DIR.'source/favicon.ico'); copy('core/module/install/ressource/file/source/faviconDark.ico',self::FILE_DIR.'source/faviconDark.ico'); // Configure certaines données par défaut - if ($this->getInput('installDefaultData',helper::FILTER_BOOLEAN) === TRUE) { + if ($this->getInput('installDefaultData',helper::FILTER_BOOLEAN) === FALSE) { $this->initData('page','fr',true); $this->initData('module','fr',true); $this->setData(['module', 'blog', 'mon-premier-article', 'userId', $userId]); diff --git a/core/module/install/view/index/index.php b/core/module/install/view/index/index.php index 91458aa7..96651939 100644 --- a/core/module/install/view/index/index.php +++ b/core/module/install/view/index/index.php @@ -38,8 +38,8 @@
    - true, + false, 'help' => 'Permet la découverte des fonctionnalités du CMS, option recommandée aux débutants' ]); ?> From 901c21f894af9153e89addf42e3a3463936dc184 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Thu, 17 Sep 2020 07:08:22 +0200 Subject: [PATCH 155/194] =?UTF-8?q?install=20:=20bulle=20aide=20supprim?= =?UTF-8?q?=C3=A9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/install/view/index/index.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/core/module/install/view/index/index.php b/core/module/install/view/index/index.php index 96651939..9c60b0eb 100644 --- a/core/module/install/view/index/index.php +++ b/core/module/install/view/index/index.php @@ -39,8 +39,7 @@
    false, - 'help' => 'Permet la découverte des fonctionnalités du CMS, option recommandée aux débutants' + 'checked' => false ]); ?>
    From f6d0635f1e735e1f1ccd71035c86c74a16877b70 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Thu, 17 Sep 2020 18:01:36 +0200 Subject: [PATCH 156/194] Droits htaccess --- .htaccess | 0 core/class/.htaccess | 0 core/class/phpmailer/.htaccess | 0 core/module/install/ressource/.htaccess | 0 core/vendor/filemanager/config/.htaccess | 0 site/backup/.htaccess | 0 site/data/.htaccess | 0 site/tmp/.htaccess | 0 8 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 .htaccess mode change 100755 => 100644 core/class/.htaccess mode change 100755 => 100644 core/class/phpmailer/.htaccess mode change 100755 => 100644 core/module/install/ressource/.htaccess mode change 100755 => 100644 core/vendor/filemanager/config/.htaccess mode change 100755 => 100644 site/backup/.htaccess mode change 100755 => 100644 site/data/.htaccess mode change 100755 => 100644 site/tmp/.htaccess diff --git a/.htaccess b/.htaccess old mode 100755 new mode 100644 diff --git a/core/class/.htaccess b/core/class/.htaccess old mode 100755 new mode 100644 diff --git a/core/class/phpmailer/.htaccess b/core/class/phpmailer/.htaccess old mode 100755 new mode 100644 diff --git a/core/module/install/ressource/.htaccess b/core/module/install/ressource/.htaccess old mode 100755 new mode 100644 diff --git a/core/vendor/filemanager/config/.htaccess b/core/vendor/filemanager/config/.htaccess old mode 100755 new mode 100644 diff --git a/site/backup/.htaccess b/site/backup/.htaccess old mode 100755 new mode 100644 diff --git a/site/data/.htaccess b/site/data/.htaccess old mode 100755 new mode 100644 diff --git a/site/tmp/.htaccess b/site/tmp/.htaccess old mode 100755 new mode 100644 From 80c80aca3cf3464319ba3c5945d816950ddc9fad Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Thu, 17 Sep 2020 20:36:56 +0200 Subject: [PATCH 157/194] Lien rechercher supp dans footer defaut site --- core/module/install/ressource/defaultdata.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 3a960ccb..624b50c5 100644 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -113,7 +113,7 @@ class init extends common { 'displaySiteMap' => true, 'displayCopyright' => false, 'displayLegal' => false, - 'displaySearch' => true, + 'displaySearch' => false, 'displayMemberBar' => false, 'template' => '3' ], From 318a2d7e1c37e67aa90bb9ef8e8afe930d872c1b Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 18 Sep 2020 03:55:22 +0200 Subject: [PATCH 158/194] Classe jsonDB gestion d'erreur + traduction commentaires russes --- core/class/jsondb/JsonDb.class.php | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/core/class/jsondb/JsonDb.class.php b/core/class/jsondb/JsonDb.class.php index de755bc1..41ab795c 100644 --- a/core/class/jsondb/JsonDb.class.php +++ b/core/class/jsondb/JsonDb.class.php @@ -36,7 +36,7 @@ class JsonDb extends \Prowebcraft\Dot * * @param mixed $key Path or array of paths and values * @param mixed|null $value Value to set if path is not an array - * @param bool $save Сохранить данные в базу + * @param bool $save Save data to database * @return $this */ public function set($key, $value = null, $save = true) @@ -49,10 +49,10 @@ class JsonDb extends \Prowebcraft\Dot /** * Add value or array of values to path * - * @param mixed $key Path or array of paths and values + * @param mixed $key Path or array of paths and values * @param mixed|null $value Value to set if path is not an array - * @param boolean $pop Helper to pop out last key if value is an array - * @param bool $save Сохранить данные в базу + * @param boolean $pop Helper to pop out last key if value is an array + * @param bool $save Save data to database * @return $this */ public function add($key, $value = null, $pop = false, $save = true) @@ -65,8 +65,8 @@ class JsonDb extends \Prowebcraft\Dot /** * Delete path or array of paths * - * @param mixed $key Path or array of paths to delete - * @param bool $save Сохранить данные в базу + * @param mixed $key Path or array of paths to delete + * @param bool $save Save data to database * @return $this */ public function delete($key, $save = true) @@ -81,8 +81,8 @@ class JsonDb extends \Prowebcraft\Dot * optionally format path if it doesn't exist * * @param mixed|null $key Path or array of paths to clean - * @param boolean $format Format option - * @param bool $save Сохранить данные в базу + * @param boolean $format Format option + * @param bool $save Save data to database * @return $this */ public function clear($key = null, $format = false, $save = true) @@ -94,9 +94,8 @@ class JsonDb extends \Prowebcraft\Dot /** - * Загрузка локальной базы данных - * @param bool $reload - * Перезагрузить данные? + * Local database upload + * @param bool $reload Reboot data? * @return array|mixed|null */ protected function loadData($reload = false) { @@ -122,13 +121,16 @@ class JsonDb extends \Prowebcraft\Dot if (!$this->data === null) { throw new \InvalidArgumentException('Database file ' . $this->db . ' contains invalid json object. Please validate or remove file'); + + trigger_error ('Crash jsonDB : Database file ' . $this->db + . ' contains invalid json object. Please validate or remove file',E_USER_ERROR); } } return $this->data; } /** - * Сохранение в локальную базу + * Saving to local database */ public function save() { file_put_contents($this->db, json_encode($this->data, JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT)); From 0c08e387b71d47b24c378511bc6e25751d1d620d Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 18 Sep 2020 03:57:02 +0200 Subject: [PATCH 159/194] jsonDb supprimer le template --- core/core.php | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/core/core.php b/core/core.php index 587f2c02..4158c1d0 100644 --- a/core/core.php +++ b/core/core.php @@ -318,12 +318,9 @@ class common { //Retourne une chaine contenant le dossier à créer $folder = $this->dirData ($keys[0],'fr'); // Constructeur JsonDB - //require_once "core/vendor/jsondb/Dot.php"; - //require_once "core/vendor/jsondb/JsonDb.php"; $db = new \Prowebcraft\JsonDb([ 'name' => $keys[0] . '.json', - 'dir' => $folder, - 'template' => self::TEMP_DIR . 'data.template.json' + 'dir' => $folder ]); switch(count($keys)) { case 1: @@ -387,8 +384,7 @@ class common { // Constructeur JsonDB $db = new \Prowebcraft\JsonDb([ 'name' => $keys[0] . '.json', - 'dir' => $folder, - 'template' => self::TEMP_DIR . 'data.template.json' + 'dir' => $folder ]); switch(count($keys)) { case 1: @@ -956,8 +952,7 @@ class common { // Constructeur JsonDB $db = new \Prowebcraft\JsonDb([ 'name' => $keys[0] . '.json', - 'dir' => $folder, - 'template' => self::TEMP_DIR . 'data.template.json' + 'dir' => $folder ]); switch(count($keys)) { @@ -1008,8 +1003,7 @@ class common { // Constructeur JsonDB $db = new \Prowebcraft\JsonDb([ 'name' => $module . '.json', - 'dir' => $folder, - 'template' => self::TEMP_DIR . 'data.template.json' + 'dir' => $folder ]); if ($sampleSite === true) { $db->set($module,init::$siteData[$module]); @@ -1753,11 +1747,11 @@ class core extends common { foreach($this->getData(['user']) as $userId => $userIds){ $t = explode('/',$this->getData(['user', $userId, 'accessUrl'])); if ( $this->getuser('id') && - $userId !== $this->getuser('id') && - $this->getData(['user', $userId,'accessUrl']) === $this->getUrl() && - array_intersect($t,self::$accessList) && - array_intersect($t,self::$accessExclude) !== false && - time() < $this->getData(['user', $userId,'accessTimer']) + self::ACCESS_TIMER + $userId !== $this->getuser('id') && + $this->getData(['user', $userId,'accessUrl']) === $this->getUrl() && + array_intersect($t,self::$accessList) && + array_intersect($t,self::$accessExclude) !== false && + time() < $this->getData(['user', $userId,'accessTimer']) + self::ACCESS_TIMER ) { $access = false; $accessInfo['userName'] = $this->getData(['user', $userId, 'lastname']) . ' ' . $this->getData(['user', $userId, 'firstname']); From c0aaa15ad5d4efeadd090eb407d3645e324cbb1c Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 18 Sep 2020 04:10:13 +0200 Subject: [PATCH 160/194] =?UTF-8?q?jsonDb=20supprimer=20init=20mod=C3=A8le?= =?UTF-8?q?=20donn=C3=A9es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/class/jsondb/JsonDb.class.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/class/jsondb/JsonDb.class.php b/core/class/jsondb/JsonDb.class.php index 41ab795c..eae524f6 100644 --- a/core/class/jsondb/JsonDb.class.php +++ b/core/class/jsondb/JsonDb.class.php @@ -101,6 +101,7 @@ class JsonDb extends \Prowebcraft\Dot protected function loadData($reload = false) { if ($this->data === null || $reload) { $this->db = $this->config['dir'] . DIRECTORY_SEPARATOR . $this->config['name']; + /* if (!file_exists($this->db)) { $templateFile = $this->config['template']; if (file_exists($templateFile)) { @@ -117,6 +118,7 @@ class JsonDb extends \Prowebcraft\Dot } } } + */ $this->data = json_decode(file_get_contents($this->db), true); if (!$this->data === null) { throw new \InvalidArgumentException('Database file ' . $this->db From 030b42ab099cbd449c8c7dc249e0e51f0bde72da Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 18 Sep 2020 04:31:58 +0200 Subject: [PATCH 161/194] jsonDb comment param inutiles --- core/class/jsondb/JsonDb.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/class/jsondb/JsonDb.class.php b/core/class/jsondb/JsonDb.class.php index eae524f6..294eb831 100644 --- a/core/class/jsondb/JsonDb.class.php +++ b/core/class/jsondb/JsonDb.class.php @@ -23,9 +23,9 @@ class JsonDb extends \Prowebcraft\Dot { $this->config = array_merge([ 'name' => 'data.json', - 'backup' => 5, + /* 'backup' => 5,*/ 'dir' => getcwd(), - 'template' => getcwd() . DIRECTORY_SEPARATOR . 'data.template.json' + /* 'template' => getcwd() . DIRECTORY_SEPARATOR . 'data.template.json'*/ ], $config); $this->loadData(); parent::__construct(); From 9c6c0d664bbdfab15f2bc8baa20e2afb0dffbb32 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 18 Sep 2020 16:00:25 +0200 Subject: [PATCH 162/194] =?UTF-8?q?header=20d=C3=A9bordement=20inputfile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/theme/view/header/header.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/module/theme/view/header/header.php b/core/module/theme/view/header/header.php index 34b54e91..e88b7af4 100644 --- a/core/module/theme/view/header/header.php +++ b/core/module/theme/view/header/header.php @@ -42,7 +42,7 @@

    Image

    -
    +
    getData(['theme', 'header', 'image'])) ? $this->getData(['theme', 'header', 'image']) : ""; From 96b06cc19bbd28214622532c7df6a14f1db757c7 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Fri, 18 Sep 2020 20:51:40 +0200 Subject: [PATCH 163/194] =?UTF-8?q?Theme=20header=20bug=20pr=C3=A9sentatio?= =?UTF-8?q?n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/theme/view/header/header.js.php | 2 +- core/module/theme/view/header/header.php | 14 ++++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/core/module/theme/view/header/header.js.php b/core/module/theme/view/header/header.js.php index b7d05593..87a89cf2 100644 --- a/core/module/theme/view/header/header.js.php +++ b/core/module/theme/view/header/header.js.php @@ -25,7 +25,7 @@ $("input, select").on("change", function() { // Récupérer la taille de l'image var tmpImg = new Image(); - + tmpImg.onload = function() { // Informations affichées $("#themeHeaderImageHeight").html(tmpImg.height + "px"); diff --git a/core/module/theme/view/header/header.php b/core/module/theme/view/header/header.php index e88b7af4..1d9e0d2c 100644 --- a/core/module/theme/view/header/header.php +++ b/core/module/theme/view/header/header.php @@ -13,11 +13,11 @@
    -
    +

    Couleurs

    -
    +
    'colorPicker', 'help' => 'Le curseur horizontal règle le niveau de transparence.', @@ -25,9 +25,7 @@ 'value' => $this->getData(['theme', 'header', 'backgroundColor']) ]); ?>
    -
    -
    -
    +
    'colorPicker', 'help' => 'Le curseur horizontal règle le niveau de transparence.', @@ -38,11 +36,11 @@
    -
    +

    Image

    -
    +
    getData(['theme', 'header', 'image'])) ? $this->getData(['theme', 'header', 'image']) : ""; @@ -84,7 +82,7 @@
    - Dimensions de l'image : largeur - hauteur - ratio + Largeur : | Hauteur : | ratio :
    From 8d00613ce95e9b19a77bc055205c4125d8cadb08 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 19 Sep 2020 15:00:33 +0200 Subject: [PATCH 164/194] virgule --- core/module/install/install.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/module/install/install.php b/core/module/install/install.php index 516f0e0b..af760d71 100755 --- a/core/module/install/install.php +++ b/core/module/install/install.php @@ -19,7 +19,7 @@ class install extends common { 'index' => self::GROUP_VISITOR, 'steps' => self::GROUP_ADMIN, 'update' => self::GROUP_ADMIN, - 'removeAll' => self::GROUP_ADMIN, + 'removeAll' => self::GROUP_ADMIN ]; From e05f0d1befe152dadde8de354a09cc7d99b0f390 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 19 Sep 2020 16:49:58 +0200 Subject: [PATCH 165/194] =?UTF-8?q?RW=20mise=20en=20page=20des=20modules?= =?UTF-8?q?=20+=20am=C3=A9liorations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/class/jsondb/JsonDb.class.php | 14 +++---- core/core.php | 61 +++++++++++++++++++----------- 2 files changed, 43 insertions(+), 32 deletions(-) diff --git a/core/class/jsondb/JsonDb.class.php b/core/class/jsondb/JsonDb.class.php index 294eb831..1dc7cbbd 100644 --- a/core/class/jsondb/JsonDb.class.php +++ b/core/class/jsondb/JsonDb.class.php @@ -22,10 +22,10 @@ class JsonDb extends \Prowebcraft\Dot public function __construct($config = []) { $this->config = array_merge([ - 'name' => 'data.json', - /* 'backup' => 5,*/ + 'name' => 'data.json', + 'backup' => 5, 'dir' => getcwd(), - /* 'template' => getcwd() . DIRECTORY_SEPARATOR . 'data.template.json'*/ + 'template' => getcwd() . DIRECTORY_SEPARATOR . 'data.template.json' ], $config); $this->loadData(); parent::__construct(); @@ -100,7 +100,8 @@ class JsonDb extends \Prowebcraft\Dot */ protected function loadData($reload = false) { if ($this->data === null || $reload) { - $this->db = $this->config['dir'] . DIRECTORY_SEPARATOR . $this->config['name']; + // $this->db = $this->config['dir'] . DIRECTORY_SEPARATOR . $this->config['name']; + $this->db = $this->config['dir'] . $this->config['name']; /* if (!file_exists($this->db)) { $templateFile = $this->config['template']; @@ -123,9 +124,6 @@ class JsonDb extends \Prowebcraft\Dot if (!$this->data === null) { throw new \InvalidArgumentException('Database file ' . $this->db . ' contains invalid json object. Please validate or remove file'); - - trigger_error ('Crash jsonDB : Database file ' . $this->db - . ' contains invalid json object. Please validate or remove file',E_USER_ERROR); } } return $this->data; @@ -137,6 +135,4 @@ class JsonDb extends \Prowebcraft\Dot public function save() { file_put_contents($this->db, json_encode($this->data, JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT)); } - - } diff --git a/core/core.php b/core/core.php index 4158c1d0..35d3542e 100644 --- a/core/core.php +++ b/core/core.php @@ -145,8 +145,14 @@ class common { ]; public static $timezone; private $url = ''; + // Données de site private $user = []; - private $page = ''; + private $core = []; + private $config = []; + private $page = []; + private $module = []; + private $admin = []; + /** * Constructeur commun @@ -186,8 +192,13 @@ class common { $this->user = $this->getData(['user', $this->getInput('ZWII_USER_ID')]); } - // Mise en cache des pages - $this->page = $this->getPageCache(); + // Mise en cache des pages et des modules + $this->page = $this->getCache('page'); + $this->module = $this->getCache('module'); + $this->core = $this->getCache('core'); + $this->config = $this->getCache('config'); + $this->theme = $this->getCache('theme'); + $this->admin = $this->getCache('admin'); // Construit la liste des pages parents/enfants if($this->hierarchy['all'] === []) { @@ -362,10 +373,14 @@ class common { public function getData($keys = []) { if (count($keys) >= 1) { - // Lecture d'une donnée de page en cache - if ($keys[0] === 'page') { + + /** + * Lecture dans le cache, page et module + */ + if ($keys[0] === 'page' || + $keys[0] === 'module' ) { // Décent dans les niveaux de la variable $data - $data = $this->page; + $data = array_merge ($this->page , $this->module); foreach($keys as $key) { // Si aucune donnée n'existe retourne null if(isset($data[$key]) === false) { @@ -379,6 +394,10 @@ class common { // Retourne les données return $data; } + + /** + * Lecture directe + */ //Retourne une chaine contenant le dossier à créer $folder = $this->dirData ($keys[0],'fr'); // Constructeur JsonDB @@ -418,19 +437,15 @@ class common { * Lecture des fichiers de données de page et mise ne cache * @param @return string données des pages */ - public function getPageCache() { - // Trois tentatives - for($i = 0; $i < 3; $i++) { - $data =json_decode(file_get_contents(self::DATA_DIR.'fr/page.json'), true); - if($data) { - return($data); - } - elseif($i === 2) { - exit('Erreur fatale : impossible d\'accéder aux pages'); - } - // Pause de 10 millisecondes - usleep(10000); - } + public function getCache($data) { + $folder = $this->dirData ($data,'fr'); + // Constructeur JsonDB + $db = new \Prowebcraft\JsonDb([ + 'name' => $data . '.json', + 'dir' => $folder + ]); + $tempData = $db->get($data); + return [$data => $tempData]; } /* @@ -586,7 +601,7 @@ class common { break; } elseif($i === 2) { - exit('Impossible de lire les données à importer.'); + throw new \ErrorException('Import des données impossible.'); } // Pause de 10 millisecondes usleep(10000); @@ -1986,7 +2001,7 @@ class core extends common { ]); } else { if ( $this->getData(['config','page403']) !== 'none' - AND $this->getData(['page',$this->getData(['config','page403'])])) + AND $this->getData(['page',$this->getData(['config','page403'])])) { header('Location:' . helper::baseUrl() . $this->getData(['config','page403'])); } else { @@ -1998,8 +2013,8 @@ class core extends common { } } elseif ($this->output['content'] === '') { http_response_code(404); - if ( $this->getData(['config','page404']) !== 'none' - AND $this->getData(['page',$this->getData(['config','page404'])])) + if ( $this->getData(['config','page404']) !== 'none' + AND $this->getData(['page',$this->getData(['config','page404'])])) { header('Location:' . helper::baseUrl() . $this->getData(['config','page404'])); } else { From d402ad95166cf50d363b6dd545e12597173d6e54 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 19 Sep 2020 16:56:58 +0200 Subject: [PATCH 166/194] ne garder que page et module --- core/core.php | 7 ------- 1 file changed, 7 deletions(-) diff --git a/core/core.php b/core/core.php index 35d3542e..e9a0d6d7 100644 --- a/core/core.php +++ b/core/core.php @@ -147,11 +147,8 @@ class common { private $url = ''; // Données de site private $user = []; - private $core = []; - private $config = []; private $page = []; private $module = []; - private $admin = []; /** @@ -195,10 +192,6 @@ class common { // Mise en cache des pages et des modules $this->page = $this->getCache('page'); $this->module = $this->getCache('module'); - $this->core = $this->getCache('core'); - $this->config = $this->getCache('config'); - $this->theme = $this->getCache('theme'); - $this->admin = $this->getCache('admin'); // Construit la liste des pages parents/enfants if($this->hierarchy['all'] === []) { From 3ac6bb75ea8da8e0c96dbd61233056268a6e8339 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 19 Sep 2020 17:35:02 +0200 Subject: [PATCH 167/194] Update favicon switcher --- CHANGES.md | 5 ++ core/core.php | 3 +- .../favicon-switcher/favicon-switcher.js | 56 +++++++++++++++++++ 3 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 core/vendor/favicon-switcher/favicon-switcher.js diff --git a/CHANGES.md b/CHANGES.md index 107a8f50..1dd367ed 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -7,7 +7,10 @@ - Menu : déplacement de la classe "active". - Le titre dans la configuration du module non affiché si le titre de la page est masqué. - Installation : bug si le masque de saisie est validé vide. + - Classe jsonDb, suppression de la réinitialisation de la structure de données en cas d'absence. - Modifications : + - Noyau : + - Mise en cache des données des modules. - Module recherche : - La recherche dans le site devient un module externe plutôt qu'un module interne ; - Diverses corrections optimisations permettant une recherche à l'aide de plusieurs mot-clés. @@ -17,6 +20,8 @@ - Pages 403 (accès interdit) et 404 (page introuvable) personnalisables - Sauvegarde du site dans une archive : animation d'attente avec message de confirmation ou d'erreur. ; le nom de l'archive prend le nom du sous-domaine s'il existe. - Captcha : addition présentée en lettres sous la forme d'images, réponse en chiffres ; correction du nom de la fonction (capcha en captcha). +- Mise à jour : + - Script favicon-switcher 1.2.2 ## version 10.2.09 - Correction : diff --git a/core/core.php b/core/core.php index e9a0d6d7..08fe661e 100644 --- a/core/core.php +++ b/core/core.php @@ -2301,7 +2301,8 @@ class layout extends common { file_exists(self::FILE_DIR.'source/' . $faviconDark) ) { echo ''; - echo ''; + //echo ''; + echo ''; } } diff --git a/core/vendor/favicon-switcher/favicon-switcher.js b/core/vendor/favicon-switcher/favicon-switcher.js new file mode 100644 index 00000000..6a72a463 --- /dev/null +++ b/core/vendor/favicon-switcher/favicon-switcher.js @@ -0,0 +1,56 @@ +;(function(mod){ + function collectLinks() { + return Array.prototype.slice.apply( + document.head.querySelectorAll('link[rel*="icon"]') + ) + } + + function applyLink(source, target) { + target.setAttribute('type', source.getAttribute('type')) + target.setAttribute('href', source.getAttribute('href')) + } + + // eslint-disable-next-line no-unused-vars + function initSwitcher(delay) { + // Exit if media queries aren't supported + if (typeof window.matchMedia !== 'function') { + return function noop() {} + } + + var links = collectLinks() + var current = document.createElement('link') + var prevMatch + + current.setAttribute('rel', 'shortcut icon') + document.head.appendChild(current) + + function faviconApplyLoop() { + links.forEach(function(link) { + if (window.matchMedia(link.media).matches) { + if (link.media !== prevMatch) { + prevMatch = link.media + applyLink(link, current) + } + } + }) + } + + var intervalId = setInterval(faviconApplyLoop, delay || 300) + + function unsubscribe() { + clearInterval(intervalId) + links.forEach(function(link) { + document.head.appendChild(link) + }) + } + + faviconApplyLoop() + links.forEach(function(link) { + document.head.removeChild(link) + }) + + return unsubscribe + } + + initSwitcher() + })() From 2ddf76ef24a7bcb408a50edeae97cf8cab3d7af6 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 19 Sep 2020 18:14:06 +0200 Subject: [PATCH 168/194] Icones + et - rondes et orange --- core/layout/common.css | 9 ++++++ core/module/config/view/index/index.css | 10 +++--- core/module/config/view/index/index.js.php | 8 ++--- core/module/config/view/index/index.php | 32 ++++++++++---------- core/module/page/view/edit/edit.css | 18 +++++------ core/module/page/view/edit/edit.js.php | 8 ++--- core/module/page/view/edit/edit.php | 16 +++++----- core/vendor/zwiico/css/animation.css | 0 core/vendor/zwiico/css/zwiico-codes.css | 7 +++-- core/vendor/zwiico/css/zwiico-embedded.css | 23 +++++++------- core/vendor/zwiico/css/zwiico-ie7-codes.css | 7 +++-- core/vendor/zwiico/css/zwiico-ie7.css | 7 +++-- core/vendor/zwiico/css/zwiico.css | 23 +++++++------- core/vendor/zwiico/font/zwiico.eot | Bin 18864 -> 18368 bytes core/vendor/zwiico/font/zwiico.svg | 12 +++++--- core/vendor/zwiico/font/zwiico.ttf | Bin 18704 -> 18208 bytes core/vendor/zwiico/font/zwiico.woff | Bin 11732 -> 11392 bytes core/vendor/zwiico/font/zwiico.woff2 | Bin 10108 -> 9740 bytes 18 files changed, 98 insertions(+), 82 deletions(-) mode change 100755 => 100644 core/vendor/zwiico/css/animation.css mode change 100755 => 100644 core/vendor/zwiico/css/zwiico-codes.css mode change 100755 => 100644 core/vendor/zwiico/css/zwiico-embedded.css mode change 100755 => 100644 core/vendor/zwiico/css/zwiico-ie7-codes.css mode change 100755 => 100644 core/vendor/zwiico/css/zwiico-ie7.css mode change 100755 => 100644 core/vendor/zwiico/css/zwiico.css mode change 100755 => 100644 core/vendor/zwiico/font/zwiico.eot mode change 100755 => 100644 core/vendor/zwiico/font/zwiico.svg mode change 100755 => 100644 core/vendor/zwiico/font/zwiico.ttf mode change 100755 => 100644 core/vendor/zwiico/font/zwiico.woff mode change 100755 => 100644 core/vendor/zwiico/font/zwiico.woff2 diff --git a/core/layout/common.css b/core/layout/common.css index 1e0abe08..2867ea0f 100755 --- a/core/layout/common.css +++ b/core/layout/common.css @@ -1378,4 +1378,13 @@ th.col12 { vertical-align: bottom; padding-left: 5px; padding-right: 5px; +} + +/* +* Couleur des icônes + et - +*/ +.zwiico-minus-circled, +.zwiico-plus-circled { + color: #D8890B; + font-size: 1.2em !important; } \ No newline at end of file diff --git a/core/module/config/view/index/index.css b/core/module/config/view/index/index.css index 49813799..bc85d6a6 100755 --- a/core/module/config/view/index/index.css +++ b/core/module/config/view/index/index.css @@ -18,17 +18,17 @@ display : none; } -#info .zwiico-minus { +#info .zwiico-minus-circled { display: inline; } -.zwiico-minus, -#info .zwiico-plus { +.zwiico-minus-circled, +#info .zwiico-plus-circled { display: none; } -.zwiico-minus, -.zwiico-plus { +.zwiico-minus-circled, +.zwiico-plus-circled { cursor: pointer; } \ 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 78ddaec2..1be4b45c 100644 --- a/core/module/config/view/index/index.js.php +++ b/core/module/config/view/index/index.js.php @@ -42,8 +42,8 @@ $( document).ready(function() { var i = [ "social", "ceo", "network", "smtp", "login", "logs", "script", "system" ]; $.each(i,function(e) { if (getCookie(i[e]) === "true") { - $("#" + i[e]).find(".zwiico-plus").hide(); - $("#" + i[e]).find(".zwiico-minus").show(); + $("#" + i[e]).find(".zwiico-plus-circled").hide(); + $("#" + i[e]).find(".zwiico-minus-circled").show(); $("#" + i[e]).find(".blockContainer").show(); } }); @@ -54,8 +54,8 @@ $( document).ready(function() { */ $("div .block").click(function(e) { - $(this).find(".zwiico-plus").toggle(); - $(this).find(".zwiico-minus").toggle(); + $(this).find(".zwiico-plus-circled").toggle(); + $(this).find(".zwiico-minus-circled").toggle(); $(this).find(".blockContainer").slideToggle(); /* * Sauvegarder la position des blocs diff --git a/core/module/config/view/index/index.php b/core/module/config/view/index/index.php index dd7db208..b48b5aaf 100644 --- a/core/module/config/view/index/index.php +++ b/core/module/config/view/index/index.php @@ -219,8 +219,8 @@

    Réseaux sociaux

    @@ -295,8 +295,8 @@

    Référencement

    @@ -342,8 +342,8 @@

    Réseau

    @@ -380,8 +380,8 @@

    Messagerie SMTP

    @@ -451,8 +451,8 @@

    Sécurité de la connexion

    @@ -502,8 +502,8 @@

    Journalisation

    @@ -540,8 +540,8 @@

    Scripts

    @@ -580,8 +580,8 @@

    Versions des modules

    diff --git a/core/module/page/view/edit/edit.css b/core/module/page/view/edit/edit.css index 2e992869..8785259c 100755 --- a/core/module/page/view/edit/edit.css +++ b/core/module/page/view/edit/edit.css @@ -20,21 +20,21 @@ display: none; } -#info .zwiico-minus, -#layout .zwiico-minus, -#location .zwiico-minus { +#info .zwiico-minus-circled, +#layout .zwiico-minus-circled, +#location .zwiico-minus-circled { display: inline; } -.zwiico-minus, -#info .zwiico-plus, -#layout .zwiico-plus, -#location .zwiico-plus { +.zwiico-minus-circled, +#info .zwiico-plus-circled, +#layout .zwiico-plus-circled, +#location .zwiico-plus-circled { display: none; } -.zwiico-minus, -.zwiico-plus { +.zwiico-minus-circled, +.zwiico-plus-circled { cursor: pointer; } \ 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 48a473d6..bc1da193 100644 --- a/core/module/page/view/edit/edit.js.php +++ b/core/module/page/view/edit/edit.js.php @@ -59,8 +59,8 @@ $( document ).ready(function() { var i = ["info", "layout", "setup", "location", "advanced", "ceo" ]; $.each(i,function(e) { if (getCookie(i[e]) === "true") { - $("#" + i[e]).find(".zwiico-plus").hide(); - $("#" + i[e]).find(".zwiico-minus").show(); + $("#" + i[e]).find(".zwiico-plus-circled").hide(); + $("#" + i[e]).find(".zwiico-minus-circled").show(); $("#" + i[e]).find(".blockContainer").show(); } }); @@ -73,8 +73,8 @@ $( document ).ready(function() { */ $("div .block").click(function(e) { - $(this).find(".zwiico-plus").toggle(); - $(this).find(".zwiico-minus").toggle(); + $(this).find(".zwiico-plus-circled").toggle(); + $(this).find(".zwiico-minus-circled").toggle(); $(this).find(".blockContainer").slideToggle(); /* * Sauvegarder la position des blocs diff --git a/core/module/page/view/edit/edit.php b/core/module/page/view/edit/edit.php index f1c36685..ea5f6fba 100644 --- a/core/module/page/view/edit/edit.php +++ b/core/module/page/view/edit/edit.php @@ -99,8 +99,8 @@ echo template::formOpen('pageEditForm');

    Mise en page

    @@ -156,8 +156,8 @@ echo template::formOpen('pageEditForm');

    Emplacement dans le menu

    @@ -219,8 +219,8 @@ echo template::formOpen('pageEditForm');

    Options d'emplacement avancées

    @@ -248,8 +248,8 @@ echo template::formOpen('pageEditForm');

    Permission et référencement

    diff --git a/core/vendor/zwiico/css/animation.css b/core/vendor/zwiico/css/animation.css old mode 100755 new mode 100644 diff --git a/core/vendor/zwiico/css/zwiico-codes.css b/core/vendor/zwiico/css/zwiico-codes.css old mode 100755 new mode 100644 index 99c06e44..6d446b23 --- a/core/vendor/zwiico/css/zwiico-codes.css +++ b/core/vendor/zwiico/css/zwiico-codes.css @@ -28,8 +28,10 @@ .zwiico-cogs:before { content: '\e81a'; } /* '' */ .zwiico-cog-alt:before { content: '\e81b'; } /* '' */ .zwiico-trash:before { content: '\e81c'; } /* '' */ -.zwiico-edit:before { content: '\e81d'; } /* '' */ -.zwiico-flag:before { content: '\e81e'; } /* '' */ +.zwiico-plus-circled:before { content: '\e81d'; } /* '' */ +.zwiico-minus-circled:before { content: '\e81e'; } /* '' */ +.zwiico-down-big:before { content: '\e820'; } /* '' */ +.zwiico-up-big:before { content: '\e821'; } /* '' */ .zwiico-spin:before { content: '\e831'; } /* '' */ .zwiico-twitter:before { content: '\f099'; } /* '' */ .zwiico-facebook:before { content: '\f09a'; } /* '' */ @@ -38,7 +40,6 @@ .zwiico-linkedin:before { content: '\f0e1'; } /* '' */ .zwiico-download-cloud:before { content: '\f0ed'; } /* '' */ .zwiico-upload-cloud:before { content: '\f0ee'; } /* '' */ -.zwiico-github:before { content: '\f113'; } /* '' */ .zwiico-code:before { content: '\f121'; } /* '' */ .zwiico-youtube:before { content: '\f167'; } /* '' */ .zwiico-instagram:before { content: '\f16d'; } /* '' */ diff --git a/core/vendor/zwiico/css/zwiico-embedded.css b/core/vendor/zwiico/css/zwiico-embedded.css old mode 100755 new mode 100644 index 2826202e..cd861ee5 --- a/core/vendor/zwiico/css/zwiico-embedded.css +++ b/core/vendor/zwiico/css/zwiico-embedded.css @@ -1,15 +1,15 @@ @font-face { font-family: 'zwiico'; - src: url('../font/zwiico.eot?4304870'); - src: url('../font/zwiico.eot?4304870#iefix') format('embedded-opentype'), - url('../font/zwiico.svg?4304870#zwiico') format('svg'); + src: url('../font/zwiico.eot?79101712'); + src: url('../font/zwiico.eot?79101712#iefix') format('embedded-opentype'), + url('../font/zwiico.svg?79101712#zwiico') format('svg'); font-weight: normal; font-style: normal; } @font-face { font-family: 'zwiico'; - src: url('data:application/octet-stream;base64,d09GRgABAAAAAC3UAA8AAAAASRAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABWAAAADsAAABUIIslek9TLzIAAAGUAAAAQwAAAFY+IFM7Y21hcAAAAdgAAAFqAAAEODNWwCxjdnQgAAADRAAAABMAAAAgBuH/BGZwZ20AAANYAAAFkAAAC3CKkZBZZ2FzcAAACOgAAAAIAAAACAAAABBnbHlmAAAI8AAAIHkAADEO1LUjiGhlYWQAAClsAAAAMgAAADYVlf0xaGhlYQAAKaAAAAAgAAAAJAd/A8JobXR4AAApwAAAAF4AAAC4nx//8WxvY2EAACogAAAAXgAAAF72ieukbWF4cAAAKoAAAAAgAAAAIAH1DL5uYW1lAAAqoAAAAYIAAAK1XfC3Y3Bvc3QAACwkAAABMQAAAbN29HuGcHJlcAAALVgAAAB6AAAAhuVBK7x4nGNgZGBg4GIwYLBjYHJx8wlh4MtJLMljkGJgYYAAkDwymzEnMz2RgQPGA8qxgGkOIGaDiAIAJjsFSAB4nGNgZC5lnMDAysDAVMW0h4GBoQdCMz5gMGRkAooysDIzYAUBaa4pDA4vGD4ZMgf9z2KIYo5gmAYUZgTJAQDpwgvjAHic7dTNThNRHIbxp6V8qPWLqiifVlRQ6aJ3Y4h7VlwQ3BG3QNiwezeQc1iT4Ht63gUx4Q6cya/pzEmmM/k/U2AZWLIjG8FwzMDfGKz47GBxfonni/MjLn28zRufGWtX83JeLspVuS63dVKn9aSe1vu7+cMDCK+eZfXm39Unt4Gv/tv7cfY/j/a2OvQvj3zHK6yyxjPf1wvGvOQVr31Xb1lnwjve84ENPvKJTbZ8xR122eMzU76wz1e+8Z0DDvnBT375+WaLp/2/jdvH8ChHszbFrnWg8AxQtG4UrR1Fa0rhWaHw1FB4fig8SRStNYWni6LdncITR+HZo3AFKNwDCpeBwo2gcC0o3A0KF4TCLaFwVSjcFwqXhsLNoXB9KNwhCheJwm2icKV+bzr3SjnrXC7lvHPDlIvONVOuOndNue5cOOWmc+uU287VUyed+6dOO78J1JPO7wT1tPPbQb3v2v/D3bxj9he2z53mAAB4nGNgQAMSEMgc8T8LhAESqAPpAHicrVZpd9NGFB15SZyELCULLWphxMRpsEYmbMGACUGyYyBdnK2VoIsUO+m+8Ynf4F/zZNpz6Dd+Wu8bLySQtOdwmpOjd+fN1czbZRJaktgL65GUmy/F1NYmjew8CemGTctRfCg7eyFlisnfBVEQrZbatx2HREQiULWusEQQ+x5ZmmR86FFGy7akV03KLT3pLlvjQb1V334aOsqxO6GkZjN0aD2yJVUYVaJIpj1S0qZlqPorSSu8v8LMV81QwohOImm8GcbQSN4bZ7TKaDW24yiKbLLcKFIkmuFBFHmU1RLn5IoJDMoHzZDyyqcR5cP8iKzYo5xWsEu20/y+L3mndzk/sV9vUbbkQB/Ijuzg7HQlX4RbW2HctJPtKFQRdtd3QmzZ7FT/Zo/ymkYDtysyvdCMYKl8hRArP6HM/iFZLZxP+ZJHo1qykRNB62VO7Es+gdbjiClxzRhZ0N3RCRHU/ZIzDPaYPh788d4plgsTAngcy3pHJZwIEylhczRJ2jByYCVliyqp9a6YOOV1WsRbwn7t2tGXzmjjUHdiPFsPHVs5UcnxaFKnmUyd2knNoykNopR0JnjMrwMoP6JJXm1jNYmVR9M4ZsaERCICLdxLU0EsO7GkKQTNoxm9uRumuXYtWqTJA/Xco/f05la4udNT2g70s0Z/VqdiOtgL0+lp5C/xadrlIkXp+ukZfkziQdYCMpEtNsOUgwdv/Q7Sy9eWHIXXBtju7fMrqH3WRPCkAfsb0B5P1SkJTIWYVYhWQGKta1mWydWsFqnI1HdDmla+rNMEinIcF8e+jHH9XzMzlpgSvt+J07MjLj1z7UsI0xx8m3U9mtepxXIBcWZ5TqdZlu/rNMfyA53mWZ7X6QhLW6ejLD/UaYHlRzodY3lBC5p038GQizDkAg6QMISlA0NYXoIhLBUMYbkIQ1gWYQjLJRjC8mMYwnIZhrC8rGXV1FNJ49qZWAZsQmBijh65zEXlaiq5VEK7aFRqQ54SbpVUFM+qf2WgXjzyhjmwFkiXyJpfMc6Vj0bl+NYVLW8aO1fAsepvH472OfFS1ouFPwX/1dZUJb1izcOTq/Abhp5sJ6o2qXh0TZfPVT26/l9UVFgL9BtIhVgoyrJscGcihI86nYZqoJVDzGzMPLTrdcuan8P9NzFCFlD9+DcUGgvcg05ZSVnt4KzV19uy3DuDcjgTLEkxN/P6VvgiI7PSfpFZyp6PfB5wBYxKZdhqA60VvNknMQ+Z3iTPBHFbUTZI2tjOBIkNHPOAefOdBCZh6qoN5E7hhg34BWFuwXknXKJ6oyyH7kXs8yik/Fun4kT2qGiMwLPZG2Gv70LKb3EMJDT5pX4MVBWhqRg1FdA0Um6oBl/G2bptQsYO9CMqdsOyrOLDxxb3lZJtGYR8pIjVo6Of1l6iTqrcfmYUl++dvgXBIDUxf3vfdHGQyrtayTJHbQNTtxqVU9eaQ+NVh+rmUfW94+wTOWuabronHnpf06rbwcVcLLD2bQ7SUiYX1PVhhQ2iy8WlUOplNEnvuAcYFhjQ71CKjf+r+th8nitVhdFxJN9O1LfR52AM/A/Yf0f1A9D3Y+hyDS7P95oTn2704WyZrqIX66foNzBrrblZugbc0HQD4iFHrY64yg18pwZxeqS5HOkh4GPdFeIBwCaAxeAT3bWM5lMAo/mMOT7A58xh0GQOgy3mMNhmzhrADnMY7DKHwR5zGHzBnHWAL5nDIGQOg4g5DJ4wJwB4yhwGXzGHwdfMYfANc+4DfMscBjFzGCTMYbCv6dYwzC1e0F2gtkFVoANTT1jcw+JQU2XI/o4Xhv29Qcz+wSCm/qjp9pD6Ey8M9WeDmPqLQUz9VdOdIfU3Xhjq7wYx9Q+DmPpMvxjLZQa/jHyXCgeUXWw+5++J9w/bxUC5AAEAAf//AA94nMV7C3BcV5nm+c+95z67b9/uvn271Wq1Wv1WS25J/ZQlWW7rbUlWFFl2JMdWlMSPRI6iEOwQMo4xiTcVwhKHkIdhZ0I8FVMpmNkNJASGYVhqkwEmQG1YZoCZMDXsMjM4VC3M1sIseHF7/3O75TgJZGBrp1Yt3b6P/57n//i+/xwRSsjlXwpH6UskQ2pkpLbdAgowSSTKqMTWCRMoE44SUSCCSNYJECoBXeUXwiIRBLJEiEBm7URLKpfKyKy1K2XZHjBATsTTZW+pMggFOxB0bmUScUn2WnawWIhSsGSQ4ultkOCHUqVaLJcqdhBsOESxBYrymdGVldHPKBpA4zJVgkryBYlKlEp6/Vt6xL5o2LZx0Y7o0KPnqY8Zqggro/Dg6Iqm6KrklhUopet344siVaDb0OuvapbnnG18x2PBOcOmKt4g+AP8IJynZ0mAtNXCHiB8BLAZG/gINvDhYStoCSzY1Wh1BtKl7VAptINzsIXzZj1mdpv1H3s8s/j9DNyOx1mT2jY+8HjAdi7N87BhmrMeXt/ln9K/pA+QJInWWuMtpixidZMCUEI3AHh9EcsSWQhH04MV9oDMD7zWzGbVVadqfBy06V82qn2mUQ1+m29cezzPPOO5w+Yn58973i7oyXMBp02/FHyCThKks5bGCRed3t/BQMDBWcQvnGwKfLYTxVSimJBYuAsClpRJ4IFPd7WMh0y5OZd84oOBYsEWfDH7Qsw+asfgQjAKeBENHsUTfvE5fvd1G+8GXm/etWNcvDknPvjvxENCtQC/hkWcF65wQGbLRcrsRvUdzUo7GlVd2udUQj+xWXyj3Bgv7vKly58WbsA+ekiVjJGp2ngnMEFFBSN0kohUoKKwTgRGBXaUyISKMqo6wwoZWSUgSU4LpCUigTQbiHb57XQ6obBIV6pcSndBXGoDy8Z+V/ylPOq1LOEEFQvVYW4COEQGBAON56XKdhgWgpYB8TzFx1GAn2nKUUVzDmeG9/c9OKm6p0VJZdFUf85uTQyB8yjki2hRy/XdO79y4Wu3S/d88WdfOLmw+ZoG7+tbzL/HrVdFOd0a9QXCLs9IysIHvrhuSuFIduH4y8eOvfxjfiAizvenhV30MpGIRVpQEx+o4TBR1mYbsijQFoGiyaPxEXFy5jnf/FItQxhlGwQHaQOVQECzwIc3SwCiCAv4BeJ1RARxphW1522SZOPtgss1HyEdsVDQ9KgKNkOyZBboClYzcqAYgBIOIEgBCwcQKpkgJMqAyp5pqP3XC/cXp+AGFxPr3xLdTIQeIXqh3ntB2GUduHDAGrTvt+Ti/cWhSSq5xPp/EfEIefFdF+o9r8PH2gIHXt8fCNxvcxWjzjjsQ51QyBoZr40cWp7dIRJxUEOlKGVbTVEAYZIwkWEP8H6jMwQE9As4RNhLenj/9buv3TnVlYvH/D6Zq2UpHTfALlRSOO1ov7IdtC2c/gzasCTjB3UlXc6kM2jVeEyXUEWq6R7IA1dkNO9q82YR+1qp4ocbE3Y7iL0PNguT8QbO1+DC3Qt077G9EFHkWzTdn5WYZ94ty7tawqosmicUl9kavEYypQlbZEpW8yiH0S9q7BbFCKYassquUFhVBO8J2QWeSPAa5pGnLFFUG8IarAwuLt61uHg3f25GA60FyZAC88CG3MpsxNTkI6priEm1KDMkV8ETafWAS3ZkW8KxLbJLtuavEtUHGRuNNEXDJri4XTq+5wK9l3hJnBTJRG1Up1SkbvQ2V9slahQ5iuNPCRxFfaGihOYJjDlmyZYIAzYbtJNWIGTzSATpDLe7PJRLVUlGF1DBiZHjqFM4NTjQxUKFWbIkxpJ8tCvdIAZt4dyeU/FHX300fmrPzA9A/G/1z5n6xEHTNsd6dRP+Wp+r/6L+N/VfzOn6HCiQBmVOh4HTOwZGjzxGH7l1dGDH6TsffBB2ouzBcd009d4x8xt+//s/9rH3+9PWqY/Rp05am/HmRTrBLa9mM+DOn1zx/UHLx2NNimuHCg3HjzZQwOBoCZ/ar0e1+vfq39Mj+gFdh6fwGw9H96P9d9a/q2n8OTylafWb9AjX78uXL/9SbEH99pFO0l3rxNCNWssjDWA8J+R2HF8qLhJRpEs4pHQ2MZColBlr6eL2ZkCiI54HdFdQRAebCXTEJQ/NpKvN0N4GeFds8f1paG/60jl/BLxfDO1N0Rv80S/Xe8t3Jr6IYAKmi88Xp6GnNAXbvdbfRrJG3Dn+h32lzr8VZEZpqDg9XfRN82ERHV04JyygPXoRk2wnY7UdQyArKloaemkVTwVFRnWQsCOSuI6BCUcNNWMV38X27yeK4lJ2bt+WTNlxX2pryKextq4UemQ0SbSzKyfcJTdjR7EjaBe2864IdiPeprnNOaGsYKM7KtBXrKhFQ+HQh6yYj9qR0ETM/tXXnUgDwkzH3o5ZEOzYi5rvohbVLnpVLXjGNs4YNpwJHfQ4L1LLs3nyb593It7zdmw2hr+QDZoXdf2iGQxcRGSCmGYTk8AReoK4SbBmkQYm2YQjQb8T/rzWJiyoFBA4WTH1oqZd1CMhulR3GbaOp/jn+DkJ9WBN7MFx9ZICGcTot5fcQDZqt11joHlh0bqqqLqyboJCVYUe9QAVVCoclTH2AVrWugsdooRBEC1PxN+jBghonwzH3Quq6ppCBXKLO1cO7Fveu7gwPzO9c3J0ZPvwwNaWgNVSTfg7TB9OAzSAQgkRIFQLVTRFsKQEn4XSMOOwcBi4+ytExSA+iKdLvF/chIepzTjUSGfQcjMYVYchWMhcEZnZNzCzpQbjYm6kI50S6P0Lo/XQ2DyILjOWHuiQkvmp+YmWTlOJ96djpgGXvsI92l2L8IGTz52iJ164B0aH8zNb920RUqmOsaw4Ptl8viKMdXf/uR0Gd8Ccq18/Mjc3Eu0f6S+l7VAkTG0zrFE7XeofidAzDS9Z/+nySXrPi3dLp7/dlYcxYcecGXCHQtB83Ig39BXBhVgzSlK1OPdaG6jCIs6sSDG+cD/A59gf9HqDBY6yUo0xKpcQM9gFHB1BwJ7noYL+/5WJvnqyb0IL5Ya37HxlOjeSjihnsEPifX90enxoaWmod3HvUBamptLDi3vhy0snnQ47+nX5I8IFoRMdKWJeBjDmRDaBosUe5gpDJK9XRC0rezu8HawsXKhn6l9epX9xqfrNbzbi5i+FR+mfE5P0kXytK59OhQIew62A4EI1pZMiGqbQQNCUu7VcNhHv8FqMw2gvR4zlRIADRq8KdlXmisG9HYbBdKXqINzypovBgCf4ELaf4cAdduDnRJzJVGb1k/WTspslRMrgw75e/4MOELpHgmz95yj6ne/YBnhAqf8Ckp3cT4zUv4SinZLBYM7jeddtHDn98LBoNmPQmvAhtI8gYqEtpFwrcJKDvAc5EH4xcRWJD4UltENUdoJmubMl1N2VzbRHQ8mWZGvAifwWD+9OUOfOo9KI1wjvEA9YUUCtRfcT3FRb4UPDQ0fW/vno4W3Dk8M75q974bprdgxP1gfGj4+PH3/o+NjYcbs8W8ZfiL7n0M0Dg4MDNx96z76v7l4qVCqFpd1fhcIYijVk62kULJUafoMOIW42fo3fKFuO32iSijT3fAWbDmpNR2HAz9Bl/YWhc3eEDMtuzjO9H+OHTNpJrpZBQkgcwLyODhmDB2ouDx58YESYTfhTFb/JldbfgaAYIS/zNv0sRowgJwYNh2o/D23cwOBVhOyvO47U+9g3nqA+PD1/2+Aind92rv4lx0/CCKL42w4/9tjh26JOe55DrPASSZEZsr02tDOC7dmOJKUTPZYwqeE0TxSAjjX7LBCO06hDVnmAE+jsSG14KBFPiAg2ASE46p3kqF+6jANS3k4rcnWYVhGMlRxojtOF4AHRV7vggDic24yEL6ETqiBGy5QyURB8ay8c7S1M7Am0IuLE4REFARDlGOL4HKy98J0X1r4zP8ZcSqsqMgSUVJMj1t6JQu+Td8S8+54ZGZ8F99QinN91elbtCzJRkzlWFiQsJMpCPjN7bHTu9Ozs6e+P3pUxbK1DF5ikAUVyLLJgnzotFHpKD0x35TJ3c7Zy+SUcn08TlYTJMPr568h1tcVSKyXibuTOZGEUie38SGdG4YRGbEBbHFYOQpDfN128gL9Hcchu5wHZmWBOvEQyOzvjz7ckrTaZ+yUcpCrHVvbbgFXVCkgUtQzHCS2BD2YT0CKELTpYVrb9OLB+O8hNBmfBwcCZKo63DZWu3n5ACLYCa1fBr1cGfzwYYZo8prbMP1DQ9b2/erJQaGeaYOhJHdTA0s4/EFGJM4vfP9H5nq+N7ziQKN8U02+9JrG2jQOzR+DI1bDsuAi31vfdWlAzkibnknfv8uZ895/VKqokWRKw+qW5U60Qalnx+5NbVtemtdO3HqxtT95U8W9yhuvRJpJkkhyo7RtNUUntASYFQaAKgIDDqiqSokrrGD8lKjG6LqJ6ShhQkTogr0KvgpSHKdIqv7g6lTIxnk6lKql02Upy4AJWgKuowxWcRAl3iUgqePy8Qg38iGU4p0DukOZJlibFqJb5iDuswRZmkn//0WvPDk1xszYu8uzHruzB6vR9GSkkutBrGpbZuLtwxwzeDDLXBmL45D9+9NqP8ZdCSJThiS8Mb53SndftiL4rmYPpYa3f7YLPN+/salxLYlOSNHnmOSHv4LlOUuPovgyy1MRzRJXUDYXTog0iC/KGA+IWrwZ1m7h021CimIgX3kB0aYNGESxsfgeaSKLM/UwUOM/m6E2QnDSB7OQm8NDIntjvAOh+4qokzsQr7p8goFNDZyzPGYwlZ4J+r4PtfG04Sr6YTwy7Nk8+8DxPWuAB2rPZ9igs2E0c1+3leMzbzDFd/hFi/s4G5nc7fhlD7ZX8koP51auyS0G10VLE/PWbsGYE9PoB/IYsZPWIa78OZ+o3IwP4AwT8+3W9/j28re/noJ/X9WV6VhjDurZ8FpyqZp5rQQ6v84d38BAGO1tr6pW4sPxCMMgjg0ptJzZkmpSDV08frn8XOjXtAMYI3gYkF1HtgEY/iSzku86pBh/n7XrKaZ8DHcjlFxFbSIjfe1GtT5EPkifI52ufHfcYssQY2btn97Wz0zu9JhPRld1y6ODNN6wszl8zg3CQIBy99ciBVIgp9P3ryXhrC6rGyXt/773H3pUIK6g3k6tA1xCkTozsqG3fNjTYX62UdXX8xN3vefedDEGMStQN9IICQlO0MSpRRUKuIFNJPkpkoDIcFXF8MIgJqwRtlSIko7CXh7Tpxz/y0IMbt1+/b3KiWOjJd+Xao2ENg8Q2QDvLVINoXUWM5tUgp94BNLKgnEFLTHAin+G+y7KHaR6kFIo25VG0KS8nNuUz5aa8UC1ekQu8g1xViiL9SvP0qf+N0xXFMzQ2HW5TbtTawtNjQ6a8siKbzi3tRsW55VHeV5ot0MpUP9SUCcWVqvShN5mitnfrlj6NjiljipHp77EDxoTlHdzSp4gpqU9Swqmk29R6TVdne0ISe6Q+UYtkE3irz23wW3RcDGUjUtgneSM+MVnJibGIHE7+/EYl2jI9vq3RkG3j0y1Rp21TE9iQFd7cialw22CqQgtzvWL/1zfbIY447cC2Ba+0Y0TabG792oLp6upIKbSX9Ulaayc2xFX0NG71SUVsWyc2tyUQFe18SArBc605JV3qpvGGHt6JnGcn+h4faSX3kBfJ/yC/X/voT/6aisbaAcqUV794B2rKl/7o6eMLs+OJNhXI80/VkA8NbEHNefwU1QV58kevUWP8PtDHNFBUpioM9YlyhVpHjCWqhriKzp6oi4Rxq+apQp4jX3Sh4ckCyOjhdd3x8PoS0QV99h9++NWvfPLZDz60ftvBm/YtlwpdOb9lWX6fhydUS+m4xMMoc8ATPxP4LcSOFfnN2aRfm0wqv5FL4sHiX8wlBSynRJ5KQi+Jxdn8mOBlxzMGyI0isQgsDV/GCyzSiSlcbZ0CeHu8V7+L8Ii/+1u+Cj9rUq0/7u7vhtxANzS/v6eI10kuf7sousZMVgvYkiy6b5E0tz84IrqleZElFbe8hykK2yvrDTlNkmr+kCQLXBBQcgdzs2vFkFdxS3sQ7hzeLWkROgYs0Ka7dLlbQIbWpsm7d8tam1AyQcwpXm8kKNJRGlHxdlM6pzjS4jsKb+bJftjWTbPtbbkcXcbDYC73zSPYFsMfbE1JLtE7IhZ0aajVrWCDXAVRnPEwpnS7QhgSFPkWdkWSmSipKUNhR1Lv45KiFA24W/0uqtT/85yqeIztBqXZ1hSAXoIspXjtUdQ5VTXd/ElULaESZoOQ4Y/cpkqL+KzxVoY/cpUyjZdUfEm58pIOkLnyktLgRqfoL4Qa0ZEDdMHZzwpOymrmORVjSpbITBTlQ4SvmBBY52lSBJv0RsKYsIRqj3QJwI0BZ+Y5DeXTb5HnrloW2Oob721KG79j6Z7fqXT/71h6AOU7uTyTxfXf5oWgkzR/ywu/qT21/NskAW6/SppScQG/RLrM0dCu5cZPTff6Cr7+cMDL1yH8dqwqGDSOcBsNug0sKZZuugG0+qBczAN6Cw8UERjdA0/fU6EjDzx2eozCZ1ZO/aD+tR+cWsnZvftLPtfi/rDvsK2tLdYW4JWJiXrY6M7lug3B55uOawMLCwNafNrXGw4/fXvMPDnC8Q1z8gF/j5hYIh6yFZnHFMi1QG140ER3KhOxxAHd5A4kiRMNPehF7ygKToeRRJJD2FcRKfcq4mdExiDdQBilDL0q4wCQ0VkcUt2Zg4a8DL/FC8H/q4pqfVe/Ijam7Z3f4XOBcHdsdNtQX74zHW21/c6ShooAItVc0kijr7VxLvxNqMrXR6sdBQSd+CCTxluN9dGOQgVnDQVtwVn3kJurHhb8U21PrQwBVX1Z9eFfcmW03svXSeHVRFQV5FZFc7vqvc5SKbyaKqGHDFXP1T9wjm4UzxXNbnOP+Wc79uxor8Cjm0XUv7TWKGBkBQzRL0UUUSilmmVMyFiCAmeern/gaciXzpU8nj1md5P/XMC59pIqGapt1SlSHPQJIuJ5YLDBSQ+SSkmQNhdJRMqRveiAzaQ/G09kQrajsZbsbYJzb9pJDjj5AowiecpX0Hi20MvDhxM5MBo2YsjzSU1JyhokME4IJcNz9974RGE+c/Sspho2eF2x00eGbpkIDEy09tmKx6IvZQOXtqG8S6IvBbLRXG6kfp1hyjtC0dC1DEPgx71uxRyNdeghI+yyHH2+fPHymvA62nQ7GSL7yN3kLF8dX0Ma9BFujJNdQMavXgtivJtowRSVhjFxqZEP/fCZ9917/N1HDk1P9eYlZnVV+xKcC/PEQbAQwJnnKzmSzRfIpXQmXvb3lXmQxqd2gCcbEpIjEOcBvZrqK9pOOimIsTCDQ8aTZTwfwdPzQX9fb58kN+TTPdSpwxm4YMEOAH+IZDzfXEDm5eCnytWKD3cedL9keGNUFek8dk/WBcXlF+R5URXg7kBLmz16dk6LgSJmw0bxhqygCNeISHbnIBQ2o/2zJirAYRFhj8xUqXdZpu2gsn+WVJfWceuoqFF0R4JodrhnwoJyE5Pq09FovGXXhwZEcQFrsFy2a2VNFdqoyIA+Ehpqmzk7KaLfGKSKaHZahSO9CusXUIvoMPh9lp5uV6m+KiKnpkpXB6UDFGGk4XOFSw/MMhmAiZrfCGgr/aK6H6fk0oVoayw48a40X1VaERWqtbp3HkHWyep3CqK6vSyo4iAFwZQNqUdS9qMENDnb/xIepC+RHrKrNp3vzsUoY1ILiMz2UUHEOEmR6UsM1dzJojiL5g2Fb2weeNOaddK2E9541lmakhDMGULGySLx7EjjaxvCsjyiJZxhJ39YQCIhyRXhwVQ5t/fuZ2988l5/6ORNg/t9fk8otH0h3Z3qbhn78h1sbfqa8rZKYLBEb69kgjsfeeBgjV5Ld8FERZDcN43QAG2ZW83tPsgC1swtsNUVqyWlZv8+TYPCAueJtRxeSzDJ238H4/loKgBd4XRuiUiSi+xMePHH3+G0P5Dgq91FOeHFT7noJH1o8Lre+DP2w596+OFjNy4IMx/JZtfO15fg2fP33HInubLOt4++jBGiHce0WitlcSwVnn1Cz9FMs/J1PtSs1bcOX7qMn6KTD79q6cZZ9r9qG0CweZ24+nrZMn/1U4eSC16PDe9wdXDSOXWOYE6hM7E8zhGMSb7dZJK/QJrran9Fh+iPkAO0kUQt1sy0Xj37DW4dKKXftJUj3Wh0xmkjX1pr5CPekoS1PHUXOi6Xk3PQ/qdH4ylZLYrN+pqTanEum2P6DWGZXsYzg+TIdG0yji4YJmWVgsIUYOuSSHFs7+DjqvBxxXvKIkHYvESYwmYJ6cx0xCKttuU13S5V4kv2Xs57/Ti31UZiyVlkwctSI70U8CYwQmWKgcSwUC3YL33+5YE85PsH9vfTD34u35vIu6XPA3we9FB6KH7DMfj5pe/Szk91VioLlUq9Vn8JsoMj6TZvpP71v3vofOu8Lxwz4eTmWmUvxpUQKXJvmwOQ+hJMcNQDwy6TYB0tE3jKjKfl+cIU34skOvSK+1xBnE1kK7aFsYOrKd+WcWVvBjbdwpEu4IizhgJVcSoyJSe08AMSEr6ioin3avJtsnavorGXmYl/cOjEvkvnjjwGcyPw7F3XPdKRLQ8uBqdWYFbRXuaLCC9rXIy9LN21fAIevWXqRDR017M3zScWB7vi3rs29eWNvo3XRnJobX0J7I0bKN9hIDHCJLLu5L2wv+tX9p1QxHw8ScG7R3n3ylYiZTW6h9qEcE7iu0qaW0u2gbOs/Q7da/bpql7+xu7doTR65dns5Ud/bfeaOT70ky7Sgr3bR2ZqU8sLc5MiVdzYG6GxbCtvEIUqG9yxNDeGYF8ZBlAmSQ6U4o6GSbN7FhNtM9W4ryvidxJ9lgF5YZhGgV05C3JFdAgv10crKiCgRVVEWizK8bzYYJ741+h5EAOhwzbhkBHPJ13UjBWiPrj5qouluR3BvdnVzJ7QyCwkKwvT+ZX89EJ//GTcnl5c21vomto/NzvgT8x6Itv2bVvYt3t6YP9gm2f2U3Y+S5OFbCku5rpDb7oYXXGh21wZ7ZvqtpGxhbOzjx4b7xqOW4gotVC8Pzl+7PTylkJta3eP5cvnYGutb8uyY89/Itr0C+iTk4ijo7XWvJdy1yLAlaW0cimbCfr44pyzSeCqZB3fDmaBYIADGPzDwJn95iaCK7vH+E4CWOK7MOq/4osAzBQjkvTaaxKMvUoNKa5I8C3qkhOyArehhCFFGHvtNcYieIrS43gJjPFzCR+Z4vdfkww6d6lHVgRVcCn0VSxAo0b9TP1/N1567fsojVXUf8VMgiySr7VNY9xRMRIE0WsNkuvIDYixTpPHyCeExVry/LnTJ3+P2YGz0Gr3AaiILGDv8FAsgjbiq+SoTKQm/TzWjiJtdmsb52JMZaK67nfrggpMvdmjoKDLJR9KJjqEKAnY0cBqHOwYtLXYbaukxUCg0MJWHJvz8WDn82qUyD6yGoFw2DVlmdTlCi6TYNDdOA8tk1DIHdqksqeSCdoRDUQ7AutvaoWbie51P7hV5r5Zhzc3hfw/bgenRGtv7/pbetzeJrS22K2/VV0el8JkObjUrK5xGVq6UqPx/3HU01j38d9cNxz916u8tvGvUy8JhlzBPVfVvlljg+BPPP744594/BPP/OHTH/93H33yiUc//NAH7r/v3hP3vPfddx45fOjgDSvX79u9MDM9MT66Y2u1XCoWens6s8lEe1trmOM1r8+XiKe4Gw1gUMyUuTsMJMqlQqpYTgSK3kHqTQScZbptkAhYzj6YcimTjsvlhLdY5ri0Ui0nnMQexpbGI77Rke9EQHaBwnG8KoCzJ02KOQzDdKhHzGEqCBKxPk5Tiu1OijHezAgWkH4gdmzWXQzwqso0artdLrf9Z8XCpX8Y+veD1XOFgtejARSYXIr+E9MGQoVCS2tUY18sgugLH/TYM7bHtOcs5Bj1P+7thQ8bSiF2uH7TkVhB9njkQuwIPHW4oyAbl769dbRfCQfMoczPzQC+ha8GzD8tRiMtilikmsf7+3elXM+60i0t6cVSqf6fwPp2UKe+r/9NxB2Il2/vNNqj760/3Nre7umR25iV7tvaHYhEAt2r3YG2qMfDaMvxTOZ4pn76/lpHHudR6I4Pg4Lngq6LeE5H/+7JJ3O7tvZ8JHNj3mprC2y5cQsvIF9/vT0RcLd9/7+6Qn+1mUv5tLDs7En0kjBZJOvk5tqqDwSGCFOjsqwdIm7dQM7llvgGVZE0cDNfW+S4mWpAV1XUSFTIRf4tu5aJS3btirWuHVpZXrh229DAVr5w0roY2+23/Fcln519i9XmlptqY5tJwU7Fu/gWBj7FBrUl/Fg8sOAEF+wKfnC6+S+STvyUnJ2MeYSNUlMr4m/Tiiv7FmdOvXgfPfmFE9uj3REay8br/yhmBq2xvDeSc0kKEj78kTRXLmL2juRmtenuWskd6dbeeKTn2sz8RHoePimwU+8u1AvHTjEBT4/1Aek7dlISNvOyg9fzik7S+x4KRKO5aBTpqqLzcsfS89J8eiyUjeR0SRP5DzLEX/uo/oen+pzypZPHnfI3zx18tyZcwJjmIVlSqvVF/MifnK0XCF/57kWOg5y1J9cUojk33QkkHgvZmkI84GHM6sKxlC2ZOskPwIAOzq4DJxVSDUYp30ksCv8mMwQtfzJTGZ08CCU42FHvtqd7gD723rG1WhyC/lhMCypGMtc/ICyUMom++rnx4i0P98Bo9NJ/zA3r2bueKO27c8Rr2D4rVYrZErnCA18RdpNpvqMiAYz6ASnYZITvCkJOLlLnPwFE/p8AvDewv7khgLjEneNjg1v7ejoz2ZSEgMTLNykVotCgt+mMbDAPOLthtkOD0yISM/i+6GGx6tCJgBWlnLBl8kJuevX2gaWzK1ZvbXUgPY2GrximL+6TmRpqafMNbImne6GQbC8lw6YE99y88YRhGqZbbesOuSgbWpsfiML0w8uVw6sTeZps394Z6rd7sxFBWvIWT934ruRAzzzk46mHJvOR3oHaUHj1tkc2WvLhsOgpgNo9PPB/APlpjukAAAB4nGNgZGBgAOJ3FbVr4vltvjJwM78AijDcVIs5CqP///qfxWLAHAHkcjAwgUQBfPwNYgAAeJxjYGRgYA76n8XAwKL//9f/XywGDEARFKAHAJZhBkh4nGN+wcDAvACIQbQgEo78/5c5EkRD5YCYRf//f5BaxlQIm+kUVA6kv5eBgckaiJsQ6sF6oWbD1LLoA9k/kNS8+P8LpAakF6SeyRpoRyTEfJh9ID0It0DsBQC4YCmIAAAAAAAAAIIAugEEAUwBdgH8AoADQgO6A/AESATMBPQFuAX8BhwGhAboBxAHWAfoCJoJMAm0CeoKKgtuDRIOJA8aD4wQjhD+ETYRnBHgEkYStBMiE8gUOhbKF6QYAhiHAAAAAQAAAC4A8gALAAAAAAACAEoAWgBzAAAA/gtwAAAAAHicdZDNSgMxFIVPtFZsxYUF13Ejijj9ARetm2KhdaXQRUFcyHQ6nUmZTkombamP4Dv4EL6Qz+LpTJAqOCGZ7557cnMTAKf4gkDx3XIWLFBmVPAeDnHneJ/6veMS+cHxAap4dFzmeHZcwTVeHVdRwzsriNIRoxk+HAsci0PHezgRNcf71M8dl8g3jg9wJtqOy9SfHFcwEi+Oq7gQnz292BgVxVZe9q5kq9Fsy/FGakoq9RPpL22sTSa7cqpTGyaJ9gI9f1srFehhGC0T3xRBsY5CkymdyqbXKIRBmIbGt+FkWzVbRS1rp3Jq9Fz2XT25MHoWBtaLrV106vXdc9CDxgIbGChEiGEhcUn1iv8WGmiiTRrTIeksXAopfCRUfCy5I84zGeMu55RRSjWkIyF7CLjO8YY1d6o8GjIbcW/CCuZXZpdHdG3rqryiZC8eO9p1DOhIc5efnzj56TXDiie0qFp2tO3K5F1I9P/0J3n/bW5GJaDu5a9gqXZQ5/jnPt/Inn0ZAAB4nG2QWW+DMBCEmWSB0Kb3fd93aX+TYxawYmyEbVX99zWN+tZ92EMazTfaZJKsai35vz4wwRSEFBlyzFBgDeuYYwOb2MI2drCLPezjAIc4wjFOcIoznOMCl7jCNW5wizvc4wGPeMIzXvCKN7yjxAc+k0zbxgafypblMpPCSNbU6+DSTpngqGXdZz0bqTQ1LIYpf/Mk9FltdcXDrLJfRltRkebap8Hx4GjsubRdx8ZTazumTnWKRilpK5ckW+Hz6FPaus5CXwnPcYw2xSgqbeQVo+HvRtI2Lvo1pdA+9YNwLXGlPNVaNOR6ZXL/pbyPaWoheWHtkiI6kLODn2llllFtNv+SllLbUM1XvNWRNcq3YRFBFeff8RthwYUyzotmEF26GIJri8iJCHY+SX4A0oJyGgAAAHicY/DewXAiKGIjI2Nf5AbGnRwMHAzJBRsZWJ02MTAyaIEYm7mYGDkgLD4GMIvNaRfTAaA0J5DN7rSLwQHCZmZw2ajC2BEYscGhI2Ijc4rLRjUQbxdHAwMji0NHckgESEkkEGzmYWLk0drB+L91A0vvRiYGFwAMdiP0AAA=') format('woff'), - url('data:application/octet-stream;base64,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ARQrLbBCLLA1Ky6xKwEUKy2wQyywNishIyAgPLAEI0IjOLErARQrsARDLrArKy2wRCywABUgR7AAI0KyAAEBFRQTLrAxKi2wRSywABUgR7AAI0KyAAEBFRQTLrAxKi2wRiyxAAEUE7AyKi2wRyywNCotsEgssAAWRSMgLiBGiiNhOLErARQrLbBJLLAII0KwSCstsEossgAAQSstsEsssgABQSstsEwssgEAQSstsE0ssgEBQSstsE4ssgAAQistsE8ssgABQistsFAssgEAQistsFEssgEBQistsFIssgAAPistsFMssgABPistsFQssgEAPistsFUssgEBPistsFYssgAAQCstsFcssgABQCstsFgssgEAQCstsFkssgEBQCstsFossgAAQystsFsssgABQystsFwssgEAQystsF0ssgEBQystsF4ssgAAPystsF8ssgABPystsGAssgEAPystsGEssgEBPystsGIssDcrLrErARQrLbBjLLA3K7A7Ky2wZCywNyuwPCstsGUssAAWsDcrsD0rLbBmLLA4Ky6xKwEUKy2wZyywOCuwOystsGgssDgrsDwrLbBpLLA4K7A9Ky2waiywOSsusSsBFCstsGsssDkrsDsrLbBsLLA5K7A8Ky2wbSywOSuwPSstsG4ssDorLrErARQrLbBvLLA6K7A7Ky2wcCywOiuwPCstsHEssDorsD0rLbByLLMJBAIDRVghGyMhWUIrsAhlsAMkUHiwARUwLQBLuADIUlixAQGOWbABuQgACABjcLEABUKyAAEAKrEABUKzCgIBCCqxAAVCsw4AAQgqsQAGQroCwAABAAkqsQAHQroAQAABAAkqsQMARLEkAYhRWLBAiFixA2REsSYBiFFYugiAAAEEQIhjVFixAwBEWVlZWbMMAgEMKrgB/4WwBI2xAgBEAAA=') format('truetype'); + src: url('data:application/octet-stream;base64,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') format('woff'), + url('data:application/octet-stream;base64,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') format('truetype'); } /* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */ /* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */ @@ -17,7 +17,7 @@ @media screen and (-webkit-min-device-pixel-ratio:0) { @font-face { font-family: 'zwiico'; - src: url('../font/zwiico.svg?4304870#zwiico') format('svg'); + src: url('../font/zwiico.svg?79101712#zwiico') format('svg'); } } */ @@ -26,7 +26,7 @@ font-family: "zwiico"; font-style: normal; font-weight: normal; - speak: none; + speak: never; display: inline-block; text-decoration: inherit; @@ -38,7 +38,7 @@ /* For safety - reset parent styles, that can break glyph codes*/ font-variant: normal; text-transform: none; - + /* fix buttons height, for twitter bootstrap */ line-height: 1em; @@ -81,8 +81,10 @@ .zwiico-cogs:before { content: '\e81a'; } /* '' */ .zwiico-cog-alt:before { content: '\e81b'; } /* '' */ .zwiico-trash:before { content: '\e81c'; } /* '' */ -.zwiico-edit:before { content: '\e81d'; } /* '' */ -.zwiico-flag:before { content: '\e81e'; } /* '' */ +.zwiico-plus-circled:before { content: '\e81d'; } /* '' */ +.zwiico-minus-circled:before { content: '\e81e'; } /* '' */ +.zwiico-down-big:before { content: '\e820'; } /* '' */ +.zwiico-up-big:before { content: '\e821'; } /* '' */ .zwiico-spin:before { content: '\e831'; } /* '' */ .zwiico-twitter:before { content: '\f099'; } /* '' */ .zwiico-facebook:before { content: '\f09a'; } /* '' */ @@ -91,7 +93,6 @@ .zwiico-linkedin:before { content: '\f0e1'; } /* '' */ .zwiico-download-cloud:before { content: '\f0ed'; } /* '' */ .zwiico-upload-cloud:before { content: '\f0ee'; } /* '' */ -.zwiico-github:before { content: '\f113'; } /* '' */ .zwiico-code:before { content: '\f121'; } /* '' */ .zwiico-youtube:before { content: '\f167'; } /* '' */ .zwiico-instagram:before { content: '\f16d'; } /* '' */ diff --git a/core/vendor/zwiico/css/zwiico-ie7-codes.css b/core/vendor/zwiico/css/zwiico-ie7-codes.css old mode 100755 new mode 100644 index f51a4e17..bd910c25 --- a/core/vendor/zwiico/css/zwiico-ie7-codes.css +++ b/core/vendor/zwiico/css/zwiico-ie7-codes.css @@ -28,8 +28,10 @@ .zwiico-cogs { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .zwiico-cog-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .zwiico-trash { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } -.zwiico-edit { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } -.zwiico-flag { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.zwiico-plus-circled { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.zwiico-minus-circled { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.zwiico-down-big { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.zwiico-up-big { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .zwiico-spin { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .zwiico-twitter { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .zwiico-facebook { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } @@ -38,7 +40,6 @@ .zwiico-linkedin { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .zwiico-download-cloud { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .zwiico-upload-cloud { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } -.zwiico-github { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .zwiico-code { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .zwiico-youtube { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .zwiico-instagram { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } diff --git a/core/vendor/zwiico/css/zwiico-ie7.css b/core/vendor/zwiico/css/zwiico-ie7.css old mode 100755 new mode 100644 index 0a81c4b3..025d49a3 --- a/core/vendor/zwiico/css/zwiico-ie7.css +++ b/core/vendor/zwiico/css/zwiico-ie7.css @@ -39,8 +39,10 @@ .zwiico-cogs { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .zwiico-cog-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .zwiico-trash { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } -.zwiico-edit { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } -.zwiico-flag { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.zwiico-plus-circled { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.zwiico-minus-circled { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.zwiico-down-big { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.zwiico-up-big { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .zwiico-spin { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .zwiico-twitter { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .zwiico-facebook { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } @@ -49,7 +51,6 @@ .zwiico-linkedin { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .zwiico-download-cloud { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .zwiico-upload-cloud { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } -.zwiico-github { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .zwiico-code { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .zwiico-youtube { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .zwiico-instagram { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } diff --git a/core/vendor/zwiico/css/zwiico.css b/core/vendor/zwiico/css/zwiico.css old mode 100755 new mode 100644 index a583d0c7..9168bd07 --- a/core/vendor/zwiico/css/zwiico.css +++ b/core/vendor/zwiico/css/zwiico.css @@ -1,11 +1,11 @@ @font-face { font-family: 'zwiico'; - src: url('../font/zwiico.eot?1220194'); - src: url('../font/zwiico.eot?1220194#iefix') format('embedded-opentype'), - url('../font/zwiico.woff2?1220194') format('woff2'), - url('../font/zwiico.woff?1220194') format('woff'), - url('../font/zwiico.ttf?1220194') format('truetype'), - url('../font/zwiico.svg?1220194#zwiico') format('svg'); + src: url('../font/zwiico.eot?19955984'); + src: url('../font/zwiico.eot?19955984#iefix') format('embedded-opentype'), + url('../font/zwiico.woff2?19955984') format('woff2'), + url('../font/zwiico.woff?19955984') format('woff'), + url('../font/zwiico.ttf?19955984') format('truetype'), + url('../font/zwiico.svg?19955984#zwiico') format('svg'); font-weight: normal; font-style: normal; } @@ -15,7 +15,7 @@ @media screen and (-webkit-min-device-pixel-ratio:0) { @font-face { font-family: 'zwiico'; - src: url('../font/zwiico.svg?1220194#zwiico') format('svg'); + src: url('../font/zwiico.svg?19955984#zwiico') format('svg'); } } */ @@ -24,7 +24,7 @@ font-family: "zwiico"; font-style: normal; font-weight: normal; - speak: none; + speak: never; display: inline-block; text-decoration: inherit; @@ -84,8 +84,10 @@ .zwiico-cogs:before { content: '\e81a'; } /* '' */ .zwiico-cog-alt:before { content: '\e81b'; } /* '' */ .zwiico-trash:before { content: '\e81c'; } /* '' */ -.zwiico-edit:before { content: '\e81d'; } /* '' */ -.zwiico-flag:before { content: '\e81e'; } /* '' */ +.zwiico-plus-circled:before { content: '\e81d'; } /* '' */ +.zwiico-minus-circled:before { content: '\e81e'; } /* '' */ +.zwiico-down-big:before { content: '\e820'; } /* '' */ +.zwiico-up-big:before { content: '\e821'; } /* '' */ .zwiico-spin:before { content: '\e831'; } /* '' */ .zwiico-twitter:before { content: '\f099'; } /* '' */ .zwiico-facebook:before { content: '\f09a'; } /* '' */ @@ -94,7 +96,6 @@ .zwiico-linkedin:before { content: '\f0e1'; } /* '' */ .zwiico-download-cloud:before { content: '\f0ed'; } /* '' */ .zwiico-upload-cloud:before { content: '\f0ee'; } /* '' */ -.zwiico-github:before { content: '\f113'; } /* '' */ .zwiico-code:before { content: '\f121'; } /* '' */ .zwiico-youtube:before { content: '\f167'; } /* '' */ .zwiico-instagram:before { content: '\f16d'; } /* '' */ diff --git a/core/vendor/zwiico/font/zwiico.eot b/core/vendor/zwiico/font/zwiico.eot old mode 100755 new mode 100644 index da88ec4cddfba93d1fea2489b5fc2a46e50d9559..7eb2bbc38cd546635cb72cba2d54fa81bd00433b GIT binary patch delta 1289 zcmYjQZ%kWt6g~I7wy!{e7Tzmp3M-U#Q2v$DQbt*1iJ@~b#*nxmBCY~0Y?L;G4fd%< zKA5==f)A51HA>PY#u%NcGiF%~$zrmh$-WvTDkjDzI?|Ha?88#LkB4r3Iq$r4Z+p+V zdB0v)Y2zI-ZG-`5c*WFX@U0H5uM8}uZUFQmfK%h~NHXz}_cH5G0K?$;g?XoGd(Qxb z%-nZIld<^QE6XplZU)MdvB+GK>sHoGFvn&tMn8=H^c`T#0UbM2laYz1Pe1q-@c+jB zo+&O!De*QCsAb(W6`x;RPo3J!bD^ILw`LOKk-vru-?M(m`gA<9n52T`TmJ1ZYv*hv zJ~@{AVubY~AlyhM=H}mjw=WAE^>XNY$#av*KaRKF0tT&}meW?P( zGeBmD`%i7mr97nq25fP|!HbBnWb3mH*{#Bo zYX{x?>UE)A8Nmof53VsBTj1x`+>Q>k0D1P%;D?7FVmi>u9M^$1=0`fv z4(xIu4d?(eZm*?O-{G9r@A}f3b+)P(yeq;`tw4em@X84 zzjG(LxfvCOeU+loLeZlYHaXRkVJvVDxD3R#1O!n?KqN5%qA209o$*OKYET;fx1mpq zW_ozwqM0m5`K0i&_rxW!4E1mh)YVoBDV`XHKte(!0wp*^R0-6`24ih2$r70wkC5B{ z4E6X9kiqO>rlJ@w%_&owz@Z&B#Ydbzl&C^WM#l{8(d z^H7_kxRBPqydUICaY^_yr6;jU0`C{*(<&we&cQqLrZr07AV?(#=_H$Ml3b1MfKAer z+aKguHTywY>>>GD^PzCPCoT8O9yUHJ_w!95zr)TlU0kSZBDaGsvA;(NX)P^1GHZw1 zq>QcOtrExj(5mmX%Km>)Ci348`1$gWANRVS;ysrD#0?W^|PngwlVbY@DAno00^Rk`mo(Fbql zc3&UylT7MU#|AUe IV<#>D0!TAWQvd(} delta 1788 zcmbVMUu;ul6hGg0|F*mI&w6`X*(lp>*Os-bYuDZGza5ipY?X|;%?(FkjQs(rZDinx ziG6UcoZokDZ=52F8Nx5_1TgJ9!)xrd=D=zHmA0MZ8lL*t3DRNc@GKiZ!GunptK zXDaynt1LjvUl^~LOid*|Jac*kpw$jglA0PjnnJ$`<2ht;>d1-7J6D|Z0Ng!*pkaDq z?4b3NCqV#hEv`+YLr62<14O)NyQUK}vlq7xt>)1YL&vvAlH+54p8Vr7Km#5M@x<6{ ziae68qkRzViZ{m+6MJ)4$I+expjT4Kqcg`JzVkjna|;%oO}#ad`n}zE4WN5IbB?@D zj%6N_W)jWRQs1Bi1ako4fmvVqk@c8G0v3M7Ksh$TfVAXT3g#~4ZsqRg?&p^CmV9M? zDxb(dUJ0(Q0xSVW&p(Ym$Xhatw8lCNd!9a{@chZF(7oB+j6`&(=lZWEJITIH(kRCg z0xAG<=ZkHSFo@(Kuz{Ezq35e0j&Pb{Kk|34@PK&Hs~fo)EaGTHZhb4z=jC{ z+SN{2(%HMH?;DQRg21qhz~TWc#wJiw78rKFhz8FQejjj@as$9|bQmZ{V`aUICAbeO zTz_968#bi>ZHMiDofHjjERF?|_>bz+G&V9a5>)_R?r3cZ2DZ5!Wr_v0;AI_W^;JbY zg0;>{+(yDHFA>dRm3e2S>aI73wMb>i<{%jGxY5N6W?8XShO|}^#upXFMx6CT@I5on2~8%rqVIfejByMS;cDG-k5lE5>35*W%PfwDA-H_Rq+ zXeM12uj=&J6_G3VS!C>)7o4iwV|LevwUENC*}PK?P^Y@a?ua=Y(IQ%1NU9sy-#SIcq zZ(6;M>gw%<*9<11-R`jO=42zeXx=26Iw~ql?1s&fj8$guxN3wn{=ZqUW~ws$>HRFm2R9xaTWd*uB=biUXnYX+d@{k-AVD6Ojc2E2sh1gDOSVfO4P` zwl)$`tg@hx34^A=<5b0zSKm%2jUu*z2Z?Mh&S(Giz;UW#`FyZwqp z#m(N>*_j=_HdST`tGBBSt{pRTBQ>FDqyI&@G*C?%qrsYyul)16^5xm+wSC5xM^M5n zq0I1$d-TU=oVi>dA%V=@`V$<+n5E1CO=X!&0GT -Copyright (C) 2019 by original authors @ fontello.com +Copyright (C) 2020 by original authors @ fontello.com @@ -64,9 +64,13 @@ - + - + + + + + @@ -84,8 +88,6 @@ - - diff --git a/core/vendor/zwiico/font/zwiico.ttf b/core/vendor/zwiico/font/zwiico.ttf old mode 100755 new mode 100644 index d71fdd687d6e11e5c6c51542ee01b22721412809..cea18a006f3c4471e241a794cefadd04ee40f52f GIT binary patch delta 1272 zcmYjQZ%7+=7=GTnBo}LpiQYvS(MID^jsIg}S`(OspOgA(_i=ho(U?z!iEllOUE z?w6ITbp35w@uqJB^gMvmyH4_!1%>^k7aAm1VpUd_rz0)QR`sN=Cehl}5{-er9z8Cy(I(e@?(c9^wiHkO$??hzpeV@EitoZZH6yyA7Zb$X_!6FY}rKG%?>ZfTx)` zwGQ~0w+!G2^FssRca+~YfEJ*@9y)^X^FzV_TA7mu(8m180NQ~a4x|GeK=y(8Id@tB z_SVG{q5vyoJllWVOrl9Ji9*ssf@Bh;b5`PmBf>NWiAWlPB+)QPqEiI9y2|OOv{%^5 z50#lsu#&aREVoj?<*;~sj^65?kT>L2yh@MKLz!E}VkuKB{&x3nd}AXn3i~Qeqs5Y6 zFKlqCC&Sp_>-U<7Ybpd$P$812f+$XSY-fJbjvADP|83~wl9hH3Ty&F_IG+?=_P)3* zmZKh?{<_*qA@d){X&romRFgb(0;hum?afWr} z5|@?IJFY&yDM|}-#$P{J=f5dOTrCQ{Q7@NP6@_N@rIMjbb$)7dmliVmm-mBwCN2wq zq>UsFN#Okk`Lv3vz&Utl-n2#u9R#W5Af4otEt0p<7jjCv@&&^jt7bn)iz_1EY(6|# z@6X6l+0Vx3jiJ@RtCi8e zQ7-bo5BT}=kMIA-nj8*Or*ZG;=Oe0ZqYe%8Kb|E03g(d1Zl{NM~Y zFFH4?PF8(U?N`=atFE1z1$}39X3rkAk`U<9=8t_M2GEuD_Vp1@9*c|$)TOOQKKI*F rGZ*IC$EVMa&rD8KB&TN|E9->1Fx&pxbi#5W#iT7o2eRKqPul(kQ(H+w delta 1772 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

    t5iHDN*=@V=W`JXh6G|P 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 diff --git a/core/vendor/zwiico/font/zwiico.woff2 b/core/vendor/zwiico/font/zwiico.woff2 old mode 100755 new mode 100644 index 8f472ac573cd3516753a6ab7fa9c8bf033d7b412..dcee7b06779da9c0d24ceef01e21de2524c9d584 GIT binary patch literal 9740 zcmV+nCiB^MPew8T0RR910459o4*&oF07oDI041>i0RR9100000000000000000000 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 literal 10108 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 ejM?+qowE0FX9#o-IRh?l`2@db3<8b Date: Sun, 20 Sep 2020 16:06:58 +0200 Subject: [PATCH 169/194] Page duplication --- CHANGES.md | 2 + core/core.php | 1 + core/module/page/page.php | 60 +++++++++++++++++++- core/module/page/view/edit/edit.php | 11 +++- core/vendor/zwiico/css/zwiico-codes.css | 3 +- core/vendor/zwiico/css/zwiico-embedded.css | 15 ++--- core/vendor/zwiico/css/zwiico-ie7-codes.css | 3 +- core/vendor/zwiico/css/zwiico-ie7.css | 3 +- core/vendor/zwiico/css/zwiico.css | 17 +++--- core/vendor/zwiico/font/zwiico.eot | Bin 18368 -> 18712 bytes core/vendor/zwiico/font/zwiico.svg | 2 + core/vendor/zwiico/font/zwiico.ttf | Bin 18208 -> 18552 bytes core/vendor/zwiico/font/zwiico.woff | Bin 11392 -> 11596 bytes core/vendor/zwiico/font/zwiico.woff2 | Bin 9740 -> 10000 bytes 14 files changed, 96 insertions(+), 21 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 1dd367ed..c035db5c 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -20,6 +20,8 @@ - Pages 403 (accès interdit) et 404 (page introuvable) personnalisables - Sauvegarde du site dans une archive : animation d'attente avec message de confirmation ou d'erreur. ; le nom de l'archive prend le nom du sous-domaine s'il existe. - Captcha : addition présentée en lettres sous la forme d'images, réponse en chiffres ; correction du nom de la fonction (capcha en captcha). + - Page : + - Duplication d'une page. - Mise à jour : - Script favicon-switcher 1.2.2 diff --git a/core/core.php b/core/core.php index 08fe661e..4c8857d9 100644 --- a/core/core.php +++ b/core/core.php @@ -2677,6 +2677,7 @@ class layout extends common { if ($this->getData(['page', $this->getUrl(0),'moduleId'])) { $leftItems .= '

  • ' . template::ico('gear') . '
  • '; } + $leftItems .= '
  • ' . template::ico('clone') . '
  • '; $leftItems .= '
  • ' . template::ico('trash') . '
  • '; } } diff --git a/core/module/page/page.php b/core/module/page/page.php index 11db18ac..d11176b1 100644 --- a/core/module/page/page.php +++ b/core/module/page/page.php @@ -19,7 +19,8 @@ class page extends common { public static $actions = [ 'add' => self::GROUP_MODERATOR, 'delete' => self::GROUP_MODERATOR, - 'edit' => self::GROUP_MODERATOR + 'edit' => self::GROUP_MODERATOR, + 'duplicate' => self::GROUP_MODERATOR ]; public static $pagesNoParentId = [ '' => 'Aucune' @@ -65,6 +66,49 @@ class page extends common { 'children' => 'Le sous-menu de la page parente' ]; + /** + * Duplication + */ + public function duplicate() { + // Adresse sans le token + $url = explode('&',$this->getUrl(2)); + // La page n'existe pas + if($this->getData(['page', $url[0]]) === null) { + // Valeurs en sortie + $this->addOutput([ + 'access' => false + ]); + } // Jeton incorrect + elseif(!isset($_GET['csrf'])) { + // Valeurs en sortie + $this->addOutput([ + 'redirect' => helper::baseUrl() . 'page/edit/' . $url[0], + 'notification' => 'Jeton invalide' + ]); + } + elseif ($_GET['csrf'] !== $_SESSION['csrf']) { + // Valeurs en sortie + $this->addOutput([ + 'redirect' => helper::baseUrl() . 'page/edit/' . $url[0], + 'notification' => 'Suppression non autorisée' + ]); + } + $pageTitle = $this->getData(['page',$url[0],'title']); + $pageId = helper::increment(helper::filter($pageTitle, helper::FILTER_ID), $this->getData(['page'])); + $data = $this->getData([ + 'page', + $url[0] + ]); + $this->setData (['page',$pageId,$data]); + // Valeurs en sortie + $this->addOutput([ + 'redirect' => helper::baseUrl() . 'page/edit/' . $pageId, + 'notification' => 'Page dupliquée', + 'state' => true + ]); + } + + /** * Création */ @@ -121,6 +165,20 @@ class page extends common { $this->addOutput([ 'access' => false ]); + } // Jeton incorrect + elseif(!isset($_GET['csrf'])) { + // Valeurs en sortie + $this->addOutput([ + 'redirect' => helper::baseUrl() . 'page/edit/' . $url[0], + 'notification' => 'Jeton invalide' + ]); + } + elseif ($_GET['csrf'] !== $_SESSION['csrf']) { + // Valeurs en sortie + $this->addOutput([ + 'redirect' => helper::baseUrl() . 'page/edit/' . $url[0], + 'notification' => 'Suppression non autorisée' + ]); } // Impossible de supprimer la page d'accueil elseif($url[0] === $this->getData(['config', 'homePageId'])) { diff --git a/core/module/page/view/edit/edit.php b/core/module/page/view/edit/edit.php index ea5f6fba..cac97d04 100644 --- a/core/module/page/view/edit/edit.php +++ b/core/module/page/view/edit/edit.php @@ -5,7 +5,7 @@ echo template::formOpen('pageEditForm');
    getUrl(2); ?> - getData(['page', $this->getUrl(2), 'moduleId']) === 'redirection' || 'code')$href = helper::baseUrl(); ?> + getData(['page', $this->getUrl(2), 'moduleId']) === 'redirection' || 'code')$href = helper::baseUrl(); ?> 'buttonGrey', 'href' => $href, @@ -13,7 +13,14 @@ echo template::formOpen('pageEditForm'); 'value' => 'Retour' ]); ?>
    -
    +
    + helper::baseUrl() . 'page/duplicate/' . $this->getUrl(2) . '&csrf=' . $_SESSION['csrf'], + 'value' => 'Dupliquer', + 'ico' => 'clone' + ]); ?> +
    +
    'buttonRed', 'href' => helper::baseUrl() . 'page/delete/' . $this->getUrl(2) . '&csrf=' . $_SESSION['csrf'], diff --git a/core/vendor/zwiico/css/zwiico-codes.css b/core/vendor/zwiico/css/zwiico-codes.css index 6d446b23..be298cf6 100644 --- a/core/vendor/zwiico/css/zwiico-codes.css +++ b/core/vendor/zwiico/css/zwiico-codes.css @@ -44,4 +44,5 @@ .zwiico-youtube:before { content: '\f167'; } /* '' */ .zwiico-instagram:before { content: '\f16d'; } /* '' */ .zwiico-brush:before { content: '\f1fc'; } /* '' */ -.zwiico-pinterest:before { content: '\f231'; } /* '' */ \ No newline at end of file +.zwiico-pinterest:before { content: '\f231'; } /* '' */ +.zwiico-clone:before { content: '\f24d'; } /* '' */ \ No newline at end of file diff --git a/core/vendor/zwiico/css/zwiico-embedded.css b/core/vendor/zwiico/css/zwiico-embedded.css index cd861ee5..cd0ebff3 100644 --- a/core/vendor/zwiico/css/zwiico-embedded.css +++ b/core/vendor/zwiico/css/zwiico-embedded.css @@ -1,15 +1,15 @@ @font-face { font-family: 'zwiico'; - src: url('../font/zwiico.eot?79101712'); - src: url('../font/zwiico.eot?79101712#iefix') format('embedded-opentype'), - url('../font/zwiico.svg?79101712#zwiico') format('svg'); + src: url('../font/zwiico.eot?53857867'); + src: url('../font/zwiico.eot?53857867#iefix') format('embedded-opentype'), + url('../font/zwiico.svg?53857867#zwiico') format('svg'); font-weight: normal; font-style: normal; } @font-face { font-family: 'zwiico'; - src: url('data:application/octet-stream;base64,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') format('woff'), - url('data:application/octet-stream;base64,AAEAAAAPAIAAAwBwR1NVQiCLJXoAAAD8AAAAVE9TLzI+IFO1AAABUAAAAFZjbWFwb58wiwAAAagAAARGY3Z0IAbh/wQAADsIAAAAIGZwZ22KkZBZAAA7KAAAC3BnYXNwAAAAEAAAOwAAAAAIZ2x5Zp1m2sUAAAXwAAAu7mhlYWQaYPTfAAA04AAAADZoaGVhB38DwwAANRgAAAAkaG10eKF///EAADU8AAAAvGxvY2HrWPbLAAA1+AAAAGBtYXhwAfYMvgAANlgAAAAgbmFtZV7wr1oAADZ4AAACtXBvc3SbkjroAAA5MAAAAc9wcmVw5UErvAAARpgAAACGAAEAAAAKADAAPgACREZMVAAObGF0bgAaAAQAAAAAAAAAAQAAAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAEDbwGQAAUAAAJ6ArwAAACMAnoCvAAAAeAAMQECAAACAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBmRWQAwOgA8jEDUv9qAFoDWACWAAAAAQAAAAAAAAAAAAUAAAADAAAALAAAAAQAAAIOAAEAAAAAAQgAAwABAAAALAADAAoAAAIOAAQA3AAAABwAEAADAAzoHugh6DHwmvDJ8Nzw4fDu8SHxZ/Ft8fzyMf//AADoAOgg6DHwmfDJ8Nzw4fDt8SHxZ/Ft8fzyMf//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAcAFgAWgBaAFwAXABcAFwAXgBeAF4AXgBeAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAACOAAAAAAAAAAuAADoAAAA6AAAAAABAADoAQAA6AEAAAACAADoAgAA6AIAAAADAADoAwAA6AMAAAAEAADoBAAA6AQAAAAFAADoBQAA6AUAAAAGAADoBgAA6AYAAAAHAADoBwAA6AcAAAAIAADoCAAA6AgAAAAJAADoCQAA6AkAAAAKAADoCgAA6AoAAAALAADoCwAA6AsAAAAMAADoDAAA6AwAAAANAADoDQAA6A0AAAAOAADoDgAA6A4AAAAPAADoDwAA6A8AAAAQAADoEAAA6BAAAAARAADoEQAA6BEAAAASAADoEgAA6BIAAAATAADoEwAA6BMAAAAUAADoFAAA6BQAAAAVAADoFQAA6BUAAAAWAADoFgAA6BYAAAAXAADoFwAA6BcAAAAYAADoGAAA6BgAAAAZAADoGQAA6BkAAAAaAADoGgAA6BoAAAAbAADoGwAA6BsAAAAcAADoHAAA6BwAAAAdAADoHQAA6B0AAAAeAADoHgAA6B4AAAAfAADoIAAA6CAAAAAgAADoIQAA6CEAAAAhAADoMQAA6DEAAAAiAADwmQAA8JkAAAAjAADwmgAA8JoAAAAkAADwyQAA8MkAAAAlAADw3AAA8NwAAAAmAADw4QAA8OEAAAAnAADw7QAA8O0AAAAoAADw7gAA8O4AAAApAADxIQAA8SEAAAAqAADxZwAA8WcAAAArAADxbQAA8W0AAAAsAADx/AAA8fwAAAAtAADyMQAA8jEAAAAuAAAAAgAA//kDawLDACcAQABCQD8UAQIBAUcABgIFAgYFbQAFAwIFA2sABAMAAwQAbQABAAIGAQJgAAMEAANUAAMDAFgAAAMATBYjGSUqJScHBRsrJRQWDwEOAQcjIiY1ETQ2OwEyFhUXFg8BDgEnIyIGBxEUFhczMh4CARQHAQYiJj0BIyImPQE0NjczNTQ2FhcBFgFlAgECAQgIskNeXkOyCAoBAQECAQgIsiU0ATYktAYCBgICBgv+0QscFvoOFhYO+hYcCwEvCy4CEgUOCQQBXkMBiENeCggLCQYNBwgBNCb+eCU0AQQCCAEsDgv+0AoUD6EWDtYPFAGhDhYCCf7QCgAAAAABAAAAAAOlApgAFQAdQBoPAQABAUcAAgECbwABAAFvAAAAZhQXFAMFFysBFAcBBiInASY0PwE2Mh8BATYyHwEWA6UQ/iAQLBD+6g8PTBAsEKQBbhAsEEwQAhYWEP4gDw8BFhAsEEwQEKUBbxAQTA8AAQAA/+8C1AKGACQAHkAbIhkQBwQAAgFHAwECAAJvAQEAAGYUHBQUBAUYKyUUDwEGIi8BBwYiLwEmND8BJyY0PwE2Mh8BNzYyHwEWFA8BFxYC1A9MECwQpKQQLBBMEBCkpBAQTBAsEKSkECwQTA8PpKQPcBYQTA8PpaUPD0wQLBCkpBAsEEwQEKSkEBBMDy4PpKQPAAEAAP/5AxIDCwAjAClAJgAEAwRvAAEAAXAFAQMAAANUBQEDAwBYAgEAAwBMIzMlIzMjBgUaKwEVFAYnIxUUBgcjIiY3NSMiJic1NDY3MzU0NjsBMhYXFTMyFgMSIBboIBZrFiAB6BceASAW6B4XaxceAegXHgG3axYgAekWHgEgFekeF2sXHgHoFiAgFuggAAEAAAAAAxIB7QAPABhAFQABAAABVAABAQBYAAABAEw1MwIFFisBFRQGJyEiJic1NDY3ITIWAxIgFv1aFx4BIBYCphceAbdrFiABHhdrFx4BIAAAAAP//f+xA18DCwAPADcARABIQEUpAQUDCQECAQACRwAEAgMCBANtAAMFAgMFawAHAAIEBwJgAAUAAAEFAGAAAQYGAVQAAQEGWAAGAQZMFR4rExYmJiMIBRwrJTU0JisBIgYdARQWOwEyNhM0LgEjIgcGHwEWMzI3PgEyFhUUBgcOARcVFBY7ATI2NDY/AT4DFxQOASIuAj4BMh4BAfQKCGsICgoIawgKjz5cMYhHCQ1KBAYJBR4lOCoWGyM8AQoIawgKGBIcCh4UDNdyxujIbgZ6vPS6flJrCAoKCGsICgoBfzFULncNCzcEByYbHhIVGgwPQiUUCAoKEiILEAYaHChSdcR0dMTqxHR0xAAEAAD/sQNNAv8ABgAUABkAJACGQBceAQIFHRYOBwQDAhkDAgMAAwEBAQAER0uwElBYQCcABQIFbwACAwJvAAMAA28AAAEBAGMGAQEEBAFSBgEBAQRXAAQBBEsbQCYABQIFbwACAwJvAAMAA28AAAEAbwYBAQQEAVIGAQEBBFcABAEES1lAEgAAISAYFxAPCQgABgAGFAcFFSsXNycHFTMVATQjIgcBBhUUMzI3ATYnFwEjNQEUDwEnNzYyHwEWyzKDM0gBXwwFBP7RBA0FBAEvAx7o/jDoA00UXehdFDsWgxQHM4MzPEcCBgwE/tIEBgwEAS4Ecej+L+kBmh0VXelcFRWDFgAAAAACAAD/sQNaAwsACABqAEVAQmVZTEEEAAQ7CgIBADQoGxAEAwEDRwAFBAVvBgEEAARvAAABAG8AAQMBbwADAgNvAAICZlxbU1FJSCsqIiATEgcFFisBNCYiDgEWMjYlFRQGDwEGBxYXFhQHDgEnIi8BBgcGBwYrASImNScmJwcGIicmJyY0Nz4BNyYvAS4BJzU0Nj8BNjcmJyY0Nz4BMzIfATY3Njc2OwEyFh8BFhc3NjIXFhcWFAcOAQcWHwEeAQI7UnhSAlZ0VgEcCAdoCgsTKAYFD1ANBwdNGRoJBwQQfAgMEBsXTwYQBkYWBAUIKAoPCGYHCAEKBWgIDhclBgUPUA0HCE0YGgkIAxF8BwwBDxwXTwUPB0gUBAQJKAoPCGYHCgFeO1RUdlRUeHwHDAEQHhUbMgYOBhVQAQU8DQhMHBAKB2cJDDwFBkAeBQ4GDDIPHBsPAQwHfAcMARAZGiAtBwwHFFAFPA0ITBwQCgdnCQs7BQVDHAUOBgwyDxwaEAEMAAAAAwAA//kD6AJ9ABEAIgAzAEZAQwsCAgQCDQEAAwJHAAQCAwIEA20AAwACAwBrAAABAgABawAGAAIEBgJgAAEFBQFUAAEBBVgABQEFTBcWJBQVGBYHBRsrASYnFhUUBi4BNTQ3BgceASA2ATQmByIGFRQWMjY1NDYzMjYFFAcGBCAkJyY0NzYsAQQXFgOhVYAiktCSIoBVS+ABBOL+txALRmQQFhBEMAsQAdkLTv74/tr++E4LC04BCAEmAQhOCwE6hEE6Q2eUApBpQzpBhHKIiAFJCxABZEULEBALMEQQzBMTgZqagRMmFICaAp5+FAAAAQAAAAADtgJGABQAGUAWBQEAAgFHAAIAAm8BAQAAZhcUEgMFFyslBwYiJwkBBiIvASY0NwE2MhcBFhQDq1wLHgr+2P7YCxwLXQsLAZ4LHAsBngtrXAoKASn+1woKXAseCgGeCgr+YgscAAAAAv////kEGQMLABIAKQAsQCkAAwQDbwABAgACAQBtAAAAbgAEAgIEVAAEBAJYAAIEAkwjOiM2NQUFGSsBFA8BDgEjISIuAT8BPgEzITIWJxUhIgYPAicmNxE0NjsBMhYdASEyFgQZErsYVib9oRMcARG8GFYlAl8THsD+MDVyI7wCAQEBSjOzM0oBLzRIAT8RFN0cKA4iFN0cKA6vWjQp3QMHBQICGDNKSjMSSgAAAAAEAAD/+QOhA1IACAARACcAPwBEQEE8AQcICQACAgACRwkBBwgDCAcDbQAGAwQDBgRtBQEDAQEAAgMAYAAEAAIEAlwACAgMCEk/PSQlFiISJTkYEgoFHSslNC4BDgEWPgE3NC4BDgEWPgE3FRQGByEiJic1NDYzIRcWMj8BITIWAxYPAQYiLwEmNzY7ATU0NjczMhYHFTMyAsoUHhQCGBoYjRQgEgIWHBhGIBb8yxceASAWAQNLIVYhTAEDFiC2ChL6Ch4K+hEJChePFg6PDhYBjxhkDxQCGBoYAhQPDxQCGBoYAhSMsxYeASAVsxYgTCAgTCABKBcQ+gsL+hAXFfoPFAEWDvoAAAABAAAAAAFnAnwADQAXQBQAAQABAUcAAQABbwAAAGYXEwIFFisBERQGIi8BJjQ/ATYyFgFlFCAJ+goK+gscGAJY/gwOFgv6CxwL+gsWAAAAAAb///9qBC8DUgARADIAOwBEAFYAXwBvQGxPDgIDAgFHAAsJCAkLCG0QAQgCCQgCaw8BAgMJAgNrBwEFAAEABQFtDAoCAQYAAQZrAAYEAAYEaw4BAw0BAAUDAGARAQkJDEgABAQNBEleXVpZVlRSUEtKSUdDQj8+OjkZFRQZNyMTIRASBR0rAQYHIyImNzQzMh4BNzI3BhUUARQGIyEiJic0PgUzMh4CPgE/ATY3Mh4EFwEUBiImNDYyFgEUBi4BPgIWBRQGJyMmJzY1NCcWMzI+ARcyJxQGIiY0NjIWAUtaOkstQAFFBCpCISYlAwKDUkP+GERQAQQMECAmOiEGJC5IUEYZKRAIIjgmIBAOAf3GVHZUVHZUAYl+sIACfLR6AUM+Lks5Wi0DJSUhRCgERUdUdlRUdlQBXgNELCzFFhoBDRUQTv5bQk5OQh44Qjg0JhYYHBoCFhAaCgIWJjQ4QhwCjztUVHZUVP7vWX4CerZ4BoTTKy4BRANBThAVDRgYAY87VFR2VFQAAgAA/7ECygMMABUAHgAlQCIABQEFbwMBAQQBbwAEAgRvAAIAAm8AAABmExcRERcyBgUaKyUUBiMhIiY1ND4DFxYyNzIeAwMUBiIuATYeAQLKRjH+JDFGChgqPi1JykoqQiYcCI98tHoEgqyERTxYWDwwVFY8KAFISCY+VFYBwFh+frCAAnwAAAEAAP+TA+gDKQAGAB1AGgUBAUQAAAEAbwMCAgEBZgAAAAYABhERBAUWKzURIREhBTUD6P4n/sBgAsn9N83NAAACAAD/+QOSAsUAEAAxAC5AKy4mJRgVDw4NCAEDDAEAAQJHBAEDAQNvAAEAAW8CAQAAZiooIyIhERQFBRcrAREUBgcjNSMVIyImJxEJARY3BwYHIyInCQEGJi8BJjY3ATYyHwE1NDY7ATIWHQEXFhQDEhYO1o/WDxQBAUEBQQF8IgUHAgcF/n7+fgcNBSMEAgUBkRIwE4gKCGsICnoGASj+9Q8UAdbWFg4BDwEI/vgBJCkFAQMBQv6+BAIFKQYOBQFODw9xbAgKCgjjZgQQAAAAAwAA/2oDjQNSABcAJAAtADVAMgADBAAEAwBtAAUABAMFBGAGAQICAVgAAQEMSAAAAA0ASRkYLCsoJx8eGCQZJBsVBwUWKwEUBwYHBiInJicmNTQ2NzY3NjIXFhceAQEiDgEUHgEyPgE0LgEXFAYiJjQ2MhYDjT48Z2r2a2Y9Pkc+QVBXtFdPQT5H/jpFdUVFdYp1RER1FjVMNTVMNQEed2VjOjs7OmNld1rHU1gyNjYyWFPHATJEdYp1RUV1inVE/iY1NUw0NAABAAAAAAI8Ae0ADgAXQBQAAQABAUcAAQABbwAAAGY1FAIFFisBFA8BBiIvASY0NjMhMhYCOwr6CxwL+gsWDgH0DhYByQ4L+gsL+gscFhYAAAIAAP/5AoMDCwAHAB8AKkAnBQMCAAECAQACbQACAm4ABAEBBFQABAQBWAABBAFMIxMlNhMQBgUaKxMhNTQmDgEXBREUBgchIiYnETQ2FzM1NDYyFgcVMzIWswEdVHZUAQHQIBb96RceASAWEZTMlgISFx4BpWw7VAJQPaH+vhYeASAVAUIWIAFsZpSUZmweAAIAAP+wA+gCwwAlAEsAP0A8SRwCAAE/AQMAKQECAwNHCgEDAUYyAQJEAAEAAW8AAAMAbwADAgIDVAADAwJYAAIDAkxCQD48IyIjBAUVKwEUDgEjIicGBwYHIyImNSY0NjU/AjYHNz4CNy4BJzQ+ATIeARcUBgceAR8BFh8DFAcOAScmJyYnBiMiJxYzMjY3PgEnNCceAQMSarRrMDJGVRUbAgYMAQIBBAMDARwFDg4ERU4BarTWtGrWUEQFDAgbCQQFBAMBAgoHHBRWRjIwl3AgEVqkQkVMAQ1IVAGlTYRMCTEXBQQKBwEEBAEDBgMDAR4FGBIQKHRDToRMTITcQ3YnDhYKIQsDBQYKAQIICgEEBRcxCUoDMi80hkorKid4AAUAAP/DA+gCsQAJABoAPgBEAFcAV0BUNBsCAARTBgICAFJDAgECUEIpJwgBBgYBBEcABQQFbwACAAEAAgFtAAEGAAEGawAGAwAGA2sAAwNuAAQAAARUAAQEAFgAAAQATExLEy4ZJBQdBwUaKyU3LgE3NDcGBxYBNCYHIgYVFBYyNjU0NjMyNjcUFQYCDwEGIyInJjU0Ny4BJyY0Nz4BMzIXNzYzMhYfARYHFhMUBgcTFhcUBwYHDgEjNz4BNyYnNx4BFxYBNiswOAEigFVeAWoQC0ZkEBYQRDALEMo76jscBQoHRAkZUIYyCwtW/JcyMh8FCgMOCyQLAQkVWEmdBPoLFidU3Hwpd8hFQV0jNWIgC2lPI2o9QzpBhJABZwsQAWRFCxAQCzBEEHUEAWn+WmkyCScGCgcqJHhNESoSg5gKNgkGBhQGAQX+/U6AGwEYGV4TEyQtYGpKCoRpZEA/JGI2EwAAAgAA/7EDWwMLACQARwBdQFpDJQIGCS8BBQYXAQMCCAEBAwRHAAkIBggJBm0HAQUGAgYFAm0EAQIDBgIDawABAwADAQBtAAgABgUIBmAAAwEAA1QAAwMAWAAAAwBMRkUmJSU2JSY1FCQKBR0rARQVDgEjIiYnBwYiJj0BNDY7ATIWBg8BHgE3MjY3Njc2OwEyFhMVFAYrASImNj8BJiMiBgcGBwYrASImNzU+ATMyFhc3NjIWA0sk5JlRmDxICxwWFg76DhYCCU0oZDdKgicGGAQMawgKDhQQ+g4WAglNUnBLgicGFwUMbwcMASTmmVGaPEgLHBgBBQMBlro+OUgLFg76DhYWHAtNJCoBSj4KOA0MAbj6DhYWHAtNTUo+CjgNDAYElro+OUgLFgAABAAA/7EDoQMuAAgAEQApAEAARkBDNQEHBgkAAgIAAkcACQYJbwgBBgcGbwAHAwdvAAQAAgRUBQEDAQEAAgMAYAAEBAJYAAIEAkw9PCMzIyIyJTkYEgoFHSslNCYOAh4BNjc0Jg4CHgE2NxUUBiMhIiYnNTQ2FzMeATsBMjY3MzIWAwYrARUUBgcjIiYnNSMiJj8BNjIfARYCyhQeFAIYGhiNFCASAhYcGEYgFvzLFx4BIBbuDDYjjyI2De4WILYJGI8UD48PFAGPFxMR+goeCvoSHQ4WAhIgEgQaDA4WAhIgEgQaibMWICAWsxYgAR8oKB8eAVIW+g8UARYO+iwR+goK+hEAAAAAAQAA/+cDtgIpABQAGUAWDQEAAQFHAgEBAAFvAAAAZhQXEgMFFysJAQYiJwEmND8BNjIXCQE2Mh8BFhQDq/5iCh4K/mILC10KHgoBKAEoCxwMXAsBj/5jCwsBnQseClwLC/7YASgLC1wLHAAAAQAA/8ACmANEABQALbUBAQABAUdLsBlQWEALAAABAHAAAQEMAUkbQAkAAQABbwAAAGZZtBcXAgUWKwkCFhQPAQYiJwEmNDcBNjIfARYUAo7+1wEpCgpdCxwL/mILCwGeCh4KXQoCqv7Y/tcKHgpdCgoBnwoeCgGeCwtdCh4AAAAGAAD/tgPoAwYAJwAwAFgAgACLAJYAuEC1RQ8OBwYFBQBWVVNRTEpJERAFBAsDBWhlZGNfXlRQT0sVFAEADgIDaWddJRgFCAKBbSQiGxkGBwZ+fXt5dHEjGggBBwZHYAECagEIAkZCQUA/PTw7ODc2NQsJRXx4d3NyBQFEAAkACW8ABQADAAUDbQAIAgYCCAZtAAYHAgYHawAHAQIHAWsEAQAAAwIAA2AAAggBAlQAAgIBVgABAgFKlZOKiG9uW1pHRjMyLy4rKh8eGgoFFSs9ATc2Nyc3FzY/ATMXFhc3FwcWHwEVBwYHFwcnBg8BIycmJwcnNyYnNxQWPgIuAQYlNxc2Nyc3FzY/ARcHFhc3FwcWHwEHIwYHFwcnBg8BJzUmJwcnNyYnAzczNjcnNxc2PwEXFRYXNxcHFh8BByMGBxcHJwYPASc1JicHJzcmJzcGHgE+ASYnIyIGEwYeAT4BJicjIgZeCA88REoaHQhhCh0aSkQ8EAdeXgcQPERKGh0KYQgdGkpEPA8IfzRMMgI2SDgBQAhGCAwlNjEUFQ5IAhYROS0xCgJECEQIDic4LxYVDkYUETstMQgEJQYxBggaJSQNEAowEAwpHyMGBC8GMQQKHCgjDRAKMQ0OKR8jBgJFBBgoHAYaEgYRHBIEJDYqBCAcBxok9WEIHhlKRT0QB15eBxA9RUoZHghhCh0aSEY8DwheXggPPEZIGh07JTYCMk4wBDjLSAIWETktMQoEQghECA4nNjEUFw5GFBE7LTEIBEIGRggMJTYxFBX+UTIQDCshJQgCMAUxBgobKSMNEAwzDwwrISUIAjEGMwQKHCkkDRAZFR4EFi4YBhgBsBsqCCY0LAIiAAAGAAD/cgQvA0kACAASABsAegC2APEAnECZ7tkCBA5qXQIFCNC8cAMABb6soHVSTEUjHQkBALOeQAMCATotAgYClYACCwMHR+fbAg5FggELRAoBCAkFCQgFbQAGAgcCBgdtAA4ABAkOBGAACQgACVQABQ0BAAEFAGAAAgYBAlQMAQEABwMBB2AAAwsLA1QAAwMLWAALAwtM5ePHxqqoi4ptbGRiWlk0MisqExQUFBMSDwUaKwE0JiIGFBYyNgU0Jg4BFxQWMjYDNCYiBh4BMjYHFRQGDwEGBxYXFhQHDgEiLwEGBwYHBisBIiY1JyYnBwYiJyY1NDc+ATcmLwEuAT0BNDY/ATY3JicmNDc+ATMyHwE2NzY3NjsBMhYfARYXNzYyFxYVFA8BBgcWHwEeAQEVFAcGBxYVFAcGIyIvAQYiJw4BByInJjU0NyYnJj0BNDc2NyY1ND8BNjMyFhc3FzY/ATIXFhUUBxYXFhEVFAcGBxYVFAcGIyImJwYiJw4BIicmNTQ3JicmPQE0NzY3JjU0PwE2MzIWFzcXNj8BMhcWFRQHFhcWAfRUdlRUdlQBrSw4LAEqOiwBLDgsASo6LNgIBFcGDBMfBAQMRBAFQBUWBgcEDWgGCg0TF0IEDQZQBAUkCA0HVQUICAVWBwsTHwQEDEQKBgZAExgGBwMNaAYKAQ0TF0EFDQVRBBgRCA0GVQYGAWZTBgocAkQBBRUdCwwLBywDAUQDHQoHU1MHCh0DNBABBCoIEREcFwQCQwIcCQdTUwYKHAJEAQUqCAsMCwcsBEQDHQoHU1MHCh0DNBABBCoIEREcFwQCQwIcCQdTAV47VFR2VFTjHSwCKB8dKioCWR0qKjsqKs1nBgoBDhMXGyUGDAQRQgQyCwY8Gw0IBlUGDDIEBEsPBQUILAwYFg0BCAdoBQoBDhMXGyUGDAUQQgQyCgg8Gg0IBlUGCzEEBEsPBAYeFQ0bEwwCCP7PTgkIDw4/DgICKBslAQELNAEoAgIOPw4PCAlOCQkQDT8OAgIeCTQMAQEoFwEnAgIOPw0QCQIzTgkJDw4/DgICJzQMAQEMNCcCAg4/Dg8JCU4JCBANPw4CAh4JNAsBAScXAScCAg4/DRAIAAADAAD/gAL4A0AACwAfACsBmLUDAQACAUdLsAlQWEAoAAcFBAQHZQAAAgECAAFtBgEEAAIABAJhAAUFA1gAAwMMSAABAQ0BSRtLsApQWEAmAAcFBAQHZQAAAgECAAFtAAMABQcDBWAGAQQAAgAEAmEAAQENAUkbS7AOUFhAKAAHBQQEB2UAAAIBAgABbQYBBAACAAQCYQAFBQNYAAMDDEgAAQENAUkbS7APUFhAJgAHBQQEB2UAAAIBAgABbQADAAUHAwVgBgEEAAIABAJhAAEBDQFJG0uwE1BYQCgABwUEBAdlAAACAQIAAW0GAQQAAgAEAmEABQUDWAADAwxIAAEBDQFJG0uwFVBYQCkABwUEBQcEbQAAAgECAAFtBgEEAAIABAJhAAUFA1gAAwMMSAABAQ0BSRtLsBdQWEAnAAcFBAUHBG0AAAIBAgABbQADAAUHAwVgBgEEAAIABAJhAAEBDQFJG0AuAAcFBAUHBG0AAAIBAgABbQABAW4AAwAFBwMFYAYBBAICBFIGAQQEAlkAAgQCTVlZWVlZWVlACxESMhI4GhURCAUcKxMWIDcDDgIiLgEnAR4BHQEUBiAmPQE0Nj8BNjsBMhcHMy4BKwEiDwEzNzMyegGgejYCQoaUhEQCAbJegOD+yOCAXioWMFw0EgxUXBoSZhYKalRAUgHKRkb+Gg4sKiosDgMSEkoiCjpSUjoKIkoSMBoaoG4gEH5CAAAAAAIAAP+6A0gDAgAIABQAREBBBQEDBAIEAwJtBgECBwQCB2sIAQAABAMABF4ABwEBB1IABwcBWAABBwFMAQAUExIREA8ODQwLCgkFBAAIAQgJBRQrATIWEAYgJhA2EzM1IzUjFSMVMxUzAaSu9vb+pPb24sjIZsrKZgMC9v6k9vYBXPb+KmbKymbKAAAAAgAA/7oDSAMCAAgADAAmQCMEAQACAG8AAgMCbwADAQNvAAEBZgEADAsKCQUEAAgBCAUFFCsBMhYQBiAmEDYBIRUhAaSu9vb+pPb2Aar+CAH4AwL2/qT29gFc9v6QZgAAAQAA/88DgwMLAB4AIEAdGA8CAAEBRwACAQJvAwEBAAFvAAAAZhU1FxQEBRgrARQHAQYiJwEmND8BNjIfARE0NjczMhYVETc2Mh8BFgODFf6VFjoV/pUVFSkWOhWkKh5HHSqlFDsWKRUBgh4U/pQVFQFsFDsWKRUVpAGJHSoBLBz+d6QVFSkWAAEAAP+xA4MC5wAeACBAHRAHAgADAUcAAwADbwIBAAEAbwABAWYXFTUUBAUYKwEUDwEGIi8BERQGByMiJjURBwYiLwEmNDcBNjIXARYDgxUpFjsUpSgfRx4qpBQ8FCoVFQFrFDwVAWsVATQcFioVFaT+dx0kASYcAYmkFRUqFTsVAWsVFf6VFgAF//r/agPpA1gAHwA8AFoAeACYAEJAP2oBBQOTAQQCAkcrAQBFAAABAG8AAQMBbwADBQNvAAIFBAUCBG0ABQUEWAAEBA0ESZGPf311c2dlSkgwLgYFFCs3MSMuAScmNjc+ARcyFRceAQcOAQcGFhcWDwEGJiciNRMxNTY3Njc+ARcWFQcOAScjBgcOAQcGIi8BLgE3JTEzFhcWFx4BFxYGByciJicmLwEmJyYnJj8BPgEXEzEwMQYHBgcOAQcGJi8CJjY3PgE3Njc2MxcyFhUBMTAxBiMiJy4BJyY0PwE2FhcWFxYXFjcyHwEWBgcGIy4BCxMGDhEgAgkEAlAEAgIHCwMIDBMDB1AECQMBeBUZHRZDmE4KIAEIBCgaDjNfKAMIA08EAQMCTgEYGhAeOEwQAgYFZgQGAQIHBQkGMFkHAh8BCQX2BgkMCiFpQwQKAgEeAQMEECENSxoDCGIFBv5KHh4iGU2NOgQEUgQJAxQMFgxeagkDHQIEBQECkBg8HUuYRwQDAgE7AggEECkUMmcwCAU4AwIEAgI+ARMSFAsmHwkCC2AEBAECAggrIQICOgIKBEIOEgwaNIZMBQcBAQUEChMOFQpeOAQJXAQFAv3oHhsgF0ZxJgICBAJeBAgCChsNSWcIAQYF/nIDBAk/NQMJBDsCAQMQBw4GLwYIXAQIAgEAAAABAAD/9wOIAsMALwBNQEouLCogAgUFBhkBBAUWEgIDBAsBAQIERwAGBQZvAAUEBW8ABAMEbwADAgNvAAIBAm8AAQAAAVQAAQEAWAAAAQBMJBYWIxEiKAcFGysBBgcVFA4DJyInFjMyNy4BJxYzMjcuAT0BFhcuATQ3HgEXJjU0NjcyFzY3Bgc2A4glNSpWeKhhl30TGH5iO1wSEw8YGD9SJiwlLBlEwHAFakpPNT02FTs0Am42JxdJkIZkQAJRAk0BRjYDBg1iQgIVAhlOYCpTZAUVFEtoATkMIEAkBgAAAAEAAP+xAhcDUgAUAC1AKgABAAYBRwADAgNwBQEBBAECAwECXgAAAAZYAAYGDABJIxERERETIQcFGysBFSMiBh0BMwcjESMRIzUzNTQ2MzICF1cwIqQWjquOjnRhUgNLkygoaqX+WAGopXpocgAAAAADAAD/+QNaAsQADwAfAC8AN0A0KAEEBQgAAgABAkcABQAEAwUEYAADAAIBAwJgAAEAAAFUAAEBAFgAAAEATCY1JjUmMwYFGislFRQGByEiJic1NDY3ITIWAxUUBichIiYnNTQ2FyEyFgMVFAYjISImJzU0NhchMhYDWRQQ/O8PFAEWDgMRDxYBFBD87w8UARYOAxEPFgEUEPzvDxQBFg4DEQ8WZEcPFAEWDkcPFAEWARBIDhYBFA9IDhYBFAEORw4WFg5HDxYBFAAAAAAC////1QI8AucADgAdACNAIAABAAEBRwADAgNvAAIBAm8AAQABbwAAAGYVNCYUBAUYKyUUDwEGIi8BJjQ2NyEyFicUBiMhIi4BPwE2Mh8BFgI7CvoLHAv6CxYOAfQOFgEUD/4MDxQCDPoKHgr6CvMPCvoLC/oKHhQBFsgOFhYcC/oLC/oKAAAAAwAA/8wDWQL/AAMADgAqAEpARyIBBQEBRwcJAgEIBQgBBW0GBAIABQBwAAMAAggDAmAACAEFCFQACAgFWAAFCAVMAAApJyEgHBsWFBEQDQwJBgADAAMRCgUVKxMRIxE3FAYrASImNDYyFgERIxE0JiMiBgcGFREjNj0BJzMVIz4DNzIWw7jEOi4BLjg6XDgCi7cuMCMuDQa4AQG4AQsYJjwiX3QB9f3XAimrKTY2UjY2/kD+wwEoO0ImHREc/svfiqUbUBIaIBABfgAAAv////kEMAMLABgAMwBCQD8qAQEGMSMFAwABAkcABgUBBQYBbQIBAAEDAQADbQAFAAEABQFgAAMEBANUAAMDBFgABAMETCMoNhYUIyIHBRsrATQmKwE1NCYrASIGHQEjIgYUHwEWMj8BNgUUBgchIiY3NDY3JzQ2MzIWFzYzMhYVFAceAQLKCgh9CgdsBwp9CAoFxAUQBcQFAWV8Wv2hZ5QBTkIBqHZXkCEoNTtUF0heAUwICsQICgoIxAoQBcQFBcQGdll8AZJoSHweGHaoYlAjVDsrIhF2AAAAAAL////5BDADCwAYADMARUBCKgEABjEjAgEADQECAQNHAAYFAAUGAG0DAQEAAgABAm0ABQAAAQUAYAACBAQCVAACAgRYAAQCBEwjKDUUIyUUBwUbKwE0LwEmIg8BBhQWOwEVFBY7ATI2PQEzMjYFFAYHISImNzQ2Nyc0NjMyFhc2MzIWFRQHHgECygXEBRAFxAUKCH0KB2wHCn0ICgFlfFr9oWeUAU5CAah2V5AhKDU7VBdIXgFwCAXEBQXEBg8KxAgKCgjECplZfAGSaEh8Hhh2qGJQI1Q7KyIRdgADAAD/uQQWAroAFAAkADkAHkAbLhECAAEBRwMBAQABbwIBAABmNTQoJxcSBAUWKyUHBiInASY0NwE2Mh8BFhQPARcWFAEDDgEvAS4BNxM+AR8BHgEJAQYiLwEmND8BJyY0PwE2MhcBFhQBWBwFDgb+/AYGAQQFEAQcBgbb2wYBRNACDgYiCAYB0QIMByMHCAFs/vwGDgYcBQXb2wUFHAYOBgEEBUUcBQUBBQUOBgEEBgYcBRAE3NsGDgJO/S8HCAMJAwwIAtAIBgEKAg7+j/77BQUcBg4G29wFDgYcBgb+/AUQAAALAAD/agNKA1IACQAPABcAKgA7AFcAXwB4AIQAlACmA1RAJKWhhH57BRYVmAEbFjEBAQkGAQIBVj48IBwFBgASNioCBwAGR0uwCVBYQHQfARsWHRYbHW0GAQQFCQUECW0TDQsDCQEFCWMPCAIHAAwMB2UkIyEDHgAVFh4VYCIBFiABHRkWHWAAGQ4BBQQZBV4DAQEAAhIBAl4AEhEKAgAHEgBgHAEaGgxIFBACDAwXWQAXFw1IFBACDAwYWQAYGA0YSRtLsApQWECAJCMCIR4VHiEVbR8BGxYdFhsdbQYBBAUNBQQNbRMBDQkFDWMLAQkBBQljDwgCBwAMDAdlAB4AFRYeFWAiARYgAR0ZFh1gABkOAQUEGQVeAwEBAAISAQJeABIRCgIABxIAYBwBGhoMSBQQAgwMF1kAFxcNSBQQAgwMGFkAGBgNGEkbS7ALUFhAagYBBAUJBQQJbRMNCwMJAQUJYyQjIQMeABUWHhVgIgEWIB8dAxsZFhtgABkOAQUEGQVeAwEBAAISAQJeABIRCgIABxIAYBwBGhoMSBQQDwwIBQcHF1gAFxcNSBQQDwwIBQcHGFgAGBgNGEkbS7AOUFhAdB8BGxYdFhsdbQYBBAUJBQQJbRMNCwMJAQUJYw8IAgcADAwHZSQjIQMeABUWHhVgIgEWIAEdGRYdYAAZDgEFBBkFXgMBAQACEgECXgASEQoCAAcSAGAcARoaDEgUEAIMDBdZABcXDUgUEAIMDBhZABgYDRhJG0uwJlBYQHUfARsWHRYbHW0GAQQFCQUECW0TDQsDCQEFCQFrDwgCBwAMDAdlJCMhAx4AFRYeFWAiARYgAR0ZFh1gABkOAQUEGQVeAwEBAAISAQJeABIRCgIABxIAYBwBGhoMSBQQAgwMF1kAFxcNSBQQAgwMGFkAGBgNGEkbQG8fARsWHRYbHW0GAQQFCQUECW0TDQsDCQEFCQFrDwgCBwAMDAdlJCMhAx4AFRYeFWAiARYgAR0ZFh1gABkOAQUEGQVeAwEBAAISAQJeABIRCgIABxIAYAAXGAwXVRwBGhoMSBQQAgwMGFkAGBgNGElZWVlZWUBGlZWVppWmpKKgn5uZl5aSkYqJg4J9fHp5c3JnZmVkX15bWlNSS0pGRUNBOTc1NDMyMC8pKCQjHx0bGhEREREREhIjIiUFHSslFRQjIic1NjMyFxUjNTQyJTM1IxUzETsCESMVBiMiJyY9ASMVFBcWMj8BNTQnJiIHNSMRMzUWMzI3Njc1IxQHBiMiPQEzNTQnJiIHBh0BFBcWMjc2NzYBNTQiHQEUMgEUBw4BBwYgJy4BJyYQNz4BNzYgFx4BFxYBMwcVIzUmJyYnMx8BFRQHBiInJj0BNDc2MhcWNxEjNQYjIicmPQEzFRYzMjc1Ah4WDQwMDRa9MzL95TyuOzehMjIRDwoBATIFBzQe8AUKOhgyMhkbHgoFvDMBBBIaZA8WSxYPEBZOFAoCAf6tMDABkQ4IMiBm/mJnIDIHDw8HMiBnAZ5mITIHDv3TOUM4CBoVEDwn9RAVSxYPDxZLFRC7Mx4cGQgEMwIKDxGcdiUMqAwmGRkmVDQ0/sIBFNMXCwISy9ocDRUiNW4pDh8eef6OGx8fDy8HHQUUJjE5LBUcHBUsYCwVHR4PDwUCGXUnJ3Un/oSDQCEuAgwMAywiPgEIQCEuAwsLBCwiPgJD35eXKk05L5MnYS4UHR0VLWEtFRwcFS7+6R8jFQ0d3OEMGNUAAAAABQAA/7EDWQMLAAgAEQAaAFQAbQBjQGASAQMFAUcACgIHBwplAA0LDgIGBQ0GYAAFAAQABQRgAAMAAAEDAGAAAQACCgECYAkIAgcMDAdUCQgCBwcMWQAMBwxNIBtqZV5ZUlE9PDo5ODc2NRtUIFMTFBMUExIPBRorATQmIg4BFjI2NxQGLgE+AhY3FAYiLgE2MhYlIisBIg4BBw4BBw4CFgYWBhYUHwEeARceATIWNhY2Fj4BNz4BNz4CJjYmNiY0LwEuAScuASImBgEUBw4BBwYiJy4BJyYQNz4BNzYgFx4BFxYCO1J4UgJWdFZLgLaCAn66fD8eLBwCICgi/uYEJzsURC4RHCoMBggEAgICAgIGCgwqHBAwQipMCkosQDQNHCwKBggEAgICAgIGCgsqHRAuRiZQAaoDBYBzMv4ydIAFAwMFgHQxAQAxdH4GAwFeO1RUdlRUO1uCAn66fgKCihUeHioeHmYEBggLKhwQMEQmUAZQJkQYKBwqCwYKBAQEBAQIAgoLKhwQMEQmUAZQJkQYKBwqCwYKBAT+ooAxdIAFAwMGfnUxAQAxdIAFAwMGfnUxAAL///9qA+gDUgAPACgANEAxHBMCAwEBRwABAAMAAQNtAAMCAAMCawQBAAAMSAACAg0CSQEAIiAYFgoIAA8BDwUFFCsBMhYHFAcCBwYjIi4BNwE2AR4BHwEWBiMiLgI3Fx4CMzI3PgQDhSc8ARm5SzZDR2QBNAFkIf4sFkovAQKUeURqQCIBFxMgIAoXCA4kKjg6A1I0JyMx/qFFM2iOLwFDHv2/Kj4LKHaWNFpyQhEOFhIUJTQgFgYAAAAAAQAA/7ECygNTAEoAP0A8IwEFAhMBAQMCRxwBAUQAAgQFBAIFbQAFAwQFA2sAAwABAwFcAAQEAFgAAAAMBElFRDs5MS8pJyglBgUWKxE0PgMXMh4BFRQOAyciJicHDgUPAScmNTQ2PwEmNTQ2NzIWFRQOARYzMj4ENzQmIyIGFRQeAhUUBiMnLgMqSmBuOliYXhQwQGA6JkoRDwoIDhASIhIHBQkYGR0SOi0iJjABMiQfNCQaEAYBemNvlg4QDhANCR0sGAwCBTxqUDoeAUqOWTZmYEYuAiQfPykYOBYwKBwDBlgRM4BhcSQ6L1ABLiIlikcuHDA6QDwaYGyQbxkuGhoEDzIBCSw+OgAAAAEAAAABAAChUssiXw889QALA+gAAAAA24vYnAAAAADbi9ic//r/agQwA1gAAAAIAAIAAAAAAAAAAQAAA1L/agAABC//+v/6BDAAAQAAAAAAAAAAAAAAAAAAAC8D6AAAA6AAAAPoAAADEQAAAxEAAAMRAAADWf/9A1kAAANZAAAD6AAAA+gAAAQv//8DoAAAAWUAAAQv//8CygAAA+gAAAOgAAADjQAAAjsAAAKCAAAD6AAAA+gAAANZAAADoAAAA+gAAALKAAAD6AAABC8AAAL4AAADSAAAA0gAAAOgAAADoAAAA+j/+gOgAAACOwAAA1kAAAI7//8DWQAABC///wQv//8ELwAAA1kAAANZAAAD6P//AsoAAAAAAAAAggC6AQQBTAF2AfwCgANCA7oD8ARIBMwE9AW4BfwGHAaEBugHEAdYB+gImgkwCbQJ6goqC24NEg4kDmoOmg7eDyIQJBCUEMwRMhF2EdwSShK4EyoVuhaUFvIXdwABAAAALwDyAAsAAAAAAAIASgBaAHMAAAD+C3AAAAAAAAAAEgDeAAEAAAAAAAAANQAAAAEAAAAAAAEABgA1AAEAAAAAAAIABwA7AAEAAAAAAAMABgBCAAEAAAAAAAQABgBIAAEAAAAAAAUACwBOAAEAAAAAAAYABgBZAAEAAAAAAAoAKwBfAAEAAAAAAAsAEwCKAAMAAQQJAAAAagCdAAMAAQQJAAEADAEHAAMAAQQJAAIADgETAAMAAQQJAAMADAEhAAMAAQQJAAQADAEtAAMAAQQJAAUAFgE5AAMAAQQJAAYADAFPAAMAAQQJAAoAVgFbAAMAAQQJAAsAJgGxQ29weXJpZ2h0IChDKSAyMDIwIGJ5IG9yaWdpbmFsIGF1dGhvcnMgQCBmb250ZWxsby5jb216d2lpY29SZWd1bGFyendpaWNvendpaWNvVmVyc2lvbiAxLjB6d2lpY29HZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAQwApACAAMgAwADIAMAAgAGIAeQAgAG8AcgBpAGcAaQBuAGEAbAAgAGEAdQB0AGgAbwByAHMAIABAACAAZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AegB3AGkAaQBjAG8AUgBlAGcAdQBsAGEAcgB6AHcAaQBpAGMAbwB6AHcAaQBpAGMAbwBWAGUAcgBzAGkAbwBuACAAMQAuADAAegB3AGkAaQBjAG8ARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALwECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATAABmxvZ291dAVjaGVjawZjYW5jZWwEcGx1cwVtaW51cwRoZWxwBnBlbmNpbARnZWFyA2V5ZQJ1cAZmb2xkZXIIZG93bmxvYWQEbGVmdAV1c2VycwR1c2VyB2NvbW1lbnQEaG9tZQRtaW1pBGRvd24EbG9jawRjaGF0B2V5ZS1vZmYGdXBkYXRlBnVwbG9hZAlkb3duLW9wZW4JbGVmdC1vcGVuBGNvZ3MHY29nLWFsdAV0cmFzaAxwbHVzLWNpcmNsZWQNbWludXMtY2lyY2xlZAhkb3duLWJpZwZ1cC1iaWcEc3Bpbgd0d2l0dGVyCGZhY2Vib29rBG1lbnUEc29ydAhsaW5rZWRpbg5kb3dubG9hZC1jbG91ZAx1cGxvYWQtY2xvdWQEY29kZQd5b3V0dWJlCWluc3RhZ3JhbQVicnVzaAlwaW50ZXJlc3QAAAAAAQAB//8ADwAAAAAAAAAAAAAAAAAAAAAAGAAYABgAGANY/2oDWP9qsAAsILAAVVhFWSAgS7gADlFLsAZTWliwNBuwKFlgZiCKVViwAiVhuQgACABjYyNiGyEhsABZsABDI0SyAAEAQ2BCLbABLLAgYGYtsAIsIGQgsMBQsAQmWrIoAQpDRWNFUltYISMhG4pYILBQUFghsEBZGyCwOFBYIbA4WVkgsQEKQ0VjRWFksChQWCGxAQpDRWNFILAwUFghsDBZGyCwwFBYIGYgiophILAKUFhgGyCwIFBYIbAKYBsgsDZQWCGwNmAbYFlZWRuwAStZWSOwAFBYZVlZLbADLCBFILAEJWFkILAFQ1BYsAUjQrAGI0IbISFZsAFgLbAELCMhIyEgZLEFYkIgsAYjQrEBCkNFY7EBCkOwAWBFY7ADKiEgsAZDIIogirABK7EwBSWwBCZRWGBQG2FSWVgjWSEgsEBTWLABKxshsEBZI7AAUFhlWS2wBSywB0MrsgACAENgQi2wBiywByNCIyCwACNCYbACYmawAWOwAWCwBSotsAcsICBFILALQ2O4BABiILAAUFiwQGBZZrABY2BEsAFgLbAILLIHCwBDRUIqIbIAAQBDYEItsAkssABDI0SyAAEAQ2BCLbAKLCAgRSCwASsjsABDsAQlYCBFiiNhIGQgsCBQWCGwABuwMFBYsCAbsEBZWSOwAFBYZVmwAyUjYUREsAFgLbALLCAgRSCwASsjsABDsAQlYCBFiiNhIGSwJFBYsAAbsEBZI7AAUFhlWbADJSNhRESwAWAtsAwsILAAI0KyCwoDRVghGyMhWSohLbANLLECAkWwZGFELbAOLLABYCAgsAxDSrAAUFggsAwjQlmwDUNKsABSWCCwDSNCWS2wDywgsBBiZrABYyC4BABjiiNhsA5DYCCKYCCwDiNCIy2wECxLVFixBGREWSSwDWUjeC2wESxLUVhLU1ixBGREWRshWSSwE2UjeC2wEiyxAA9DVVixDw9DsAFhQrAPK1mwAEOwAiVCsQwCJUKxDQIlQrABFiMgsAMlUFixAQBDYLAEJUKKiiCKI2GwDiohI7ABYSCKI2GwDiohG7EBAENgsAIlQrACJWGwDiohWbAMQ0ewDUNHYLACYiCwAFBYsEBgWWawAWMgsAtDY7gEAGIgsABQWLBAYFlmsAFjYLEAABMjRLABQ7AAPrIBAQFDYEItsBMsALEAAkVUWLAPI0IgRbALI0KwCiOwAWBCIGCwAWG1EBABAA4AQkKKYLESBiuwcisbIlktsBQssQATKy2wFSyxARMrLbAWLLECEystsBcssQMTKy2wGCyxBBMrLbAZLLEFEystsBossQYTKy2wGyyxBxMrLbAcLLEIEystsB0ssQkTKy2wHiwAsA0rsQACRVRYsA8jQiBFsAsjQrAKI7ABYEIgYLABYbUQEAEADgBCQopgsRIGK7ByKxsiWS2wHyyxAB4rLbAgLLEBHistsCEssQIeKy2wIiyxAx4rLbAjLLEEHistsCQssQUeKy2wJSyxBh4rLbAmLLEHHistsCcssQgeKy2wKCyxCR4rLbApLCA8sAFgLbAqLCBgsBBgIEMjsAFgQ7ACJWGwAWCwKSohLbArLLAqK7AqKi2wLCwgIEcgILALQ2O4BABiILAAUFiwQGBZZrABY2AjYTgjIIpVWCBHICCwC0NjuAQAYiCwAFBYsEBgWWawAWNgI2E4GyFZLbAtLACxAAJFVFiwARawLCqwARUwGyJZLbAuLACwDSuxAAJFVFiwARawLCqwARUwGyJZLbAvLCA1sAFgLbAwLACwAUVjuAQAYiCwAFBYsEBgWWawAWOwASuwC0NjuAQAYiCwAFBYsEBgWWawAWOwASuwABa0AAAAAABEPiM4sS8BFSotsDEsIDwgRyCwC0NjuAQAYiCwAFBYsEBgWWawAWNgsABDYTgtsDIsLhc8LbAzLCA8IEcgsAtDY7gEAGIgsABQWLBAYFlmsAFjYLAAQ2GwAUNjOC2wNCyxAgAWJSAuIEewACNCsAIlSYqKRyNHI2EgWGIbIVmwASNCsjMBARUUKi2wNSywABawBCWwBCVHI0cjYbAJQytlii4jICA8ijgtsDYssAAWsAQlsAQlIC5HI0cjYSCwBCNCsAlDKyCwYFBYILBAUVizAiADIBuzAiYDGllCQiMgsAhDIIojRyNHI2EjRmCwBEOwAmIgsABQWLBAYFlmsAFjYCCwASsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsAJiILAAUFiwQGBZZrABY2EjICCwBCYjRmE4GyOwCENGsAIlsAhDRyNHI2FgILAEQ7ACYiCwAFBYsEBgWWawAWNgIyCwASsjsARDYLABK7AFJWGwBSWwAmIgsABQWLBAYFlmsAFjsAQmYSCwBCVgZCOwAyVgZFBYIRsjIVkjICCwBCYjRmE4WS2wNyywABYgICCwBSYgLkcjRyNhIzw4LbA4LLAAFiCwCCNCICAgRiNHsAErI2E4LbA5LLAAFrADJbACJUcjRyNhsABUWC4gPCMhG7ACJbACJUcjRyNhILAFJbAEJUcjRyNhsAYlsAUlSbACJWG5CAAIAGNjIyBYYhshWWO4BABiILAAUFiwQGBZZrABY2AjLiMgIDyKOCMhWS2wOiywABYgsAhDIC5HI0cjYSBgsCBgZrACYiCwAFBYsEBgWWawAWMjICA8ijgtsDssIyAuRrACJUZSWCA8WS6xKwEUKy2wPCwjIC5GsAIlRlBYIDxZLrErARQrLbA9LCMgLkawAiVGUlggPFkjIC5GsAIlRlBYIDxZLrErARQrLbA+LLA1KyMgLkawAiVGUlggPFkusSsBFCstsD8ssDYriiAgPLAEI0KKOCMgLkawAiVGUlggPFkusSsBFCuwBEMusCsrLbBALLAAFrAEJbAEJiAuRyNHI2GwCUMrIyA8IC4jOLErARQrLbBBLLEIBCVCsAAWsAQlsAQlIC5HI0cjYSCwBCNCsAlDKyCwYFBYILBAUVizAiADIBuzAiYDGllCQiMgR7AEQ7ACYiCwAFBYsEBgWWawAWNgILABKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwAmIgsABQWLBAYFlmsAFjYbACJUZhOCMgPCM4GyEgIEYjR7ABKyNhOCFZsSsBFCstsEIssDUrLrErARQrLbBDLLA2KyEjICA8sAQjQiM4sSsBFCuwBEMusCsrLbBELLAAFSBHsAAjQrIAAQEVFBMusDEqLbBFLLAAFSBHsAAjQrIAAQEVFBMusDEqLbBGLLEAARQTsDIqLbBHLLA0Ki2wSCywABZFIyAuIEaKI2E4sSsBFCstsEkssAgjQrBIKy2wSiyyAABBKy2wSyyyAAFBKy2wTCyyAQBBKy2wTSyyAQFBKy2wTiyyAABCKy2wTyyyAAFCKy2wUCyyAQBCKy2wUSyyAQFCKy2wUiyyAAA+Ky2wUyyyAAE+Ky2wVCyyAQA+Ky2wVSyyAQE+Ky2wViyyAABAKy2wVyyyAAFAKy2wWCyyAQBAKy2wWSyyAQFAKy2wWiyyAABDKy2wWyyyAAFDKy2wXCyyAQBDKy2wXSyyAQFDKy2wXiyyAAA/Ky2wXyyyAAE/Ky2wYCyyAQA/Ky2wYSyyAQE/Ky2wYiywNysusSsBFCstsGMssDcrsDsrLbBkLLA3K7A8Ky2wZSywABawNyuwPSstsGYssDgrLrErARQrLbBnLLA4K7A7Ky2waCywOCuwPCstsGkssDgrsD0rLbBqLLA5Ky6xKwEUKy2wayywOSuwOystsGwssDkrsDwrLbBtLLA5K7A9Ky2wbiywOisusSsBFCstsG8ssDorsDsrLbBwLLA6K7A8Ky2wcSywOiuwPSstsHIsswkEAgNFWCEbIyFZQiuwCGWwAyRQeLABFTAtAEu4AMhSWLEBAY5ZsAG5CAAIAGNwsQAFQrIAAQAqsQAFQrMKAgEIKrEABUKzDgABCCqxAAZCugLAAAEACSqxAAdCugBAAAEACSqxAwBEsSQBiFFYsECIWLEDZESxJgGIUVi6CIAAAQRAiGNUWLEDAERZWVlZswwCAQwquAH/hbAEjbECAEQAAA==') format('truetype'); + src: url('data:application/octet-stream;base64,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') format('woff'), + url('data:application/octet-stream;base64,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') format('truetype'); } /* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */ /* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */ @@ -17,7 +17,7 @@ @media screen and (-webkit-min-device-pixel-ratio:0) { @font-face { font-family: 'zwiico'; - src: url('../font/zwiico.svg?79101712#zwiico') format('svg'); + src: url('../font/zwiico.svg?53857867#zwiico') format('svg'); } } */ @@ -97,4 +97,5 @@ .zwiico-youtube:before { content: '\f167'; } /* '' */ .zwiico-instagram:before { content: '\f16d'; } /* '' */ .zwiico-brush:before { content: '\f1fc'; } /* '' */ -.zwiico-pinterest:before { content: '\f231'; } /* '' */ \ No newline at end of file +.zwiico-pinterest:before { content: '\f231'; } /* '' */ +.zwiico-clone:before { content: '\f24d'; } /* '' */ \ No newline at end of file diff --git a/core/vendor/zwiico/css/zwiico-ie7-codes.css b/core/vendor/zwiico/css/zwiico-ie7-codes.css index bd910c25..d22d9c6b 100644 --- a/core/vendor/zwiico/css/zwiico-ie7-codes.css +++ b/core/vendor/zwiico/css/zwiico-ie7-codes.css @@ -44,4 +44,5 @@ .zwiico-youtube { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .zwiico-instagram { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .zwiico-brush { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } -.zwiico-pinterest { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } \ No newline at end of file +.zwiico-pinterest { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.zwiico-clone { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } \ No newline at end of file diff --git a/core/vendor/zwiico/css/zwiico-ie7.css b/core/vendor/zwiico/css/zwiico-ie7.css index 025d49a3..9a4a01c9 100644 --- a/core/vendor/zwiico/css/zwiico-ie7.css +++ b/core/vendor/zwiico/css/zwiico-ie7.css @@ -55,4 +55,5 @@ .zwiico-youtube { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .zwiico-instagram { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .zwiico-brush { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } -.zwiico-pinterest { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } \ No newline at end of file +.zwiico-pinterest { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.zwiico-clone { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } \ No newline at end of file diff --git a/core/vendor/zwiico/css/zwiico.css b/core/vendor/zwiico/css/zwiico.css index 9168bd07..dab0648a 100644 --- a/core/vendor/zwiico/css/zwiico.css +++ b/core/vendor/zwiico/css/zwiico.css @@ -1,11 +1,11 @@ @font-face { font-family: 'zwiico'; - src: url('../font/zwiico.eot?19955984'); - src: url('../font/zwiico.eot?19955984#iefix') format('embedded-opentype'), - url('../font/zwiico.woff2?19955984') format('woff2'), - url('../font/zwiico.woff?19955984') format('woff'), - url('../font/zwiico.ttf?19955984') format('truetype'), - url('../font/zwiico.svg?19955984#zwiico') format('svg'); + src: url('../font/zwiico.eot?5225631'); + src: url('../font/zwiico.eot?5225631#iefix') format('embedded-opentype'), + url('../font/zwiico.woff2?5225631') format('woff2'), + url('../font/zwiico.woff?5225631') format('woff'), + url('../font/zwiico.ttf?5225631') format('truetype'), + url('../font/zwiico.svg?5225631#zwiico') format('svg'); font-weight: normal; font-style: normal; } @@ -15,7 +15,7 @@ @media screen and (-webkit-min-device-pixel-ratio:0) { @font-face { font-family: 'zwiico'; - src: url('../font/zwiico.svg?19955984#zwiico') format('svg'); + src: url('../font/zwiico.svg?5225631#zwiico') format('svg'); } } */ @@ -100,4 +100,5 @@ .zwiico-youtube:before { content: '\f167'; } /* '' */ .zwiico-instagram:before { content: '\f16d'; } /* '' */ .zwiico-brush:before { content: '\f1fc'; } /* '' */ -.zwiico-pinterest:before { content: '\f231'; } /* '' */ \ No newline at end of file +.zwiico-pinterest:before { content: '\f231'; } /* '' */ +.zwiico-clone:before { content: '\f24d'; } /* '' */ \ No newline at end of file diff --git a/core/vendor/zwiico/font/zwiico.eot b/core/vendor/zwiico/font/zwiico.eot index 7eb2bbc38cd546635cb72cba2d54fa81bd00433b..4e2aebef57c369d920af1e60d18d013dbb3d396f 100644 GIT binary patch delta 816 zcmah`Ur19?82`>W_ukEIrt|M8H0SG$BC< zBJI9N)WfKtw~Eo5$Q~jJdW?b+!iQoI#ofw!N!NE>_1gV7eCPN5e!uU2=bXY#vVMyQ zwo!mgU`>#?!tlz@n*Un%H2?_#z*s_#EADqgUl2b8;3g7R7CVIP3I{M4L%w55Ny*pO zR>u)90hpCkd_lo_J>oECV`}E=l<$M{Gk}1eUS~QPzkD!}yaym1L0(E@!H{Loa2rGH zOv{Uz2kEhjhJ|G;6lUfUaW?(q6@c#?;!AQoqmZALO~g15bj-%(l94 zkZ8w)FgQ?bFWQTJ+HLKnwxw-rUrY80nibgvsDr~W0L%V52jTcG zLItQH#K1<*KemLz{%+uS#&b!W5(I|762L$NLkxJ{7zU%!5&%MI7$~i!qlf&*s&Xd( zN1v@4#{Cwr-QCpam0BG&d|MZ972OVdr_gL|YH78fkQ%K`0%EtvDoTi3Jk1WT==Pw( zfQkXq?C5m+kUNPS%UOiooY7=5(x|}{5M8@Dmq;Whjk?4)0h4hzXD|_q5Q#V?B96PT zES;uNU0-ErQa6bE1QDM^BKvZ^W1!kZ#COCC#I>_BT!_{U?tqyU^*erlqkiviR_}X# yq*vYYZg8xKkG3vF%^6!m)d;=$J?R@ozISXKS%^VF*7%t%-2S2T)!itsp(OYvP1RAYX%lfx93*vA6&zE&${MDF%-8oXWJhX}69t zFtC1LV9xgfsf&3ppenM_yMFHbCo_#>Q5kS5|USe))+=um1Kz;=S1Jl-m{Nj??ldN7a zFjyJ@9euu_D7E0JqxK#K2DcfLXD~)H=1=~@XwPUk*@Q{mk&l59Xa)l#2Lm&hr30k7 zfTr*;JiO#hhs@y{p2$@7@xnEwBt ze2__6nh~fxf*}eBW1ujO0SYJoVu}aaz_vJ%nQ@{&D=*M!CJT_wK%lp|fJKXG^Afg? zddeWz0P(`0DMs=9HeVUInSuUbV7T3VV-Ad-{Km|jQGc?E`JTy7%;VY1!S2@I>}T + + \ No newline at end of file diff --git a/core/vendor/zwiico/font/zwiico.ttf b/core/vendor/zwiico/font/zwiico.ttf index cea18a006f3c4471e241a794cefadd04ee40f52f..a9aebf77a19717df486ae71226bfa6a4794ed3fb 100644 GIT binary patch delta 799 zcmah`OK1~O6utMonMs;VZPPzWYt#J1R@>@iLO)`pN+S{|MM@e=KE^bmH0{t9sjGBR z5Co+qu3Q;JaAzgBE21Dp!KEmuAYCW{Q6`aU7me|zQMb^NUM-%S;UiS7_+B+Cp6W zbf$X~U{qh zFZB=lw*IYPEhGx5!d|hz=+Eq7hfwsF%b91ay&cICgei*9pNPP}$c(cv_U1NNE!I?y zQu%swTl^?975xB}MOYUL$J4xAF3<2hABQ?P3`4N$t+SyZb|aIZ2GPJrFKozT0dEfo zA{T`?O$idGUrAs<$q)fiGzP$Elzo860>D@;JAcS~tSaZJ|LD_I!=zVsTb)gfZnf1` zBer*o7R70^c1g{arj}Og3ANGEBoTJHEQ(6F#no(cD^3?F45S#sW?PrjL)=N?cvhB5 zS)<8hWMPBJr#MPkhk~k|g&oQppUGIt8cZll!Ju75Wzs=q^%M(N^i_t%D+XnsK;=;| zxG%4C^i`WE^p13aw05qadm64A-T^buSMK=z&H7(|b4GA`urD+0-V}JA9&OhhHZQj| hRE^M=3#s23@#6y_hW)vX0Y6G&Y<7Mwo+}O7Fzaszu delta 463 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

    7P-q^9|crr$3ku?7u7Vkrh-iHerGQPY=td0lG4 zg-&)r!F;_OigsaK89UI)ExkN8cHshRJ5bSXy+~s5nMIayCjdXATVB$ z^*4cqlq3x%?U5kmqKFi(X}e^2MVm6lOWhH&KyHINLwc~GJ}*ce52vWfSAAdS&(iH0 zZ@nlxK^;NZ=-Zbz31HpC@_xNkcw@@zBgZ{|8f$ Bkd6QV delta 9030 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 diff --git a/core/vendor/zwiico/font/zwiico.woff2 b/core/vendor/zwiico/font/zwiico.woff2 index dcee7b06779da9c0d24ceef01e21de2524c9d584..c71c857610882aabad2ad22d234f64652303517f 100644 GIT binary patch literal 10000 zcmV+rC-2yIPew8T0RR9104ERt4*&oF07!TM04BBo0RR9100000000000000000000 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 a7FG_^fW7(`rNVOMIsQMSe_Shh9MjP literal 9740 zcmV+nCiB^MPew8T0RR910459o4*&oF07oDI041>i0RR9100000000000000000000 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 From c058d25d394fa1287820e1aee573f09a0a07fca4 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 20 Sep 2020 16:07:26 +0200 Subject: [PATCH 170/194] Changes --- CHANGES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index c035db5c..771f0c48 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -7,7 +7,7 @@ - Menu : déplacement de la classe "active". - Le titre dans la configuration du module non affiché si le titre de la page est masqué. - Installation : bug si le masque de saisie est validé vide. - - Classe jsonDb, suppression de la réinitialisation de la structure de données en cas d'absence. + - Classe jsonDb, suppression de la réinitialisation de la structure de données en cas d'absence du fichier. - Modifications : - Noyau : - Mise en cache des données des modules. From fef55731be799de137c2a0745f36f727db6add98 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 20 Sep 2020 17:39:42 +0200 Subject: [PATCH 171/194] texte aide survol --- core/core.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/core.php b/core/core.php index 4c8857d9..05b41c88 100644 --- a/core/core.php +++ b/core/core.php @@ -2677,7 +2677,7 @@ class layout extends common { if ($this->getData(['page', $this->getUrl(0),'moduleId'])) { $leftItems .= '

  • ' . template::ico('gear') . '
  • '; } - $leftItems .= '
  • ' . template::ico('clone') . '
  • '; + $leftItems .= '
  • ' . template::ico('clone') . '
  • '; $leftItems .= '
  • ' . template::ico('trash') . '
  • '; } } From b746700d0c9eb08c21dbb6e95dfd3f439d5947b5 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 20 Sep 2020 17:53:50 +0200 Subject: [PATCH 172/194] Duplication du module de page --- core/module/page/page.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/core/module/page/page.php b/core/module/page/page.php index d11176b1..733d9d54 100644 --- a/core/module/page/page.php +++ b/core/module/page/page.php @@ -93,17 +93,30 @@ class page extends common { 'notification' => 'Suppression non autorisée' ]); } + // Duplication de la page $pageTitle = $this->getData(['page',$url[0],'title']); $pageId = helper::increment(helper::filter($pageTitle, helper::FILTER_ID), $this->getData(['page'])); $data = $this->getData([ 'page', $url[0] ]); + // Ecriture $this->setData (['page',$pageId,$data]); + $notification = 'La page a été dupliquée'; + // Duplication du module présent + if ($this->getData(['page',$url[0],'moduleId'])) { + $data = $this->getData([ + 'module', + $url[0] + ]); + // Ecriture + $this->setData (['module',$pageId,$data]); + $notification = 'La page et son module ont été dupliqués'; + } // Valeurs en sortie $this->addOutput([ 'redirect' => helper::baseUrl() . 'page/edit/' . $pageId, - 'notification' => 'Page dupliquée', + 'notification' => $notification, 'state' => true ]); } From 12c935656bb7c2cf4c8cf9bcbe05e7b29edf099a Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 20 Sep 2020 18:29:44 +0200 Subject: [PATCH 173/194] effet hover --- core/layout/common.css | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/core/layout/common.css b/core/layout/common.css index 2867ea0f..8a8a7869 100755 --- a/core/layout/common.css +++ b/core/layout/common.css @@ -1387,4 +1387,17 @@ th.col12 { .zwiico-plus-circled { color: #D8890B; font-size: 1.2em !important; -} \ No newline at end of file + -webkit-transition: all 1s ease; /* Safari et Chrome */ + -moz-transition: all 1s ease; /* Firefox */ + -ms-transition: all 1s ease; /* Internet Explorer 9 */ + -o-transition: all 1s ease; /* Opera */ + transition: all 1s ease; + } +.zwiico-minus-circled:hover, +.zwiico-plus-circled:hover { + -webkit-transform:scale(1.25); /* Safari et Chrome */ + -moz-transform:scale(1.25); /* Firefox */ + -ms-transform:scale(1.25); /* Internet Explorer 9 */ + -o-transform:scale(1.25); /* Opera */ + transform:scale(1.25); + } \ No newline at end of file From 8398aae329bd64c3bcdba0cc66dea2792088d150 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 20 Sep 2020 18:57:34 +0200 Subject: [PATCH 174/194] taille et effet --- core/layout/common.css | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/layout/common.css b/core/layout/common.css index 8a8a7869..b2fb1112 100755 --- a/core/layout/common.css +++ b/core/layout/common.css @@ -1386,7 +1386,10 @@ th.col12 { .zwiico-minus-circled, .zwiico-plus-circled { color: #D8890B; - font-size: 1.2em !important; + font-size: 1.3em !important; +} +.zwiico-minus-circled, +.zwiico-plus-circled { -webkit-transition: all 1s ease; /* Safari et Chrome */ -moz-transition: all 1s ease; /* Firefox */ -ms-transition: all 1s ease; /* Internet Explorer 9 */ From 59eab29353aaea1add5608cde50c7a7c84a0559d Mon Sep 17 00:00:00 2001 From: Fred <23246457+fredtempez@users.noreply.github.com> Date: Tue, 22 Sep 2020 08:03:55 +0200 Subject: [PATCH 175/194] Correction de syntaxe --- core/layout/common.css | 62 +++++++++++++++++++++++++++++++----------- 1 file changed, 46 insertions(+), 16 deletions(-) diff --git a/core/layout/common.css b/core/layout/common.css index 9cff5bb0..5d3eafcc 100755 --- a/core/layout/common.css +++ b/core/layout/common.css @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ + * @link http://zwiicms.fr/ */ /** @@ -207,7 +207,6 @@ Signature dans les articles blog et news } .table tbody tr { background: #F6F7F8; - -webkit-transition: background .3s ease-out; transition: background .3s ease-out; } .table tbody tr:nth-child(2n + 2) { @@ -357,7 +356,6 @@ td > .col12 { display: inline-block; padding: 0 12px; color: #FFF; - -webkit-transition: background .3s ease-out; transition: background .3s ease-out; } #bar a:hover { @@ -448,14 +446,14 @@ header .container { height: 100%; } -/* Element du header */ +/* Element du header #themeHeaderImage { font-style: italic; font-size: 0.9em; -} +}*/ -/* Menu +/* Menu body > nav { margin: 0 -10px; } @@ -501,7 +499,6 @@ nav li ul { width: 200px; z-index: -1; opacity: 0; - -webkit-transition: .3s ease-out; transition: .3s ease-out; padding-left: 10px; } @@ -518,7 +515,6 @@ nav li:hover ul { nav a { display: inherit; - -webkit-transition: background .3s ease-out; transition: background .3s ease-out; } @@ -702,7 +698,6 @@ footer #footerSocials span { margin: 0 5px; display: inline-block; border-radius: 2px; - -webkit-transition: background .3s ease-out; transition: background .3s ease-out; } footer #footerSocials .zwiico-facebook { @@ -766,7 +761,6 @@ footer #footerSocials .zwiico-github:hover { margin: 16px auto; text-align: left; border-radius: 2px; - -webkit-transition: background .3s ease-out; transition: background .3s ease-out; } .speechBubble:before { @@ -792,7 +786,6 @@ footer #footerSocials .zwiico-github:hover { cursor: pointer; display: none; border-radius: 50%; - -webkit-transition: background.3s ease-out; transition: background .3s ease-out; } #backToTop:hover { @@ -822,7 +815,6 @@ footer #footerSocials .zwiico-github:hover { background: #666; padding: 4px 8px; display: inline-block; - -webkit-transition: background.3s ease-out; transition: background .3s ease-out; } #cookieConsentConfirm:hover { @@ -902,7 +894,6 @@ textarea { width: 100%; border-radius: 2px; font-family: inherit; - -webkit-transition: border .3s ease-out; transition: border .3s ease-out; } select { @@ -950,7 +941,6 @@ button { cursor: pointer; font-family: inherit; border-radius: 2px; - -webkit-transition: background .3s ease-out; transition: background .3s ease-out; } textarea { @@ -982,7 +972,6 @@ label { user-select: none; cursor: pointer; border-radius: 2px; - -webkit-transition: background .3s ease-out; transition: background .3s ease-out; } /* Bouton redimensionnable pour le formulaire*/ @@ -1019,6 +1008,16 @@ label { text-decoration: none; } +/* Empêche le débordement et les sauts de ligne */ +.inputFileManagerWrapper { + display: inline; +} +.inputFileManagerWrapper > .inputFile { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + /* Pagination */ .pagination { padding: 10px 0; @@ -1358,4 +1357,35 @@ th.col12 { } .accordion-content { padding: 7px; -} \ No newline at end of file +} + +/* Captcha +* Taille des images +*/ +.captchaNumber { + height: 25px; + vertical-align: bottom; + padding-left: 5px; + padding-right: 5px; +} + +/* +* Couleur des icônes + et - +*/ +.zwiico-minus-circled, +.zwiico-plus-circled { + color: #D8890B; + font-size: 1.3em !important; +} +.zwiico-minus-circled, +.zwiico-plus-circled { + transition: all 1s ease; + } +.zwiico-minus-circled:hover, +.zwiico-plus-circled:hover { + -webkit-transform:scale(1.25); /* Safari et Chrome */ + -moz-transform:scale(1.25); /* Firefox */ + -ms-transform:scale(1.25); /* Internet Explorer 9 */ + -o-transform:scale(1.25); /* Opera */ + transform:scale(1.25); + } From aabe72594b5f117ad281cfaa2ab72079db9c6a43 Mon Sep 17 00:00:00 2001 From: Fred <23246457+fredtempez@users.noreply.github.com> Date: Tue, 22 Sep 2020 08:04:32 +0200 Subject: [PATCH 176/194] Correction de syntaxe --- core/layout/common.css | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/core/layout/common.css b/core/layout/common.css index b2fb1112..5d3eafcc 100755 --- a/core/layout/common.css +++ b/core/layout/common.css @@ -207,7 +207,6 @@ Signature dans les articles blog et news } .table tbody tr { background: #F6F7F8; - -webkit-transition: background .3s ease-out; transition: background .3s ease-out; } .table tbody tr:nth-child(2n + 2) { @@ -357,7 +356,6 @@ td > .col12 { display: inline-block; padding: 0 12px; color: #FFF; - -webkit-transition: background .3s ease-out; transition: background .3s ease-out; } #bar a:hover { @@ -448,7 +446,7 @@ header .container { height: 100%; } -/* Element du header +/* Element du header #themeHeaderImage { font-style: italic; @@ -501,7 +499,6 @@ nav li ul { width: 200px; z-index: -1; opacity: 0; - -webkit-transition: .3s ease-out; transition: .3s ease-out; padding-left: 10px; } @@ -518,7 +515,6 @@ nav li:hover ul { nav a { display: inherit; - -webkit-transition: background .3s ease-out; transition: background .3s ease-out; } @@ -702,7 +698,6 @@ footer #footerSocials span { margin: 0 5px; display: inline-block; border-radius: 2px; - -webkit-transition: background .3s ease-out; transition: background .3s ease-out; } footer #footerSocials .zwiico-facebook { @@ -766,7 +761,6 @@ footer #footerSocials .zwiico-github:hover { margin: 16px auto; text-align: left; border-radius: 2px; - -webkit-transition: background .3s ease-out; transition: background .3s ease-out; } .speechBubble:before { @@ -792,7 +786,6 @@ footer #footerSocials .zwiico-github:hover { cursor: pointer; display: none; border-radius: 50%; - -webkit-transition: background.3s ease-out; transition: background .3s ease-out; } #backToTop:hover { @@ -822,7 +815,6 @@ footer #footerSocials .zwiico-github:hover { background: #666; padding: 4px 8px; display: inline-block; - -webkit-transition: background.3s ease-out; transition: background .3s ease-out; } #cookieConsentConfirm:hover { @@ -902,7 +894,6 @@ textarea { width: 100%; border-radius: 2px; font-family: inherit; - -webkit-transition: border .3s ease-out; transition: border .3s ease-out; } select { @@ -950,7 +941,6 @@ button { cursor: pointer; font-family: inherit; border-radius: 2px; - -webkit-transition: background .3s ease-out; transition: background .3s ease-out; } textarea { @@ -982,7 +972,6 @@ label { user-select: none; cursor: pointer; border-radius: 2px; - -webkit-transition: background .3s ease-out; transition: background .3s ease-out; } /* Bouton redimensionnable pour le formulaire*/ @@ -1381,7 +1370,7 @@ th.col12 { } /* -* Couleur des icônes + et - +* Couleur des icônes + et - */ .zwiico-minus-circled, .zwiico-plus-circled { @@ -1390,10 +1379,6 @@ th.col12 { } .zwiico-minus-circled, .zwiico-plus-circled { - -webkit-transition: all 1s ease; /* Safari et Chrome */ - -moz-transition: all 1s ease; /* Firefox */ - -ms-transition: all 1s ease; /* Internet Explorer 9 */ - -o-transition: all 1s ease; /* Opera */ transition: all 1s ease; } .zwiico-minus-circled:hover, @@ -1403,4 +1388,4 @@ th.col12 { -ms-transform:scale(1.25); /* Internet Explorer 9 */ -o-transform:scale(1.25); /* Opera */ transform:scale(1.25); - } \ No newline at end of file + } From 75c796c5c2866271872a6a825ec597ad90b941a9 Mon Sep 17 00:00:00 2001 From: Fred <23246457+fredtempez@users.noreply.github.com> Date: Tue, 22 Sep 2020 08:05:01 +0200 Subject: [PATCH 177/194] Update common.css --- core/layout/common.css | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/core/layout/common.css b/core/layout/common.css index 5d3eafcc..df22f376 100755 --- a/core/layout/common.css +++ b/core/layout/common.css @@ -1369,23 +1369,3 @@ th.col12 { padding-right: 5px; } -/* -* Couleur des icônes + et - -*/ -.zwiico-minus-circled, -.zwiico-plus-circled { - color: #D8890B; - font-size: 1.3em !important; -} -.zwiico-minus-circled, -.zwiico-plus-circled { - transition: all 1s ease; - } -.zwiico-minus-circled:hover, -.zwiico-plus-circled:hover { - -webkit-transform:scale(1.25); /* Safari et Chrome */ - -moz-transform:scale(1.25); /* Firefox */ - -ms-transform:scale(1.25); /* Internet Explorer 9 */ - -o-transform:scale(1.25); /* Opera */ - transform:scale(1.25); - } From 7e8dbc3f0e9044fb3b9379f83c6602d91ed7bf70 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Tue, 22 Sep 2020 18:54:14 +0200 Subject: [PATCH 178/194] =?UTF-8?q?bug=20f5=20apr=C3=A8s=20masque=20de=20s?= =?UTF-8?q?aisie=20incomplet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/gallery/gallery.php | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/module/gallery/gallery.php b/module/gallery/gallery.php index 36121257..9cf46ecb 100644 --- a/module/gallery/gallery.php +++ b/module/gallery/gallery.php @@ -234,7 +234,7 @@ class gallery extends common { } } // Soumission du formulaire d'ajout d'une galerie - if($this->isPost()) { + if( $this->isPost() ) { if (!$this->getInput('galleryConfigFilterResponse')) { $galleryId = helper::increment($this->getInput('galleryConfigName', helper::FILTER_ID, true), (array) $this->getData(['module', $this->getUrl(0)])); // définir une vignette par défaut @@ -253,18 +253,20 @@ class gallery extends common { break; } } - $this->setData(['module', $this->getUrl(0), $galleryId, [ - 'config' => [ - 'name' => $this->getInput('galleryConfigName'), - 'directory' => $this->getInput('galleryConfigDirectory', helper::FILTER_STRING_SHORT, true), - 'homePicture' => $homePicture, - 'sort' => self::SORT_ASC, - 'position' => $this->getData(['module',$this->getUrl(0)]) !== null ? count($this->getData(['module',$this->getUrl(0)])) + 1 : 0, - 'fullScreen' => false - ], - 'legend' => [], - 'positions' => [] - ]]); + if ( $this->getInput('galleryEditName') ) { + $this->setData(['module', $this->getUrl(0), $galleryId, [ + 'config' => [ + 'name' => $this->getInput('galleryConfigName'), + 'directory' => $this->getInput('galleryConfigDirectory', helper::FILTER_STRING_SHORT, true), + 'homePicture' => $homePicture, + 'sort' => self::SORT_ASC, + 'position' => $this->getData(['module',$this->getUrl(0)]) !== null ? count($this->getData(['module',$this->getUrl(0)])) + 1 : 0, + 'fullScreen' => false + ], + 'legend' => [], + 'positions' => [] + ]]); + } // Valeurs en sortie $this->addOutput([ 'redirect' => helper::baseUrl() . $this->getUrl() /*. '#galleryConfigForm'*/, From bf17ed81c0964bf3d47e8f7598d7faf315e75759 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Tue, 22 Sep 2020 18:58:21 +0200 Subject: [PATCH 179/194] bug new galerie --- CHANGES.md | 1 + module/gallery/gallery.php | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 771f0c48..8b9fef1b 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -8,6 +8,7 @@ - Le titre dans la configuration du module non affiché si le titre de la page est masqué. - Installation : bug si le masque de saisie est validé vide. - Classe jsonDb, suppression de la réinitialisation de la structure de données en cas d'absence du fichier. + - Module galerie : nouvelle galerie créée même si le formulaire est en erreur. - Modifications : - Noyau : - Mise en cache des données des modules. diff --git a/module/gallery/gallery.php b/module/gallery/gallery.php index 9cf46ecb..323f3572 100644 --- a/module/gallery/gallery.php +++ b/module/gallery/gallery.php @@ -19,7 +19,7 @@ class gallery extends common { const SORT_ASC = 'SORT_ASC'; const SORT_DSC = 'SORT_DSC'; const SORT_HAND = 'SORT_HAND'; - const GALLERY_VERSION = '2.3'; + const GALLERY_VERSION = '2.4'; public static $directories = []; From 44d7b54e5df3405c9311363ade9943f39b2d4743 Mon Sep 17 00:00:00 2001 From: Fred <23246457+fredtempez@users.noreply.github.com> Date: Tue, 22 Sep 2020 19:00:41 +0200 Subject: [PATCH 180/194] Add files via upload --- .../thumb/galerie/landscape/mini_desert.jpg | Bin 0 -> 27674 bytes .../thumb/galerie/landscape/mini_iceberg.jpg | Bin 0 -> 36403 bytes .../thumb/galerie/landscape/mini_meadow.jpg | Bin 0 -> 31966 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 site/file/thumb/galerie/landscape/mini_desert.jpg create mode 100644 site/file/thumb/galerie/landscape/mini_iceberg.jpg create mode 100644 site/file/thumb/galerie/landscape/mini_meadow.jpg diff --git a/site/file/thumb/galerie/landscape/mini_desert.jpg b/site/file/thumb/galerie/landscape/mini_desert.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c5b19837f263fcc5daf257e37b94ba4e37c224f4 GIT binary patch literal 27674 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 literal 0 HcmV?d00001 diff --git a/site/file/thumb/galerie/landscape/mini_meadow.jpg b/site/file/thumb/galerie/landscape/mini_meadow.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bb6f27a7dffff4f3b2dbf3ac7f787630bc5c42b5 GIT binary patch literal 31966 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%0D_JpN*-y|FWSfrfoE)}6tt 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 Date: Tue, 22 Sep 2020 19:01:17 +0200 Subject: [PATCH 181/194] Add files via upload --- site/file/source/galerie/space/mini_cosmos.jpg | Bin 0 -> 24421 bytes site/file/source/galerie/space/mini_earth.jpg | Bin 0 -> 23735 bytes site/file/source/galerie/space/mini_nebula.jpg | Bin 0 -> 22017 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 site/file/source/galerie/space/mini_cosmos.jpg create mode 100644 site/file/source/galerie/space/mini_earth.jpg create mode 100644 site/file/source/galerie/space/mini_nebula.jpg diff --git a/site/file/source/galerie/space/mini_cosmos.jpg b/site/file/source/galerie/space/mini_cosmos.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bc3828981a89ef6a5a9b37e88044127c25c4e192 GIT binary patch literal 24421 zcmbTdd00~U{|9 zc&9HWg+#z_#>5^v9CbV)8N)mtl|WBUH~29G>;Uw1bz!T4!TzwGNHO;I`Od)^En5(e~T%n+Zf`XJ;EbvOCGqZHtq$FFC7 zYA?8J3V=Zn2p9^{(Sbs>S7&O^15h&^b6cX9?wXJ&*m@?yky}`;hxKl3x1hb4!Z}4J z<>(vyv=)h4w_&55J>J3jmu=fgWS1Sk?)35X^A89O3;%6T#NK@|+Qo{CrypS@A5Te5 zOK0bvJe7C)%-Q^+;*!#`^W_&RF4u@9wRQCkS8m^Fy4!rOrS-p$pLBF~NoCzVivEGW zU%q<%X7K$7)yT(D^(W2e>6zKN`Gv2GOUwV_0s)Z!6W0GC`+wjv)8Ya{p%5tSUtAz? zs`h}GL3M12y5?RXuqfu5^^ROUgm+mXD0X?6^Yf z#}!_oeFfJEYtW&ktbUtw(DS(BUe>NzI0+rhNquXHY=I^Y@xNbj3lWL_x@(_Sv2E7u znYg%RyUm$Sz?b_-EkmjE_dN0IAVw8Gg$KRN8J8B{=f!>t;k)Dmv`1-M^bV%N9bIUq zlml~a+{#%^fUc_VJ4~|WZ--}+TY6nP!#Tde*V|>C>px~iGIrwIt?Yj@Kw3Zxd7^h8 z_*F1^%&o|nMSh^Ix+1F$Yh+LvBJy48bkYeTBRa?wqa8`aIdRyQ_V9>CPkSrP(83oi zT_$yK$qLhX*JJt<8Q7W>{~Pjg`f~rJ;9F*m*!bS}{EUL$Lavb)Qe7u;jUW2T|3c(S zmoyY(+ds{dSW6Yhj%2+gV;HW>A+7lnu#avkH|9>x@28*J>P0$wjZ>EU8DW|IIZl;F zsJr0)&Z+_@&nF^B)>5A>m@Vqar9|^k{=Zr2jZya^O*=;H+fd&G;9}$cGC@Q@ zn7ux*{<|J{E41LF*L%LxjX^GdszWK;dcVdHPRb)o3kY?t&c1*2QLThK?{3v3Rgh|fh- zmbQMY5m7Tj{=;cwcwx*w(WkFCnf9*9@p4<}^|UVOotrpW@1Q@PHtDBZ$R|E0U)o3M zB3$JV{(AE6;^GfrzJchcqmz|z!yj!E5D@-Wrdv`5xAN&tA`WS&ZQHnoi~VPg-oFi3 z$=&+tMqxgM&Ad41472a>g@k0H>3zn}Cv#fCy17$2{M@0g#ZoyO@&{jI|Fv#E5T^l0)@~23DQ} z+w$$J!2f$N^&9={Qm8&8YoQ_-e7Gzh*7BTSgAD#0k!babR2#CB0P5~^KZ`q!#KhF% zACe_;boBkkIJ*sJyPbh@sY2|!S6XIZTxI@T#FTp}YBT}*2N@={JM}<<8*sRZgJ0K9 z^5avx6MH=pmeuz(fj}aJH1BK*nn$#S({`A;7*!rg4<~{lYoTA}q{!8~CC$SgU*=!I5C{FwkfW@oB=m1o~6RaI%|lzLs;Q=2}$qrR)Eo*TqY- zdn6YWd$(_SUpTw=XvaNP<#p#+ALhML<&@J8;H4zeEWdaL4}mnuNuwM_c9#fo%b=@7^w|0`deE9gU#$D{6re`{`Ega zh(>AE$ZE+G?$@AEd{3*-hBhn`imsr*orWaAhNH4Zz1eTKhNk&*!z<;GqIBnvP*1>| z+&)?{OdL_YEIo;g+i(^)kNa9(?qrUzx3l&28pl5vICtLlO?Qf&YwHTj8~OY}99Bbx zZZV;``?3R){(9SH|0E?!QJ!}Td#;59lR(X8gnW8$=g=tDqh_g(5rZqfk1<*fwyg}v zK+qkl?A`HtZG%3>q{Q$9E-!ULeni*DKc*X};C{h>L+xQItwBn&8f4i4o0g9E zk2c%9ET;fD@bT}&#ZY7qo(6VtPwhOKMhR_30R9Q=2ifK z&zrVT`;uS}fx{*9?yDswfYF-gwo1i9m*=_wz^Tjraw$KE;!y&WguV!CwtCE4BYL3X z2K1Gl+Aw^QjE#?sh#5$cL}D-Jo5W~)5jkI4#Sb?j_Qy-~eg@w7D!1~)u zoLm31ib9o8bsaNCJL@P3s9s_?y0Ao^%X59k2a)EjRt&b8pBJ=Xgib-5!;Lp}y_gs# zwx*geDPRseCvBqBA?Fz&{lM_tm-MURDVmX&e&Cee+M*66Xl(GT*@wcK;|`w~Jx_D= zlsWk7bKyN}rGWAWQ2DrG&kx`gb)t*Zkh1Al8^&g;UKdd_U-uvGA9r07nIc$yopT&L zp`b*``vEuvpQ190U*{@{C~$@2#)aPYMlW~RftcxEP~^|}@f}1taL=v*@%JYmirfkh zSU5l|NNz@7YXz(vcg<^PBzs=+W_`6_Q$nwTqHEw=|*X; z7dNx#H|FRP`M%lvDEd;*KaQk^tI6Xm?=@?#%nnJ&AY22oH{)@1bP zy&~MN?@r_6`jO(-CZQ97ZpT-2HUSqB$=zs^BL*s-cB%=R*nA~ru3Ie(CUsGkLn2{V zyLcc`1|+XG^)E7mjy|N2q}R9e86<==I9apYr}xEam#o(jq*RFZ*!m$SU%!Yn`^yJo zlDHFesbr(-o*Ou=iUZeocU72@#{8g`UgU1+?qEMqK(X+|a15d<)g8Y#<=(qtGQdBr z@zZ7XrPcw%z=K;V{)0Y$+=6WM;&2>k!5P@*-#ro75T4V_EbMP)h7`V5+yY5)22__h zwS>eWiKV0}Xxn5^8PV`4j_3dnn{ot+%^sD-8l->`%_QiYP4!Ac_@1Q6XvDmOqwo8j zoXFo!y!UVGZu?}9gqnjE>Tvx0&sL=eqBx#uac;|VwH!yMe&_NIxlKSal}34zm~P{k z9Ay1_=qF^u-q6TB`^oefYg$D*1zeUaDq)Q}F6^x-WdQ=+w7T)TSY4U=Y6_Dl{?(0Ps(- z>jmN)?{jkp*rD?Vye~p_att0|!j~R`CANj6N}!_x%grr6O``K(OBmy`%9IqJGfCNLPPBp4D{O zY2-rE{nVpaMlXAAEPoraekhwu^|JZJ1-~KBYco~$X@{=27t~tM^FS!#0ZGHN+$k>~0vO`f~ltQY~ z)v@&Nek&@U*nxpC$S7&R`J@RXAXMYBN=~!RV`{1X2S7_EQ(~wc64jeA$}@TLE=S+3 z;y|QXyKL^ct?ssa2Y0%0+vL_w9Q*;|(rrK~6wUi~Jlb$}>2|vO zq1|*O&w2?lbIoZ*QymeL=qeNnXTQXo;bke9=_YOqYmAnj4vF8)Eaq0S6gf4c_QUWF zZddj`IxuibNYLxB?{;Xdf2`tv{~Y*$pY7t*_3lZnN7MM(bxG;Hs(#VKhB}faha_uA z>oPpiD!;e%A@426Z_pR{#U709BBYN6JSy`6J;!VAKVtdbFiBwfL4AlaD?@y!U`J%` zE_=$Jn8}`VZ|1+)1IczMH{tZqUE6V>6TogUIguhqAx>W>of8*)4ANUek0!ijIQlBH znt(oiT1weG_TG~7-`>)KKlZVwuI*37Lael-*k{ikj_&X+SC-WC67UP5C8>%x*FCmK zBf1ul)#NWn=ykJVyQc}CX2}P_Oht5VP`K#?JewRYy0AZp34p6uuc+Zj|!F30dr>d8K^vODK_}s}HU$0jc z6zrC+c1&eV#ZmW^^S=*o@nHrgm^1WHDs3^r-gTIeKd)>H@%IBh{00vu8{iV<4MX;)!K*+A9@t?au(u3I!+G^7?MD-2%>=Y=e0`pHhhc=(Pc+W^}nem-oWeWBKVk`c5 zu#}W35A`GFj`=Fe4Mp*&d5^i0Q5r8yS@mXrAz{U%iD+gMyhSxttK#)Z z8Qop}<3#FX0T@yWW7_4)6G^ptX=w{LMvS}#>6qfztBAJY$Vv$YnaH9V5X;c47Y)PF zIflkh@|j)q24N1dGOOgT6@y5uHK|rbLOu_GLEJS5-FalFnJ|AH*v{wd8)OvMp>3i1 z0B}XtLi5KqEIjxBSln;r^s-(!^g^@5tbC+t4GlJ6gaZc1#GxqMgJ z)u{dCA3)4K&(&*+^Ry1kA)2li7N-(1$97j?{}WgLJfJ1kj-iv@{yDw#*9a$`aBGqd zC=E&0sv41jGe>`uLa+rNJnAa5`@&+)gE0MPM+8YQ7zs90|HQaOBbS7C_u&I zhmIEGH;iqUHwhUJn4+YVJ(a-(`a@?a==Q(E#uxj5UVtV zct+RX&7>}YR!=-D#EL)^|8%tVY#kpK5>pQ)2Ye`G* zig2!rB%K$7TYo#+ZT)wf^#gAA3R}^U(sNCAvp1!g@ot!Ad~rVmr~265W%B4IJMrZp zm87WvTx{wBypz&^ln<2;N}nXUEiY8R5I~b1UK@uTZ5XUy7} zE5U^0$p$xCR9Gz9nzj3L8anhf@DE^~&vJ2&_&~j3P}AUdq`+!X+;t zHYJQOGPW}*#yBPZlZnJgLg^_KrAwre?FeTAX@tv9Q%g3I>(B;AcTu1*BI&z}RH^k` zbm_^HVu=*7P8ZV!_f-_5Lz^#2ZWH@&&WSrQYpy%E+V&7ba~w@#+AkNQ`@o?k{8X@y zYbag0@dr?T>wq~ik1Vw=0eb8ub{Gb1z6$DG^6=B7OeO}0^u5>#p#EhqO-v4P@rAF| zCr}tf*bID+cTdy!?{o%F;LLTIuLetfX&D)cBpu{vxuI`={z0IpxKdk_HsKG%*>Im@ zv`tcil#``*-FLX03>@z$ZZe2;hIAiL!UH{iE!sxxkyr&eJb`8&aS8dHT?#<{x$7qT z{epPIh5NyXPtF-y`N~m?q>qUz$2#e z8B-+sXI~W>bTq%k`hs(U@(XgI_G(<=tAVh(D48z~(#~uutZb-jF_mre*iXmutTV5y zO*w8klX7FND3`o?H>$nMPg~-HnHq&8|B2(f2--;f2#^MySH0p=Df*xmq~|&NUkC4B zklK;{c={0kYtKptd*z|YJ&m{N-$!{#Rh12^C0D#``F`%Fj2wx@_uVxQ>b%KS`VcU) zNhmrQ2T@cw74tHkybDpVyf4K5X|dhUgXLe`4lM>#srEgUPp@Mj(DRUZrS%-7>xFPl z5$JQae74p$tSE`H;*g9q+6EDMO@_Bitv(+&iutF@C1o|N@8_L()K2oz4uKDhO5|tC zKQ8%vi6{v9eB{j^!wvMcKhIjLQBu$E>;}@IW19u-zTsq>OX1fxl1H{S2^oYm=?~zh z_7g~=gw@+2?a1x&1Z#Q(EZF(IOXn`@o;$%h`FV9eZLbzIaGazxw;6zP96zxHg1p$RK z!vmXAy3(YH*Ow}Ob2#;3DLhHsJbVkAn=920+14eXHR=0zu&kIjp&!QA+= zCpS08WXWQ^bmmST(wl4qQrB5&nc2Az;rn!w-Apxy1G>~s^}XqgXv3voteMMM2z4s) zvJ?1fo2t%^*N+|%rmi?pcE_$dw{*g8-X+y9G2W2Wyco^cAjec^Firj!JCxPk2Eih# z%=IC)j?94G-Yb&Zrctcdah}gAfOyxS1pZv^JE6Zr4TN8g*w*$MTG}R`7ZY=FUuz_r zCWceg$Fy46ijyDYo>jaj@vC#4B?$VZTP8*R0LWql04jrEVpSEufuaboixGo9vwOy@ zg$Doz-~~w4B*$qiBp(D;x$z2)(8r#WgavhXH@ee-5{pAXDaNd@@YP+!$Bkr*5?%vz zO)kZ@rA>X^j(zZ?Qav0hSZO2Zuw-_?ce+sl!ic>_6WVs|Tg?tr$0)|4^$Jm$JXZL! zy7MQ{LwCF^&)0yUuW9AjT&Us;|5aRD8bCc)#&suz=(2A0l+7t;(G%`VK7p;iyG5@Z zqg-tQ{&_6uFORVz&rSHhHlS?FKfdwbVMTT9#Ap%6ocpSlPX8ZKgtITn0xlW2JrWDa z*|{wrNIqr6i_r-afyme)ca5%-JRl&uyvyQG!@Ci;Tz%4|SuLu%#ePu#@GjQIrQa_# z^6uFoUaQh$BUI-uy?!6=rPgnZ*LdGlbNkRJ;`O?g!o4@XeHcXcJUAePUs~*9?FRX{ zFkB0%I;}(ftzcomDNDnQBI0U>0x&3|YSlGUsY!(+F?V2OzBa}~$SR~ADi>sCC?+(e zD<+Gfpazo)0ts{Ya%8Y7|F&iPlfyM7r%}OPQnjDntD@~|3PN@#H0X<9Q8duMMf-we zrhB&xS~p=r)p3MLrs;t z_s8;m%<;W@c*$KR*PU{7eLb3D_#n494K1@GG$9e15cQkhA23V4A4(%K2BYRIVxAfK zAC*?2`8ih$yVB;A{TJGCoV9kYzFu>+u0?k&WVH5(B$vbGCS@VtzQ5LxLNge?F=g)2;qYjDACQn|JO_8JR;|P@}4Ld_|{>77%l8 zsbDt|y)JN3(?<+zVA;AvFJ%Tq^|HHp7qgkX+H~Ky%pXfe&Pz5kbJDEvoZ+&BxY;`M zzoHIXo+cY?>+6VOz$xwW8}t_J4WD=r>{ang;hx0pSGT0ExCY<%d8;fGPQ88TUa$45 z$Pfu&sTT>;f^?#wpg%$4?O+d4Z*6hP<8}?=&1v16VU$3ODT@aYF4Ta$;CduzcBNzs z!=QL(Dy?=#t8%ZwDg;7)MsgiG(v(#wo2&kiw(y0v-S~-Sb>}AF9r4v%%`M2w5-=4Q zNkN=kQ_P34cfjjvVRz9=jxHXyk4B{E=R4&JLrVmir;q4a`F_+;IxpO79?xMooicD? z8x&X%yccEf+a{cTjc+}16&6sGQg!Y95Dd-XC*vrUP_Z1)AZV`rN zyXDB`PU1do?2hu$(Qya$Cpq_@YsPCvR5!*~AyNH!9DyxKK`#Ttr%36?x0qL8Z3 zY!3Jz1IG{l!e=(1@K@dp+2BeIuDH)2a$}lCejOn}r6&@YIq56)cJ9pQfX)TJf48Pv zf`!@MW{=S9H#4plPwWyFr6CY@M-HkGS5iFPl;747JBbk)rdh#A(CcQO?C%k^>W|ey z(NsmcbdmNxQ}a#C4CK`Y8HK{=wnw1-U99H^ukvF9%L;;^ug1w!PD;y=jNFi;yJ62}@8ZHfm7Tk1FMe2W$Zl+RuY(Wh zj|R-wNyMZ9H}DPIlnwt{$(@OH}stZ!Wa@Dv~r7QK#3XZb^0H{X?2W7U!=QJz_y&~ zJN(684#%4Nw(e!P@Ral4*{h|dL+GAP=vj`>6eVgg>-X$+DH|?3>XJ1>6%+>Rx!X7$ zRnT25xY7!luf2SSq-RKU19eNH4zMt0Sl!=nf;}zEKLF7{Un{JzAZVWp@2lKdYy=Pb z<8gV!e~jy(k&2nDX_!^_LLK7qd!Q@BtlkXT3C=cs4`IgFniS~|8Ci^@M zh(b;li;Y!EzRb3iLQHEJb+U{_Sp#j>USG*cROF(i0PWVSa)|5`B3edC8Pa2f<$d@le7xlT7u33|unCxK*Ql*SwM{`b;bbq0Wpg?-4gs=88t!K4xDE2^7_IRdoI4AS%eM;vlF^ zGa0zz!(I-{-ycPiP5x8Bj@2$5n-|6sKG-LWDviS|V=7>%(~+uSi`J zXsL#>-uv6xMBN|?K{pdWe4FEs{cQ6_^wS@XF=HNB|3%h>WEJe}+w-!MoNMrpr zYDIa)rW+dMQPm>F?$y|QO-!Mz?FZm~rRUcx4=Sm?zij>!>6&B%oOoNGaKr^c%mdW7 z=IRn=kvdQ`TfOlTA>@8M(xd5<@WCmu>zmo4k>cWi#&%yk;vH=2JDpNH(Z$X@^0E`7 z#M=$f{7pf6?V&O^$ZDE|!L+qaDR^6QLQPh|s@iRC&|BNEH_=+D_#|sr&w~1&yN~(G$IP@{iAk$@fxu4j_o|9mOJd-2a&8f@^U^n=}FbHb= zU}RpsqCNYMg)KJTiuLNXV$1n=y6@nx*o4VA7YnYb;?!arvg1(9IDQ*bNEj4 zXiO2S$bWJ-W?_;71c$wEMRWO0rycw-xk30`KiFN2DL~aX{6c^IwkQMMT78~A$o%5F z_@WHg80|k&{8G?o5o=gPc;ZHI|F)d`DPAwhU#V;0H)1mTe4`1Q;0x7?mhngqzn8g)rL?r}@T!-Ht*5UB8Z1kT}ra zM+2ha1Om{eSq*gVf0OG_zw>~Rxl`G4KOQ*AqS~9&inaly4TOKrlbrjXL+7P^eYT`_ z%{U$}y@}A)C3g+}wfvZ(NMJ0%MMfsU>|S1a_!#-b^kmK+H*=S4r@#ryshRS}hk7QA z?^))Je|J&+BXL4B1%r=^Cjy?{J=2@1!2?&%Jz?6ix*^W!SQTkJa07y4FOfbKxh(gA zVmOZRplrCk7*esX`jq{0ER8mzG!nu~jO@jA3D`yiP(2j6`%;zKdM>Vjebg0;QDGGv zBcV~*CKCYs9 z>r%e3`gsguAdqCTqXJmEA6!)iq>`#2!sG3=96sviz+vv*mK1mF+ z8=EyWJb+Ps#Hig1EH+v^=!O|sa;QP%g@sx{?ZJ<}Hxc7{sk-jNU*y!+4edk7!`>Nc z6r^skp!dp5<-T+b24@l?+bHPtzS?c0DDT}Sj7te3s}OMvokr;qP=UMN!gB~Fn%Vu_ zupRZ?VIX8F@%HKV(88{C^Z;cO(aj!$PQ5(xreH@e$N&lWPpl$7SWUGa_Dqh$eRl|r z!yWN&!z6)vU2Mj@oeQPUBGuIn#HG}#s}}pV(Y$DS%Kj5~_{lK7reGAyH~h*;QP&|%XftUH{<$!S?S9mL$R=2SNh z#4YZBG+z~HR@7!H=JBlA{73Htyxhu$gUEGfh9Aeay%uj_^-_c8YEvgEoAi9}dh=re znHt|HUZy>$iWNWK;A8gm`_wJs(n!+@GL#-$j@g5RHxWX_{%RTB5+AAn&j;KDx2_Nc_)09$W(+L9W!hL_v!?s6RQ*vU_K;^%&Cz6FyJIu$Icnp4P?ua^Qh`nUuG<-^;}VM)65j5z0#DrIh< z5!`hh={b5exfSbH84wA%>HHz-flxHibMS3E^5L|v*RHNM);~yTz_tleOhKJ9Fp|l$ zJkqR3ifUh24h^!aJ2()+PaDbT2lWg^5CNqcCV@1J7L!Pmyktq}xnUJ{wo1qC_?UO2 zmFt2Sx-O&*Yn53KY7@rTAub@|Fn~*{)n~tvnM((NfLl?EndI+BILEA(>LN>Ip&X_# zloC_OQx#9pek!yL+d8wo*J3}m9|u2u9oUYIYA4Hghg3Eogpr{fOO}AF8SbYzeQI^GQ4k6LY-$_1vf5>NgBToUls z(svOa9>Fk_>gM~3MyndfFB`%cLC+Xe-L$$$Z%p9H(%-O+nqLd;K{=5k3hG1MJu`4y zN5{lcR^rmwQurx{+t&&VWIjYxugQ|?;ZHxC?|UO__$a$}TlwYOD`?CQU?AJ!7sEY% z=qloz40`S#)o)dY429?3Qm&e~{&MZi7t;H}TS508MFnn%zFys9zSgy*GLqq|@oy3G znXkat4{UsizBID(1RZnlm3F5Dd!8Su*U{o$266k?^WX6(Gl!hlGRS}$VWFOkRdA&T z9U^X5-6leFkQwY?=&xnbRDXA()R}V&$2Yn6FpziYKIrGKLD`Qho(p5`Cpbikk*aZJ zrz<3%VrcFgRoqEN=C(|+UiHt^+Dg3KlB=B^?ztF$MLnHu{v#e zkUZr4*X5A^=-q5=R`X2QJFSP=f1h<+v?JNrPximNj6Lkbl#|4LUDl7bd!Dm}-J7iw z7<^Mia*!ZtGacyXu3O>3Rb_HmomN(Lr-PmODGhcFuOI3<9*LF&%nEdsZ~~RAWta0b z?9(CQ^KZme$ zlacD74xI8SD1c&%g`ptYP|2tGPJ8u3qxj%csyH3*8%||_a2Z}VRl86J4g*^j5tu&X zU15!FWWyn6PUO4<1}KlC`!eaofDb=;S+9M1*mLXiR%Y&me0@2|GvGk9Fvergh0?+O ziQA1F-F?E^ewf?p zj_LY97alF~gU$9g((@zw%vT_q`N$Oal|5>WV+3sUmxi=4_)DxU~ zDGSwKAVGfwgr%H23nXJlgV_b_q*f{?3u8Udg(UT6m2i$iM_%lNo~z*{tH*Y3+GP6# zY*O6-vcH_KyES2567YLgfD`2Vp(HQF*8o94AG7B;*F2?xL9H zFVzwdt)qfCVYWlKWw{Zzavzk0#|U{KQP5xZM;|?rTXot(iJ`n)K0F>dN3Mzr$oy}H z;x=+YRDB+!RIX;9S+Nf(vmyM!8Z6gM>L@N=(d^v|N5)`D+8r498UOh-RCo$zdH*oS zG_tUmJFJ+Ogbn*aAvsA@Sb%Qd_0kP91TQ6f`dvB9Gvz#*rF9fn!yfQWLIybqn-HnQ z?L>Jr2=yt@r)9F3dLsQaeM1I1vT&{zeA7s8^>=&ZZ%SdxhdhT6%CO#8aUrGG(1S7F0QF~NWbB-E$#CrPPNdS**S#L(rOfDG#FXKt`HxBoMpL@f>~$H< ztJGaZyUf}BfExAr0ZZdMTSrVUZ?x>j;!N6TXo0RSFt-wK$`Mdtl>v7Ury{n04GK7$ z?)?m8u#LAYTFLTwcqRDa0U!xEU8I}--Ju8-r3V#==h`hupbM<_tQkJiobDCx8>v`PKf9;$V;dEf)zIS2A!w&nvbW%5&vSe;Hwf0Zfe;H(u z?G^Er2#tzIO*37&+N4{KQ7;Q z)u9Y+a$Z9-y5YZxCrqjK2b3Qql<=Cg3#I*|KlkMp^Rh~~27>)0H}#DpXV5$TG9iuY zuZE4%I`i!k<}_ntV?ieohjDqqb-)i`S^84EOOU_chOBbGug;IT+oO%!eS0J8?$yQ5 z*l%e5K3wGFk3RHT2WwYHl0>u5^%_PNicH*h`ZvX#ni%+6U9(|__32tx&`uTF`pM8c z!8it4ycm&H;y3}~w$C;Ert8qQB8Ia%^-&J2zGShhu>l2i#tlsHQr%2k>CacLh_^qq zjELQCv#-?gMP#F0J#@;`Al2&3NZv2`+xDgsp|`rW2}LfmT_&m!2cuZ-y}Dl_bw0gO zy{s@33a$!M&@UK`AV_>jKiQbK#&4{JJF^^V6gGhZZqIO38wEPEj#MW(nA7-sH%>dQ z>joW3{97e*moA21x`GAl<-fmO6_uja?`Yv_`UeFSnD7HDvi%q(gwJ65tsTKK+b1fi z^R89KbK*m?w=LFe?Y#99CfI2foTjB~EwK zLA=M40fhxpzT=a_PTB;AqAV_gd1=3+va3^+aih+4%K(N;=*vO>!+d1PQ(U>h8GW26 z*XlV`n>XBRy>X-6A-n$y(0bO-WsyzgscF_*Dh_{)DbtINkUA z`1VgHbWspa;m{EEK+rnEEz-d>!kv8FuN)2^Zuj3*SyGsrfB2m?vQlDfTkdhGfj~$K zq7qyNYI1vWU}J%s`1Wgd=&QcG&m-(~%0Istq;=AjaiW@+Tr*W`?R252WVU^@oUX^- zABb~&j;6lYSwMVT)F9FgN*LHEp2dYH?}@zml|wStY8)gxKK?%Nn8+7?Q>@#E*NaEF zFOG2oEDd~M?lMi_WwB{!p<#1hSVm)8?F))+TZyJ=gdK-S5lgC~2G37!eLIqB1&Aec z5RbVpwobdekR)+c^mjZxWSy^G{@!vW;25}lsusK;nV9tNWzg9+`v9GvZO105hc_ot zvn2pDQs9ICw8rT7at4zt%69QdYKKAMyV!9;1ySuznxL5Pathky_a3r6_>5ULPzBmu zTW}<`)@e7m{HBBz!BBazoHRiDNhSIP@|1;@wyd8u{Sqlcoa z8+%Q5>;}}2-tQ9fQpC&im&?ub3bC(uB^)a^5;*mHJ`2@r9}56J!8}$%%eD)^Rm7j0 z?6J5?ub1V=B2R3D#&V4{F{T9m6vS6S!pQBYOR9Z8bsu5yVZ??y}G{9(McQg z+63rz`OiPJZ@Chlk77jyykPm9pHtXJGU@V0Ht+%uESK9&hm)Xm$K!G zD;;;E>}C!#rZHYk+NWs9V}biqFoNp>c=qz&Zp@9pa#|<=j+v`j`TW#kC+@^kek)o1 z=wpSX{+_)faD@WHzN#Cc2kSgB%G#^eP|FFaMmgwW zn6Kv4+Ii3~0y4vuYy8l$My2lh&)3?Q#&kqZNUbvQ>u~c*-i%Z6cTc&Ze8XUQw^E@` zG3LB+Cr|8r+>sa{1na@->;IPFK<&`XG)d_a3<_U#&WDU#QL6k!&;x3J~xNf<0(i2jU+6F)i-e!4;K6 zS1$JldF}%ei9Yu0c?#eVwjNs$a4d_JU--@+*!*mW5>iBkMfn+=ihO^upxBsG=f0?Z zgbp>cL@yv7<5j4U!xbsx7`|3TG+U|O&md3aDhl}@rB6>;bF3fT+?NialhoLX7<4lg zW_8N7sBakT6Jes+{R=)a3=D%nY!1%-opSCgUj0+u-1}}VIL~FqIy$?V0+ps$` z->H+#%OKQ$e)D-h7C9%q4#r5JxdP^3aWmb&`x8tdrc|xTVb~uYPRD(x<5UFI0<1DAdBbRe~l3Fn^!fFKEOY=77w%pCOD zo&FF%-4mVp86h;w3w~0_&l9!Tl6%uVnjY=jtzE)Pc<%a*G5;;y7af}q zgttZAC&@hnT+lW*5m)(1+sz5~ha7a36fD;LyQXT5vubwxGp!lttRQJ7D?++E3DzDo zFB^jDW;UCB+JVxolSgq6>YuG|`Go)O^Y#I6_FZ}3bXj*hCaJ^dTQEyNC65X$WHwGf znjD>p@6IiJa7DT5kvpq>yrMt|naO=8s!IM)QDv^{{hj_g)~-0m4^|s*-I3!~9hECP zkXr4-0Er)qa*HPePUeAFEeq&Ah$N_#(KZryGvLh49%8$Omiq`3C(1>&HK3`6i3%sVh}m%TQG0JZj!5`x0@Fo#=E` zxBM@AhmYNfhg(`^{l33hwMojnBI!@(Njd)V9+Kz##qhD@&?AoO++rED@>pnaz*&4a z%?p?=nB|wI!WzKOSI;zFqueJYFT_pZ~`!403*Y2?M#WV#*S- zRpjf)CL-`0>Q>AJIm7{uckfE?JoZH^|gCO)#3a-R-e_?~FD0m9D*XVPvkCIMk|{uT7Al zzA*Cz;I%vu-x&EbMyI)ftS0q3?2Q?;zz`x^CxdYt(6`letDqwns^4JrhSA4AT-&zD z@h3r(muFWkuy=bD(r*%#kq;|8M#axAr9WNgl+e}pB*kA|EqM9 z9hOi3ToZ-rV)waPG>QhGB$f5bhif`Wx0EmOdVlC$1M{^@SMwMBM`NK9< zzK?;Io7xTjAgtVhZB2gw8Sd+hHix?!(5;07-xx`36~=mwWb_)y(6MrVxU4WVb#RIk z5cEg-$qi@bYH4QH`pcmT$Ila`AYH%BAUAFoTa*!^>7S~C8w0*PZFsirs`(Dg&Q#;O zr+b3DVG?iCX3DtJA`N-owELKIAqn&%zZpr8eMN`u_A+iUmsZP{o|F3ZYHdXi@)KP{ zWuqnM&sf0sFb3PqUFSR=>VV_V8eGlkZuJcj9xnHFr;i+0+XT?RwaqOD`)Qt$d5`%m zUXL;$WnX+D1xL;x&B`=6oFTJU)#8J8>90CyYMv}WSGI#p! zgqrbkoD^KZb6@&loD*6Av#XSB*Q!BzFrzxYp7R%iWYW*eTJ&HYt+Tul*GR_AZ{#4F zsZ@Wh#SUmmm8x$+Z0kjG+-%~-oqtZ|KdxjO4KUelksczV%?8Ca8!U zeB#p{p{Wlct3>f;ZaJne6x0<|Vh@bDC24(|`jkXoFBPZoYesB3?$kb3G!gb0Wa*HUyycmY+BKY7t z>^JdGmq8)?N0o>RZBo+Li5-S(jPHlp;du9+_ASTtBdhQ!k!w>EOK>MUu7ElEw#}UM zF?qJsc?vEUSiQAu>4aEI7`r^+E^I|j-Gw4U_#0&XfY}Qlb}mokqBv#+bh%W-?5s^O z@Pj3itSi4CNe}rvc10+O}))to_jOoI$UjA z;F`H~`Fq~eKd%f20%!hv`=snC+%Yq z(F?czDxNHr2H2?ZQ{Qu5f)6;6t6dTIv)qWsn^-vZ$?8Zl8noi zdb|$(;zemQ#qf#_Vc0R^N$SJ5`-__b<}D|L)X!u4`378JoTGdI6XUh#?Vk;f8O=4P z2gbC{H$yHs-ibD~?L_kWaJA#LWRYgx>A=Ih!p_knhuL}zvT@ZEZj@-wUUdAJa44wg zup7V)_%tak{TIkuzZ{SsZ?x(2187v&2eZVmyNVuSu~WgToy=QibK^$FGp|SVFS|F_ z(epLpETd`Lt$*8&iNUCOb^e+QQ&UUo(7?$YZ(xjJWGm~D!3j|-7C~I2+|>3t-=NyL zqZuyuY-k9*A<9nyB6o8YEInLSqepRL&kTO(M>B5U_VcWN|6Buit=_8d>{7|)EbqKy z%{CCtr+M#ieckcxmifvC-1xE%(P?$(N~6<2X#9GOrY04{a2%$tF!pJr6|hj&UC&g| z9IyB;=U@VnX`k22=&_Nme;pC)1Axhy$jI0DzUKE)!b+qB8?Ey7D!y(S2 zMn$jj0t(kl6M@)5?$utJ-y<_d8?(CwUL>C-xi}+^kZ*F^A_1voOogMXp|hv^8S(GJ z%{Zqg!5J{C1`b3Eja(Yw+nl#X&5|X(zWpeIGI9FMk+~E#?TN0%dgTplR-NH%%PeCcsQNCjb2OF}$ z7f`MvCUf3!vUNAg21-I53ltAQ>eH<0B|#lB)gncX5)Si&>JW!T{*+b?fSCCQ>(!NY z)A5MMRFm=1F{FNh%=u5xC?kOG)m;l)>Sv!5Q1mj|w<(a@Zub-g>>wCtjZ{zf=`Ejh z_g|&^f03Mq`1%ZxZdBkV)fO{yprgE_d?Os3zf#N1QT#rxuI#jO^awlMS9|}gxN9wK zsOyR@JO9iHm0fwpbv`z*rOhu4ArN%uAvwQ4avpTxR)rnV?f$VK&;#Jt*WH(EUWUB8 zgm~Zq6GSr8H*Eg6a-_(*Ig6{@3d(0UOHk(8M!W2^oXulN_=W5ZErYP;>!&|;9)bcd zPloP#UiZGw0lPNMF(U_=DaMMq1aO{E+L&9+%6ji?>*rI!y0f(p;9V1%TAbTExJq%e zHM`#(M_;~4FbRplb$FDw?_^t=#YBcc){kEf-nH%bbU)Zh(iiN;y}kLp@IO0VwuU6a z|5Negng3MTVwkTw?7yxEY3M<%B|YqXvtrO%UZvMr8F6nnQ4M0CW^S?qy}ciH)hMZ} z71*o*s4K5G_u;`o3D5JUVFZt-JXs^(NDJ&ZN@@}fbl+uSx&uuE5;o}K+1;C(Vxl`-17Q!rguPOI8)Jl6de1Yyr{ zlxGffD-Gt%tyDcY? z-5>cpvgJ#(g&qBB7k=gDp~V=pVuNMWm+1YMxhjFIJAzuB%`{Dv8mJJ;mlYF2-s-)i zy!{#N7WIs7a5fRHUuOzpw_kMaW2!F}ZhO2iVhpaK0dxO|eC^hYHYxhHU*GWggFuqx z{delam-{SXw$@B*c6wx4Z%O^$;>s*DD_(y|Qv2nh^JJja=+T~v`kMxQeoy%`VO(|h z1q5&U4ae6WQgWGjb8#QG_r>SF;1h-pUgw->qEKme9+6@TH%OS9^{+RyCgg6hmz9Kv z?nzcMuK(<7jQ*IiQg!#Fn;(AT_yAXJOoEBX8d@VSl3s{Tj&@ub6V12G=6Sjq-LnC! z2OQrI_4AC{@%Lt@#xLs5!892@KjWjvc2~QFTDv>7WD+GaR3n&O5^5;-dDGeF)R8?p z5D6@cAVx}Ytp}KyA3m7b)2m7y<0rCINSPIKS71vDT9`}pS{9WvUCUV}Fr>dLR0mhi zzlZZMiut4v&t4#?5HTwl5CL)InxJ^UIx!YjK~J1%V*y#=#{dg_45bhBn+Q+zLkzeY zy7E9T+ZT+CUgvAOu{{7TGjhkPhVf|(!aEccc_JT~bfm)d3ce^nd?)FjN01W_2b->4 zuP5N4a~q`cN#wgHG_ndMo^`b1`2kc6Mw&)3HSe5!5xaTOUN-A~n)+u{Y>0NqBBa%5 zmP9XAKZgiKRjY+UN(F_Za)G3gOV~{_Q-Ea4}38p63^R zIqp>-VIPRe5G+VWH#pzr1jB!Ba4g@AAmaAnrj6$1ZX^`0^;<=1#50nU|6(@(t#G}o z+Q*uN#A!5!CudeK%}!kFhMi#F$}w2TojZ78PmqJ%4{uAqS#R&HTmrOZs_?mk_K72T zm=|&G)(^B#tzPN%(({w~!ju;==uSoDwI#Vk*5jVXXLFqvBrX(8J|-sXmH)=~P2UQOCG4QhXVA$-X2^L&gsS{-U44&Pa0QEsaK z-Y}LJGF|%iR!G*=3A;jAD1ErFgZ-m;!skL1m4UyxBzs>#%L% zBsb&9-rhfghOtfiOo1<5Xe`*!_Q^e`-w)5=hfitlv{HNHbWAcbsO5c@LR8DJ%q)C) z?&Q@EM|p)^Fm+|)_1|n|p7|52VW+=1x8K*7J)&^0+4W0kP{E`OB~f6UugR!@3Rb4E zH@|)DFnT|Ykj`u9UtGDtzPdDEE7czW5y83a1w7s3ky!)erW$_bNGnt}tQ5C6o8@OdN8=e0+&x_V@FqKn%m- z+Vv+c!&hbsq44`LjRH0SBp zvhP>O_uc2GgYYzMwMJ(=Z-t_zE1-M?ocRS>)90D+IH+*FeB#*j z{p66OUK5CEY8C6)#&U7{R8c+)h=rpix~3^pSKWM|Ejz0w+q9mt1@*cMlH13IR^J~H zsc|LBh;7l4I%<*mzJAn|8rm~(zBdi8F&d&|m3|lXRq6*T<+SS$7YItT=Y<@5GW79r zi`dtTamjQxy~F9r&*;d^DM9j9@Y6V(>{|{w=UZXft;nx|YJ^|1`gz$N47w*c7Pi@~ zy;(iA770g@lhyLQ)It#)fjuHDjL;=^=0wTgmiWFgrLz>CW(go8_x2$2Q3)SSS|z6w z@GL7v6lw}^{wLtFMftAtEsL!aHTq^MP~$-?ptqhLa5`O&-foKC#Q?SnKsZ>ZZgvOb zW+aIod}^2nH(|?w|T(vu<&q9optTt;i(UmD15x{Gg?5Wng%&l zo_FhTcssxw;S7B`g9k+?T;Fo}H&~7@IM>n%m~4QlW$q8zg2mRVZu9S2%_KY4j)#An z#_%M!y!khCRA1Nm1R7q_;nF+If_Uek;2n;8jQ#FvXmO*B4H1;KIQkq}{Jp-e_-(cr zJ-t3t>tdC4M|iSTf8X-7?z!!Eb+QI$!bb#2LfUrQ%Bnp?AWIObmz}pX8%!R(aQ;H~ z((3U3znVk%OHg(;)4YNc5H%7FD#)!}3Oo@h?BE^zzV&99-2rFM7YVtkFxJ7Vf9B%p zU({1>*g^j(vW-1RShQ-@`)R$ALHjy_;QVUE=Nxu~uR2%y@ygA{qk2QemG9fCJlphq zL%;ImuR-URg0xOleEIy*UUQ|cAbLyg;((P!YOCspctIv~<*)a-CUqhYJ77BLoy5Pa z`t17yd>6X+`xs{TKY>V12})kJ@yP#*tz{S1Kxg=Cb;RQ&X#~J#Jmjw;+L|wRcyfti z?Aq|9@fpGC&H#uY((w+RmA}*DDd0yG#Ft!Dh;ye73m~c^_^NR#|R}b#Kwn++hraa^fHbgcw z#M>R02HKymyNBCU2H-=9XC3s#EEYi+Qj?5@@psIRCp)8vlCW>LA#$ zl3WlgQ&(82pqmFLJfKAmI;)ecD?g8*SAj9^HkhBK7EdL$EIDJp~^UMkt9><5$g8k9&gW{AMi(VH$;#J#zQd&|6mX z7bM7sua$(_d;*CERWF}jT9ipLdJ6Q)iarmPI1EBQKDZLV6$&E0ZZu{#M#@*oCa9S} zi1L{>_I+LTv~y;}&bjZ1qYqDIxk^Ie06WsT(rjN%D8XP^_wKCw@4S%-uAY_eyRhzd zyKo(L9Hi2`k-hK!>NnA3`Vb3MJ66d+;}a@l>jzY=ZQ-?Iv5@YIp5xflhXpF5hw)oM zBR+l9=ka=CJHEref!C~OyQnekkuA{d^GpumN%|?x18PEyaBU0mv(G9=$wPu#t_FRs z6c>x4Z<>9uJY-EPZyI~jh)euL8@F(~L0DTGYIr(8(z4tEdtYoa8Cg5U)8#T$Az%QL zu4y+RG>HkHFU>vwv@J{p&JL(~yJrA$J=Ut9Et~aKB%9o3WpAsbaAye8Bnx*2U;@&jjNr$I~V?Dbwm>a zYa$xZ%R25xHknD!Na~`?I|b>;Vp(bRZO?0;VvO#yrbt)9xbGq)FwT>amFkO(0)-Z6 zZmUdhsIGX`j)BG75~f#QnxhxFtEZ87u8#?{5h;D%KZatUmSR9nfpGJbWvAz|t|KjX zXAn0~i6EW&gVRn$htP+w?LhXb?j^^j4HaW-aZ?pxOskT^T9;Z=bzl8qz1Z`U_LCqn zOYJqg(HRi?J~`I?9^(7la=W_NTg=2w74o65&l2p;;yR6E>j+Go%)-m+i{I|b0<}-} zw)>Q^)B9Buu3w$F+9kZ2SA;!pg)FeH-!-IQE10)_%Sl`GOF&KhlcYDIunaKuK@hN81cL96B-Qt4rSfN;Dcm#rAm-i z)}5t!e^7@)y~^*}U7Xpt#rU4h;FIm%bO8(2X-aeOC+>XlzhPPWo&eBeA}Z&qmQZNc zvmjU(Rn8)yv65*2%hed!ePlt>H=$xV3nDx*z)7RhUcV0Ykwjs#N+FKtxa&1Q^%fGq z7mJboDhA0m2!M{C2ZV_|2GSQLN)8h&f_qwuMt%LJdY!GWjsFE+5}vXA!Q7@<>bYws zy$(~1`o{A7g4ifjdBOIx!6DKC)I7b%WL&6`>}Wd3Rm( zW{aeOK=GZ#;Uv`W=j=m&nqJSZm1VCc)^2-kFhq)*eQi8a=^XbtM*Y)#d^;2aHM))& z;BgiAA1Sb0LE$MfV~_^irn=>G$Yyu^X7_U=>r-sL_!#Z6K;x-slNj4N$J%4n>6Y}^ zlS6`|vD1tH0^8FXpl36MgOFXZ>Y0sUX{8sM++1y*zVY&~9P0*j7o&qP4#YT|&PJlQ zBK9OEdzPx;w<}$5Xp?p@S*d4SKkY0G@O6LU@7|p@jfDd0WjW>$LxkjY=@8N&l<50V z#&q}l7dYxB)_9nz-&=JFsc3;UcqzKO^fgCk1801HR!%@qP_&Q5dPs+S^w0(2VUF~^ z@853WepxRvePEC+h}F1$BU$-lyCwEp&$g{@>DoBsdk6oih&7Pu=z!GNGp9m_DwP%8 z=-S@cCzZj;hSx=ml-)%%Seuh_{I^FcD^)rxy0z95SM0W(n9SzB()n>tKz19?=DJ5y z0wQU~SzS6mHX6_81AWj+L**Ra9Tg>kB&$(J^KIF`K%gxH4m?3Jyum*SAb{u37d*K~ zmSE;esR=|n8~kM5s4Q3hqLzu*4JA32p=xr2j-dyIFSb(GQQp|7mK4<`f<;7P=iH)D zA7j@RynB8DJeVywFmvbw&DlN*R|%V>pw@MTTzda@(-veTOX))1QqP{a6cno=n!8Y1CvFY-k6ra0_sn^-m@S}~1XD}AlXezFl+yX*FJkpjH3szN(1Du0 zJ8Q&U5@XgWqRv-&*1BB$;{-nmRhNrH+nJxiob)BGk=1c?E~eC6m=2U_^_rDDakc;= z@y_$y1HJTV$Id?;H`zo&OUQA})2u!F2;=$cihGD)h!oYD$0AE=bTs^ZCw;H?{ZrGn z7n6h44@RzwzkRC-2Db=$S}0kpwadPbuZm}+Q5DFmA*EGSn{wXX2lyQI|A^6pFU*KY zX2c08GaDBYej6pbKagX1fWH)8Q$87dgpN7{#dS^dz7JiTWJ1R1vn4lvg)#m5={;Dh zF%@UeWRu1a2=`fRt?*I)fNQA=%Tr(q$M$Bp24K#prS^I6cWV!fLw)Jr+aA)-{{z3!#?ozQv-$CvLX|8`v$L$iN;;i znc2VC(Jz7uxJrIgsW*1F5j|izoyR;RM9_)PUakz;w&M~Mzd$@@>FbO*uw#f$QXlSu zexSW0NDILseofaGKO4mypeYCdWTng!Fdh}{*fQsN2Z@7aD1#A4C+}E|k_~q_VwY=o zx&FXYREx)3PW0D=hObE>eGN`4Dp))<&SCHXbOd<;P}3WiCWvB8Ri-DH1VIT+KFl82 z;vutX17$A!03Q^iRB~(!3dgVxcR|9pLVwTP@087BCN{Y|On|?uLNl1UsAft7+re`1 z92jhB8ueeJ2vpodQXsBqQRRo&sCre`-6`$p83x!jiWFXWxI%UL1e*dfw2)PAMl#~M zBCpsqs)bBav#KaFOzx)vRtyak(KzsuL_72P`Q*sD6v==fHc@JoDgIiV=dqq4bMm;o*Nhocv>wqgXX3p!`h4wdZE*pUj#K#jTijD$0H-47W{GZxgy!9pO~3arUNqh^0D-T~!Kq(>RXN`(oGC1(Zg%Sm70t#dJ-YxDgniJ9*zA zG&6Nwp0D^U|3LU-2P*c@$iVw2K%z{V%ZJ zvCVIWtK0?on?dJ!Tl`b4T6oL@S{?mIrm3nlT>r8{b7iev#FBTHjCCM`#;3RUzG-pD zFjZB5rhnPmWl}Q>|}z$Pg4=uu!=ia zt5FHNEW!`|O(C1B_~5rE8sbDd%}mO9hOS7m<^P{Y{#$A&Z~+31{vaXxf0x0w>lJwL zC1{g21%%)j2z+~GIT*+{knM`xq(qAHi{8Fpe?2PmmuI6lSIw{r%Nj;bqYQOdSV7%nXEo7iF9seUOeNY^8KH+OQD=I1l zOmkYPz^oUVD@6(f5ALP7OR-Y4e|Vnf zmGAr4S?in=)}5I(b5ACl$-efruf6X-3xC!CxGD3wCr1%6lgp_2|RFq^C6f_K6%rtZy^b`~< zLaZFzJpBCp)XXB{!n|T!eEhsmAA<1w`EyJROcE?C5?)#gTHgQ9uRq-Yyk`hN#84yz zIshUb0umm=pFRLJ0Dyo3xAw{4e_jZPNXRItXwRObW56dg;Q|m5kdP3Okx)>Ok>Rt0 z;O7CzcqsU^JkqEHTIOhU?u5Ky33<=xW$Jo}v?qTu@L71gdyY>0f`pWek%^gwm5pCO zP)Jzhm8_h+f})bLijFQ&Pv5}M$P)g~vbD2!0C{?O`}q3#hrf@A{16olPE1NpN&WOW zEj_=Wu&B7Cw5+_op|PpCrM0cS_gi280CaF@cxrlPc5Z%QacO;Hb8CBNcW?jT?EK>L z>euz}o7*S55CBMjoAqzY{+C^NaJvwZk&%$mp6o(E^nni~JY*DF9#nj3Ei`j?0y^HX zXM{2dd38O{>G`yO5?Odmq7yUluQQ%Knf8}u|L+WY_y5bXe;f86yOsc$NC@zUhlB@^ z1pGv2+4IW}MSrCw4S#6@EKZ)Q=v#w`7suu z2ubpUnh0PP__hDnxSa^v1LT8Q{u)Jtn}~^Ez^h4lLV%W{!`}zwy9v~F#|)IBkBt_5xMw$hJ^BAf<* z_Rb`T&QEkk7C|=%Q@tf+XY?{12m^P;t^2OPPwC9vne^8$#UX=fu zV2=eBLhgBy#!7uG>UG~*qYlAZ+NVhB&VaS1>LvL3ZIi<$c=mszA5LDj72rdO>Zn&OzgS)(Hf3%r zFTu9+#+Oq|NCo;9`koWwg~jID-n!q;xleAl22Fj5OIoo!uP#3ZtDF~V9x+EhN0-R7 zdVE)4{5u9wb5K!4EaB!4Ai|aG_@x(?)OO({MFNE#!4G@ON5T@RbP2`J8lbK}fY~>U zg)iC*M4>DYZtrbBk*fZQU8|c#L`daI&Q#k0Q2B0jRGbs!@8W_4m;20a8L(*!nH8;s{B=UJ^zA{vc5-60U}N@dn)i{UAcmlDM@Yp%_y73 zn{m(|z(ExYCubA}S^p);BXGPVntA3lqEw5}MH!29u!j=mjXgg~5%fDTA zM6FmEv{p*acvd0U{*h?N0k%J@I5|@$XPv0Vtt5FfQRwSPh96D9Unm-Idp>8np$hJP zwI8kscrH)J@(}0Y`PthvUWu%<||J zR;mSe6}T(1{N;g^rB5DGun+e>FZiCg-Cqv#kMoGL9LoccR>8v1PPlhHdDtBMvI2?( zc?ygFI40lm)0wBCVE4B(|Krq1XZhe)69`Y9{4^9;-8Fz?{O|iPlKNGmk2N41>76Le z?){!q`CFHK$w$(J$k{2u`Q(H-waFRx$TDY>SFPegM3?ScD@!P+lYN7X&-19}b$%hLV?+V*NMIb# zaEXzXdNlY0&?m=4_>FU@EbMFfESgaML$NY-gm%X)gMCY#$7a$F_t3p0Tjlwfr-|RF z-}g``sknwXdp>u@>$GS;VrcTGxBO!)NXYr0sMUGy57mf;WabXG-G^Y3FsjGdXlG~s z76jn;6*uElj7NFT+Wj-89EOX7xTqU@zety(b8*=!TkDLcZo?32C1lsVX&xz4Nxm7QX5psz%)Kwt1d7 zHj%k2`QYIAR()KunK$K!BEMOC9iZ3D60eJp=AZ%dWS* zwO&DiVv!`45PcER%-D+G)FoBcONxG8FH-E2t%lf&>i+<=rf;-cJ~ZLfSN7nh{sE-Q zce{`Cg)h~|vXq=Q>J~0d5^|but)PUv2P>WbhSn5$k*NzXq_~hhDn!=?4jCdGhDFe4 zi;NjgG%E2AF}#>h-LTi8Qu5*`3>L0Vof;o92e!z2Aw@2S!6^R#QsfL!xiMBjtw}~yC=I(MM<+>8 z&>ui=y>-C`8%us2|G&cPi_*d;&mYGk)C6EZMNLVvzXI>6Jm4>gz-c1Xga_BuB>1FL z7{7K>(vZk?F7m&^aDH47#ot~oPg$Ca#QzlUpN6LBq!bFF4Wt(i7l%*BvU%X|*zmi+ zA;CKrF&T4$P2OadfvHEIsZt)#aw-c`v_fU|M+wp5hi@uQ177%~C@t#j4g&*X&zTvR zttpM~(K?N4rx;UGslgc6r_5JDSkcS-ZtTu6!Hf8Ibe&PB(oMR>Ba!9Ayzs&8jb&bACH}bw)T*k+v9E z&zpd}9CmeRnDln}0IPkQu;pi=St)g--@Sw7F{6Y%Cno+0sJW`_hq@MH5;J+%d&@mh zeVvDJ%i`s#{<|+z+#_fVp#881HDHj+vev?PJF$Xz-5+o%g#1DW5iM14OT09vE$WaddTbC2DH_ z13LD8(%l0qVb2L-typQul zz=phQGs~A?|%6Vt?yC7ee#z9t-G7!lz>{i}tT#68!3xEmkn!X-G9G$n|Y4C?8d?2N8ffY+qPp7M}%=zF|?zQ>t{w;nd?c4bap$(dGMxDh~ejPqmVm{ana1=ovkK#>lKl&mBmDmSQ zq52>ZpwdAAK@i@Lrd$e6H5*9+l3f4*CK5-@M=ylbE8>f-?8m!lRV-1UC7 z+oIk`+h`PKBZMc**tFUEjp=pF@s^ocwg-36p~bvb-0@qR6(oujgcbq_PBG6k{4p4i z*+y@DZTCu9Z;AFmA{t^|$${qVE*l+c*5QqQ(k^tSlKn+_LtP^QEqaD=>XD>Tt43{>`K%Y*;}LE_Q0BABtvkXL z2;{;5JdDy|3ye}BY%|%SR`rCHRgKsyM-cT^l!r>~oBCl2rDuGrG&n$1S~Ih3HtQxL zg^Fcf3_iYTFD-C%)^PHPAILDwUW`Zdr|gEbB2DL2z8O)3>T1bb7--2;+9CJ{*|QWB z!SQ4jjz|0d@DEKmaQ%mt{A*tr4rXYkfAN}JEh!Y%9?~J^PR4&2%fFb*)3*N~p7O+1 zq@fO2e^1fg2vgTew?`t<7jPkIp-LXiU-8!~YNW(wZ^8KhvLQ%U^6Ko8k@qqpj+#dv zqcxZmSy@53W^MvbT~5+vq`^KpQ?G*VKa^GYv}b$|b9Sks%#~!2I)~2O=A7LoUAFq8 zqmP6Pu9XRKVtuPLmin=HtI3FiZ-PxGyNC0$rt7UrQ1kESB-m^21Ado)OR5Jot@`QU zkrz2WQORDM^Ag#+OGS@UNx>Ww6`;FbUg(}^NVcPk+#_Y+sHZX6Jn>YejPVV6jHe}R z$6uG7{JZpH^s{$AewV~sy8VK=yqcLy4@ttE5%A#{8&xs}3Dv%R8*UR3kabICb=+{{{sNny*7SLDSBOL&}AF^rtL_wW*Xv9Tz}T!I>X3q4AGkq zI<>lX!RDK0hDSK66TA42B7w{KX{jC_`XYM)UXoiI4SK88+~P-xDzJB>BHdS87mD=1 zx1gSCj+OE+K8Ml0TZ!$r)HZ~f=Um*TPbQhZK24qDLySQ9gp{P~e8dl9ElObap=T%Q zrp{6%#OtSJB>)(2b8(}U@E5!aoOkk2tHNUdhl41B#NE}ReXxexdb-DqUs(_8eaD3G zwAN#7B9(0lXdx-IT?E#ytl2W?XHQoMuEko~DQbT&>KuDmGL|P->boE23l%r`MO5MD znMGO~Cpt2^wPiqmTSCw-VhPB6g!+3Q+TqU;C0LScob^T~L*) zgGET|i*N-MkvB>H03@13&{}CWk@0TA4bArksy0LXut8f5%@L#_bAs14=FriQfxMUT zL$OfO!DHjZ)v7)T;HX(08?ije^1KMrfgM>O>SFbp?xzuxI$jE#42pMX%ru)Nl(+hf zD%#-o_} zZ^GG=8iTMM`amSJA5OBQP7iZjdy9xC{rz0>+G0vAD(J=B2PMp}DCe*49g6cRH7W>S zU{LMN0D9DqfTu9;yJnzfvyuT;R#Yvb^xL8n^9y$7%Z;lt?6Df|^sQdx6Z}AL~ z4EWCuGA&bnL3syQzTfL!?YyJdvZR5h!hvjiH_8U&4X4?yR4NTUwWdmRHKlh7NdU-f2ifLwuXqOFjS- zB<5_g1-mnAxq^5X88QRXC+k0cn{Tcm7m&nY*qu0%*munqd0J%H905IrmDPFq``3372(eqA)$OOr|34p7`U};^xK?bGx4W zkH`q*2esJL;;F?oymE;0E^Um`BFtwZ_Zq5aF$4x0IiI9yM;t}kQxCS|hdUuk zrk^(_tjI>c+{v%jG0@2{81yPLoe*A2Y6{;!I2xVokaN`2`fZV?pvmBfh=Y@|#nI;K zIp2Sb!p&(^J+cb=0{497BDI!N-UMy^j{!zYfvE}9SsiUx0u*MdcjImvNE5)cJf)8c zp}5b7uBaNzFw}5PHUl^5YpG+^{6Af5?pOJJkZ_$0x)Z>RQ`QtpiaymfG22K z{Ab2B zqX?weXmR7EYM{FMP=tqx04>5tkTa=?S$L+|4!AZ&#iZUJj3pB|WcSu8g%YAtd$&j; z`oVHvvyD%b7}T1XU7S#oYGI_vNo#>a5oGTdM{^dZeg%!pdww5~FQzRg6viYN#+{5>oVFq=1B#IM`I0tusUO`oI89=61IwL__EF z5%dN-%htYRp=fsWY)2!5)`y!u)5`PsQO*3gT#2 zcSV9gTJv2M)x(iED7*(A3$ALKlf9fEa<>Hbrg&{rCu>wbOI6G6nM%vLp6rd@B12EV zmZW|Og2`P7g3FnKNn)R@_6iU@obn)u%F-)Q!9^l6~|OWcJt{&VDCXa2LD?tBuMSaOj%l?wPLb^6li zs@aazlB9{%9F3(XEGmp;Gxho_Q9iR>UDbdPK76g*tl;fqZ6gBQfNs*~UkCUOD>imu zw~`F~0bq-lHBo@BWS5sf0bi&oo;VP;i~N?Kv}WX zkFSWk73#-4lYNBf64VUQim>^IU;P0bUYBthDNX?s=pd*mDN^0uBox_O7eD5UEUWK^EMu1)N|(T> z?t3U|42c`;ek2N|9@Pau$3woISH2O~aT3Scd#>PTg+i~1mwDa?KqJ|o1}nP|pRGCy z4|92Y@MOMIoGz9m8|!k6Ka*Q~9bx&N1nMI3h5Gl4sY=6rr}(r}6S+i4c%mOA+PX>g z5J*s4kCehXlaDvHfTQ~lz-X$erS)s{cjIBzZS_@jNXeeK!%kXJaeiN;GuC^t#P3$Z zu$iCF`@KHerOu798|9xe(&C$;NJHGAVmTM!&66a$Qoh9cN$W2iACI-To5p`F zpMNr;pq3IYe^vdiPJ==(Qu$5f<^U>=M#&$5X(z@}#G0HTgQr##fE=hyarWcvSa-Xn zIVK#JNiEM1=E4JY_;y&Yem1cr9B{9Q!WHLD!_z~x09#%0(3sCL8V_QU7d1@seZ=Rv znJ<*Lz<5{wTP)7sGn=v{VHHFcEiKMYYRN8oH}JI=BX8Huo}j|=`FwnMI^-M)xd{DO zT;4}}A&SPHc%>SlH=(iavYK5x)z6h=JlipVYgd8^_dUN+GSQDw zgu35g*i4s?Fns~`*Q-MJ)$;GShb1u?kw`?gIh~eGEO8ir=cq(76VetBfeHAG(#KYUjtwIhka7;SNq1tdFu6rH zi&XXLCJES;PmJt=1LJKw86^kqvJ7FH2}$CBtyyY8*~AmjVRrJ^HxVS}nK_{SKuzDr zaJPlkse5UOw4j|rye|rB$AsY`J;EXfIMZjSEzD=SYQGX3tIpK21_WV?;YI>^o|fHg$n~@_P!dDnvSxMd)OUpOE?!%P$ehp6&Fz9U;h!7AwmCxZxt3HM@CP6{Trx5M<&GWo<&cEU<-Ie= zPkua-G^>G9Z)ykS8^?WrhnS5$0r*9|HKo>!WB%xok`!r=z9#5T0kK!MFTm{n0C)$2 zBmd#_)U+dA(5{me_Ugjb{>^M@rICU`-UzW1!c5X*ND5ZpxcV~AlpC|Y@WqSJzK0+F z`vqYxJLrj#;|PB0BAdnThd01CLW*`0kJGgDp&;;KCI2LK3g?VVIqzVna1W_utZ(az zs>#EA-l9xW({`J!+H@kj?`V<@KMn380)#K&=JM)Ldo`#)^NVKKqExr=AW}@`bTyAV z8&7O1zbY3RQ*mQ^2t&mHVeNX)CRO<5gX1vBr){3Z;NvcU?uE~~A9XdWOBfh|3~vV; zWAjG0!2wU|g~PkwyDL|fr^k36+iC7F>H7-7)g5qu)JH^e5H1?>Y`6&fe0s$$&PzyS zfsG5d6jgD9M-bXbP=C9PCpjcYvC77DaoJS9`L!9e!IS>1qTYlx&dznX0xfV;4A?)+ zwZ9l$cxfY+P1cmo7dzSIM7H(PX$d2m)|xgUYRgjMYJX%xsDy!9MKi&KGO@gtK97{7 zdWqyV`7-AV#G%z-#9$A`fP242w&w{$59*}P8fH+J_({tAvpW9|pl41WQomf+BH2f1 zg?D*uY~-EhYU`4E_AuCkBn~|T=-R2S_vT{b3XEm(lhQ&}% zwPnfnw5JrRF_@_e0g$cg?(5R8{3?6Qv!K+fx*p5zn0d#0?xsOv&JO-UAv(nd{vOM+ z->Ms{WM-qX=X8-eXb}q{zkfc*3V2_HOlyP^-(s;q9cwdGu-{PY$KgEt;r;@iJz_oz zOi~Q9Z$>BAR<9n4^+|;Zo^=oXD)y5|nP2^FGaT1xKJc$Njc=18L3lO(07~cO9j)D6Ma4k;rR0_; zhekf2UP@h}m0&Y&zDE!+vy#_U%w;n>^@YCY*{JN9XYP!I_5#s$sc858xaH1SX zDtF^wEJWdWDW{jGroZ0Eoa_?W8`S42V)H@R1oS`yYHD80Y3u}HFzKl#qY3+8#vq&} zL)0q~F1~Q6d05=&d?zcTl}7=G+|RMC5vqYb*_ZV9tbt9uq2${z;RiM0*j91lTkUVO zij2WJF}4y-yc2on_Q#|==Tq!}pl6aJExYQzm>z40)yB-O-^H@gHgKAFl*Q2~$NlH3 zGt4=+dlfMil#Nfq?#D2`$MMl=H@{zE3J)qDjmk^KU9e$}pnNP@>R5Ezs0)?0cF9Y| z+Scb7+0*E>vv1bgZ+FsjOR<-^-|}(Uz5i8~-}L6h>TqQqW>E*J>}rP$^Xmdvw~Rcs z66?hnrJ(YUK>tIX7Nx-il@Jqj+BE#{@m6NL60-^JY$hr)1-RJKl!uWkFrCUT4G;OM z$P3t_y3=8V2+1z48Y)#5aXsvD(mLN?RmyqsJJ)9LSU0BoiHK@$)gg7_86L%d_)Pd# zy$Q1gd>jh3bHY(6BNP&Pv1+(Mvk1z>^y=pvxD@OIBLHG^gATwpOT4_$!>PKh#x%?H z*Mf|^NEMJm%aSJDmM>otl8LoL*OCldJNC5gR%1$?QY5z0lWA;BY+d}y!)7gQmRl91 zXf;4_XBBfF`QqQCJbxr260$$hX^=(9O{eBul4rGB^$94;~)lSeJ{+{!CY; zjAyg*BSP*oZLexC$&7_=68roD*y_CM3v$jN(D-%ydDa0iYH-Y))xpTfq;Z+3q0Zx# z8(Sr~>K;Myx|7XMLlynKFg^A+aS?F`oem5_s~EvN>U2WhKAFHyKhmLlDe7431NSdJ zrk>{EYzgm$S6*!%t^|u58c)kp4m)$n*06mm&+gL`pYa$XXQcqBr@(A2kPxwxn4fkwd8XCz{y=aWE&@#NA0t`@j zl4zd<56ZnQYX4VHo{RLPRXmORz5n6l01r17`t$#;P2Xxgkq0M#oSOLyT4WkorbK+ltfAgKEK|u5=n5%Cwpp@d7v#T{<%8O z@A)}1*7M%oEa3Ol#w>}~cTGr96DKwT0VX;R6|9(jTtu(EXfT0xCu)@vss>BY9ru}y zM&_>{wPR%?WT+WC!k|=F9Xq=_&5;TOky=pUV+~)(EQhZ!l!)O7Yh0IG)9o2W!p+S5 zRAr?qkDps9HP=RfPq}?Fu)nF%9wGi=@`nh~J{9FuSAA7Aj5ufel-cUPk$VALy#D~u>$rgK7Zd^WVXO!KT3{RN-ZaJ2Ew+N+FIunjR}C_@ zrHFz=XVW+f)5Yl4uE&6{WKp%phoxa7%7UxK&0vN18l4LkECOQS?&`F6hCYYv;AyTMj8UeWVr3oWa?do6lPS5jY!49cKMJ zxE@B2j5L?OO?tLE#OCrm8SVQ0#eB;}6;bWG4a9tYJyT$^r{r!EFS*^E5CE%kvAd%7 zXBrYlI>dZothvQ^J5dPX(&1?5B6qM{O$K- zxg?5E8o@E@24Nk@F*6gU(etCCdSYHoZ5hgecQ-`RxOFStK9Z018tXEuj|#UnhUy^MdRHYazV%2Fq+j^%{8+tE*kAbCWjC4mNKMKYp}T29PU% zbK}|5sPZrj5S^ZA7t-_bFJTIm!+Prqu!`0O_-t%ws zt>V(vsjKu<^`#ijpvD}nM>Wu<9h>&FjbmixPSc*R8ljen!n%S8+)*VOpIqDm4h6ZG zlZq+;G(yk(@VQXJP@XZyf7M{ns?e(7mFL?@c!7six)82m0^m~UKPBd;ExgS9SM>i& zV=!?~QvRQTo{O7L`Sn~nq8!CsO8#Xz9%h2koc&aXTl`KUcj=|TQBu6rnB$T;ZR_VN zj5=)5oX2K|hDv!9_%Yh z;OyN-)EfZm*{o5C&IvRYv3(5H*^za&>y-*T(T&~Q2HXb83ou2p6!><{9kC4`b}(dj zsp{;!LCULGH@J43%lI(NfEgT~bYC$e$NkAiSi%-fY(B@=;(N0A2+c|`kU7Tx4?yK0 zRoUA%0Ff_VQsrlZGH7->Z~47m><=9ujV~sCZjn4l-CLXYY?lrUk}nTUwyVxU^ATm@ z{3jl#FbAbYJA*0)x7z0JV`Gqo_q7If-+?r%e)0fTn%N4IwkSJs0%sK%#FeTIKL)vo;Mf!+BA>$1IQt6qFM~~YeyC(&5FPE#jXY85=0UTdUrV|AR||$ zN+=&+GREoy<0U2_gy+UZrgEs($Ab0hVB=X~>5z(yLp&IynBQ!m?qb_|Hc04+nQi$AB|(?!#Xm zCZ{R99^@T{O9#8DqrHmaL7mbh<+!%r&egB8Jh99N93&CPONk-zAO zlu598LP66Kv#){ESy?5TR6=(>>fQ@atO~~=h6IGwkGTVMW&6PcL}$P-;dzNr8ig33s**=3A94Bmd#Z0V+Cfq*3LKf~3Ne7ts--S|~XD*>p!IaImaZ8HwFTku+PPw!-5 z0%9)v{1iUa<&rfX)=G|qxf^(NE|v#9bKVsFMw~EsV6am?#G)0mQJMzE<~h|8OB;6} zv#xrb!_IpRxGK4H%9(1&b&SLwEyoR-!jX(spJ&L^y8ckb85Zp}g^zAY3IIog1u3$5 z&NDX&t9WQE=LJ-DED6mZ-y?)ef)MrU=+%4bdE$1pMzIE2D!Y?_Mr&W;itu1rBV0~8 z=HT`~-4@=ZJbR<{k=yBg@0m)5^mh_$w3-{D@G|3vB+U?JPrC(Abbq9ANo>XSHzz}? zQwo-hnY*JR<2>*pUbX+GO6tK5fA^23_afARRzCx-nFVG)lpPgSkM=ggg`(YeTJl7@ zl(h1M)J6XgaCn6FRTn7o8X5T25d#_6TTiopz%Hvz+fSc6XjZz~d+6p#dfoUHw8q#$MF@p==tb6YST-n= zYx=DldarE=)$N}z8%7YQpeG7*CcOI*K~CuBIu#ysHkEvJs4NZtX6{m` zemnoFC_GgRp6U^3{^AP%OA^G6jQJ~rfExhck_r#_7F1D|LJ0vnb7>kXj_$nMT@F9$ zv{LTbQ5QVe^J=Mme%1uA#vV}ke#l$)wIR_K*~;RhC&GIPipd!%*?z;-X^-shIpu=4 z;)#rzD%uKN3&GUq%sYIyWH)tcAIhSdFnG5hS+o7dGgo4U(Jwh!D)SK zbnUg8yrQ#NJXzYD#}sv^$R{Rd7qAwMspj-?;|$^6T{;;ITbkYZvuX-8;R{ny-ZHf! z+liiL_Rz8UCYSyBpNj*FdbaMN!wc+Chmnpc7pLv#EH_bu7!zQFDFc}kWE|7hY9I!E zuoX;o66l3Rqdr=BBguYVxGN%jt2eydLyvmiOeij{Jm5I$spkJiA}CS;FLhj;y`$+2 zQ-?Rci#-Ill1(Rd?^9kKZ*1;M=>fLnqI>|&n>O-T_37w&mTxY6>ANql^dL-1=gPa) zuR?AQh2`st$;w4X>-+j!1Oe2;^-T7u3Kkm3=86Dd1$)NF_jm}=7TfhaGmxCH2evmV zntf2rgmozt_f$@Z8bM?_c^T;t4`*W%iW#>uJ8`;g@Eu5y2>tx*J z*hib&CYy%_9$$+;@e^-4VvXqqicKzSfSd}vI+QzwJdv-cRR%Iwl-&js+UvypKF;X9 zC!SP9)^5yI4jXnuI97kYlD3$Yz9cuODu*cD=fE@c2!y?L;4!RNR*|xz$h1u#gbN!j zu3YTX7a^FAL$FSZRfh&sQRS^NCo?mu&t*Of_y?v*nycl@U$s3%Dngdn`SBUf>F#s4 zKN2iYwKgXz>aX?@itIKSHg}qLTegsxZdqMlRc@qnE*u8;6Gqu80}I6G?_W(*3N0}~ z2eHChEd@~Crw&JoRe}}#k0n2;&wRS*U`aN-B-c8G?zSwG zFxTwtRFZl?o)t@-OoFwrm9wv>w;|4JuE=?>StVSts6)SrH(3EtY2H}LV;SoB>n zr>nETbCI_iDk}fcBL2}O{$V`FbAR(Fc;@pLsX^rp`dhJ}j(94G{5^E0tN6OaSvRW$ zTGPCjPto@-&xRj~#+QTE-w=g$qkjFs{Ck{3eIQEIuR0sruOQG6Y1gvUb6qgb8x*2C z&qISGK$e;5Jr*!)uK<^3QlW3FMq7U2eV473!_yN$Vn~GgY$;WH8u_s?B%lw`*sA*@ zKwaR=K*U+g{4HDVL0^70s(W8y0k@auV9 zv<6|M^jG(X(w^kf4ArjrZ&`uHu0J!&L5E36zvt=2V!J4LG#b0wTH=%Ak1aaFL7Ck2 zS41Pg;)iK@V(*U(-bU?q*Xp_K5v$Uo4J{OLzcf_c!Iv2ZOQ;ZedG2FoU-8bKd&fTP z0;hRak4MMhan;;&spG~wi_RCl?Td+WN=3X<7%U26Da_OJdAIuFb}E{e1QUBrB*)gV zLM-H;bNc+JzLhMR7*%=<2nhx69%`-jO{-h=xN`W21wEsV+tn{P-)fAtbW4mFm$`sC zY&w@#$%7y>VtnFF*C&)l^nN zN=h41R)Jy@omO^+B5K7_Ay~B^9Pl}rzWRy+u|&X|lJdL6WL9Ek%FuXsi0XrM$;w-D zJCYIHi1*n>S!qL8NcS6s4YRtumFLwDX*~?YXu=OXT0%_K3HE6(ynXy%2bCEXYA#+` zUX>DSiA^cZxl)AqrUu3bwZYbn{gcKxE0XodKm4RpI)z!9Jj6!F!B!JrAbBIF0d99G zc3129RTp1Z_;F^_n43iPcFRPuCYi0v-_d<vxLp15=kG zd?*RrtgW`~d+{p#&6wjWthxx#MJB-bGm5LVnfht|CidU&H-|&Mhc&f{dEYw}tPTL= z(`LF*G-Sjb*f}{=6G?MM;@2v8#-D9w0u3vdge;=FDC)3zai*t=dQuCGn;H@gzg?E|#x=aAiN_ZqSK6JbG;;JXHj27$Mi4E9?rMhEtsMB!dnn{0bzlD~tFJYw z5FOi2vHP(@g3@kgnH_=vM2;!MOMu`^HFM#lxZtG~kOu>G_kWy`KE63b-#HL$bp6a< zy~yk$xGC{lWbnS+8n5hy-Y>iQ3Z@yCO3^rf#`ff1smwLAb!F1qS#fc>Hk8kJLo`+~ zKK+ib0R}CV2yUn+{K#SR%=BKZ9|M+0B?(;Bhkuyv%M?ha8WN-t0e8< z8oY-{6xgAJ3?NM~RagJ1NOBBsD9qHyOrJ*PN%fc#eC@LCzQ5mZ&^BkqNX$wJcF(-J zugK?9&}&;(V-qAAMiVE5Xl!c9B6AIKyuM&rZgrDJyRm8g9lXe==6xz*2FvQPY=SKil&^nVb(?!!=nm zqrx##VF4VgNOkYPm*f2fZpVsnIW`GS#s~o(SpS{%aWXr=Q@*&Tx4#m-=VSljoc~4L z2(J!ROUjB{2)LH1KkLg|UOQ&AxX63zp>5aX4*fXA7E>5#$m6NN_AOrv+y?2#ySA9? zR`az|oGS`ks;#WYnK$55;A3kr2+gIRA7N3gP(7oExIYpul5m6yjTYL{{3TL{g{t^RW-NtLe&%jGICqX%s$sJJDmcMYVaD1!5gA*^zy9?tA5 z*zo0`8{XnRGH0BSA_U0B6MEzV-z#x2DHlk#%v34b7-6Myy`Uk&h!hHu#ae3v6Z;Bj- zf>Kf@iS^F!XVpSe(Okt9Wgo@n$}7DOw>bJUerH;3?M9ef!Q~(Hi;v%>UnnEo&oRC) zivh&7#$;krA>97~h?x_YNrn)<>I_IC7?OoVaaJ<6VR0m#S}2S3nc)Mj8N9@K z;=X;Fxf*(DeL;cvEmYC4A|D~s-n5;L+3h!93zbhd6QKuYi}TLwVRR#NBm;6lswQ%DBLeA z$zyp9wr#ShIa83#Fn5Iy_f5+LGbbqzge`;s?m4|}YAQdDeWY$`8dFi=&mVeGxdm2* z*0rRH3Sf})(Erw?cu*HVc%#itkJSW3PvrI`d2E_AFqZrI`AaG`iO|S^Tacmy;}oqo z&x(8-Wu!6#Roi`lZX^HrGljRoy#q9SCz7zMLWlrYZmqWBnP=65=?@`%-tLd&td>m2 zox)Ht?39ljYA)k8-B^>#J*GkIT-rAu6ZYM|NH3nHu7?gju)!08ME=Uj^t36-bOUQ@m{WnBY;@_KxDDvwsNy~RyD`DxS zxlcN^)L-?avZn?Ucpcg238zlw(Q5u%fc~$2si!pte_`G~TXB|r$P9cva?=yDBh5vG zH^4phwEWYr;xTP6&(CBOdf(elDc%6yr4yUm$-WOW9S4d66*;}~rWbS8uZm5jYt3J< zDY)+|+x+0J_>{(tSo(UiS{UF}Q=H*oo82O^$ootpIhMc=gAGwLJQJr~v1Ui|)nvQ0 zn2m3NCd6$LJNFhm_D&jev>s6_OpmnR&4Rc@)tgqI{M^Bu6;MrhOQzT&vluBgsNC&> z#b>TZvxPT+a%-jg%B7i>SV#9;D{IN*rxdZy!x%MlKVU&7NK82V6L@ zv|HN#mE$nyJl4^oU=ns{#N*KHY|RkI{K>N(kig1l=;jvO8G5RtA zz|EIhogE(sOZjE?JbpeM&oWFHtwkI=L}fQ6O*yW!j=)ad8B<$fn#jvCsTD#JO#4CN z^Qn=h9j?)D3(GG5@i(~%txK6gNL?f(;@Gdi{cq?FMRn}O@M=S)hL~H#(x<+*3F-Zs zqubx)LG(C5PdNP{HqW1XVwdKl6_X_xVA)KtRX$)sokFCz!Ksd@4G*!xs=QKM69ojnYx|{ADov7r79H#H>21-;K_Yl?FjofTG)2rh7QVS+YfzM8VMQL z5ysUdW*b$MZ0GVkg^W=MQ50t0)k!+%TTwrS27ClXbvOmKXPl-6OATMSoW{Ma0^PAx zVR3=*42N84xR#aZQ$+6BCohc`8y{YYFvrFO$y!QAz<;{lw}FMxhFdzVA4FhHMy<0} ztv?(s6kyz;x|{U-H#5e`1rt?b^5#C|8)gjB!`b<5`xfRLN28-s4@;X7lwGh+&|Gu< za)R42OH6HV9yX4N=axo$V+=609yfGn+J)%-dVJ5j1{IA zwTb?x?+!6sqs?)&2%#1)yfv<>zp2bIb{dQpGFaA-aKii6O3A2h4OZ1ggH@QR%-s6J zE-Bl|w!Au?RUW7B%rxd3BGy_6(Jm(pN(!OTQ-qlQFiAAdPkIF7qo#`yuQZS!eW7wFA_5wIljOsRrxM-xgDvlY@24kHpwC{=W>_c&}8T-|#h zai4yu=36epsKETSu z%%q+!(h+(&LABVkOIdF6TAQDf-tFPtgZV8QG97QCl@H{P;h;yI}4A@9NJA+sK} zB!VH$rUY=wFyu-o+m*xKhOe_U(7(05>(?sw7n~42i`^!}% z{|}t)X{zUSfjGQ6mkK9>*?cgf3X9)#bu(*o5e4i0-s@~0V|--by~D~MDLYNoi$>4F zJ-8M4AhY4tOuAH8W%M_79KNKaG)c!(UnlQ|l>Sc@*B;OG|9`DvE^AWc(oim8DCRcT zqL@qOl956(xffgRDtBog#>^#}OYZkO5y~yMTyh(^Yi@H%p$p09H}(B|zn|Y9d+hao zy!Za^efB)h^E}V9eY2*-%!LnQ4$!imPp76v(iYOt*VqO6FmB~Wi`c!D#66}iJ0`Xn^}{WzC`V@ax@v5B$!=ysua0{a}d?Fsq-9pbuZ zRuB`9R`)u)Tej~pGunA8j!W#p$mh~D4$IhUlLn`OTjh_Nk>vt9PSdvx!PxG`y4OBr z2cfR<$s)n<6~^=gBVB`by|3)7+07Brq9U@hoE5Tqg9}|Wt5ibqJ$GA+*iH5M7tzeO zM~K#k8H#Vm8rzxLwSxGMm&P#`fM)hX$U^PI#fE`cv8Kv?d3kI2)ANi@44>sDFpBN` zJfw<&BmrFkEkjXbyP_w{QnlvZVty;D8UdEdA6ZT>*}dlJ?i2Y?dn(DU1522@{kWEK z+^i}`ZwXTy*JK*W2+;`G3E3mvAX$r8UExTwxN7fPxbWo78~0y`buvuX#IdqkwV(aU zb2QL|hsN{*yb*=kASlg$KiFSs_8#(!z4m#3>I0I$cyqc-1=0~AddPT)UcPCOMMvMwIZwV;n7|I)iO__^$& z`Hu0vPIw+S%-rsvOhY5aeqwDWJ0dP7^Glc3%?ce4Y`CL`blpPjEB?v6)9;rT>xl;Q%+)#0zt-pz?V%x^gpF)=c z(=XZ9ybKu88!7~1)pA;=2IPN90hc@B`rY~P_!KCWLLxdLF(o%5!<39FGSc1&ay+!i zcGU;Vh-W+nNH;u;Z`v)>9H4E2!@{6p;QXT=aO~TtL;Y<3{in;vLz1H}zVSefN?LPh zeV&V2PDZ&fnpGUH)Q9@g1~uT$V@>M?WQEY{aM;NcO79_hRK`%hgIAV3cZyo`bmDBa zqKlHG8q4z+_EPVRU%U{$bJYrX5Wl%X$PDyScyKPMtW5fo178wSt@50YbiU9GD4iky z2cG?&kYTt)Uot}ipxcfuT98bQ9jv{R+m$Tq$sjc{F*-?_UccV1*oVJnSc7fl6W<>R zyH#antnYO0!#l2SXe!O!tKp)3pFW=mLWQ=0^lh|BsMn&msmxzD_i?Ae9XLc#*@9{SP^*MX@6|SV5>LA)KFfQ>b#O` zf>AK78@?jQvL*!GxzgI(3CDi{I z2awl>@JtN!Ndld_(Qjum{Qmco|F6IBKTq%ehs7cK>0K+w^)QP}cm6yMMRg-Q<#~0( zNu*K!yEvwM9I4!o>k*3YCf-GIkGgD#Sw_)I@RzUURqxgV4U{(gy{WyQ;16}XTRj{0 z>eAmB+=>hlC2dfa(UT>&G^$v;4xLlH&u#`3b))KJ!A0 z#41D47h#Dxb8n{pV0tHHZsd{yfhFI65p8m41um~Rfen`LQWr#0^}(DS7FN7Tlh9Km zng{#Tb-b`Yq(xayJc9%joYCOfDVJLv2w63|!Pw#M>6tCitYK_Am{~9_CrVyXUoPwN z(C9XCz(k5l2>v+CKxx*BCZS%K8%~L?AozqbRLY7TSd8|R8hra6d#na*wfQXc`lW(h zg{i1GNx#4JSr9$Y^6}x)G}uB5&T@hn8kkW?JJitvzf^Tkw=YV#^W=JHnFdSgh4eOo zyT|&_;Ahi5U1t#!ALfPZUHGC=_byQ7dP|oY)a{(!ydV9n__AMB@2c5_5B7JWacYM* z5SJ*WGgCc9AlHPa5Q58Co!(NapD9OD(DPRvz_D9f^TmF0Jh#bn*wD~T(>gXQwB zh1^%yzxi_|sYF*}KQ*ixpI!7+qnrHJ^%>pZ*-xf>V6rQoe1q2Hu=FtIn%zgv$a4gb zGRT$0wE#ECsxS(EJx=)OF5LvChLDD9 zQ%W{=^9V}5kAS zV8^l)H3k^>rBvU+!nUmE+3KHti1Qb&#dG(I#c|fad;NE9;%89)GL7SiQrcVnwW~Qp%UotF!|_d+CVFPg5sn3n{v#^s zI@9e1|M-9}_`MaQZ(06^JO!_60-)zk2~_@L9h#+6q2Jq*Mhd&Isp?LISHPoAwzvRG$y4)`{^%dV&C}(ldek&hdTe=+#sSa2$U$*yqYc;J4A#`~VbXvt8+S~%IG`%vmz;i(G6~LnZBsqK>EL4~{A?7r7|Q?p z;p3XDaTCnj(aJ_CUEY9GEyYUTg)JFF!qo^H%B$FnT*qomx*oMwfg8+W{cX{{&bnON z$gv{Uq>*^9^5vPTU?%~&8jkY4~Uw!P(RwJ9bAi`N1X zjgze!nqodSC+1i{l|a3ZE*~&q)bbYSDSIjZh1IqP~;rZ_x!*WIw&DxTxSIs@T$XE#u}LnMS_loU_!W z^I7Vr(rdwu5HOZPmUR{Bx`INH(`(a0JDMXjSO!3df_HWd%q-B+!rCXmV`UQBQ^!bE zREg=ZRo5Lr>-AXE*d?@y-J*A~XSaQdC>y+lqYp0if+e2&Q8OVBJ%Kwv#TS!eDg6tL ze5{t5ZdiO9F>T1dS0&LBoAr~pyH7!B`ieaj{nGE^#**qX_82Yw*j``#l!=jaq$W;F zz(xDM`(ww_%f*81m8Jui7eChIO6et)`QPO-wbfevpYZ#q@Uk%ssm`(r9AkER%5GIsbS|^6?gv%4B@Y`Rw#Z+VJ%p&6Dc{fBuD4BQFyIwM)D0zioI+(E+m}i+|WgD?kd}^LU#wDqi|yCm17V&!_l#) zc6P=H5G6G(`jpvu;p6SRLNR)ooRQRZgNlO&n(@M|GChs8k54fpV!`N@%Hj$pu=zGp z;ho>4Pg|Ut6F1gUkn7bKo~(P-v&naWSWvp_Omp5;C$aMf znZew9(AB#~$EU|`@$)fCjI|Dr=m`$Seae%#eq6<;dkdPFLDb(2c`kKHG^xgg=WHnK zfUA@8omnp{R)*6OGsycvY^D}={sLSk%=GktP&`QCUxwEs&WcU_AIg9)j$oB5!j)jc z;P?B;7)I1T0@Z&an^cFUopO(W#YCI$wYJr*QpZ@+>YwV<6}-$1@1}gJUpc6B2JGX# z6REnrEwKZ2<#sj(9Y(x;col(lnwV?c^3%5F9^Oh@_*GvhVK#fN)U{n!w7zA~I$&HG zUUN5@Y)%P?jhnBh&G^xcdzOjHPL5tVUO4?7Cq~Gx;tO9e2}v<6B4jU-107q#gp89S zQVt{{ZMWd!*@)4e8qyr-V7Us%ud9YQOZc@{U`Xi9Z@`N=I9qSJA2Tk0Lqn-Pe1ZEC z+%f+kc<#z@_OoJct9J}4EvvABjGzn8an&80HECs;iDG_(#yfA(;2}NM?$%ZTj`~cN zjsjdir-;v7lf(-9sWoj$F&^0tuBPO_s3&ff@tw2{Z=|_1Ile&{A-iP_(JHI48Pmv0;1m5Z*=UtDB2@^I? z=mEUXr921ThajmIo1(IM)!}FF_s)B-5L4H)1ucu=&tDA*P+lzcxH)H1-$m={`ccQ% zDb*XBSv|%H44!iRNWn}t*2-r+lhilkYZ6ut_ueADN)0z1pm|WftNn%V(lwn8*UyI< ztz8k}SSWcJi$x5oKe)-mv+b{GfaH(Hc-k6|rWSJHDje@K;ksSm&ym3ZMzcb+1;+>! zQ)->0&fu?T>)gA|MVt;YwW@(9MDfPui)gr1c4*SNRxG~7!2t|oxO`8T9&kh@=Un_9 z)abyL)@5XiZ_lMo=m?dCMOrQvwY!b_JZ-l#5^GR%{%KZ_6gX#v5R6``ho3r!c-&5= z1a!713K1k{ozV!8Z(*r@$50_x)YcNygkCF*e_K+_faajxDYxp&v*4|na1F7;hHbAtWRfOS@!W>DiF9H{kpDeZ145sdBW2YQ;? zA8$#tp!4sN3C!i<#7h9y=mjoRr6}`bjzw{FiJ@+P&5yTU{CD>vwMg6PEM?k!vThcX zhs6HCdazA11xv|)gi1E4z%Sf%j)lOHFUo8d?uz4S(icLEVaBgUr;2&Ul$-YHcNm_V;YFPF zzI|BhznwGm5-!othevVxj*#Cw=%;7E|LY)v)nt@C{en}V0AFOpJSm!P*eMeFTLKGC&zT+{Ip0XCi zHuC-x#wC3gE!K7rGafS8VCeF~u>Pf-gNo=PRdLkHi1Eb*5$*V{xEt7dp*2;?aD1VD zo+BxGM9A;7Btb^>T+Q*Hj7|IrpxL2BNlx^PFh)z;*OW zoNOC0wp5L1e-Xwr)kKE8u0^=r82OG7e@}2N0QZ4zx0SU!Y)78;1YL%`Pt|c2b>Yoy zF=187Lps~s)G>MN4*5_#H1X~}YmC0n8I;CxeSRBJgTGED-e>;IBKS4S;#_gcaJ3F+ zZ^0aG)WS^<=U;kH8_1=V64o=vTi6xurJo4e5P0CNU#N{M)=SBinhO^igPjvffXstSDW!0d& zPH)`wBSOqQgCdKpCv~l`amLzej(Dk17yh>?+aMlC<+wL$xJNKj=2FmP7JkX)OkPjT z>gZgA-5D5i)#bb8_FIo-U7u>X74;BWszgC?mIX}A* zx_Oh>ST|E8N(|t$_RPaY26C;P@-~hn+ZA47-xs2S@eQ>peN-IgH$C7qn6$eK3nlTfDz<8 zi}Xd_59zoF^f`FYz7fG?tgVZrEz8`OhQ3S>x>pVk6-;l5z!BecUb;f)j`K19Jjpmb z5AACfp2DhJD80O8lhXtsVDaS$yyS@-hm#X39{E3pbneMWU;ZM$2cgs92kFg4oyma4 W*94WjI9__jfT~2vQYG^55B~@LV)k(W literal 0 HcmV?d00001 diff --git a/site/file/source/galerie/space/mini_nebula.jpg b/site/file/source/galerie/space/mini_nebula.jpg new file mode 100644 index 0000000000000000000000000000000000000000..028d4b4ad7499f2048beece4b897167ea0626877 GIT binary patch literal 22017 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 literal 0 HcmV?d00001 From 027e75dd7e614ae471011f59b018dc789cf3ed5b Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Tue, 22 Sep 2020 19:20:35 +0200 Subject: [PATCH 182/194] bug edit galeri nom vide --- module/gallery/gallery.php | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/module/gallery/gallery.php b/module/gallery/gallery.php index 323f3572..cd7b5764 100644 --- a/module/gallery/gallery.php +++ b/module/gallery/gallery.php @@ -253,7 +253,7 @@ class gallery extends common { break; } } - if ( $this->getInput('galleryEditName') ) { + if ( $this->getInput('galleryConfigName') ) { $this->setData(['module', $this->getUrl(0), $galleryId, [ 'config' => [ 'name' => $this->getInput('galleryConfigName'), @@ -352,7 +352,7 @@ class gallery extends common { // Soumission du formulaire if($this->isPost()) { // Si l'id a changée - $galleryId = $this->getInput('galleryEditName', helper::FILTER_ID, true); + $galleryId = !empty($this->getInput('galleryEditName')) ? $this->getInput('galleryEditName', helper::FILTER_ID, true) : $this->getUrl(2); if($galleryId !== $this->getUrl(2)) { // Incrémente le nouvel id de la galerie $galleryId = helper::increment($galleryId, $this->getData(['module', $this->getUrl(0)])); @@ -376,20 +376,22 @@ class gallery extends common { $homePicture = $d[0]; } // Sauvegarder - $this->setData(['module', $this->getUrl(0), $galleryId, [ - 'config' => [ - 'name' => $this->getInput('galleryEditName', helper::FILTER_STRING_SHORT, true), - 'directory' => $this->getInput('galleryEditDirectory', helper::FILTER_STRING_SHORT, true), - 'homePicture' => $homePicture, - // pas de positions, on active le tri alpha - 'sort' => $this->getInput('galleryEditSort'), - 'position' => $this->getData(['module', $this->getUrl(0), $galleryId,'config','positions']) === null ? count($this->getData(['module',$this->getUrl(0)]))-1 : $this->getData(['module', $this->getUrl(0), $galleryId,'config','positions']), - 'fullScreen' => $this->getInput('galleryEditFullscreen', helper::FILTER_BOOLEAN) + if ($this->getInput('galleryEditName')) { + $this->setData(['module', $this->getUrl(0), $galleryId, [ + 'config' => [ + 'name' => $this->getInput('galleryEditName', helper::FILTER_STRING_SHORT, true), + 'directory' => $this->getInput('galleryEditDirectory', helper::FILTER_STRING_SHORT, true), + 'homePicture' => $homePicture, + // pas de positions, on active le tri alpha + 'sort' => $this->getInput('galleryEditSort'), + 'position' => $this->getData(['module', $this->getUrl(0), $galleryId,'config','positions']) === null ? count($this->getData(['module',$this->getUrl(0)]))-1 : $this->getData(['module', $this->getUrl(0), $galleryId,'config','positions']), + 'fullScreen' => $this->getInput('galleryEditFullscreen', helper::FILTER_BOOLEAN) - ], - 'legend' => $legends, - 'positions' => empty($oldPositions) ? $this->getdata(['module', $this->getUrl(0), $galleryId, 'positions']) : $oldPositions - ]]); + ], + 'legend' => $legends, + 'positions' => empty($oldPositions) ? $this->getdata(['module', $this->getUrl(0), $galleryId, 'positions']) : $oldPositions + ]]); + } // Valeurs en sortie $this->addOutput([ 'redirect' => helper::baseUrl() . $this->getUrl(0) . '/edit/' . $galleryId . '/' . $_SESSION['csrf'] , From 2aa777fac2f6d4965722b898576a08811aab6d62 Mon Sep 17 00:00:00 2001 From: Fred <23246457+fredtempez@users.noreply.github.com> Date: Wed, 23 Sep 2020 06:53:04 +0200 Subject: [PATCH 183/194] Delete mini_cosmos.jpg --- site/file/source/galerie/space/mini_cosmos.jpg | Bin 24421 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 site/file/source/galerie/space/mini_cosmos.jpg diff --git a/site/file/source/galerie/space/mini_cosmos.jpg b/site/file/source/galerie/space/mini_cosmos.jpg deleted file mode 100644 index bc3828981a89ef6a5a9b37e88044127c25c4e192..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24421 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 Date: Wed, 23 Sep 2020 06:53:10 +0200 Subject: [PATCH 184/194] Delete mini_nebula.jpg --- site/file/source/galerie/space/mini_nebula.jpg | Bin 22017 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 site/file/source/galerie/space/mini_nebula.jpg diff --git a/site/file/source/galerie/space/mini_nebula.jpg b/site/file/source/galerie/space/mini_nebula.jpg deleted file mode 100644 index 028d4b4ad7499f2048beece4b897167ea0626877..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22017 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 From d1bde29a81e21e1d24c306b5a44545ef95a3e6a4 Mon Sep 17 00:00:00 2001 From: Fred <23246457+fredtempez@users.noreply.github.com> Date: Wed, 23 Sep 2020 06:53:18 +0200 Subject: [PATCH 185/194] Delete mini_earth.jpg --- site/file/source/galerie/space/mini_earth.jpg | Bin 23735 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 site/file/source/galerie/space/mini_earth.jpg diff --git a/site/file/source/galerie/space/mini_earth.jpg b/site/file/source/galerie/space/mini_earth.jpg deleted file mode 100644 index 2b30b7e28377e1cf8a557e9dd78efb63abc3e10b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23735 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 W*94WjI9__jfT~2vQYG^55B~@LV)k(W From 42fd1dd8429c4dec14b2148d7f09984da6640571 Mon Sep 17 00:00:00 2001 From: Fred <23246457+fredtempez@users.noreply.github.com> Date: Wed, 23 Sep 2020 06:54:55 +0200 Subject: [PATCH 186/194] Add files via upload --- site/file/thumb/galerie/space/mini_cosmos.jpg | Bin 0 -> 24421 bytes site/file/thumb/galerie/space/mini_earth.jpg | Bin 0 -> 23735 bytes site/file/thumb/galerie/space/mini_nebula.jpg | Bin 0 -> 22017 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 site/file/thumb/galerie/space/mini_cosmos.jpg create mode 100644 site/file/thumb/galerie/space/mini_earth.jpg create mode 100644 site/file/thumb/galerie/space/mini_nebula.jpg diff --git a/site/file/thumb/galerie/space/mini_cosmos.jpg b/site/file/thumb/galerie/space/mini_cosmos.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bc3828981a89ef6a5a9b37e88044127c25c4e192 GIT binary patch literal 24421 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 W*94WjI9__jfT~2vQYG^55B~@LV)k(W literal 0 HcmV?d00001 diff --git a/site/file/thumb/galerie/space/mini_nebula.jpg b/site/file/thumb/galerie/space/mini_nebula.jpg new file mode 100644 index 0000000000000000000000000000000000000000..028d4b4ad7499f2048beece4b897167ea0626877 GIT binary patch literal 22017 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 literal 0 HcmV?d00001 From 27e282245c452e20339eea11a47dec18333d52b6 Mon Sep 17 00:00:00 2001 From: Fred <23246457+fredtempez@users.noreply.github.com> Date: Wed, 23 Sep 2020 06:55:32 +0200 Subject: [PATCH 187/194] Delete mini_cosmos.jpg --- site/file/thumb/galerie/space/mini_cosmos.jpg | Bin 24421 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 site/file/thumb/galerie/space/mini_cosmos.jpg diff --git a/site/file/thumb/galerie/space/mini_cosmos.jpg b/site/file/thumb/galerie/space/mini_cosmos.jpg deleted file mode 100644 index bc3828981a89ef6a5a9b37e88044127c25c4e192..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24421 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 Date: Wed, 23 Sep 2020 06:55:38 +0200 Subject: [PATCH 188/194] Delete mini_earth.jpg --- site/file/thumb/galerie/space/mini_earth.jpg | Bin 23735 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 site/file/thumb/galerie/space/mini_earth.jpg diff --git a/site/file/thumb/galerie/space/mini_earth.jpg b/site/file/thumb/galerie/space/mini_earth.jpg deleted file mode 100644 index 2b30b7e28377e1cf8a557e9dd78efb63abc3e10b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23735 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 W*94WjI9__jfT~2vQYG^55B~@LV)k(W From 582ebe26501c451c2ade4a36ed7631b51a82e40b Mon Sep 17 00:00:00 2001 From: Fred <23246457+fredtempez@users.noreply.github.com> Date: Wed, 23 Sep 2020 06:55:45 +0200 Subject: [PATCH 189/194] Delete mini_nebula.jpg --- site/file/thumb/galerie/space/mini_nebula.jpg | Bin 22017 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 site/file/thumb/galerie/space/mini_nebula.jpg diff --git a/site/file/thumb/galerie/space/mini_nebula.jpg b/site/file/thumb/galerie/space/mini_nebula.jpg deleted file mode 100644 index 028d4b4ad7499f2048beece4b897167ea0626877..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22017 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 From b308b5047632f0976d058957d369690613ee5d64 Mon Sep 17 00:00:00 2001 From: Fred <23246457+fredtempez@users.noreply.github.com> Date: Wed, 23 Sep 2020 06:56:10 +0200 Subject: [PATCH 190/194] Add files via upload --- site/file/thumb/galerie/space/mini_cosmos.jpg | Bin 0 -> 24421 bytes site/file/thumb/galerie/space/mini_earth.jpg | Bin 0 -> 23735 bytes site/file/thumb/galerie/space/mini_nebula.jpg | Bin 0 -> 22017 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 site/file/thumb/galerie/space/mini_cosmos.jpg create mode 100644 site/file/thumb/galerie/space/mini_earth.jpg create mode 100644 site/file/thumb/galerie/space/mini_nebula.jpg diff --git a/site/file/thumb/galerie/space/mini_cosmos.jpg b/site/file/thumb/galerie/space/mini_cosmos.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bc3828981a89ef6a5a9b37e88044127c25c4e192 GIT binary patch literal 24421 zcmbTdd00~U{|9 zc&9HWg+#z_#>5^v9CbV)8N)mtl|WBUH~29G>;Uw1bz!T4!TzwGNHO;I`Od)^En5(e~T%n+Zf`XJ;EbvOCGqZHtq$FFC7 zYA?8J3V=Zn2p9^{(Sbs>S7&O^15h&^b6cX9?wXJ&*m@?yky}`;hxKl3x1hb4!Z}4J z<>(vyv=)h4w_&55J>J3jmu=fgWS1Sk?)35X^A89O3;%6T#NK@|+Qo{CrypS@A5Te5 zOK0bvJe7C)%-Q^+;*!#`^W_&RF4u@9wRQCkS8m^Fy4!rOrS-p$pLBF~NoCzVivEGW zU%q<%X7K$7)yT(D^(W2e>6zKN`Gv2GOUwV_0s)Z!6W0GC`+wjv)8Ya{p%5tSUtAz? zs`h}GL3M12y5?RXuqfu5^^ROUgm+mXD0X?6^Yf z#}!_oeFfJEYtW&ktbUtw(DS(BUe>NzI0+rhNquXHY=I^Y@xNbj3lWL_x@(_Sv2E7u znYg%RyUm$Sz?b_-EkmjE_dN0IAVw8Gg$KRN8J8B{=f!>t;k)Dmv`1-M^bV%N9bIUq zlml~a+{#%^fUc_VJ4~|WZ--}+TY6nP!#Tde*V|>C>px~iGIrwIt?Yj@Kw3Zxd7^h8 z_*F1^%&o|nMSh^Ix+1F$Yh+LvBJy48bkYeTBRa?wqa8`aIdRyQ_V9>CPkSrP(83oi zT_$yK$qLhX*JJt<8Q7W>{~Pjg`f~rJ;9F*m*!bS}{EUL$Lavb)Qe7u;jUW2T|3c(S zmoyY(+ds{dSW6Yhj%2+gV;HW>A+7lnu#avkH|9>x@28*J>P0$wjZ>EU8DW|IIZl;F zsJr0)&Z+_@&nF^B)>5A>m@Vqar9|^k{=Zr2jZya^O*=;H+fd&G;9}$cGC@Q@ zn7ux*{<|J{E41LF*L%LxjX^GdszWK;dcVdHPRb)o3kY?t&c1*2QLThK?{3v3Rgh|fh- zmbQMY5m7Tj{=;cwcwx*w(WkFCnf9*9@p4<}^|UVOotrpW@1Q@PHtDBZ$R|E0U)o3M zB3$JV{(AE6;^GfrzJchcqmz|z!yj!E5D@-Wrdv`5xAN&tA`WS&ZQHnoi~VPg-oFi3 z$=&+tMqxgM&Ad41472a>g@k0H>3zn}Cv#fCy17$2{M@0g#ZoyO@&{jI|Fv#E5T^l0)@~23DQ} z+w$$J!2f$N^&9={Qm8&8YoQ_-e7Gzh*7BTSgAD#0k!babR2#CB0P5~^KZ`q!#KhF% zACe_;boBkkIJ*sJyPbh@sY2|!S6XIZTxI@T#FTp}YBT}*2N@={JM}<<8*sRZgJ0K9 z^5avx6MH=pmeuz(fj}aJH1BK*nn$#S({`A;7*!rg4<~{lYoTA}q{!8~CC$SgU*=!I5C{FwkfW@oB=m1o~6RaI%|lzLs;Q=2}$qrR)Eo*TqY- zdn6YWd$(_SUpTw=XvaNP<#p#+ALhML<&@J8;H4zeEWdaL4}mnuNuwM_c9#fo%b=@7^w|0`deE9gU#$D{6re`{`Ega zh(>AE$ZE+G?$@AEd{3*-hBhn`imsr*orWaAhNH4Zz1eTKhNk&*!z<;GqIBnvP*1>| z+&)?{OdL_YEIo;g+i(^)kNa9(?qrUzx3l&28pl5vICtLlO?Qf&YwHTj8~OY}99Bbx zZZV;``?3R){(9SH|0E?!QJ!}Td#;59lR(X8gnW8$=g=tDqh_g(5rZqfk1<*fwyg}v zK+qkl?A`HtZG%3>q{Q$9E-!ULeni*DKc*X};C{h>L+xQItwBn&8f4i4o0g9E zk2c%9ET;fD@bT}&#ZY7qo(6VtPwhOKMhR_30R9Q=2ifK z&zrVT`;uS}fx{*9?yDswfYF-gwo1i9m*=_wz^Tjraw$KE;!y&WguV!CwtCE4BYL3X z2K1Gl+Aw^QjE#?sh#5$cL}D-Jo5W~)5jkI4#Sb?j_Qy-~eg@w7D!1~)u zoLm31ib9o8bsaNCJL@P3s9s_?y0Ao^%X59k2a)EjRt&b8pBJ=Xgib-5!;Lp}y_gs# zwx*geDPRseCvBqBA?Fz&{lM_tm-MURDVmX&e&Cee+M*66Xl(GT*@wcK;|`w~Jx_D= zlsWk7bKyN}rGWAWQ2DrG&kx`gb)t*Zkh1Al8^&g;UKdd_U-uvGA9r07nIc$yopT&L zp`b*``vEuvpQ190U*{@{C~$@2#)aPYMlW~RftcxEP~^|}@f}1taL=v*@%JYmirfkh zSU5l|NNz@7YXz(vcg<^PBzs=+W_`6_Q$nwTqHEw=|*X; z7dNx#H|FRP`M%lvDEd;*KaQk^tI6Xm?=@?#%nnJ&AY22oH{)@1bP zy&~MN?@r_6`jO(-CZQ97ZpT-2HUSqB$=zs^BL*s-cB%=R*nA~ru3Ie(CUsGkLn2{V zyLcc`1|+XG^)E7mjy|N2q}R9e86<==I9apYr}xEam#o(jq*RFZ*!m$SU%!Yn`^yJo zlDHFesbr(-o*Ou=iUZeocU72@#{8g`UgU1+?qEMqK(X+|a15d<)g8Y#<=(qtGQdBr z@zZ7XrPcw%z=K;V{)0Y$+=6WM;&2>k!5P@*-#ro75T4V_EbMP)h7`V5+yY5)22__h zwS>eWiKV0}Xxn5^8PV`4j_3dnn{ot+%^sD-8l->`%_QiYP4!Ac_@1Q6XvDmOqwo8j zoXFo!y!UVGZu?}9gqnjE>Tvx0&sL=eqBx#uac;|VwH!yMe&_NIxlKSal}34zm~P{k z9Ay1_=qF^u-q6TB`^oefYg$D*1zeUaDq)Q}F6^x-WdQ=+w7T)TSY4U=Y6_Dl{?(0Ps(- z>jmN)?{jkp*rD?Vye~p_att0|!j~R`CANj6N}!_x%grr6O``K(OBmy`%9IqJGfCNLPPBp4D{O zY2-rE{nVpaMlXAAEPoraekhwu^|JZJ1-~KBYco~$X@{=27t~tM^FS!#0ZGHN+$k>~0vO`f~ltQY~ z)v@&Nek&@U*nxpC$S7&R`J@RXAXMYBN=~!RV`{1X2S7_EQ(~wc64jeA$}@TLE=S+3 z;y|QXyKL^ct?ssa2Y0%0+vL_w9Q*;|(rrK~6wUi~Jlb$}>2|vO zq1|*O&w2?lbIoZ*QymeL=qeNnXTQXo;bke9=_YOqYmAnj4vF8)Eaq0S6gf4c_QUWF zZddj`IxuibNYLxB?{;Xdf2`tv{~Y*$pY7t*_3lZnN7MM(bxG;Hs(#VKhB}faha_uA z>oPpiD!;e%A@426Z_pR{#U709BBYN6JSy`6J;!VAKVtdbFiBwfL4AlaD?@y!U`J%` zE_=$Jn8}`VZ|1+)1IczMH{tZqUE6V>6TogUIguhqAx>W>of8*)4ANUek0!ijIQlBH znt(oiT1weG_TG~7-`>)KKlZVwuI*37Lael-*k{ikj_&X+SC-WC67UP5C8>%x*FCmK zBf1ul)#NWn=ykJVyQc}CX2}P_Oht5VP`K#?JewRYy0AZp34p6uuc+Zj|!F30dr>d8K^vODK_}s}HU$0jc z6zrC+c1&eV#ZmW^^S=*o@nHrgm^1WHDs3^r-gTIeKd)>H@%IBh{00vu8{iV<4MX;)!K*+A9@t?au(u3I!+G^7?MD-2%>=Y=e0`pHhhc=(Pc+W^}nem-oWeWBKVk`c5 zu#}W35A`GFj`=Fe4Mp*&d5^i0Q5r8yS@mXrAz{U%iD+gMyhSxttK#)Z z8Qop}<3#FX0T@yWW7_4)6G^ptX=w{LMvS}#>6qfztBAJY$Vv$YnaH9V5X;c47Y)PF zIflkh@|j)q24N1dGOOgT6@y5uHK|rbLOu_GLEJS5-FalFnJ|AH*v{wd8)OvMp>3i1 z0B}XtLi5KqEIjxBSln;r^s-(!^g^@5tbC+t4GlJ6gaZc1#GxqMgJ z)u{dCA3)4K&(&*+^Ry1kA)2li7N-(1$97j?{}WgLJfJ1kj-iv@{yDw#*9a$`aBGqd zC=E&0sv41jGe>`uLa+rNJnAa5`@&+)gE0MPM+8YQ7zs90|HQaOBbS7C_u&I zhmIEGH;iqUHwhUJn4+YVJ(a-(`a@?a==Q(E#uxj5UVtV zct+RX&7>}YR!=-D#EL)^|8%tVY#kpK5>pQ)2Ye`G* zig2!rB%K$7TYo#+ZT)wf^#gAA3R}^U(sNCAvp1!g@ot!Ad~rVmr~265W%B4IJMrZp zm87WvTx{wBypz&^ln<2;N}nXUEiY8R5I~b1UK@uTZ5XUy7} zE5U^0$p$xCR9Gz9nzj3L8anhf@DE^~&vJ2&_&~j3P}AUdq`+!X+;t zHYJQOGPW}*#yBPZlZnJgLg^_KrAwre?FeTAX@tv9Q%g3I>(B;AcTu1*BI&z}RH^k` zbm_^HVu=*7P8ZV!_f-_5Lz^#2ZWH@&&WSrQYpy%E+V&7ba~w@#+AkNQ`@o?k{8X@y zYbag0@dr?T>wq~ik1Vw=0eb8ub{Gb1z6$DG^6=B7OeO}0^u5>#p#EhqO-v4P@rAF| zCr}tf*bID+cTdy!?{o%F;LLTIuLetfX&D)cBpu{vxuI`={z0IpxKdk_HsKG%*>Im@ zv`tcil#``*-FLX03>@z$ZZe2;hIAiL!UH{iE!sxxkyr&eJb`8&aS8dHT?#<{x$7qT z{epPIh5NyXPtF-y`N~m?q>qUz$2#e z8B-+sXI~W>bTq%k`hs(U@(XgI_G(<=tAVh(D48z~(#~uutZb-jF_mre*iXmutTV5y zO*w8klX7FND3`o?H>$nMPg~-HnHq&8|B2(f2--;f2#^MySH0p=Df*xmq~|&NUkC4B zklK;{c={0kYtKptd*z|YJ&m{N-$!{#Rh12^C0D#``F`%Fj2wx@_uVxQ>b%KS`VcU) zNhmrQ2T@cw74tHkybDpVyf4K5X|dhUgXLe`4lM>#srEgUPp@Mj(DRUZrS%-7>xFPl z5$JQae74p$tSE`H;*g9q+6EDMO@_Bitv(+&iutF@C1o|N@8_L()K2oz4uKDhO5|tC zKQ8%vi6{v9eB{j^!wvMcKhIjLQBu$E>;}@IW19u-zTsq>OX1fxl1H{S2^oYm=?~zh z_7g~=gw@+2?a1x&1Z#Q(EZF(IOXn`@o;$%h`FV9eZLbzIaGazxw;6zP96zxHg1p$RK z!vmXAy3(YH*Ow}Ob2#;3DLhHsJbVkAn=920+14eXHR=0zu&kIjp&!QA+= zCpS08WXWQ^bmmST(wl4qQrB5&nc2Az;rn!w-Apxy1G>~s^}XqgXv3voteMMM2z4s) zvJ?1fo2t%^*N+|%rmi?pcE_$dw{*g8-X+y9G2W2Wyco^cAjec^Firj!JCxPk2Eih# z%=IC)j?94G-Yb&Zrctcdah}gAfOyxS1pZv^JE6Zr4TN8g*w*$MTG}R`7ZY=FUuz_r zCWceg$Fy46ijyDYo>jaj@vC#4B?$VZTP8*R0LWql04jrEVpSEufuaboixGo9vwOy@ zg$Doz-~~w4B*$qiBp(D;x$z2)(8r#WgavhXH@ee-5{pAXDaNd@@YP+!$Bkr*5?%vz zO)kZ@rA>X^j(zZ?Qav0hSZO2Zuw-_?ce+sl!ic>_6WVs|Tg?tr$0)|4^$Jm$JXZL! zy7MQ{LwCF^&)0yUuW9AjT&Us;|5aRD8bCc)#&suz=(2A0l+7t;(G%`VK7p;iyG5@Z zqg-tQ{&_6uFORVz&rSHhHlS?FKfdwbVMTT9#Ap%6ocpSlPX8ZKgtITn0xlW2JrWDa z*|{wrNIqr6i_r-afyme)ca5%-JRl&uyvyQG!@Ci;Tz%4|SuLu%#ePu#@GjQIrQa_# z^6uFoUaQh$BUI-uy?!6=rPgnZ*LdGlbNkRJ;`O?g!o4@XeHcXcJUAePUs~*9?FRX{ zFkB0%I;}(ftzcomDNDnQBI0U>0x&3|YSlGUsY!(+F?V2OzBa}~$SR~ADi>sCC?+(e zD<+Gfpazo)0ts{Ya%8Y7|F&iPlfyM7r%}OPQnjDntD@~|3PN@#H0X<9Q8duMMf-we zrhB&xS~p=r)p3MLrs;t z_s8;m%<;W@c*$KR*PU{7eLb3D_#n494K1@GG$9e15cQkhA23V4A4(%K2BYRIVxAfK zAC*?2`8ih$yVB;A{TJGCoV9kYzFu>+u0?k&WVH5(B$vbGCS@VtzQ5LxLNge?F=g)2;qYjDACQn|JO_8JR;|P@}4Ld_|{>77%l8 zsbDt|y)JN3(?<+zVA;AvFJ%Tq^|HHp7qgkX+H~Ky%pXfe&Pz5kbJDEvoZ+&BxY;`M zzoHIXo+cY?>+6VOz$xwW8}t_J4WD=r>{ang;hx0pSGT0ExCY<%d8;fGPQ88TUa$45 z$Pfu&sTT>;f^?#wpg%$4?O+d4Z*6hP<8}?=&1v16VU$3ODT@aYF4Ta$;CduzcBNzs z!=QL(Dy?=#t8%ZwDg;7)MsgiG(v(#wo2&kiw(y0v-S~-Sb>}AF9r4v%%`M2w5-=4Q zNkN=kQ_P34cfjjvVRz9=jxHXyk4B{E=R4&JLrVmir;q4a`F_+;IxpO79?xMooicD? z8x&X%yccEf+a{cTjc+}16&6sGQg!Y95Dd-XC*vrUP_Z1)AZV`rN zyXDB`PU1do?2hu$(Qya$Cpq_@YsPCvR5!*~AyNH!9DyxKK`#Ttr%36?x0qL8Z3 zY!3Jz1IG{l!e=(1@K@dp+2BeIuDH)2a$}lCejOn}r6&@YIq56)cJ9pQfX)TJf48Pv zf`!@MW{=S9H#4plPwWyFr6CY@M-HkGS5iFPl;747JBbk)rdh#A(CcQO?C%k^>W|ey z(NsmcbdmNxQ}a#C4CK`Y8HK{=wnw1-U99H^ukvF9%L;;^ug1w!PD;y=jNFi;yJ62}@8ZHfm7Tk1FMe2W$Zl+RuY(Wh zj|R-wNyMZ9H}DPIlnwt{$(@OH}stZ!Wa@Dv~r7QK#3XZb^0H{X?2W7U!=QJz_y&~ zJN(684#%4Nw(e!P@Ral4*{h|dL+GAP=vj`>6eVgg>-X$+DH|?3>XJ1>6%+>Rx!X7$ zRnT25xY7!luf2SSq-RKU19eNH4zMt0Sl!=nf;}zEKLF7{Un{JzAZVWp@2lKdYy=Pb z<8gV!e~jy(k&2nDX_!^_LLK7qd!Q@BtlkXT3C=cs4`IgFniS~|8Ci^@M zh(b;li;Y!EzRb3iLQHEJb+U{_Sp#j>USG*cROF(i0PWVSa)|5`B3edC8Pa2f<$d@le7xlT7u33|unCxK*Ql*SwM{`b;bbq0Wpg?-4gs=88t!K4xDE2^7_IRdoI4AS%eM;vlF^ zGa0zz!(I-{-ycPiP5x8Bj@2$5n-|6sKG-LWDviS|V=7>%(~+uSi`J zXsL#>-uv6xMBN|?K{pdWe4FEs{cQ6_^wS@XF=HNB|3%h>WEJe}+w-!MoNMrpr zYDIa)rW+dMQPm>F?$y|QO-!Mz?FZm~rRUcx4=Sm?zij>!>6&B%oOoNGaKr^c%mdW7 z=IRn=kvdQ`TfOlTA>@8M(xd5<@WCmu>zmo4k>cWi#&%yk;vH=2JDpNH(Z$X@^0E`7 z#M=$f{7pf6?V&O^$ZDE|!L+qaDR^6QLQPh|s@iRC&|BNEH_=+D_#|sr&w~1&yN~(G$IP@{iAk$@fxu4j_o|9mOJd-2a&8f@^U^n=}FbHb= zU}RpsqCNYMg)KJTiuLNXV$1n=y6@nx*o4VA7YnYb;?!arvg1(9IDQ*bNEj4 zXiO2S$bWJ-W?_;71c$wEMRWO0rycw-xk30`KiFN2DL~aX{6c^IwkQMMT78~A$o%5F z_@WHg80|k&{8G?o5o=gPc;ZHI|F)d`DPAwhU#V;0H)1mTe4`1Q;0x7?mhngqzn8g)rL?r}@T!-Ht*5UB8Z1kT}ra zM+2ha1Om{eSq*gVf0OG_zw>~Rxl`G4KOQ*AqS~9&inaly4TOKrlbrjXL+7P^eYT`_ z%{U$}y@}A)C3g+}wfvZ(NMJ0%MMfsU>|S1a_!#-b^kmK+H*=S4r@#ryshRS}hk7QA z?^))Je|J&+BXL4B1%r=^Cjy?{J=2@1!2?&%Jz?6ix*^W!SQTkJa07y4FOfbKxh(gA zVmOZRplrCk7*esX`jq{0ER8mzG!nu~jO@jA3D`yiP(2j6`%;zKdM>Vjebg0;QDGGv zBcV~*CKCYs9 z>r%e3`gsguAdqCTqXJmEA6!)iq>`#2!sG3=96sviz+vv*mK1mF+ z8=EyWJb+Ps#Hig1EH+v^=!O|sa;QP%g@sx{?ZJ<}Hxc7{sk-jNU*y!+4edk7!`>Nc z6r^skp!dp5<-T+b24@l?+bHPtzS?c0DDT}Sj7te3s}OMvokr;qP=UMN!gB~Fn%Vu_ zupRZ?VIX8F@%HKV(88{C^Z;cO(aj!$PQ5(xreH@e$N&lWPpl$7SWUGa_Dqh$eRl|r z!yWN&!z6)vU2Mj@oeQPUBGuIn#HG}#s}}pV(Y$DS%Kj5~_{lK7reGAyH~h*;QP&|%XftUH{<$!S?S9mL$R=2SNh z#4YZBG+z~HR@7!H=JBlA{73Htyxhu$gUEGfh9Aeay%uj_^-_c8YEvgEoAi9}dh=re znHt|HUZy>$iWNWK;A8gm`_wJs(n!+@GL#-$j@g5RHxWX_{%RTB5+AAn&j;KDx2_Nc_)09$W(+L9W!hL_v!?s6RQ*vU_K;^%&Cz6FyJIu$Icnp4P?ua^Qh`nUuG<-^;}VM)65j5z0#DrIh< z5!`hh={b5exfSbH84wA%>HHz-flxHibMS3E^5L|v*RHNM);~yTz_tleOhKJ9Fp|l$ zJkqR3ifUh24h^!aJ2()+PaDbT2lWg^5CNqcCV@1J7L!Pmyktq}xnUJ{wo1qC_?UO2 zmFt2Sx-O&*Yn53KY7@rTAub@|Fn~*{)n~tvnM((NfLl?EndI+BILEA(>LN>Ip&X_# zloC_OQx#9pek!yL+d8wo*J3}m9|u2u9oUYIYA4Hghg3Eogpr{fOO}AF8SbYzeQI^GQ4k6LY-$_1vf5>NgBToUls z(svOa9>Fk_>gM~3MyndfFB`%cLC+Xe-L$$$Z%p9H(%-O+nqLd;K{=5k3hG1MJu`4y zN5{lcR^rmwQurx{+t&&VWIjYxugQ|?;ZHxC?|UO__$a$}TlwYOD`?CQU?AJ!7sEY% z=qloz40`S#)o)dY429?3Qm&e~{&MZi7t;H}TS508MFnn%zFys9zSgy*GLqq|@oy3G znXkat4{UsizBID(1RZnlm3F5Dd!8Su*U{o$266k?^WX6(Gl!hlGRS}$VWFOkRdA&T z9U^X5-6leFkQwY?=&xnbRDXA()R}V&$2Yn6FpziYKIrGKLD`Qho(p5`Cpbikk*aZJ zrz<3%VrcFgRoqEN=C(|+UiHt^+Dg3KlB=B^?ztF$MLnHu{v#e zkUZr4*X5A^=-q5=R`X2QJFSP=f1h<+v?JNrPximNj6Lkbl#|4LUDl7bd!Dm}-J7iw z7<^Mia*!ZtGacyXu3O>3Rb_HmomN(Lr-PmODGhcFuOI3<9*LF&%nEdsZ~~RAWta0b z?9(CQ^KZme$ zlacD74xI8SD1c&%g`ptYP|2tGPJ8u3qxj%csyH3*8%||_a2Z}VRl86J4g*^j5tu&X zU15!FWWyn6PUO4<1}KlC`!eaofDb=;S+9M1*mLXiR%Y&me0@2|GvGk9Fvergh0?+O ziQA1F-F?E^ewf?p zj_LY97alF~gU$9g((@zw%vT_q`N$Oal|5>WV+3sUmxi=4_)DxU~ zDGSwKAVGfwgr%H23nXJlgV_b_q*f{?3u8Udg(UT6m2i$iM_%lNo~z*{tH*Y3+GP6# zY*O6-vcH_KyES2567YLgfD`2Vp(HQF*8o94AG7B;*F2?xL9H zFVzwdt)qfCVYWlKWw{Zzavzk0#|U{KQP5xZM;|?rTXot(iJ`n)K0F>dN3Mzr$oy}H z;x=+YRDB+!RIX;9S+Nf(vmyM!8Z6gM>L@N=(d^v|N5)`D+8r498UOh-RCo$zdH*oS zG_tUmJFJ+Ogbn*aAvsA@Sb%Qd_0kP91TQ6f`dvB9Gvz#*rF9fn!yfQWLIybqn-HnQ z?L>Jr2=yt@r)9F3dLsQaeM1I1vT&{zeA7s8^>=&ZZ%SdxhdhT6%CO#8aUrGG(1S7F0QF~NWbB-E$#CrPPNdS**S#L(rOfDG#FXKt`HxBoMpL@f>~$H< ztJGaZyUf}BfExAr0ZZdMTSrVUZ?x>j;!N6TXo0RSFt-wK$`Mdtl>v7Ury{n04GK7$ z?)?m8u#LAYTFLTwcqRDa0U!xEU8I}--Ju8-r3V#==h`hupbM<_tQkJiobDCx8>v`PKf9;$V;dEf)zIS2A!w&nvbW%5&vSe;Hwf0Zfe;H(u z?G^Er2#tzIO*37&+N4{KQ7;Q z)u9Y+a$Z9-y5YZxCrqjK2b3Qql<=Cg3#I*|KlkMp^Rh~~27>)0H}#DpXV5$TG9iuY zuZE4%I`i!k<}_ntV?ieohjDqqb-)i`S^84EOOU_chOBbGug;IT+oO%!eS0J8?$yQ5 z*l%e5K3wGFk3RHT2WwYHl0>u5^%_PNicH*h`ZvX#ni%+6U9(|__32tx&`uTF`pM8c z!8it4ycm&H;y3}~w$C;Ert8qQB8Ia%^-&J2zGShhu>l2i#tlsHQr%2k>CacLh_^qq zjELQCv#-?gMP#F0J#@;`Al2&3NZv2`+xDgsp|`rW2}LfmT_&m!2cuZ-y}Dl_bw0gO zy{s@33a$!M&@UK`AV_>jKiQbK#&4{JJF^^V6gGhZZqIO38wEPEj#MW(nA7-sH%>dQ z>joW3{97e*moA21x`GAl<-fmO6_uja?`Yv_`UeFSnD7HDvi%q(gwJ65tsTKK+b1fi z^R89KbK*m?w=LFe?Y#99CfI2foTjB~EwK zLA=M40fhxpzT=a_PTB;AqAV_gd1=3+va3^+aih+4%K(N;=*vO>!+d1PQ(U>h8GW26 z*XlV`n>XBRy>X-6A-n$y(0bO-WsyzgscF_*Dh_{)DbtINkUA z`1VgHbWspa;m{EEK+rnEEz-d>!kv8FuN)2^Zuj3*SyGsrfB2m?vQlDfTkdhGfj~$K zq7qyNYI1vWU}J%s`1Wgd=&QcG&m-(~%0Istq;=AjaiW@+Tr*W`?R252WVU^@oUX^- zABb~&j;6lYSwMVT)F9FgN*LHEp2dYH?}@zml|wStY8)gxKK?%Nn8+7?Q>@#E*NaEF zFOG2oEDd~M?lMi_WwB{!p<#1hSVm)8?F))+TZyJ=gdK-S5lgC~2G37!eLIqB1&Aec z5RbVpwobdekR)+c^mjZxWSy^G{@!vW;25}lsusK;nV9tNWzg9+`v9GvZO105hc_ot zvn2pDQs9ICw8rT7at4zt%69QdYKKAMyV!9;1ySuznxL5Pathky_a3r6_>5ULPzBmu zTW}<`)@e7m{HBBz!BBazoHRiDNhSIP@|1;@wyd8u{Sqlcoa z8+%Q5>;}}2-tQ9fQpC&im&?ub3bC(uB^)a^5;*mHJ`2@r9}56J!8}$%%eD)^Rm7j0 z?6J5?ub1V=B2R3D#&V4{F{T9m6vS6S!pQBYOR9Z8bsu5yVZ??y}G{9(McQg z+63rz`OiPJZ@Chlk77jyykPm9pHtXJGU@V0Ht+%uESK9&hm)Xm$K!G zD;;;E>}C!#rZHYk+NWs9V}biqFoNp>c=qz&Zp@9pa#|<=j+v`j`TW#kC+@^kek)o1 z=wpSX{+_)faD@WHzN#Cc2kSgB%G#^eP|FFaMmgwW zn6Kv4+Ii3~0y4vuYy8l$My2lh&)3?Q#&kqZNUbvQ>u~c*-i%Z6cTc&Ze8XUQw^E@` zG3LB+Cr|8r+>sa{1na@->;IPFK<&`XG)d_a3<_U#&WDU#QL6k!&;x3J~xNf<0(i2jU+6F)i-e!4;K6 zS1$JldF}%ei9Yu0c?#eVwjNs$a4d_JU--@+*!*mW5>iBkMfn+=ihO^upxBsG=f0?Z zgbp>cL@yv7<5j4U!xbsx7`|3TG+U|O&md3aDhl}@rB6>;bF3fT+?NialhoLX7<4lg zW_8N7sBakT6Jes+{R=)a3=D%nY!1%-opSCgUj0+u-1}}VIL~FqIy$?V0+ps$` z->H+#%OKQ$e)D-h7C9%q4#r5JxdP^3aWmb&`x8tdrc|xTVb~uYPRD(x<5UFI0<1DAdBbRe~l3Fn^!fFKEOY=77w%pCOD zo&FF%-4mVp86h;w3w~0_&l9!Tl6%uVnjY=jtzE)Pc<%a*G5;;y7af}q zgttZAC&@hnT+lW*5m)(1+sz5~ha7a36fD;LyQXT5vubwxGp!lttRQJ7D?++E3DzDo zFB^jDW;UCB+JVxolSgq6>YuG|`Go)O^Y#I6_FZ}3bXj*hCaJ^dTQEyNC65X$WHwGf znjD>p@6IiJa7DT5kvpq>yrMt|naO=8s!IM)QDv^{{hj_g)~-0m4^|s*-I3!~9hECP zkXr4-0Er)qa*HPePUeAFEeq&Ah$N_#(KZryGvLh49%8$Omiq`3C(1>&HK3`6i3%sVh}m%TQG0JZj!5`x0@Fo#=E` zxBM@AhmYNfhg(`^{l33hwMojnBI!@(Njd)V9+Kz##qhD@&?AoO++rED@>pnaz*&4a z%?p?=nB|wI!WzKOSI;zFqueJYFT_pZ~`!403*Y2?M#WV#*S- zRpjf)CL-`0>Q>AJIm7{uckfE?JoZH^|gCO)#3a-R-e_?~FD0m9D*XVPvkCIMk|{uT7Al zzA*Cz;I%vu-x&EbMyI)ftS0q3?2Q?;zz`x^CxdYt(6`letDqwns^4JrhSA4AT-&zD z@h3r(muFWkuy=bD(r*%#kq;|8M#axAr9WNgl+e}pB*kA|EqM9 z9hOi3ToZ-rV)waPG>QhGB$f5bhif`Wx0EmOdVlC$1M{^@SMwMBM`NK9< zzK?;Io7xTjAgtVhZB2gw8Sd+hHix?!(5;07-xx`36~=mwWb_)y(6MrVxU4WVb#RIk z5cEg-$qi@bYH4QH`pcmT$Ila`AYH%BAUAFoTa*!^>7S~C8w0*PZFsirs`(Dg&Q#;O zr+b3DVG?iCX3DtJA`N-owELKIAqn&%zZpr8eMN`u_A+iUmsZP{o|F3ZYHdXi@)KP{ zWuqnM&sf0sFb3PqUFSR=>VV_V8eGlkZuJcj9xnHFr;i+0+XT?RwaqOD`)Qt$d5`%m zUXL;$WnX+D1xL;x&B`=6oFTJU)#8J8>90CyYMv}WSGI#p! zgqrbkoD^KZb6@&loD*6Av#XSB*Q!BzFrzxYp7R%iWYW*eTJ&HYt+Tul*GR_AZ{#4F zsZ@Wh#SUmmm8x$+Z0kjG+-%~-oqtZ|KdxjO4KUelksczV%?8Ca8!U zeB#p{p{Wlct3>f;ZaJne6x0<|Vh@bDC24(|`jkXoFBPZoYesB3?$kb3G!gb0Wa*HUyycmY+BKY7t z>^JdGmq8)?N0o>RZBo+Li5-S(jPHlp;du9+_ASTtBdhQ!k!w>EOK>MUu7ElEw#}UM zF?qJsc?vEUSiQAu>4aEI7`r^+E^I|j-Gw4U_#0&XfY}Qlb}mokqBv#+bh%W-?5s^O z@Pj3itSi4CNe}rvc10+O}))to_jOoI$UjA z;F`H~`Fq~eKd%f20%!hv`=snC+%Yq z(F?czDxNHr2H2?ZQ{Qu5f)6;6t6dTIv)qWsn^-vZ$?8Zl8noi zdb|$(;zemQ#qf#_Vc0R^N$SJ5`-__b<}D|L)X!u4`378JoTGdI6XUh#?Vk;f8O=4P z2gbC{H$yHs-ibD~?L_kWaJA#LWRYgx>A=Ih!p_knhuL}zvT@ZEZj@-wUUdAJa44wg zup7V)_%tak{TIkuzZ{SsZ?x(2187v&2eZVmyNVuSu~WgToy=QibK^$FGp|SVFS|F_ z(epLpETd`Lt$*8&iNUCOb^e+QQ&UUo(7?$YZ(xjJWGm~D!3j|-7C~I2+|>3t-=NyL zqZuyuY-k9*A<9nyB6o8YEInLSqepRL&kTO(M>B5U_VcWN|6Buit=_8d>{7|)EbqKy z%{CCtr+M#ieckcxmifvC-1xE%(P?$(N~6<2X#9GOrY04{a2%$tF!pJr6|hj&UC&g| z9IyB;=U@VnX`k22=&_Nme;pC)1Axhy$jI0DzUKE)!b+qB8?Ey7D!y(S2 zMn$jj0t(kl6M@)5?$utJ-y<_d8?(CwUL>C-xi}+^kZ*F^A_1voOogMXp|hv^8S(GJ z%{Zqg!5J{C1`b3Eja(Yw+nl#X&5|X(zWpeIGI9FMk+~E#?TN0%dgTplR-NH%%PeCcsQNCjb2OF}$ z7f`MvCUf3!vUNAg21-I53ltAQ>eH<0B|#lB)gncX5)Si&>JW!T{*+b?fSCCQ>(!NY z)A5MMRFm=1F{FNh%=u5xC?kOG)m;l)>Sv!5Q1mj|w<(a@Zub-g>>wCtjZ{zf=`Ejh z_g|&^f03Mq`1%ZxZdBkV)fO{yprgE_d?Os3zf#N1QT#rxuI#jO^awlMS9|}gxN9wK zsOyR@JO9iHm0fwpbv`z*rOhu4ArN%uAvwQ4avpTxR)rnV?f$VK&;#Jt*WH(EUWUB8 zgm~Zq6GSr8H*Eg6a-_(*Ig6{@3d(0UOHk(8M!W2^oXulN_=W5ZErYP;>!&|;9)bcd zPloP#UiZGw0lPNMF(U_=DaMMq1aO{E+L&9+%6ji?>*rI!y0f(p;9V1%TAbTExJq%e zHM`#(M_;~4FbRplb$FDw?_^t=#YBcc){kEf-nH%bbU)Zh(iiN;y}kLp@IO0VwuU6a z|5Negng3MTVwkTw?7yxEY3M<%B|YqXvtrO%UZvMr8F6nnQ4M0CW^S?qy}ciH)hMZ} z71*o*s4K5G_u;`o3D5JUVFZt-JXs^(NDJ&ZN@@}fbl+uSx&uuE5;o}K+1;C(Vxl`-17Q!rguPOI8)Jl6de1Yyr{ zlxGffD-Gt%tyDcY? z-5>cpvgJ#(g&qBB7k=gDp~V=pVuNMWm+1YMxhjFIJAzuB%`{Dv8mJJ;mlYF2-s-)i zy!{#N7WIs7a5fRHUuOzpw_kMaW2!F}ZhO2iVhpaK0dxO|eC^hYHYxhHU*GWggFuqx z{delam-{SXw$@B*c6wx4Z%O^$;>s*DD_(y|Qv2nh^JJja=+T~v`kMxQeoy%`VO(|h z1q5&U4ae6WQgWGjb8#QG_r>SF;1h-pUgw->qEKme9+6@TH%OS9^{+RyCgg6hmz9Kv z?nzcMuK(<7jQ*IiQg!#Fn;(AT_yAXJOoEBX8d@VSl3s{Tj&@ub6V12G=6Sjq-LnC! z2OQrI_4AC{@%Lt@#xLs5!892@KjWjvc2~QFTDv>7WD+GaR3n&O5^5;-dDGeF)R8?p z5D6@cAVx}Ytp}KyA3m7b)2m7y<0rCINSPIKS71vDT9`}pS{9WvUCUV}Fr>dLR0mhi zzlZZMiut4v&t4#?5HTwl5CL)InxJ^UIx!YjK~J1%V*y#=#{dg_45bhBn+Q+zLkzeY zy7E9T+ZT+CUgvAOu{{7TGjhkPhVf|(!aEccc_JT~bfm)d3ce^nd?)FjN01W_2b->4 zuP5N4a~q`cN#wgHG_ndMo^`b1`2kc6Mw&)3HSe5!5xaTOUN-A~n)+u{Y>0NqBBa%5 zmP9XAKZgiKRjY+UN(F_Za)G3gOV~{_Q-Ea4}38p63^R zIqp>-VIPRe5G+VWH#pzr1jB!Ba4g@AAmaAnrj6$1ZX^`0^;<=1#50nU|6(@(t#G}o z+Q*uN#A!5!CudeK%}!kFhMi#F$}w2TojZ78PmqJ%4{uAqS#R&HTmrOZs_?mk_K72T zm=|&G)(^B#tzPN%(({w~!ju;==uSoDwI#Vk*5jVXXLFqvBrX(8J|-sXmH)=~P2UQOCG4QhXVA$-X2^L&gsS{-U44&Pa0QEsaK z-Y}LJGF|%iR!G*=3A;jAD1ErFgZ-m;!skL1m4UyxBzs>#%L% zBsb&9-rhfghOtfiOo1<5Xe`*!_Q^e`-w)5=hfitlv{HNHbWAcbsO5c@LR8DJ%q)C) z?&Q@EM|p)^Fm+|)_1|n|p7|52VW+=1x8K*7J)&^0+4W0kP{E`OB~f6UugR!@3Rb4E zH@|)DFnT|Ykj`u9UtGDtzPdDEE7czW5y83a1w7s3ky!)erW$_bNGnt}tQ5C6o8@OdN8=e0+&x_V@FqKn%m- z+Vv+c!&hbsq44`LjRH0SBp zvhP>O_uc2GgYYzMwMJ(=Z-t_zE1-M?ocRS>)90D+IH+*FeB#*j z{p66OUK5CEY8C6)#&U7{R8c+)h=rpix~3^pSKWM|Ejz0w+q9mt1@*cMlH13IR^J~H zsc|LBh;7l4I%<*mzJAn|8rm~(zBdi8F&d&|m3|lXRq6*T<+SS$7YItT=Y<@5GW79r zi`dtTamjQxy~F9r&*;d^DM9j9@Y6V(>{|{w=UZXft;nx|YJ^|1`gz$N47w*c7Pi@~ zy;(iA770g@lhyLQ)It#)fjuHDjL;=^=0wTgmiWFgrLz>CW(go8_x2$2Q3)SSS|z6w z@GL7v6lw}^{wLtFMftAtEsL!aHTq^MP~$-?ptqhLa5`O&-foKC#Q?SnKsZ>ZZgvOb zW+aIod}^2nH(|?w|T(vu<&q9optTt;i(UmD15x{Gg?5Wng%&l zo_FhTcssxw;S7B`g9k+?T;Fo}H&~7@IM>n%m~4QlW$q8zg2mRVZu9S2%_KY4j)#An z#_%M!y!khCRA1Nm1R7q_;nF+If_Uek;2n;8jQ#FvXmO*B4H1;KIQkq}{Jp-e_-(cr zJ-t3t>tdC4M|iSTf8X-7?z!!Eb+QI$!bb#2LfUrQ%Bnp?AWIObmz}pX8%!R(aQ;H~ z((3U3znVk%OHg(;)4YNc5H%7FD#)!}3Oo@h?BE^zzV&99-2rFM7YVtkFxJ7Vf9B%p zU({1>*g^j(vW-1RShQ-@`)R$ALHjy_;QVUE=Nxu~uR2%y@ygA{qk2QemG9fCJlphq zL%;ImuR-URg0xOleEIy*UUQ|cAbLyg;((P!YOCspctIv~<*)a-CUqhYJ77BLoy5Pa z`t17yd>6X+`xs{TKY>V12})kJ@yP#*tz{S1Kxg=Cb;RQ&X#~J#Jmjw;+L|wRcyfti z?Aq|9@fpGC&H#uY((w+RmA}*DDd0yG#Ft!Dh;ye73m~c^_^NR#|R}b#Kwn++hraa^fHbgcw z#M>R02HKymyNBCU2H-=9XC3s#EEYi+Qj?5@@psIRCp)8vlCW>LA#$ zl3WlgQ&(82pqmFLJfKAmI;)ecD?g8*SAj9^HkhBK7EdL$EIDJp~^UMkt9><5$g8k9&gW{AMi(VH$;#J#zQd&|6mX z7bM7sua$(_d;*CERWF}jT9ipLdJ6Q)iarmPI1EBQKDZLV6$&E0ZZu{#M#@*oCa9S} zi1L{>_I+LTv~y;}&bjZ1qYqDIxk^Ie06WsT(rjN%D8XP^_wKCw@4S%-uAY_eyRhzd zyKo(L9Hi2`k-hK!>NnA3`Vb3MJ66d+;}a@l>jzY=ZQ-?Iv5@YIp5xflhXpF5hw)oM zBR+l9=ka=CJHEref!C~OyQnekkuA{d^GpumN%|?x18PEyaBU0mv(G9=$wPu#t_FRs z6c>x4Z<>9uJY-EPZyI~jh)euL8@F(~L0DTGYIr(8(z4tEdtYoa8Cg5U)8#T$Az%QL zu4y+RG>HkHFU>vwv@J{p&JL(~yJrA$J=Ut9Et~aKB%9o3WpAsbaAye8Bnx*2U;@&jjNr$I~V?Dbwm>a zYa$xZ%R25xHknD!Na~`?I|b>;Vp(bRZO?0;VvO#yrbt)9xbGq)FwT>amFkO(0)-Z6 zZmUdhsIGX`j)BG75~f#QnxhxFtEZ87u8#?{5h;D%KZatUmSR9nfpGJbWvAz|t|KjX zXAn0~i6EW&gVRn$htP+w?LhXb?j^^j4HaW-aZ?pxOskT^T9;Z=bzl8qz1Z`U_LCqn zOYJqg(HRi?J~`I?9^(7la=W_NTg=2w74o65&l2p;;yR6E>j+Go%)-m+i{I|b0<}-} zw)>Q^)B9Buu3w$F+9kZ2SA;!pg)FeH-!-IQE10)_%Sl`GOF&KhlcYDIunaKuK@hN81cL96B-Qt4rSfN;Dcm#rAm-i z)}5t!e^7@)y~^*}U7Xpt#rU4h;FIm%bO8(2X-aeOC+>XlzhPPWo&eBeA}Z&qmQZNc zvmjU(Rn8)yv65*2%hed!ePlt>H=$xV3nDx*z)7RhUcV0Ykwjs#N+FKtxa&1Q^%fGq z7mJboDhA0m2!M{C2ZV_|2GSQLN)8h&f_qwuMt%LJdY!GWjsFE+5}vXA!Q7@<>bYws zy$(~1`o{A7g4ifjdBOIx!6DKC)I7b%WL&6`>}Wd3Rm( zW{aeOK=GZ#;Uv`W=j=m&nqJSZm1VCc)^2-kFhq)*eQi8a=^XbtM*Y)#d^;2aHM))& z;BgiAA1Sb0LE$MfV~_^irn=>G$Yyu^X7_U=>r-sL_!#Z6K;x-slNj4N$J%4n>6Y}^ zlS6`|vD1tH0^8FXpl36MgOFXZ>Y0sUX{8sM++1y*zVY&~9P0*j7o&qP4#YT|&PJlQ zBK9OEdzPx;w<}$5Xp?p@S*d4SKkY0G@O6LU@7|p@jfDd0WjW>$LxkjY=@8N&l<50V z#&q}l7dYxB)_9nz-&=JFsc3;UcqzKO^fgCk1801HR!%@qP_&Q5dPs+S^w0(2VUF~^ z@853WepxRvePEC+h}F1$BU$-lyCwEp&$g{@>DoBsdk6oih&7Pu=z!GNGp9m_DwP%8 z=-S@cCzZj;hSx=ml-)%%Seuh_{I^FcD^)rxy0z95SM0W(n9SzB()n>tKz19?=DJ5y z0wQU~SzS6mHX6_81AWj+L**Ra9Tg>kB&$(J^KIF`K%gxH4m?3Jyum*SAb{u37d*K~ zmSE;esR=|n8~kM5s4Q3hqLzu*4JA32p=xr2j-dyIFSb(GQQp|7mK4<`f<;7P=iH)D zA7j@RynB8DJeVywFmvbw&DlN*R|%V>pw@MTTzda@(-veTOX))1QqP{a6cno=n!8Y1CvFY-k6ra0_sn^-m@S}~1XD}AlXezFl+yX*FJkpjH3szN(1Du0 zJ8Q&U5@XgWqRv-&*1BB$;{-nmRhNrH+nJxiob)BGk=1c?E~eC6m=2U_^_rDDakc;= z@y_$y1HJTV$Id?;H`zo&OUQA})2u!F2;=$cihGD)h!oYD$0AE=bTs^ZCw;H?{ZrGn z7n6h44@RzwzkRC-2Db=$S}0kpwadPbuZm}+Q5DFmA*EGSn{wXX2lyQI|A^6pFU*KY zX2c08GaDBYej6pbKagX1fWH)8Q$87dgpN7{#dS^dz7JiTWJ1R1vn4lvg)#m5={;Dh zF%@UeWRu1a2=`fRt?*I)fNQA=%Tr(q$M$Bp24K#prS^I6cWV!fLw)Jr+aA)-{{z3!#?ozQv-$CvLX|8`v$L$iN;;i znc2VC(Jz7uxJrIgsW*1F5j|izoyR;RM9_)PUakz;w&M~Mzd$@@>FbO*uw#f$QXlSu zexSW0NDILseofaGKO4mypeYCdWTng!Fdh}{*fQsN2Z@7aD1#A4C+}E|k_~q_VwY=o zx&FXYREx)3PW0D=hObE>eGN`4Dp))<&SCHXbOd<;P}3WiCWvB8Ri-DH1VIT+KFl82 z;vutX17$A!03Q^iRB~(!3dgVxcR|9pLVwTP@087BCN{Y|On|?uLNl1UsAft7+re`1 z92jhB8ueeJ2vpodQXsBqQRRo&sCre`-6`$p83x!jiWFXWxI%UL1e*dfw2)PAMl#~M zBCpsqs)bBav#KaFOzx)vRtyak(KzsuL_72P`Q*sD6v==fHc@JoDgIiV=dqq4bMm;o*Nhocv>wqgXX3p!`h4wdZE*pUj#K#jTijD$0H-47W{GZxgy!9pO~3arUNqh^0D-T~!Kq(>RXN`(oGC1(Zg%Sm70t#dJ-YxDgniJ9*zA zG&6Nwp0D^U|3LU-2P*c@$iVw2K%z{V%ZJ zvCVIWtK0?on?dJ!Tl`b4T6oL@S{?mIrm3nlT>r8{b7iev#FBTHjCCM`#;3RUzG-pD zFjZB5rhnPmWl}Q>|}z$Pg4=uu!=ia zt5FHNEW!`|O(C1B_~5rE8sbDd%}mO9hOS7m<^P{Y{#$A&Z~+31{vaXxf0x0w>lJwL zC1{g21%%)j2z+~GIT*+{knM`xq(qAHi{8Fpe?2PmmuI6lSIw{r%Nj;bqYQOdSV7%nXEo7iF9seUOeNY^8KH+OQD=I1l zOmkYPz^oUVD@6(f5ALP7OR-Y4e|Vnf zmGAr4S?in=)}5I(b5ACl$-efruf6X-3xC!CxGD3wCr1%6lgp_2|RFq^C6f_K6%rtZy^b`~< zLaZFzJpBCp)XXB{!n|T!eEhsmAA<1w`EyJROcE?C5?)#gTHgQ9uRq-Yyk`hN#84yz zIshUb0umm=pFRLJ0Dyo3xAw{4e_jZPNXRItXwRObW56dg;Q|m5kdP3Okx)>Ok>Rt0 z;O7CzcqsU^JkqEHTIOhU?u5Ky33<=xW$Jo}v?qTu@L71gdyY>0f`pWek%^gwm5pCO zP)Jzhm8_h+f})bLijFQ&Pv5}M$P)g~vbD2!0C{?O`}q3#hrf@A{16olPE1NpN&WOW zEj_=Wu&B7Cw5+_op|PpCrM0cS_gi280CaF@cxrlPc5Z%QacO;Hb8CBNcW?jT?EK>L z>euz}o7*S55CBMjoAqzY{+C^NaJvwZk&%$mp6o(E^nni~JY*DF9#nj3Ei`j?0y^HX zXM{2dd38O{>G`yO5?Odmq7yUluQQ%Knf8}u|L+WY_y5bXe;f86yOsc$NC@zUhlB@^ z1pGv2+4IW}MSrCw4S#6@EKZ)Q=v#w`7suu z2ubpUnh0PP__hDnxSa^v1LT8Q{u)Jtn}~^Ez^h4lLV%W{!`}zwy9v~F#|)IBkBt_5xMw$hJ^BAf<* z_Rb`T&QEkk7C|=%Q@tf+XY?{12m^P;t^2OPPwC9vne^8$#UX=fu zV2=eBLhgBy#!7uG>UG~*qYlAZ+NVhB&VaS1>LvL3ZIi<$c=mszA5LDj72rdO>Zn&OzgS)(Hf3%r zFTu9+#+Oq|NCo;9`koWwg~jID-n!q;xleAl22Fj5OIoo!uP#3ZtDF~V9x+EhN0-R7 zdVE)4{5u9wb5K!4EaB!4Ai|aG_@x(?)OO({MFNE#!4G@ON5T@RbP2`J8lbK}fY~>U zg)iC*M4>DYZtrbBk*fZQU8|c#L`daI&Q#k0Q2B0jRGbs!@8W_4m;20a8L(*!nH8;s{B=UJ^zA{vc5-60U}N@dn)i{UAcmlDM@Yp%_y73 zn{m(|z(ExYCubA}S^p);BXGPVntA3lqEw5}MH!29u!j=mjXgg~5%fDTA zM6FmEv{p*acvd0U{*h?N0k%J@I5|@$XPv0Vtt5FfQRwSPh96D9Unm-Idp>8np$hJP zwI8kscrH)J@(}0Y`PthvUWu%<||J zR;mSe6}T(1{N;g^rB5DGun+e>FZiCg-Cqv#kMoGL9LoccR>8v1PPlhHdDtBMvI2?( zc?ygFI40lm)0wBCVE4B(|Krq1XZhe)69`Y9{4^9;-8Fz?{O|iPlKNGmk2N41>76Le z?){!q`CFHK$w$(J$k{2u`Q(H-waFRx$TDY>SFPegM3?ScD@!P+lYN7X&-19}b$%hLV?+V*NMIb# zaEXzXdNlY0&?m=4_>FU@EbMFfESgaML$NY-gm%X)gMCY#$7a$F_t3p0Tjlwfr-|RF z-}g``sknwXdp>u@>$GS;VrcTGxBO!)NXYr0sMUGy57mf;WabXG-G^Y3FsjGdXlG~s z76jn;6*uElj7NFT+Wj-89EOX7xTqU@zety(b8*=!TkDLcZo?32C1lsVX&xz4Nxm7QX5psz%)Kwt1d7 zHj%k2`QYIAR()KunK$K!BEMOC9iZ3D60eJp=AZ%dWS* zwO&DiVv!`45PcER%-D+G)FoBcONxG8FH-E2t%lf&>i+<=rf;-cJ~ZLfSN7nh{sE-Q zce{`Cg)h~|vXq=Q>J~0d5^|but)PUv2P>WbhSn5$k*NzXq_~hhDn!=?4jCdGhDFe4 zi;NjgG%E2AF}#>h-LTi8Qu5*`3>L0Vof;o92e!z2Aw@2S!6^R#QsfL!xiMBjtw}~yC=I(MM<+>8 z&>ui=y>-C`8%us2|G&cPi_*d;&mYGk)C6EZMNLVvzXI>6Jm4>gz-c1Xga_BuB>1FL z7{7K>(vZk?F7m&^aDH47#ot~oPg$Ca#QzlUpN6LBq!bFF4Wt(i7l%*BvU%X|*zmi+ zA;CKrF&T4$P2OadfvHEIsZt)#aw-c`v_fU|M+wp5hi@uQ177%~C@t#j4g&*X&zTvR zttpM~(K?N4rx;UGslgc6r_5JDSkcS-ZtTu6!Hf8Ibe&PB(oMR>Ba!9Ayzs&8jb&bACH}bw)T*k+v9E z&zpd}9CmeRnDln}0IPkQu;pi=St)g--@Sw7F{6Y%Cno+0sJW`_hq@MH5;J+%d&@mh zeVvDJ%i`s#{<|+z+#_fVp#881HDHj+vev?PJF$Xz-5+o%g#1DW5iM14OT09vE$WaddTbC2DH_ z13LD8(%l0qVb2L-typQul zz=phQGs~A?|%6Vt?yC7ee#z9t-G7!lz>{i}tT#68!3xEmkn!X-G9G$n|Y4C?8d?2N8ffY+qPp7M}%=zF|?zQ>t{w;nd?c4bap$(dGMxDh~ejPqmVm{ana1=ovkK#>lKl&mBmDmSQ zq52>ZpwdAAK@i@Lrd$e6H5*9+l3f4*CK5-@M=ylbE8>f-?8m!lRV-1UC7 z+oIk`+h`PKBZMc**tFUEjp=pF@s^ocwg-36p~bvb-0@qR6(oujgcbq_PBG6k{4p4i z*+y@DZTCu9Z;AFmA{t^|$${qVE*l+c*5QqQ(k^tSlKn+_LtP^QEqaD=>XD>Tt43{>`K%Y*;}LE_Q0BABtvkXL z2;{;5JdDy|3ye}BY%|%SR`rCHRgKsyM-cT^l!r>~oBCl2rDuGrG&n$1S~Ih3HtQxL zg^Fcf3_iYTFD-C%)^PHPAILDwUW`Zdr|gEbB2DL2z8O)3>T1bb7--2;+9CJ{*|QWB z!SQ4jjz|0d@DEKmaQ%mt{A*tr4rXYkfAN}JEh!Y%9?~J^PR4&2%fFb*)3*N~p7O+1 zq@fO2e^1fg2vgTew?`t<7jPkIp-LXiU-8!~YNW(wZ^8KhvLQ%U^6Ko8k@qqpj+#dv zqcxZmSy@53W^MvbT~5+vq`^KpQ?G*VKa^GYv}b$|b9Sks%#~!2I)~2O=A7LoUAFq8 zqmP6Pu9XRKVtuPLmin=HtI3FiZ-PxGyNC0$rt7UrQ1kESB-m^21Ado)OR5Jot@`QU zkrz2WQORDM^Ag#+OGS@UNx>Ww6`;FbUg(}^NVcPk+#_Y+sHZX6Jn>YejPVV6jHe}R z$6uG7{JZpH^s{$AewV~sy8VK=yqcLy4@ttE5%A#{8&xs}3Dv%R8*UR3kabICb=+{{{sNny*7SLDSBOL&}AF^rtL_wW*Xv9Tz}T!I>X3q4AGkq zI<>lX!RDK0hDSK66TA42B7w{KX{jC_`XYM)UXoiI4SK88+~P-xDzJB>BHdS87mD=1 zx1gSCj+OE+K8Ml0TZ!$r)HZ~f=Um*TPbQhZK24qDLySQ9gp{P~e8dl9ElObap=T%Q zrp{6%#OtSJB>)(2b8(}U@E5!aoOkk2tHNUdhl41B#NE}ReXxexdb-DqUs(_8eaD3G zwAN#7B9(0lXdx-IT?E#ytl2W?XHQoMuEko~DQbT&>KuDmGL|P->boE23l%r`MO5MD znMGO~Cpt2^wPiqmTSCw-VhPB6g!+3Q+TqU;C0LScob^T~L*) zgGET|i*N-MkvB>H03@13&{}CWk@0TA4bArksy0LXut8f5%@L#_bAs14=FriQfxMUT zL$OfO!DHjZ)v7)T;HX(08?ije^1KMrfgM>O>SFbp?xzuxI$jE#42pMX%ru)Nl(+hf zD%#-o_} zZ^GG=8iTMM`amSJA5OBQP7iZjdy9xC{rz0>+G0vAD(J=B2PMp}DCe*49g6cRH7W>S zU{LMN0D9DqfTu9;yJnzfvyuT;R#Yvb^xL8n^9y$7%Z;lt?6Df|^sQdx6Z}AL~ z4EWCuGA&bnL3syQzTfL!?YyJdvZR5h!hvjiH_8U&4X4?yR4NTUwWdmRHKlh7NdU-f2ifLwuXqOFjS- zB<5_g1-mnAxq^5X88QRXC+k0cn{Tcm7m&nY*qu0%*munqd0J%H905IrmDPFq``3372(eqA)$OOr|34p7`U};^xK?bGx4W zkH`q*2esJL;;F?oymE;0E^Um`BFtwZ_Zq5aF$4x0IiI9yM;t}kQxCS|hdUuk zrk^(_tjI>c+{v%jG0@2{81yPLoe*A2Y6{;!I2xVokaN`2`fZV?pvmBfh=Y@|#nI;K zIp2Sb!p&(^J+cb=0{497BDI!N-UMy^j{!zYfvE}9SsiUx0u*MdcjImvNE5)cJf)8c zp}5b7uBaNzFw}5PHUl^5YpG+^{6Af5?pOJJkZ_$0x)Z>RQ`QtpiaymfG22K z{Ab2B zqX?weXmR7EYM{FMP=tqx04>5tkTa=?S$L+|4!AZ&#iZUJj3pB|WcSu8g%YAtd$&j; z`oVHvvyD%b7}T1XU7S#oYGI_vNo#>a5oGTdM{^dZeg%!pdww5~FQzRg6viYN#+{5>oVFq=1B#IM`I0tusUO`oI89=61IwL__EF z5%dN-%htYRp=fsWY)2!5)`y!u)5`PsQO*3gT#2 zcSV9gTJv2M)x(iED7*(A3$ALKlf9fEa<>Hbrg&{rCu>wbOI6G6nM%vLp6rd@B12EV zmZW|Og2`P7g3FnKNn)R@_6iU@obn)u%F-)Q!9^l6~|OWcJt{&VDCXa2LD?tBuMSaOj%l?wPLb^6li zs@aazlB9{%9F3(XEGmp;Gxho_Q9iR>UDbdPK76g*tl;fqZ6gBQfNs*~UkCUOD>imu zw~`F~0bq-lHBo@BWS5sf0bi&oo;VP;i~N?Kv}WX zkFSWk73#-4lYNBf64VUQim>^IU;P0bUYBthDNX?s=pd*mDN^0uBox_O7eD5UEUWK^EMu1)N|(T> z?t3U|42c`;ek2N|9@Pau$3woISH2O~aT3Scd#>PTg+i~1mwDa?KqJ|o1}nP|pRGCy z4|92Y@MOMIoGz9m8|!k6Ka*Q~9bx&N1nMI3h5Gl4sY=6rr}(r}6S+i4c%mOA+PX>g z5J*s4kCehXlaDvHfTQ~lz-X$erS)s{cjIBzZS_@jNXeeK!%kXJaeiN;GuC^t#P3$Z zu$iCF`@KHerOu798|9xe(&C$;NJHGAVmTM!&66a$Qoh9cN$W2iACI-To5p`F zpMNr;pq3IYe^vdiPJ==(Qu$5f<^U>=M#&$5X(z@}#G0HTgQr##fE=hyarWcvSa-Xn zIVK#JNiEM1=E4JY_;y&Yem1cr9B{9Q!WHLD!_z~x09#%0(3sCL8V_QU7d1@seZ=Rv znJ<*Lz<5{wTP)7sGn=v{VHHFcEiKMYYRN8oH}JI=BX8Huo}j|=`FwnMI^-M)xd{DO zT;4}}A&SPHc%>SlH=(iavYK5x)z6h=JlipVYgd8^_dUN+GSQDw zgu35g*i4s?Fns~`*Q-MJ)$;GShb1u?kw`?gIh~eGEO8ir=cq(76VetBfeHAG(#KYUjtwIhka7;SNq1tdFu6rH zi&XXLCJES;PmJt=1LJKw86^kqvJ7FH2}$CBtyyY8*~AmjVRrJ^HxVS}nK_{SKuzDr zaJPlkse5UOw4j|rye|rB$AsY`J;EXfIMZjSEzD=SYQGX3tIpK21_WV?;YI>^o|fHg$n~@_P!dDnvSxMd)OUpOE?!%P$ehp6&Fz9U;h!7AwmCxZxt3HM@CP6{Trx5M<&GWo<&cEU<-Ie= zPkua-G^>G9Z)ykS8^?WrhnS5$0r*9|HKo>!WB%xok`!r=z9#5T0kK!MFTm{n0C)$2 zBmd#_)U+dA(5{me_Ugjb{>^M@rICU`-UzW1!c5X*ND5ZpxcV~AlpC|Y@WqSJzK0+F z`vqYxJLrj#;|PB0BAdnThd01CLW*`0kJGgDp&;;KCI2LK3g?VVIqzVna1W_utZ(az zs>#EA-l9xW({`J!+H@kj?`V<@KMn380)#K&=JM)Ldo`#)^NVKKqExr=AW}@`bTyAV z8&7O1zbY3RQ*mQ^2t&mHVeNX)CRO<5gX1vBr){3Z;NvcU?uE~~A9XdWOBfh|3~vV; zWAjG0!2wU|g~PkwyDL|fr^k36+iC7F>H7-7)g5qu)JH^e5H1?>Y`6&fe0s$$&PzyS zfsG5d6jgD9M-bXbP=C9PCpjcYvC77DaoJS9`L!9e!IS>1qTYlx&dznX0xfV;4A?)+ zwZ9l$cxfY+P1cmo7dzSIM7H(PX$d2m)|xgUYRgjMYJX%xsDy!9MKi&KGO@gtK97{7 zdWqyV`7-AV#G%z-#9$A`fP242w&w{$59*}P8fH+J_({tAvpW9|pl41WQomf+BH2f1 zg?D*uY~-EhYU`4E_AuCkBn~|T=-R2S_vT{b3XEm(lhQ&}% zwPnfnw5JrRF_@_e0g$cg?(5R8{3?6Qv!K+fx*p5zn0d#0?xsOv&JO-UAv(nd{vOM+ z->Ms{WM-qX=X8-eXb}q{zkfc*3V2_HOlyP^-(s;q9cwdGu-{PY$KgEt;r;@iJz_oz zOi~Q9Z$>BAR<9n4^+|;Zo^=oXD)y5|nP2^FGaT1xKJc$Njc=18L3lO(07~cO9j)D6Ma4k;rR0_; zhekf2UP@h}m0&Y&zDE!+vy#_U%w;n>^@YCY*{JN9XYP!I_5#s$sc858xaH1SX zDtF^wEJWdWDW{jGroZ0Eoa_?W8`S42V)H@R1oS`yYHD80Y3u}HFzKl#qY3+8#vq&} zL)0q~F1~Q6d05=&d?zcTl}7=G+|RMC5vqYb*_ZV9tbt9uq2${z;RiM0*j91lTkUVO zij2WJF}4y-yc2on_Q#|==Tq!}pl6aJExYQzm>z40)yB-O-^H@gHgKAFl*Q2~$NlH3 zGt4=+dlfMil#Nfq?#D2`$MMl=H@{zE3J)qDjmk^KU9e$}pnNP@>R5Ezs0)?0cF9Y| z+Scb7+0*E>vv1bgZ+FsjOR<-^-|}(Uz5i8~-}L6h>TqQqW>E*J>}rP$^Xmdvw~Rcs z66?hnrJ(YUK>tIX7Nx-il@Jqj+BE#{@m6NL60-^JY$hr)1-RJKl!uWkFrCUT4G;OM z$P3t_y3=8V2+1z48Y)#5aXsvD(mLN?RmyqsJJ)9LSU0BoiHK@$)gg7_86L%d_)Pd# zy$Q1gd>jh3bHY(6BNP&Pv1+(Mvk1z>^y=pvxD@OIBLHG^gATwpOT4_$!>PKh#x%?H z*Mf|^NEMJm%aSJDmM>otl8LoL*OCldJNC5gR%1$?QY5z0lWA;BY+d}y!)7gQmRl91 zXf;4_XBBfF`QqQCJbxr260$$hX^=(9O{eBul4rGB^$94;~)lSeJ{+{!CY; zjAyg*BSP*oZLexC$&7_=68roD*y_CM3v$jN(D-%ydDa0iYH-Y))xpTfq;Z+3q0Zx# z8(Sr~>K;Myx|7XMLlynKFg^A+aS?F`oem5_s~EvN>U2WhKAFHyKhmLlDe7431NSdJ zrk>{EYzgm$S6*!%t^|u58c)kp4m)$n*06mm&+gL`pYa$XXQcqBr@(A2kPxwxn4fkwd8XCz{y=aWE&@#NA0t`@j zl4zd<56ZnQYX4VHo{RLPRXmORz5n6l01r17`t$#;P2Xxgkq0M#oSOLyT4WkorbK+ltfAgKEK|u5=n5%Cwpp@d7v#T{<%8O z@A)}1*7M%oEa3Ol#w>}~cTGr96DKwT0VX;R6|9(jTtu(EXfT0xCu)@vss>BY9ru}y zM&_>{wPR%?WT+WC!k|=F9Xq=_&5;TOky=pUV+~)(EQhZ!l!)O7Yh0IG)9o2W!p+S5 zRAr?qkDps9HP=RfPq}?Fu)nF%9wGi=@`nh~J{9FuSAA7Aj5ufel-cUPk$VALy#D~u>$rgK7Zd^WVXO!KT3{RN-ZaJ2Ew+N+FIunjR}C_@ zrHFz=XVW+f)5Yl4uE&6{WKp%phoxa7%7UxK&0vN18l4LkECOQS?&`F6hCYYv;AyTMj8UeWVr3oWa?do6lPS5jY!49cKMJ zxE@B2j5L?OO?tLE#OCrm8SVQ0#eB;}6;bWG4a9tYJyT$^r{r!EFS*^E5CE%kvAd%7 zXBrYlI>dZothvQ^J5dPX(&1?5B6qM{O$K- zxg?5E8o@E@24Nk@F*6gU(etCCdSYHoZ5hgecQ-`RxOFStK9Z018tXEuj|#UnhUy^MdRHYazV%2Fq+j^%{8+tE*kAbCWjC4mNKMKYp}T29PU% zbK}|5sPZrj5S^ZA7t-_bFJTIm!+Prqu!`0O_-t%ws zt>V(vsjKu<^`#ijpvD}nM>Wu<9h>&FjbmixPSc*R8ljen!n%S8+)*VOpIqDm4h6ZG zlZq+;G(yk(@VQXJP@XZyf7M{ns?e(7mFL?@c!7six)82m0^m~UKPBd;ExgS9SM>i& zV=!?~QvRQTo{O7L`Sn~nq8!CsO8#Xz9%h2koc&aXTl`KUcj=|TQBu6rnB$T;ZR_VN zj5=)5oX2K|hDv!9_%Yh z;OyN-)EfZm*{o5C&IvRYv3(5H*^za&>y-*T(T&~Q2HXb83ou2p6!><{9kC4`b}(dj zsp{;!LCULGH@J43%lI(NfEgT~bYC$e$NkAiSi%-fY(B@=;(N0A2+c|`kU7Tx4?yK0 zRoUA%0Ff_VQsrlZGH7->Z~47m><=9ujV~sCZjn4l-CLXYY?lrUk}nTUwyVxU^ATm@ z{3jl#FbAbYJA*0)x7z0JV`Gqo_q7If-+?r%e)0fTn%N4IwkSJs0%sK%#FeTIKL)vo;Mf!+BA>$1IQt6qFM~~YeyC(&5FPE#jXY85=0UTdUrV|AR||$ zN+=&+GREoy<0U2_gy+UZrgEs($Ab0hVB=X~>5z(yLp&IynBQ!m?qb_|Hc04+nQi$AB|(?!#Xm zCZ{R99^@T{O9#8DqrHmaL7mbh<+!%r&egB8Jh99N93&CPONk-zAO zlu598LP66Kv#){ESy?5TR6=(>>fQ@atO~~=h6IGwkGTVMW&6PcL}$P-;dzNr8ig33s**=3A94Bmd#Z0V+Cfq*3LKf~3Ne7ts--S|~XD*>p!IaImaZ8HwFTku+PPw!-5 z0%9)v{1iUa<&rfX)=G|qxf^(NE|v#9bKVsFMw~EsV6am?#G)0mQJMzE<~h|8OB;6} zv#xrb!_IpRxGK4H%9(1&b&SLwEyoR-!jX(spJ&L^y8ckb85Zp}g^zAY3IIog1u3$5 z&NDX&t9WQE=LJ-DED6mZ-y?)ef)MrU=+%4bdE$1pMzIE2D!Y?_Mr&W;itu1rBV0~8 z=HT`~-4@=ZJbR<{k=yBg@0m)5^mh_$w3-{D@G|3vB+U?JPrC(Abbq9ANo>XSHzz}? zQwo-hnY*JR<2>*pUbX+GO6tK5fA^23_afARRzCx-nFVG)lpPgSkM=ggg`(YeTJl7@ zl(h1M)J6XgaCn6FRTn7o8X5T25d#_6TTiopz%Hvz+fSc6XjZz~d+6p#dfoUHw8q#$MF@p==tb6YST-n= zYx=DldarE=)$N}z8%7YQpeG7*CcOI*K~CuBIu#ysHkEvJs4NZtX6{m` zemnoFC_GgRp6U^3{^AP%OA^G6jQJ~rfExhck_r#_7F1D|LJ0vnb7>kXj_$nMT@F9$ zv{LTbQ5QVe^J=Mme%1uA#vV}ke#l$)wIR_K*~;RhC&GIPipd!%*?z;-X^-shIpu=4 z;)#rzD%uKN3&GUq%sYIyWH)tcAIhSdFnG5hS+o7dGgo4U(Jwh!D)SK zbnUg8yrQ#NJXzYD#}sv^$R{Rd7qAwMspj-?;|$^6T{;;ITbkYZvuX-8;R{ny-ZHf! z+liiL_Rz8UCYSyBpNj*FdbaMN!wc+Chmnpc7pLv#EH_bu7!zQFDFc}kWE|7hY9I!E zuoX;o66l3Rqdr=BBguYVxGN%jt2eydLyvmiOeij{Jm5I$spkJiA}CS;FLhj;y`$+2 zQ-?Rci#-Ill1(Rd?^9kKZ*1;M=>fLnqI>|&n>O-T_37w&mTxY6>ANql^dL-1=gPa) zuR?AQh2`st$;w4X>-+j!1Oe2;^-T7u3Kkm3=86Dd1$)NF_jm}=7TfhaGmxCH2evmV zntf2rgmozt_f$@Z8bM?_c^T;t4`*W%iW#>uJ8`;g@Eu5y2>tx*J z*hib&CYy%_9$$+;@e^-4VvXqqicKzSfSd}vI+QzwJdv-cRR%Iwl-&js+UvypKF;X9 zC!SP9)^5yI4jXnuI97kYlD3$Yz9cuODu*cD=fE@c2!y?L;4!RNR*|xz$h1u#gbN!j zu3YTX7a^FAL$FSZRfh&sQRS^NCo?mu&t*Of_y?v*nycl@U$s3%Dngdn`SBUf>F#s4 zKN2iYwKgXz>aX?@itIKSHg}qLTegsxZdqMlRc@qnE*u8;6Gqu80}I6G?_W(*3N0}~ z2eHChEd@~Crw&JoRe}}#k0n2;&wRS*U`aN-B-c8G?zSwG zFxTwtRFZl?o)t@-OoFwrm9wv>w;|4JuE=?>StVSts6)SrH(3EtY2H}LV;SoB>n zr>nETbCI_iDk}fcBL2}O{$V`FbAR(Fc;@pLsX^rp`dhJ}j(94G{5^E0tN6OaSvRW$ zTGPCjPto@-&xRj~#+QTE-w=g$qkjFs{Ck{3eIQEIuR0sruOQG6Y1gvUb6qgb8x*2C z&qISGK$e;5Jr*!)uK<^3QlW3FMq7U2eV473!_yN$Vn~GgY$;WH8u_s?B%lw`*sA*@ zKwaR=K*U+g{4HDVL0^70s(W8y0k@auV9 zv<6|M^jG(X(w^kf4ArjrZ&`uHu0J!&L5E36zvt=2V!J4LG#b0wTH=%Ak1aaFL7Ck2 zS41Pg;)iK@V(*U(-bU?q*Xp_K5v$Uo4J{OLzcf_c!Iv2ZOQ;ZedG2FoU-8bKd&fTP z0;hRak4MMhan;;&spG~wi_RCl?Td+WN=3X<7%U26Da_OJdAIuFb}E{e1QUBrB*)gV zLM-H;bNc+JzLhMR7*%=<2nhx69%`-jO{-h=xN`W21wEsV+tn{P-)fAtbW4mFm$`sC zY&w@#$%7y>VtnFF*C&)l^nN zN=h41R)Jy@omO^+B5K7_Ay~B^9Pl}rzWRy+u|&X|lJdL6WL9Ek%FuXsi0XrM$;w-D zJCYIHi1*n>S!qL8NcS6s4YRtumFLwDX*~?YXu=OXT0%_K3HE6(ynXy%2bCEXYA#+` zUX>DSiA^cZxl)AqrUu3bwZYbn{gcKxE0XodKm4RpI)z!9Jj6!F!B!JrAbBIF0d99G zc3129RTp1Z_;F^_n43iPcFRPuCYi0v-_d<vxLp15=kG zd?*RrtgW`~d+{p#&6wjWthxx#MJB-bGm5LVnfht|CidU&H-|&Mhc&f{dEYw}tPTL= z(`LF*G-Sjb*f}{=6G?MM;@2v8#-D9w0u3vdge;=FDC)3zai*t=dQuCGn;H@gzg?E|#x=aAiN_ZqSK6JbG;;JXHj27$Mi4E9?rMhEtsMB!dnn{0bzlD~tFJYw z5FOi2vHP(@g3@kgnH_=vM2;!MOMu`^HFM#lxZtG~kOu>G_kWy`KE63b-#HL$bp6a< zy~yk$xGC{lWbnS+8n5hy-Y>iQ3Z@yCO3^rf#`ff1smwLAb!F1qS#fc>Hk8kJLo`+~ zKK+ib0R}CV2yUn+{K#SR%=BKZ9|M+0B?(;Bhkuyv%M?ha8WN-t0e8< z8oY-{6xgAJ3?NM~RagJ1NOBBsD9qHyOrJ*PN%fc#eC@LCzQ5mZ&^BkqNX$wJcF(-J zugK?9&}&;(V-qAAMiVE5Xl!c9B6AIKyuM&rZgrDJyRm8g9lXe==6xz*2FvQPY=SKil&^nVb(?!!=nm zqrx##VF4VgNOkYPm*f2fZpVsnIW`GS#s~o(SpS{%aWXr=Q@*&Tx4#m-=VSljoc~4L z2(J!ROUjB{2)LH1KkLg|UOQ&AxX63zp>5aX4*fXA7E>5#$m6NN_AOrv+y?2#ySA9? zR`az|oGS`ks;#WYnK$55;A3kr2+gIRA7N3gP(7oExIYpul5m6yjTYL{{3TL{g{t^RW-NtLe&%jGICqX%s$sJJDmcMYVaD1!5gA*^zy9?tA5 z*zo0`8{XnRGH0BSA_U0B6MEzV-z#x2DHlk#%v34b7-6Myy`Uk&h!hHu#ae3v6Z;Bj- zf>Kf@iS^F!XVpSe(Okt9Wgo@n$}7DOw>bJUerH;3?M9ef!Q~(Hi;v%>UnnEo&oRC) zivh&7#$;krA>97~h?x_YNrn)<>I_IC7?OoVaaJ<6VR0m#S}2S3nc)Mj8N9@K z;=X;Fxf*(DeL;cvEmYC4A|D~s-n5;L+3h!93zbhd6QKuYi}TLwVRR#NBm;6lswQ%DBLeA z$zyp9wr#ShIa83#Fn5Iy_f5+LGbbqzge`;s?m4|}YAQdDeWY$`8dFi=&mVeGxdm2* z*0rRH3Sf})(Erw?cu*HVc%#itkJSW3PvrI`d2E_AFqZrI`AaG`iO|S^Tacmy;}oqo z&x(8-Wu!6#Roi`lZX^HrGljRoy#q9SCz7zMLWlrYZmqWBnP=65=?@`%-tLd&td>m2 zox)Ht?39ljYA)k8-B^>#J*GkIT-rAu6ZYM|NH3nHu7?gju)!08ME=Uj^t36-bOUQ@m{WnBY;@_KxDDvwsNy~RyD`DxS zxlcN^)L-?avZn?Ucpcg238zlw(Q5u%fc~$2si!pte_`G~TXB|r$P9cva?=yDBh5vG zH^4phwEWYr;xTP6&(CBOdf(elDc%6yr4yUm$-WOW9S4d66*;}~rWbS8uZm5jYt3J< zDY)+|+x+0J_>{(tSo(UiS{UF}Q=H*oo82O^$ootpIhMc=gAGwLJQJr~v1Ui|)nvQ0 zn2m3NCd6$LJNFhm_D&jev>s6_OpmnR&4Rc@)tgqI{M^Bu6;MrhOQzT&vluBgsNC&> z#b>TZvxPT+a%-jg%B7i>SV#9;D{IN*rxdZy!x%MlKVU&7NK82V6L@ zv|HN#mE$nyJl4^oU=ns{#N*KHY|RkI{K>N(kig1l=;jvO8G5RtA zz|EIhogE(sOZjE?JbpeM&oWFHtwkI=L}fQ6O*yW!j=)ad8B<$fn#jvCsTD#JO#4CN z^Qn=h9j?)D3(GG5@i(~%txK6gNL?f(;@Gdi{cq?FMRn}O@M=S)hL~H#(x<+*3F-Zs zqubx)LG(C5PdNP{HqW1XVwdKl6_X_xVA)KtRX$)sokFCz!Ksd@4G*!xs=QKM69ojnYx|{ADov7r79H#H>21-;K_Yl?FjofTG)2rh7QVS+YfzM8VMQL z5ysUdW*b$MZ0GVkg^W=MQ50t0)k!+%TTwrS27ClXbvOmKXPl-6OATMSoW{Ma0^PAx zVR3=*42N84xR#aZQ$+6BCohc`8y{YYFvrFO$y!QAz<;{lw}FMxhFdzVA4FhHMy<0} ztv?(s6kyz;x|{U-H#5e`1rt?b^5#C|8)gjB!`b<5`xfRLN28-s4@;X7lwGh+&|Gu< za)R42OH6HV9yX4N=axo$V+=609yfGn+J)%-dVJ5j1{IA zwTb?x?+!6sqs?)&2%#1)yfv<>zp2bIb{dQpGFaA-aKii6O3A2h4OZ1ggH@QR%-s6J zE-Bl|w!Au?RUW7B%rxd3BGy_6(Jm(pN(!OTQ-qlQFiAAdPkIF7qo#`yuQZS!eW7wFA_5wIljOsRrxM-xgDvlY@24kHpwC{=W>_c&}8T-|#h zai4yu=36epsKETSu z%%q+!(h+(&LABVkOIdF6TAQDf-tFPtgZV8QG97QCl@H{P;h;yI}4A@9NJA+sK} zB!VH$rUY=wFyu-o+m*xKhOe_U(7(05>(?sw7n~42i`^!}% z{|}t)X{zUSfjGQ6mkK9>*?cgf3X9)#bu(*o5e4i0-s@~0V|--by~D~MDLYNoi$>4F zJ-8M4AhY4tOuAH8W%M_79KNKaG)c!(UnlQ|l>Sc@*B;OG|9`DvE^AWc(oim8DCRcT zqL@qOl956(xffgRDtBog#>^#}OYZkO5y~yMTyh(^Yi@H%p$p09H}(B|zn|Y9d+hao zy!Za^efB)h^E}V9eY2*-%!LnQ4$!imPp76v(iYOt*VqO6FmB~Wi`c!D#66}iJ0`Xn^}{WzC`V@ax@v5B$!=ysua0{a}d?Fsq-9pbuZ zRuB`9R`)u)Tej~pGunA8j!W#p$mh~D4$IhUlLn`OTjh_Nk>vt9PSdvx!PxG`y4OBr z2cfR<$s)n<6~^=gBVB`by|3)7+07Brq9U@hoE5Tqg9}|Wt5ibqJ$GA+*iH5M7tzeO zM~K#k8H#Vm8rzxLwSxGMm&P#`fM)hX$U^PI#fE`cv8Kv?d3kI2)ANi@44>sDFpBN` zJfw<&BmrFkEkjXbyP_w{QnlvZVty;D8UdEdA6ZT>*}dlJ?i2Y?dn(DU1522@{kWEK z+^i}`ZwXTy*JK*W2+;`G3E3mvAX$r8UExTwxN7fPxbWo78~0y`buvuX#IdqkwV(aU zb2QL|hsN{*yb*=kASlg$KiFSs_8#(!z4m#3>I0I$cyqc-1=0~AddPT)UcPCOMMvMwIZwV;n7|I)iO__^$& z`Hu0vPIw+S%-rsvOhY5aeqwDWJ0dP7^Glc3%?ce4Y`CL`blpPjEB?v6)9;rT>xl;Q%+)#0zt-pz?V%x^gpF)=c z(=XZ9ybKu88!7~1)pA;=2IPN90hc@B`rY~P_!KCWLLxdLF(o%5!<39FGSc1&ay+!i zcGU;Vh-W+nNH;u;Z`v)>9H4E2!@{6p;QXT=aO~TtL;Y<3{in;vLz1H}zVSefN?LPh zeV&V2PDZ&fnpGUH)Q9@g1~uT$V@>M?WQEY{aM;NcO79_hRK`%hgIAV3cZyo`bmDBa zqKlHG8q4z+_EPVRU%U{$bJYrX5Wl%X$PDyScyKPMtW5fo178wSt@50YbiU9GD4iky z2cG?&kYTt)Uot}ipxcfuT98bQ9jv{R+m$Tq$sjc{F*-?_UccV1*oVJnSc7fl6W<>R zyH#antnYO0!#l2SXe!O!tKp)3pFW=mLWQ=0^lh|BsMn&msmxzD_i?Ae9XLc#*@9{SP^*MX@6|SV5>LA)KFfQ>b#O` zf>AK78@?jQvL*!GxzgI(3CDi{I z2awl>@JtN!Ndld_(Qjum{Qmco|F6IBKTq%ehs7cK>0K+w^)QP}cm6yMMRg-Q<#~0( zNu*K!yEvwM9I4!o>k*3YCf-GIkGgD#Sw_)I@RzUURqxgV4U{(gy{WyQ;16}XTRj{0 z>eAmB+=>hlC2dfa(UT>&G^$v;4xLlH&u#`3b))KJ!A0 z#41D47h#Dxb8n{pV0tHHZsd{yfhFI65p8m41um~Rfen`LQWr#0^}(DS7FN7Tlh9Km zng{#Tb-b`Yq(xayJc9%joYCOfDVJLv2w63|!Pw#M>6tCitYK_Am{~9_CrVyXUoPwN z(C9XCz(k5l2>v+CKxx*BCZS%K8%~L?AozqbRLY7TSd8|R8hra6d#na*wfQXc`lW(h zg{i1GNx#4JSr9$Y^6}x)G}uB5&T@hn8kkW?JJitvzf^Tkw=YV#^W=JHnFdSgh4eOo zyT|&_;Ahi5U1t#!ALfPZUHGC=_byQ7dP|oY)a{(!ydV9n__AMB@2c5_5B7JWacYM* z5SJ*WGgCc9AlHPa5Q58Co!(NapD9OD(DPRvz_D9f^TmF0Jh#bn*wD~T(>gXQwB zh1^%yzxi_|sYF*}KQ*ixpI!7+qnrHJ^%>pZ*-xf>V6rQoe1q2Hu=FtIn%zgv$a4gb zGRT$0wE#ECsxS(EJx=)OF5LvChLDD9 zQ%W{=^9V}5kAS zV8^l)H3k^>rBvU+!nUmE+3KHti1Qb&#dG(I#c|fad;NE9;%89)GL7SiQrcVnwW~Qp%UotF!|_d+CVFPg5sn3n{v#^s zI@9e1|M-9}_`MaQZ(06^JO!_60-)zk2~_@L9h#+6q2Jq*Mhd&Isp?LISHPoAwzvRG$y4)`{^%dV&C}(ldek&hdTe=+#sSa2$U$*yqYc;J4A#`~VbXvt8+S~%IG`%vmz;i(G6~LnZBsqK>EL4~{A?7r7|Q?p z;p3XDaTCnj(aJ_CUEY9GEyYUTg)JFF!qo^H%B$FnT*qomx*oMwfg8+W{cX{{&bnON z$gv{Uq>*^9^5vPTU?%~&8jkY4~Uw!P(RwJ9bAi`N1X zjgze!nqodSC+1i{l|a3ZE*~&q)bbYSDSIjZh1IqP~;rZ_x!*WIw&DxTxSIs@T$XE#u}LnMS_loU_!W z^I7Vr(rdwu5HOZPmUR{Bx`INH(`(a0JDMXjSO!3df_HWd%q-B+!rCXmV`UQBQ^!bE zREg=ZRo5Lr>-AXE*d?@y-J*A~XSaQdC>y+lqYp0if+e2&Q8OVBJ%Kwv#TS!eDg6tL ze5{t5ZdiO9F>T1dS0&LBoAr~pyH7!B`ieaj{nGE^#**qX_82Yw*j``#l!=jaq$W;F zz(xDM`(ww_%f*81m8Jui7eChIO6et)`QPO-wbfevpYZ#q@Uk%ssm`(r9AkER%5GIsbS|^6?gv%4B@Y`Rw#Z+VJ%p&6Dc{fBuD4BQFyIwM)D0zioI+(E+m}i+|WgD?kd}^LU#wDqi|yCm17V&!_l#) zc6P=H5G6G(`jpvu;p6SRLNR)ooRQRZgNlO&n(@M|GChs8k54fpV!`N@%Hj$pu=zGp z;ho>4Pg|Ut6F1gUkn7bKo~(P-v&naWSWvp_Omp5;C$aMf znZew9(AB#~$EU|`@$)fCjI|Dr=m`$Seae%#eq6<;dkdPFLDb(2c`kKHG^xgg=WHnK zfUA@8omnp{R)*6OGsycvY^D}={sLSk%=GktP&`QCUxwEs&WcU_AIg9)j$oB5!j)jc z;P?B;7)I1T0@Z&an^cFUopO(W#YCI$wYJr*QpZ@+>YwV<6}-$1@1}gJUpc6B2JGX# z6REnrEwKZ2<#sj(9Y(x;col(lnwV?c^3%5F9^Oh@_*GvhVK#fN)U{n!w7zA~I$&HG zUUN5@Y)%P?jhnBh&G^xcdzOjHPL5tVUO4?7Cq~Gx;tO9e2}v<6B4jU-107q#gp89S zQVt{{ZMWd!*@)4e8qyr-V7Us%ud9YQOZc@{U`Xi9Z@`N=I9qSJA2Tk0Lqn-Pe1ZEC z+%f+kc<#z@_OoJct9J}4EvvABjGzn8an&80HECs;iDG_(#yfA(;2}NM?$%ZTj`~cN zjsjdir-;v7lf(-9sWoj$F&^0tuBPO_s3&ff@tw2{Z=|_1Ile&{A-iP_(JHI48Pmv0;1m5Z*=UtDB2@^I? z=mEUXr921ThajmIo1(IM)!}FF_s)B-5L4H)1ucu=&tDA*P+lzcxH)H1-$m={`ccQ% zDb*XBSv|%H44!iRNWn}t*2-r+lhilkYZ6ut_ueADN)0z1pm|WftNn%V(lwn8*UyI< ztz8k}SSWcJi$x5oKe)-mv+b{GfaH(Hc-k6|rWSJHDje@K;ksSm&ym3ZMzcb+1;+>! zQ)->0&fu?T>)gA|MVt;YwW@(9MDfPui)gr1c4*SNRxG~7!2t|oxO`8T9&kh@=Un_9 z)abyL)@5XiZ_lMo=m?dCMOrQvwY!b_JZ-l#5^GR%{%KZ_6gX#v5R6``ho3r!c-&5= z1a!713K1k{ozV!8Z(*r@$50_x)YcNygkCF*e_K+_faajxDYxp&v*4|na1F7;hHbAtWRfOS@!W>DiF9H{kpDeZ145sdBW2YQ;? zA8$#tp!4sN3C!i<#7h9y=mjoRr6}`bjzw{FiJ@+P&5yTU{CD>vwMg6PEM?k!vThcX zhs6HCdazA11xv|)gi1E4z%Sf%j)lOHFUo8d?uz4S(icLEVaBgUr;2&Ul$-YHcNm_V;YFPF zzI|BhznwGm5-!othevVxj*#Cw=%;7E|LY)v)nt@C{en}V0AFOpJSm!P*eMeFTLKGC&zT+{Ip0XCi zHuC-x#wC3gE!K7rGafS8VCeF~u>Pf-gNo=PRdLkHi1Eb*5$*V{xEt7dp*2;?aD1VD zo+BxGM9A;7Btb^>T+Q*Hj7|IrpxL2BNlx^PFh)z;*OW zoNOC0wp5L1e-Xwr)kKE8u0^=r82OG7e@}2N0QZ4zx0SU!Y)78;1YL%`Pt|c2b>Yoy zF=187Lps~s)G>MN4*5_#H1X~}YmC0n8I;CxeSRBJgTGED-e>;IBKS4S;#_gcaJ3F+ zZ^0aG)WS^<=U;kH8_1=V64o=vTi6xurJo4e5P0CNU#N{M)=SBinhO^igPjvffXstSDW!0d& zPH)`wBSOqQgCdKpCv~l`amLzej(Dk17yh>?+aMlC<+wL$xJNKj=2FmP7JkX)OkPjT z>gZgA-5D5i)#bb8_FIo-U7u>X74;BWszgC?mIX}A* zx_Oh>ST|E8N(|t$_RPaY26C;P@-~hn+ZA47-xs2S@eQ>peN-IgH$C7qn6$eK3nlTfDz<8 zi}Xd_59zoF^f`FYz7fG?tgVZrEz8`OhQ3S>x>pVk6-;l5z!BecUb;f)j`K19Jjpmb z5AACfp2DhJD80O8lhXtsVDaS$yyS@-hm#X39{E3pbneMWU;ZM$2cgs92kFg4oyma4 W*94WjI9__jfT~2vQYG^55B~@LV)k(W literal 0 HcmV?d00001 diff --git a/site/file/thumb/galerie/space/mini_nebula.jpg b/site/file/thumb/galerie/space/mini_nebula.jpg new file mode 100644 index 0000000000000000000000000000000000000000..028d4b4ad7499f2048beece4b897167ea0626877 GIT binary patch literal 22017 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 literal 0 HcmV?d00001 From 70113736277c4e1bd070ade6b24bc8cc8eca92f4 Mon Sep 17 00:00:00 2001 From: Prof Langues Date: Thu, 24 Sep 2020 10:23:57 +0200 Subject: [PATCH 191/194] =?UTF-8?q?Revert=20"bug=20f5=20apr=C3=A8s=20masqu?= =?UTF-8?q?e=20de=20saisie=20incomplet"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix bug rafraichissement écran après notice --- CHANGES.md | 3 +- core/core.php | 2 +- core/module/install/install.php | 106 +++++++++++++++----------------- module/gallery/gallery.php | 28 ++++----- 4 files changed, 63 insertions(+), 76 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 8b9fef1b..488264fd 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -6,9 +6,8 @@ - Login : l'option "Se souvenir de moi" est fonctionnelle. - Menu : déplacement de la classe "active". - Le titre dans la configuration du module non affiché si le titre de la page est masqué. - - Installation : bug si le masque de saisie est validé vide. + - Masque de saisie : formulaire validé malgré la présence d'une notice d'erreur - Classe jsonDb, suppression de la réinitialisation de la structure de données en cas d'absence du fichier. - - Module galerie : nouvelle galerie créée même si le formulaire est en erreur. - Modifications : - Noyau : - Mise en cache des données des modules. diff --git a/core/core.php b/core/core.php index 05b41c88..c0e17e56 100644 --- a/core/core.php +++ b/core/core.php @@ -951,7 +951,7 @@ class common { // Pas d'enregistrement lorsqu'une notice est présente ou tableau transmis vide if (!empty(self::$inputNotices - AND empty($keys))) { + OR empty($keys))) { return false; } diff --git a/core/module/install/install.php b/core/module/install/install.php index af760d71..2028877b 100755 --- a/core/module/install/install.php +++ b/core/module/install/install.php @@ -53,68 +53,58 @@ class install extends common { $userMail = $this->getInput('installMail', helper::FILTER_MAIL, true); $userId = $this->getInput('installId', helper::FILTER_ID, true); // Création de l'utilisateur si les données sont complétées. - if ( $userFirstname - AND $userLastname - AND $userMail - AND $this->getInput('installPassword', helper::FILTER_PASSWORD, true) - AND $this->getInput('installConfirmPassword', helper::FILTER_STRING_SHORT, true) - AND $success - ){ - // success retour de l'enregistrement des données - $success = $this->setData([ - 'user', - $userId, - [ - 'firstname' => $userFirstname, - 'forgot' => 0, - 'group' => self::GROUP_ADMIN, - 'lastname' => $userLastname, - 'mail' => $userMail, - 'password' => $this->getInput('installPassword', helper::FILTER_PASSWORD, true) - ] - ]); + // success retour de l'enregistrement des données + $success = $this->setData([ + 'user', + $userId, + [ + 'firstname' => $userFirstname, + 'forgot' => 0, + 'group' => self::GROUP_ADMIN, + 'lastname' => $userLastname, + 'mail' => $userMail, + 'password' => $this->getInput('installPassword', helper::FILTER_PASSWORD, true) + ] + ]); // Compte créé, envoi du mail et création des données du site if ($success) { // Formulaire complété envoi du mail - // Envoie le mail - // Sent contient true si réussite sinon code erreur d'envoi en clair - $sent = $this->sendMail( - $userMail, - 'Installation de votre site', - 'Bonjour' . ' ' . $userFirstname . ' ' . $userLastname . ',

    ' . - 'Voici les détails de votre installation.

    ' . - 'URL du site :
    ' . helper::baseUrl(false) . '
    ' . - 'Identifiant du compte : ' . $this->getInput('installId') . '
    ', - null - ); - // Créer les dossiers - if (!is_dir(self::FILE_DIR.'source/banniere/')) { - mkdir(self::FILE_DIR.'source/banniere/');} - if (!is_dir(self::FILE_DIR.'thumb/banniere/')) { - mkdir(self::FILE_DIR.'thumb/banniere/'); - } - // Copier les fichiers - copy('core/module/install/ressource/file/source/banniere960.jpg',self::FILE_DIR.'source/banniere/banniere960.jpg'); - copy('core/module/install/ressource/file/thumb/banniere960.jpg',self::FILE_DIR.'thumb/banniere/banniere960.jpg'); - // Copie des icônes - copy('core/module/install/ressource/file/source/favicon.ico',self::FILE_DIR.'source/favicon.ico'); - copy('core/module/install/ressource/file/source/faviconDark.ico',self::FILE_DIR.'source/faviconDark.ico'); - // Configure certaines données par défaut - if ($this->getInput('installDefaultData',helper::FILTER_BOOLEAN) === FALSE) { - $this->initData('page','fr',true); - $this->initData('module','fr',true); - $this->setData(['module', 'blog', 'mon-premier-article', 'userId', $userId]); - $this->setData(['module', 'blog', 'mon-deuxieme-article', 'userId', $userId]); - $this->setData(['module', 'blog', 'mon-troisieme-article', 'userId', $userId]); + // Envoie le mail + // Sent contient true si réussite sinon code erreur d'envoi en clair + $sent = $this->sendMail( + $userMail, + 'Installation de votre site', + 'Bonjour' . ' ' . $userFirstname . ' ' . $userLastname . ',

    ' . + 'Voici les détails de votre installation.

    ' . + 'URL du site : ' . helper::baseUrl(false) . '
    ' . + 'Identifiant du compte : ' . $this->getInput('installId') . '
    ', + null + ); + // Créer les dossiers + if (!is_dir(self::FILE_DIR.'source/banniere/')) { + mkdir(self::FILE_DIR.'source/banniere/');} + if (!is_dir(self::FILE_DIR.'thumb/banniere/')) { + mkdir(self::FILE_DIR.'thumb/banniere/'); } - // Stocker le dossier d'installation - $this->setData(['core', 'baseUrl', helper::baseUrl(false,false) ]); - // Générer un fichier robots.txt - $this->createRobots(); - // Créer sitemap - $this->createSitemap(); - } else { - die ('Erreur fatale : impossible de stockage les données de l\utilisateur.'); + // Copier les fichiers + copy('core/module/install/ressource/file/source/banniere960.jpg',self::FILE_DIR.'source/banniere/banniere960.jpg'); + copy('core/module/install/ressource/file/thumb/banniere960.jpg',self::FILE_DIR.'thumb/banniere/banniere960.jpg'); + // Copie des icônes + copy('core/module/install/ressource/file/source/favicon.ico',self::FILE_DIR.'source/favicon.ico'); + copy('core/module/install/ressource/file/source/faviconDark.ico',self::FILE_DIR.'source/faviconDark.ico'); + // Configure certaines données par défaut + if ($this->getInput('installDefaultData',helper::FILTER_BOOLEAN) === FALSE) { + $this->initData('page','fr',true); + $this->initData('module','fr',true); + $this->setData(['module', 'blog', 'mon-premier-article', 'userId', $userId]); + $this->setData(['module', 'blog', 'mon-deuxieme-article', 'userId', $userId]); + $this->setData(['module', 'blog', 'mon-troisieme-article', 'userId', $userId]); } + // Stocker le dossier d'installation + $this->setData(['core', 'baseUrl', helper::baseUrl(false,false) ]); + // Générer un fichier robots.txt + $this->createRobots(); + // Créer sitemap + $this->createSitemap(); // Valeurs en sortie $this->addOutput([ 'redirect' => helper::baseUrl(false), diff --git a/module/gallery/gallery.php b/module/gallery/gallery.php index cd7b5764..1eef8ab4 100644 --- a/module/gallery/gallery.php +++ b/module/gallery/gallery.php @@ -234,7 +234,7 @@ class gallery extends common { } } // Soumission du formulaire d'ajout d'une galerie - if( $this->isPost() ) { + if($this->isPost()) { if (!$this->getInput('galleryConfigFilterResponse')) { $galleryId = helper::increment($this->getInput('galleryConfigName', helper::FILTER_ID, true), (array) $this->getData(['module', $this->getUrl(0)])); // définir une vignette par défaut @@ -253,20 +253,18 @@ class gallery extends common { break; } } - if ( $this->getInput('galleryConfigName') ) { - $this->setData(['module', $this->getUrl(0), $galleryId, [ - 'config' => [ - 'name' => $this->getInput('galleryConfigName'), - 'directory' => $this->getInput('galleryConfigDirectory', helper::FILTER_STRING_SHORT, true), - 'homePicture' => $homePicture, - 'sort' => self::SORT_ASC, - 'position' => $this->getData(['module',$this->getUrl(0)]) !== null ? count($this->getData(['module',$this->getUrl(0)])) + 1 : 0, - 'fullScreen' => false - ], - 'legend' => [], - 'positions' => [] - ]]); - } + $this->setData(['module', $this->getUrl(0), $galleryId, [ + 'config' => [ + 'name' => $this->getInput('galleryConfigName'), + 'directory' => $this->getInput('galleryConfigDirectory', helper::FILTER_STRING_SHORT, true), + 'homePicture' => $homePicture, + 'sort' => self::SORT_ASC, + 'position' => $this->getData(['module',$this->getUrl(0)]) !== null ? count($this->getData(['module',$this->getUrl(0)])) + 1 : 0, + 'fullScreen' => false + ], + 'legend' => [], + 'positions' => [] + ]]); // Valeurs en sortie $this->addOutput([ 'redirect' => helper::baseUrl() . $this->getUrl() /*. '#galleryConfigForm'*/, From b6a448ca9b7a6778a2c6ff9a68d2f3aa6dbe16af Mon Sep 17 00:00:00 2001 From: Prof Langues Date: Thu, 24 Sep 2020 11:34:26 +0200 Subject: [PATCH 192/194] validation masque de saisie user --- core/module/user/user.php | 37 +++++++++++++++---------------------- 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/core/module/user/user.php b/core/module/user/user.php index 34c51a64..c4fb8ca5 100755 --- a/core/module/user/user.php +++ b/core/module/user/user.php @@ -53,28 +53,21 @@ class user extends common { $userFirstname = $this->getInput('userAddFirstname', helper::FILTER_STRING_SHORT, true); $userLastname = $this->getInput('userAddLastname', helper::FILTER_STRING_SHORT, true); $userMail = $this->getInput('userAddMail', helper::FILTER_MAIL, true); - // Vérification des saisies - if (empty($userFirstname) - AND empty($userLastname) - AND empty($this->getInput('userAddPassword', helper::FILTER_STRING_SHORT, true)) - AND empty($this->getInput('userAddConfirmPassword', helper::FILTER_STRING_SHORT, true))) { - $check = false; - } - // Si tout est ok création effective - if ($check === true) { - $this->setData([ - 'user', - $userId, - [ - 'firstname' => $userFirstname, - 'forgot' => 0, - 'group' => $this->getInput('userAddGroup', helper::FILTER_INT, true), - 'lastname' => $userLastname, - 'mail' => $userMail, - 'password' => $this->getInput('userAddPassword', helper::FILTER_PASSWORD, true), - ] - ]); - } + + // Stockage des données + $this->setData([ + 'user', + $userId, + [ + 'firstname' => $userFirstname, + 'forgot' => 0, + 'group' => $this->getInput('userAddGroup', helper::FILTER_INT, true), + 'lastname' => $userLastname, + 'mail' => $userMail, + 'password' => $this->getInput('userAddPassword', helper::FILTER_PASSWORD, true), + ] + ]); + // Envoie le mail $sent = true; if($this->getInput('userAddSendMail', helper::FILTER_BOOLEAN) && $check === true) { From b9f49174da7091b8dc275d06acaa9780cb95fd8f Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Thu, 24 Sep 2020 17:29:59 +0200 Subject: [PATCH 193/194] update --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 523694bc..d5b5973d 100755 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ![](https://img.shields.io/github/last-commit/fredtempez/ZwiiCMS/master) ![](https://img.shields.io/github/release-date/fredtempez/ZwiiCMS) -# ZwiiCMS 10.2.09 +# ZwiiCMS 10.3.00 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. From 0a877b0d24f75ed5edd0ca1a03d3014dd8c9ca5e Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Thu, 24 Sep 2020 17:47:35 +0200 Subject: [PATCH 194/194] update --- CHANGES.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 488264fd..88531914 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -15,10 +15,10 @@ - La recherche dans le site devient un module externe plutôt qu'un module interne ; - Diverses corrections optimisations permettant une recherche à l'aide de plusieurs mot-clés. - Module galerie : - - Les données du thème de galerie sont désormais stockés de manière unique, un seul thème par site pour toutes les galeries d'un même site. + - Les données du thème de galerie sont désormais stockées de manière unique, un seul thème par site pour toutes les galeries d'un même site. - Configuration du site : - Pages 403 (accès interdit) et 404 (page introuvable) personnalisables - - Sauvegarde du site dans une archive : animation d'attente avec message de confirmation ou d'erreur. ; le nom de l'archive prend le nom du sous-domaine s'il existe. + - Sauvegarde du site dans une archive : animation d'attente avec message de confirmation ou d'erreur ; le nom de l'archive prend le nom du sous-domaine s'il existe. - Captcha : addition présentée en lettres sous la forme d'images, réponse en chiffres ; correction du nom de la fonction (capcha en captcha). - Page : - Duplication d'une page.