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 diff --git a/.htaccess b/.htaccess index 5b415e20..b2036adb 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 +# URL rewriting (ne pas supprimer ce commentaire !) \ No newline at end of file diff --git a/CHANGES.md b/CHANGES.md index e0abcd65..45b343fe 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -15,27 +15,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', 'plugin'. +- 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 diff --git a/core/class/helper.class.php b/core/class/helper.class.php index e8199c05..ba19a085 100644 --- a/core/class/helper.class.php +++ b/core/class/helper.class.php @@ -263,11 +263,15 @@ 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 - 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/module/config/config.php b/core/module/config/config.php index 72e4708a..ac622258 100644 --- a/core/module/config/config.php +++ b/core/module/config/config.php @@ -557,17 +557,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; @@ -578,8 +582,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/config/view/setup/setup.php b/core/module/config/view/setup/setup.php index af4d5961..22185567 100644 --- a/core/module/config/view/setup/setup.php +++ b/core/module/config/view/setup/setup.php @@ -42,9 +42,10 @@ ]); ?>
- helper::checkRewrite(), - 'help' => 'Supprime ? dans les URL et redirige sur le protocole HTTPS.' + '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 ]); ?>
diff --git a/core/module/install/install.php b/core/module/install/install.php index 42d3a810..38e5a93a 100644 --- a/core/module/install/install.php +++ b/core/module/install/install.php @@ -248,19 +248,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']) && @@ -268,7 +272,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