diff --git a/CHANGES.md b/CHANGES.md index 133b0b56..415c7e46 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,9 +1,20 @@ # Changelog ## version 10.5.00 +A partir de cette version, les version de php inférieures à 7.2 ne sont plus supportées. +- Corrections : + - SiteMapGenerator 4.3.1 + - La classe SiteMapGenerator prend en charge la création/modification du fichier robots.txt + - Si un proxy est défini le sitemap n'est pas soumis aux moteurs de recherche afin d'éviter un timeout trop important. - Modifications : - Gestion des modules dans l'interface d'administration. +## version 10.4.06 +- Mise à jour : + - Annulation de la mise à jour SiteMapGenerator 4.3.1 et réinstallation de la version initiale. +- Modification : + - Méthode Curl pour la lecture de données par Url. + ## version 10.4.05 - Mise à jour : - SiteMapGenerator 4.3.1 diff --git a/README.md b/README.md index 54fc703b..8466d956 100755 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -# ZwiiCMS 10.4.05 +# ZwiiCMS 10.5.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. @@ -9,12 +9,12 @@ ZwiiCMS a été créé par un développeur de talent, [Rémi Jean](https://remij ## Configuration recommandée -* PHP 5.6 ou plus +* PHP 7.2 ou plus * Support de .htaccess -## Téléchargement de ZwiICMS +## Téléchargement de ZwiiCMS -Pour télécharger la dernière version publiée, il faut vous rendre sur la page de téléchargemet du [site](https://zwiicms.fr/telechargements) +Pour télécharger la dernière version publiée, il faut vous rendre sur la page de téléchargement du [site](https://zwiicms.fr/telechargements) La version github est une **version de développement** qui peut encore contenir des bugs mais elle vous permet de tester les dernières nouveautés. Cette version n'est pas recommandée en production. diff --git a/core/class/helper.class.php b/core/class/helper.class.php index 503ea941..a0866708 100755 --- a/core/class/helper.class.php +++ b/core/class/helper.class.php @@ -40,7 +40,7 @@ class helper { } /** - * Fonction pour récupérer le numéro de version en ligne + * Fonction pour récupérer le numéro de version en ligne et le catalogue des modules * @param string $url à récupérer * @return mixed données récupérées */ @@ -53,11 +53,18 @@ class helper { if(function_exists('file_get_contents') && ini_get('allow_url_fopen') ){ $url_get_contents_data = @file_get_contents($url); // Masque un warning éventuel + }elseif(function_exists('curl_version')){ + $ch = curl_init(); + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_URL, $url); + $url_get_contents_data = curl_exec($ch); + curl_close($ch); }elseif(function_exists('fopen') && function_exists('stream_get_contents') && ini_get('allow_url_fopen')){ $handle = fopen ($url, "r"); - $url_get_contents_data = stream_get_contents($handle); + $url_get_contents_data = stream_get_contents($handle); }else{ $url_get_contents_data = false; } diff --git a/core/core.js.php b/core/core.js.php index 456cd067..5bed7595 100755 --- a/core/core.js.php +++ b/core/core.js.php @@ -474,6 +474,20 @@ $(document).ready(function(){ }; }); + /** + * Active le système d'aide interne + * + */ + + $(".helpDisplayButton").on({ + mouseenter: function () { + $(".helpDisplayContent").slideDown(); + }, + mouseleave: function () { + $(".helpDisplayContent").slideUp(); + } + }); + /** * Remove ID Facebook from URL */ diff --git a/core/core.php b/core/core.php index c1c8e23d..97b22910 100755 --- a/core/core.php +++ b/core/core.php @@ -695,37 +695,6 @@ class common { return ($folder); } - /** - * Génère un fichier robots.txt à l'installation - * Si le fichier existe déjà les commandes sont ajoutées - */ - public function createRobots() { - - $robotValue = - PHP_EOL . - '# ZWII CONFIG ---------' . PHP_EOL . - 'User-agent: *' . PHP_EOL . - 'Allow: /site/file/' .PHP_EOL . - 'Disallow: /site/' .PHP_EOL . - 'Sitemap: ' . helper::baseUrl(false) . 'sitemap.xml' . PHP_EOL . - 'Sitemap: ' . helper::baseUrl(false) . 'sitemap.xml.gz' . PHP_EOL . - '# ZWII CONFIG ---------' . PHP_EOL ; - - if (file_exists('robots.txt')) { - return(file_put_contents( - 'robots.txt', - $robotValue, - FILE_APPEND - )); - } else { - // Sinon on crée un fichier - return(file_put_contents( - 'robots.txt', - $robotValue - )); - } - } - /** * Génère un fichier un fichier sitemap.xml @@ -740,9 +709,7 @@ class common { //require_once "core/vendor/sitemap/SitemapGenerator.php"; $timezone = $this->getData(['config','timezone']); - $outputDir = getcwd(); - $sitemap = new \Icamys\SitemapGenerator\SitemapGenerator(helper::baseurl(false),$outputDir); // will create also compressed (gzipped) sitemap @@ -753,10 +720,11 @@ class common { $sitemap->setMaxUrlsPerSitemap(50000); // sitemap file name - $sitemap->setSitemapFileName("sitemap.xml"); + $sitemap->setSitemapFileName( 'sitemap.xml') ; + // Set the sitemap index file name - $sitemap->setSitemapIndexFileName("sitemap-index.xml"); + $sitemap->setSitemapIndexFileName( 'sitemap-index.xml'); $datetime = new DateTime(date('c')); $datetime->format(DateTime::ATOM); // Updated ISO8601 @@ -812,9 +780,11 @@ class common { $sitemap->updateRobots(); // Submit your sitemaps to Google, Yahoo, Bing and Ask.com - //$sitemap->submitSitemap(); + if (empty ($this->getData(['config','proxyType']) . $this->getData(['config','proxyUrl']) . ':' . $this->getData(['config','proxyPort'])) ) { + $sitemap->submitSitemap(); + } - return(file_exists('sitemap.xml')); + return(file_exists('sitemap.xml') && file_exists('robots.txt')); } @@ -1611,6 +1581,30 @@ class common { if ($this->getData(['core', 'dataVersion']) < 10405) { $this->setData(['core', 'dataVersion', 10405]); } + + // Version 11.0.00 + if ($this->getData(['core', 'dataVersion']) < 11000) { + + // Option de déconnexion auto activée + $this->setData(['config','autoDisconnect',true]); + + // Mettre à jour les données de langue + $this->setData(['config','translate','scriptGoogle', false ]); + $this->setData(['config','translate','showCredits', false ]); + $this->setData(['config','translate','autoDetect', false ]); + $this->setData(['config','translate','admin', false ]); + $this->setData(['config','translate','fr', false ]); + $this->setData(['config','translate','de', false ]); + $this->setData(['config','translate','en', false ]); + $this->setData(['config','translate','es', false ]); + $this->setData(['config','translate','it', false ]); + $this->setData(['config','translate','nl', false ]); + $this->setData(['config','translate','pt', false ]); + + $this->setData(['core', 'dataVersion', 11000]); + + + } } } diff --git a/core/module/config/config.php b/core/module/config/config.php index 7665cfd7..a2244036 100755 --- a/core/module/config/config.php +++ b/core/module/config/config.php @@ -20,7 +20,6 @@ class config extends common { 'backup' => self::GROUP_ADMIN, 'configMetaImage' => self::GROUP_ADMIN, 'generateFiles' => self::GROUP_ADMIN, - 'updateRobots' => self::GROUP_ADMIN, 'index' => self::GROUP_ADMIN, 'advanced' => self::GROUP_ADMIN, 'manage' => self::GROUP_ADMIN, @@ -187,55 +186,22 @@ class config extends common { /** * Génére les fichiers pour les crawlers + * Sitemap compressé et non compressé + * Robots.txt */ public function generateFiles() { + // Mettre à jour le site map $successSitemap=$this->createSitemap(); - // Créer un fichier robots.txt - $successRobots=$this->updateRobots(); - if ( $successSitemap === true && - $successRobots >= 100) { - $success = true; - } else { - $success = false; - } // Valeurs en sortie $this->addOutput([ - 'notification' => ($successSitemap === true && $successRobots >= 100) ? 'Création réussie' : 'Echec d\'écriture', + 'notification' => $successSitemap ? 'Le sitemap a été mis à jour' : 'Echec d\'écriture, le site map n\'a pas été mis à jour', 'redirect' => helper::baseUrl() . 'config/advanced', - 'state' => ($successSitemap === true && $successRobots >=100) ? true : false + 'state' => $successSitemap ]); } - /** - * Met à jour un fichier robots.txt lors du changement de réécriture - */ - - private function updateRobots() { - // Créer le fichier robot si absent - if (!file_exists('robots.txt')) { - $this->createRobots(); - } - // backup - rename ('robots.txt','robots.bak'); - $fileold = fopen('robots.bak','r'); - $filenew = fopen('robots.txt','w'); - while(!feof($fileold)) { - $data = fgets($fileold); - if (strpos($data,'sitemap.xml') == 0) { - fwrite($filenew, $data); - } else { - fwrite($filenew, 'Sitemap: ' . helper::baseUrl(false) . 'sitemap.xml' . PHP_EOL); - fwrite($filenew, 'Sitemap: ' . helper::baseUrl(false) . 'sitemap.xml.gz' . PHP_EOL); - fwrite($filenew, '# ZWII CONFIG ---------' . PHP_EOL); - break; - } - } - fclose($fileold); - unlink('robots.bak'); - return(fclose($filenew)); - } /** * Sauvegarde des données diff --git a/core/module/install/install.php b/core/module/install/install.php index 1c2c1254..d5c7a419 100755 --- a/core/module/install/install.php +++ b/core/module/install/install.php @@ -103,8 +103,6 @@ class install extends common { } // 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 diff --git a/index.php b/index.php index 3e6b954b..2867c446 100755 --- a/index.php +++ b/index.php @@ -22,8 +22,8 @@ session_start(); /** * Vérification de la version de PHP */ -if(version_compare(PHP_VERSION, '5.6.0', '<')) { - exit('PHP 5.6+ required.'); +if(version_compare(PHP_VERSION, '7.2.0', '<')) { + exit('PHP 7.2+ required.'); } /* diff --git a/module/blog/blog.php b/module/blog/blog.php index 560086b3..ce001ab8 100755 --- a/module/blog/blog.php +++ b/module/blog/blog.php @@ -99,10 +99,10 @@ class blog extends common { */ public function rss() { // Inclure les classes - include_once 'module/news/vendor/FeedWriter/Item.php'; - include_once 'module/news/vendor/FeedWriter/Feed.php'; - include_once 'module/news/vendor/FeedWriter/RSS2.php'; - include_once 'module/news/vendor/FeedWriter/InvalidOperationException.php'; + include_once 'module/blog/vendor/FeedWriter/Item.php'; + include_once 'module/blog/vendor/FeedWriter/Feed.php'; + include_once 'module/blog/vendor/FeedWriter/RSS2.php'; + include_once 'module/blog/vendor/FeedWriter/InvalidOperationException.php'; date_default_timezone_set('UTC'); $feeds = new \FeedWriter\RSS2(); diff --git a/module/blog/view/index/index.php b/module/blog/view/index/index.php index ca0f24d7..7beeb709 100755 --- a/module/blog/view/index/index.php +++ b/module/blog/view/index/index.php @@ -53,8 +53,8 @@ getData(['module',$this->getUrl(0), 'config', 'feeds'])): ?>