From cc8dcce9e3046fc4ae47647b24dd2dce03a8bf11 Mon Sep 17 00:00:00 2001 From: fredtempez Date: Thu, 28 Apr 2022 11:04:01 +0200 Subject: [PATCH 1/9] init bug rewrite --- .htaccess | 1 - core/class/helper.class.php | 3 ++- core/core.php | 1 - core/module/config/config.php | 31 ++++++++++++++++++++----------- core/module/install/install.php | 30 +++++++++++++++++------------- 5 files changed, 39 insertions(+), 27 deletions(-) diff --git a/.htaccess b/.htaccess index 5b415e20..6ebc6c9e 100644 --- a/.htaccess +++ b/.htaccess @@ -32,5 +32,4 @@ Options -Indexes Options -MultiViews -# Attention, surtout ne rien modifier ci-dessous ! # URL rewriting \ No newline at end of file diff --git a/core/class/helper.class.php b/core/class/helper.class.php index 43bb9a53..d74999af 100644 --- a/core/class/helper.class.php +++ b/core/class/helper.class.php @@ -267,7 +267,8 @@ class helper { // Ouvre et scinde le fichier .htaccess $htaccess = explode('# URL rewriting', file_get_contents('.htaccess')); // Retourne un boolean en fonction du contenu de la partie réservée à l'URL rewriting - self::$rewriteStatus = (empty($htaccess[1]) === false); + //self::$rewriteStatus = (empty($htaccess[1]) === false); + self::$rewriteStatus = (strpos($htaccess[1], 'RewriteEngine on') > 0) ? true : false; } return self::$rewriteStatus; } diff --git a/core/core.php b/core/core.php index a56bf873..3f374810 100644 --- a/core/core.php +++ b/core/core.php @@ -291,7 +291,6 @@ class common { ]);; } - // Import version 9 if (file_exists(self::DATA_DIR . 'core.json') === true && $this->getData(['core','dataVersion']) < 10000) { diff --git a/core/module/config/config.php b/core/module/config/config.php index 02ed0b45..d38ec9ce 100644 --- a/core/module/config/config.php +++ b/core/module/config/config.php @@ -547,17 +547,21 @@ class config extends common { AND helper::checkRewrite() === false ) { // Ajout des lignes dans le .htaccess + $fileContent = file_get_contents('.htaccess'); + $rewriteData = PHP_EOL . + '# URL rewriting' . PHP_EOL . + '' . PHP_EOL . + "\tRewriteEngine on" . PHP_EOL . + "\tRewriteBase " . helper::baseUrl(false, false) . PHP_EOL . + "\tRewriteCond %{REQUEST_FILENAME} !-f" . PHP_EOL . + "\tRewriteCond %{REQUEST_FILENAME} !-d" . PHP_EOL . + "\tRewriteRule ^(.*)$ index.php?$1 [L]" . PHP_EOL . + ''. PHP_EOL . + '# URL rewriting' . PHP_EOL ; + $fileContent = str_replace('# URL rewriting', $rewriteData, $fileContent); file_put_contents( '.htaccess', - PHP_EOL . - '' . PHP_EOL . - "\tRewriteEngine on" . PHP_EOL . - "\tRewriteBase " . helper::baseUrl(false, false) . PHP_EOL . - "\tRewriteCond %{REQUEST_FILENAME} !-f" . PHP_EOL . - "\tRewriteCond %{REQUEST_FILENAME} !-d" . PHP_EOL . - "\tRewriteRule ^(.*)$ index.php?$1 [L]" . PHP_EOL . - '', - FILE_APPEND + $fileContent ); // Change le statut de la réécriture d'URL (pour le helper::baseUrl() de la redirection) helper::$rewriteStatus = true; @@ -568,8 +572,13 @@ class config extends common { AND helper::checkRewrite() ) { // Suppression des lignes dans le .htaccess - $htaccess = explode('# URL rewriting', file_get_contents('.htaccess')); - file_put_contents('.htaccess', $htaccess[0] . '# URL rewriting'); + $fileContent = file_get_contents('.htaccess'); + $fileContent = explode('# URL rewriting', $fileContent); + $fileContent = $fileContent[0] . '# URL rewriting' . $fileContent[2]; + file_put_contents( + '.htaccess', + $fileContent + ); // Change le statut de la réécriture d'URL (pour le helper::baseUrl() de la redirection) helper::$rewriteStatus = false; } diff --git a/core/module/install/install.php b/core/module/install/install.php index 54f677c3..0145b020 100644 --- a/core/module/install/install.php +++ b/core/module/install/install.php @@ -252,19 +252,23 @@ class install extends common { $success = true; $rewrite = $this->getInput('data'); // Réécriture d'URL - if ($rewrite === "true") { - $success = (file_put_contents( + if ($rewrite === "true") { // Ajout des lignes dans le .htaccess + $fileContent = file_get_contents('.htaccess'); + $rewriteData = PHP_EOL . + '# URL rewriting' . PHP_EOL . + '' . PHP_EOL . + "\tRewriteEngine on" . PHP_EOL . + "\tRewriteBase " . helper::baseUrl(false, false) . PHP_EOL . + "\tRewriteCond %{REQUEST_FILENAME} !-f" . PHP_EOL . + "\tRewriteCond %{REQUEST_FILENAME} !-d" . PHP_EOL . + "\tRewriteRule ^(.*)$ index.php?$1 [L]" . PHP_EOL . + ''. PHP_EOL . + '# URL rewriting' . PHP_EOL ; + $fileContent = str_replace('# URL rewriting', $rewriteData, $fileContent); + file_put_contents( '.htaccess', - PHP_EOL . - '' . PHP_EOL . - "\tRewriteEngine on" . PHP_EOL . - "\tRewriteBase " . helper::baseUrl(false, false) . PHP_EOL . - "\tRewriteCond %{REQUEST_FILENAME} !-f" . PHP_EOL . - "\tRewriteCond %{REQUEST_FILENAME} !-d" . PHP_EOL . - "\tRewriteRule ^(.*)$ index.php?$1 [L]" . PHP_EOL . - '', - FILE_APPEND - ) !== false); + $fileContent + ); } // Recopie htaccess if ($this->getData(['config','autoUpdateHtaccess']) && @@ -272,7 +276,7 @@ class install extends common { ) { // L'écraser avec le backup $success = copy( '.htaccess.bak' ,'.htaccess' ); - // Effacer l ebackup + // Effacer le backup unlink('.htaccess.bak'); } // Valeurs en sortie From 01dd64f3e1db0a0d5d46b48afc024e2e99dc30e7 Mon Sep 17 00:00:00 2001 From: fredtempez Date: Thu, 28 Apr 2022 11:17:51 +0200 Subject: [PATCH 2/9] check Apache Server WIP --- .htaccess | 3 ++- core/class/helper.class.php | 5 ++++- core/module/config/view/setup/setup.php | 3 ++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.htaccess b/.htaccess index 6ebc6c9e..3b8c7f11 100644 --- a/.htaccess +++ b/.htaccess @@ -32,4 +32,5 @@ Options -Indexes Options -MultiViews -# URL rewriting \ No newline at end of file + +# URL rewriting diff --git a/core/class/helper.class.php b/core/class/helper.class.php index d74999af..10348db1 100644 --- a/core/class/helper.class.php +++ b/core/class/helper.class.php @@ -263,7 +263,10 @@ class helper { * @return bool */ public static function checkRewrite() { - if(self::$rewriteStatus === null) { + // N'interroge que le serveur Apache + if (strpos($_SERVER["SERVER_SOFTWARE"], 'Apache') > 0) { + self::$rewriteStatus === false; + } elseif(self::$rewriteStatus === null) { // Ouvre et scinde le fichier .htaccess $htaccess = explode('# URL rewriting', file_get_contents('.htaccess')); // Retourne un boolean en fonction du contenu de la partie réservée à l'URL rewriting diff --git a/core/module/config/view/setup/setup.php b/core/module/config/view/setup/setup.php index 97c603c0..64c1bfbe 100644 --- a/core/module/config/view/setup/setup.php +++ b/core/module/config/view/setup/setup.php @@ -44,7 +44,8 @@
helper::checkRewrite(), - 'help' => 'Supprime ? dans les URL et redirige sur le protocole HTTPS.' + 'help' => 'Supprime ? dans les URL, fonctionne qu\'avec Apache Server.', + 'disabled' => strpos($_SERVER["SERVER_SOFTWARE"], 'Apache') > 0 ? true : false ]); ?>
From 02766515c58de9d65cd0006c4d0bb9cd399d10d0 Mon Sep 17 00:00:00 2001 From: fredtempez Date: Thu, 28 Apr 2022 12:39:27 +0200 Subject: [PATCH 3/9] =?UTF-8?q?D=C3=A9sactive=20rewrite=20URL=20sous=20ngi?= =?UTF-8?q?nx?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .htaccess | 12 ++++++++++++ core/module/config/view/setup/setup.php | 4 ++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/.htaccess b/.htaccess index 3b8c7f11..ec3c06d9 100644 --- a/.htaccess +++ b/.htaccess @@ -33,4 +33,16 @@ Options -Indexes + + # URL rewriting + + RewriteEngine on + RewriteBase /ZwiiCMS/ + RewriteCond %{REQUEST_FILENAME} !-f + RewriteCond %{REQUEST_FILENAME} !-d + RewriteRule ^(.*)$ index.php?$1 [L] + +# URL rewriting + + diff --git a/core/module/config/view/setup/setup.php b/core/module/config/view/setup/setup.php index 64c1bfbe..7c6528f3 100644 --- a/core/module/config/view/setup/setup.php +++ b/core/module/config/view/setup/setup.php @@ -42,9 +42,9 @@ ]); ?>
- helper::checkRewrite(), - 'help' => 'Supprime ? dans les URL, fonctionne qu\'avec Apache Server.', + 'help' => 'Supprime le point d\'interrogation dans les URL, option indisponible sous Nginx', 'disabled' => strpos($_SERVER["SERVER_SOFTWARE"], 'Apache') > 0 ? true : false ]); ?>
From f567d7645df305c7559cc083fa92d9e02a71340a Mon Sep 17 00:00:00 2001 From: fredtempez Date: Thu, 28 Apr 2022 12:51:25 +0200 Subject: [PATCH 4/9] Disable rewrite not apache --- .htaccess | 21 +++++---------------- core/module/config/view/setup/setup.php | 4 ++-- 2 files changed, 7 insertions(+), 18 deletions(-) diff --git a/.htaccess b/.htaccess index ec3c06d9..eac84f25 100644 --- a/.htaccess +++ b/.htaccess @@ -27,22 +27,11 @@ # Bloque l'accès à la liste des fichiers Options -Indexes + +# URL rewriting + + # Désactive l'option de substitution automatique Options -MultiViews - - - - - -# URL rewriting - - RewriteEngine on - RewriteBase /ZwiiCMS/ - RewriteCond %{REQUEST_FILENAME} !-f - RewriteCond %{REQUEST_FILENAME} !-d - RewriteRule ^(.*)$ index.php?$1 [L] - -# URL rewriting - - + \ No newline at end of file diff --git a/core/module/config/view/setup/setup.php b/core/module/config/view/setup/setup.php index 7c6528f3..3b371908 100644 --- a/core/module/config/view/setup/setup.php +++ b/core/module/config/view/setup/setup.php @@ -42,9 +42,9 @@ ]); ?>
- helper::checkRewrite(), - 'help' => 'Supprime le point d\'interrogation dans les URL, option indisponible sous Nginx', + 'help' => 'Supprime le point d\'interrogation dans les URL, l\'option est indisponible avec les autres serveurs Web', 'disabled' => strpos($_SERVER["SERVER_SOFTWARE"], 'Apache') > 0 ? true : false ]); ?>
From 60f74c3247e6c15bd6bca6872f3afd9d47a55966 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Tempez?= Date: Fri, 29 Apr 2022 16:21:02 +0200 Subject: [PATCH 5/9] virer gitignore --- .gitignore | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100755 .gitignore diff --git a/.gitignore b/.gitignore deleted file mode 100755 index 622bdb64..00000000 --- a/.gitignore +++ /dev/null @@ -1,19 +0,0 @@ -# Fichiers du site -site/* - -# Dossiers vides dans GitHub -!.gitkeep -/.git - -# PHPStorm -.idea/ - -# Trucs -core/vendor/tinymce/link_list.json -.vscode/* -sitemap.xml.gz -sitemap.xml -robots.txt -.DS_Store -# Service de mise à jour -gitupdate.sh From ae71326bd08f5856d103f8e815696fe86f55a429 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Tempez?= Date: Fri, 29 Apr 2022 16:21:02 +0200 Subject: [PATCH 6/9] virer gitignore --- .gitignore | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100755 .gitignore diff --git a/.gitignore b/.gitignore deleted file mode 100755 index 622bdb64..00000000 --- a/.gitignore +++ /dev/null @@ -1,19 +0,0 @@ -# Fichiers du site -site/* - -# Dossiers vides dans GitHub -!.gitkeep -/.git - -# PHPStorm -.idea/ - -# Trucs -core/vendor/tinymce/link_list.json -.vscode/* -sitemap.xml.gz -sitemap.xml -robots.txt -.DS_Store -# Service de mise à jour -gitupdate.sh From 25d1556210877616356d4ff91744a31bc081d246 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Tempez?= Date: Fri, 29 Apr 2022 19:23:11 +0200 Subject: [PATCH 7/9] =?UTF-8?q?commentaire=20htaccess=20-=20ligne=20=C3=A0?= =?UTF-8?q?=20ne=20pas=20supprimer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .htaccess | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.htaccess b/.htaccess index eac84f25..b2036adb 100644 --- a/.htaccess +++ b/.htaccess @@ -27,11 +27,9 @@ # Bloque l'accès à la liste des fichiers Options -Indexes - -# URL rewriting - - # Désactive l'option de substitution automatique Options -MultiViews - \ No newline at end of file + + +# URL rewriting (ne pas supprimer ce commentaire !) \ No newline at end of file From 5e25484263888cf1d239ef91df37e2050bc376e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Tempez?= Date: Fri, 29 Apr 2022 19:25:31 +0200 Subject: [PATCH 8/9] =?UTF-8?q?Compatibilit=C3=A9=20RFM=20php=208.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/vendor/filemanager/config/config.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/vendor/filemanager/config/config.php b/core/vendor/filemanager/config/config.php index 786a9b0b..8608494e 100644 --- a/core/vendor/filemanager/config/config.php +++ b/core/vendor/filemanager/config/config.php @@ -3,8 +3,8 @@ $version = "9.14.0"; if (session_id() == '') session_start(); mb_internal_encoding('UTF-8'); -mb_http_output('UTF-8'); -mb_http_input('UTF-8'); +mb_http_output(); +mb_http_input(); mb_language('uni'); if (function_exists('mb_regex_encoding')) { mb_regex_encoding('UTF-8'); From 408a8ed60ee395fdd7378032f582f9b4bd1ad409 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Tempez?= Date: Fri, 29 Apr 2022 19:35:40 +0200 Subject: [PATCH 9/9] changes --- CHANGES.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 0f77e99a..7d9532ef 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,27 +2,30 @@ ## Version 11.4.00 ### Nouveautés : +- Compatibilité avec PHP 8.1 - Prise en charge des fontes Web Safe. Les fontes initiales sont transférées dans les fontes optionnelles, donc effaçables. -- Toutes les fontes en ligne sont désormais acceptées quel que soit le CDN, Google Fonte (avec preconnect), CDN Fontes ou autre. +- Toutes les fontes en ligne sont désormais acceptées quel que soit le CDN, Google Fonte (avec preconnect), CDN Fontes ou autres. - Désormais, les URL internes sont relatives, cela signifie qu'elles ne contiendront plus le domaine et le chemin d'accès au site. Cela permettra le déplacement d'un site d'un hébergement à un autre, d'un dossier d'hébergement à un autre, sans avoir à convertir les adresses internes. Les données d'un site mis à jour et importées d'une version antérieures sont automatiquement converties. En conséquence, le bloc de conversion de la fenêtre d'import est supprimé. - Suppression temporaire de l'option d'installation d'un module, il faudra passer par une connexion FTP pour cela. Cette fonctionnalité a été réécrite pour la version 11.2. ### Améliorations : - Configuration de la bannière, modalité d'affichage de la taille d'image recommandée et affichage des dimensions de l'image. - Edition d'une page, le nom court se complète automatiquement. - Configuration de la connexion, une option autorise l'affichage de la page de connexion lorsqu'une page de gestion du site est demandée: 'user', 'theme', 'config', 'edit', 'translate', 'addon'. +- L'option de réécriture d'URL n'est pas plus active avec le serveur Nginx. - Galerie, version 3.5 : - Nouvelle structure anticipée sur la version 12, le formulaire d'ajout de la galerie est séparé de la liste des galeries du module. - Lorsque la galerie n'en contient qu'**une seule galerie**, elle peut être affichée directement, la liste des galeries étant ignorée. Pour cela, activer cette option dans les options de la galerie. - Le contenu de la page peut désormais être affiché avec le contenu de la galerie sélectionnée. Ce paramètre ce gère au niveau de chaque galerie. - Déplacement du bouton de retour à la liste des galeries en bas de l'écran. ### Corrections : +- URL Rewrite Apache, bug d'interprétation d'activation de la réécriture d'URL lorsque des données ont été inscrites après la ligne servant de délimiteur *# URL rewriting* dans le fichier htaccess. - Module Galerie : correction de bugs, tri des images, erreurs d'affectation. - Module Blog : taille recommandée de l'image erronée lorsque la largeur de l'écran est réglée sur fluide (100%). - Gestion des pages : positionnement dans le menu accessoire ou dans le menu standard. - Safari sur Mac, bug avec les cookies qui ne sont pas stockés. - Nettoyage du code. ### Mise à jour : -- TableDND, script JQUERY de tri de tables utilisé par la galerie, passe en version 1.0.5 +- TableDND, script JQUERY de tri de tables utilisé par la galerie passe en version 1.0.5 - PHPMailer 6.6.0 ## Version 11.3.07