forked from ZwiiCMS-Team/ZwiiCMS
Pb sitemap avec proxy
This commit is contained in:
parent
a079cadc68
commit
37cf776789
@ -1,6 +1,11 @@
|
||||
# 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.
|
||||
|
||||
|
@ -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
|
||||
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'));
|
||||
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user