mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-02-20 13:46:52 +01:00
changes to fix pr + robots.txt
This commit is contained in:
parent
7f6cb24909
commit
4032c8f877
|
|
@ -2155,65 +2155,6 @@ if ($action == 'regeneratesite')
|
|||
}
|
||||
}
|
||||
|
||||
$form = new Form($db);
|
||||
$formadmin = new FormAdmin($db);
|
||||
$formwebsite = new FormWebsite($db);
|
||||
$formother = new FormOther($db);
|
||||
$domainname = '0.0.0.0:8080';
|
||||
$tempdir = $conf->website->dir_output.'/'.$websitekey.'/';
|
||||
|
||||
// Confirm generation of website sitemaps
|
||||
if ($action == 'confirmgeneratesitemaps'){
|
||||
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?website='.$website->ref, $langs->trans('ConfirmSitemapsCreation'), $langs->trans('ConfirmGenerateSitemaps', $object->ref), 'generatesitemaps', '', "yes", 1);
|
||||
$action = 'preview';
|
||||
}
|
||||
|
||||
// Generate web site sitemaps
|
||||
if ($action == 'generatesitemaps') {
|
||||
$domtree = new DOMDocument('1.0', 'UTF-8');
|
||||
$root = $domtree->createElementNS('http://www.sitemaps.org/schemas/sitemap/0.9', 'urlset');
|
||||
$domtree->formatOutput = true;
|
||||
|
||||
$sql = "SELECT wp.type_container , wp.pageurl, wp.lang, DATE(wp.tms) as tms, w.virtualhost";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."website_page as wp, ".MAIN_DB_PREFIX."website as w";
|
||||
$sql .= " WHERE wp.type_container IN ('page', 'blogpost')";
|
||||
$resql = $db->query($sql);
|
||||
if ($resql) {
|
||||
$num_rows = $db->num_rows($resql);
|
||||
if ($num_rows > 0) {
|
||||
$i = 0;
|
||||
while ($i < $num_rows) {
|
||||
$objp = $db->fetch_object($resql);
|
||||
$url = $domtree->createElement('url');
|
||||
$pageurl = $objp->pageurl;
|
||||
if ($objp->lang) {
|
||||
$pageurl = $objp->lang.'/'.$pageurl;
|
||||
}
|
||||
if ($objp->virtualhost) {
|
||||
$domainname = $objp->virtualhost;
|
||||
}
|
||||
$loc = $domtree->createElement('loc', 'http://'.$domainname.'/'.$pageurl);
|
||||
$lastmod = $domtree->createElement('lastmod', $objp->tms);
|
||||
|
||||
$url->appendChild($loc);
|
||||
$url->appendChild($lastmod);
|
||||
$root->appendChild($url);
|
||||
$i++;
|
||||
}
|
||||
$domtree->appendChild($root);
|
||||
if ($domtree->save($tempdir.'sitemaps.'.$websitekey.'.xml'))
|
||||
{
|
||||
setEventMessages($langs->trans("SitemapGenerated"), null, 'mesgs');
|
||||
} else {
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
}
|
||||
}
|
||||
}else {
|
||||
dol_print_error($db);
|
||||
}
|
||||
$action = 'preview';
|
||||
}
|
||||
|
||||
// Import site
|
||||
if ($action == 'importsiteconfirm')
|
||||
{
|
||||
|
|
@ -2307,9 +2248,91 @@ if ($action == 'importsiteconfirm')
|
|||
|
||||
|
||||
/*
|
||||
* View
|
||||
*/
|
||||
* View
|
||||
*/
|
||||
|
||||
$form = new Form($db);
|
||||
$formadmin = new FormAdmin($db);
|
||||
$formwebsite = new FormWebsite($db);
|
||||
$formother = new FormOther($db);
|
||||
$domainname = '0.0.0.0:8080';
|
||||
$tempdir = $conf->website->dir_output.'/'.$websitekey.'/';
|
||||
|
||||
// Confirm generation of website sitemaps
|
||||
if ($action == 'confirmgeneratesitemaps'){
|
||||
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?website='.$website->ref, $langs->trans('ConfirmSitemapsCreation'), $langs->trans('ConfirmGenerateSitemaps', $object->ref), 'generatesitemaps', '', "yes", 1);
|
||||
$action = 'preview';
|
||||
}
|
||||
|
||||
// Generate web site sitemaps
|
||||
if ($action == 'generatesitemaps') {
|
||||
$domtree = new DOMDocument('1.0', 'UTF-8');
|
||||
$root = $domtree->createElementNS('http://www.sitemaps.org/schemas/sitemap/0.9', 'urlset');
|
||||
$domtree->formatOutput = true;
|
||||
$xmlname = 'sitemap.'.$websitekey.'.xml';
|
||||
|
||||
$sql = "SELECT wp.type_container , wp.pageurl, wp.lang, DATE(wp.tms) as tms, w.virtualhost";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."website_page as wp, ".MAIN_DB_PREFIX."website as w";
|
||||
$sql .= " WHERE wp.type_container IN ('page', 'blogpost')";
|
||||
$sql .= " AND wp.fk_website = w.rowid";
|
||||
$sql .= " AND w.ref = '".$websitekey."'";
|
||||
$resql = $db->query($sql);
|
||||
if ($resql) {
|
||||
$num_rows = $db->num_rows($resql);
|
||||
if ($num_rows > 0) {
|
||||
$i = 0;
|
||||
while ($i < $num_rows) {
|
||||
$objp = $db->fetch_object($resql);
|
||||
$url = $domtree->createElement('url');
|
||||
$pageurl = $objp->pageurl;
|
||||
if ($objp->lang) {
|
||||
$pageurl = $objp->lang.'/'.$pageurl;
|
||||
}
|
||||
if ($objp->virtualhost) {
|
||||
$domainname = $objp->virtualhost;
|
||||
}
|
||||
$loc = $domtree->createElement('loc', 'http://'.$domainname.'/'.$pageurl);
|
||||
$lastmod = $domtree->createElement('lastmod', $objp->tms);
|
||||
|
||||
$url->appendChild($loc);
|
||||
$url->appendChild($lastmod);
|
||||
$root->appendChild($url);
|
||||
$i++;
|
||||
}
|
||||
$domtree->appendChild($root);
|
||||
if ($domtree->save($tempdir.$xmlname))
|
||||
{
|
||||
setEventMessages($langs->trans("SitemapGenerated"), null, 'mesgs');
|
||||
} else {
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
}
|
||||
}
|
||||
}else {
|
||||
dol_print_error($db);
|
||||
}
|
||||
$robotcontent = @file_get_contents($filerobot);
|
||||
$result = preg_replace('/<?php // BEGIN PHP[^?]END PHP ?>\n/ims', '', $robotcontent);
|
||||
if ($result)
|
||||
{
|
||||
$robotcontent = $result;
|
||||
}
|
||||
$robotsitemap = "Sitemap: ".$domainname."/".$xmlname;
|
||||
$result = strpos($robotcontent,'Sitemap: ');
|
||||
if ($result)
|
||||
{
|
||||
$result = preg_replace("/Sitemap.*\n/",$robotsitemap,$robotcontent);
|
||||
$robotcontent = $result ? $result : $robotcontent;
|
||||
}else{
|
||||
$robotcontent .= $robotsitemap."\n";
|
||||
}
|
||||
$result = dolSaveRobotFile($filerobot, $robotcontent);
|
||||
if (!$result)
|
||||
{
|
||||
$error++;
|
||||
setEventMessages('Failed to write file '.$filerobot, null, 'errors');
|
||||
}
|
||||
$action = 'preview';
|
||||
}
|
||||
|
||||
$helpurl = 'EN:Module_Website|FR:Module_Website_FR|ES:Módulo_Website';
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user