Re: Google Sitemap XML für 4.8x mit und ohne MR
Verfasst: Do 20. Aug 2009, 16:13
niemand? 
Das Diskussionsforum zum Open Source Content Management System
https://forum.contenido.org/
Servus Andreas,onda88 hat geschrieben:Code: Alles auswählen
"Fatal error: Error: Can't include /home/wusr30072/www/cms/includes/functions.input.helper.php in /home/wusr30072/www/contenido/includes/api/functions.api.general.php on line 181"!
Code: Alles auswählen
<!-- SEITENTITEL -->
<url>
<loc>http://www.url.com/</loc>
<lastmod>2009-09-30T20:00:00+02:00</lastmod>
<changefreq>weekly</changefreq>
</url>
<!-- SEITENTITEL -->
<url>
<loc>http://www.url.com/unterseite.html</loc>
<lastmod>2009-09-30T20:00:00+02:00</lastmod>
<changefreq>weekly</changefreq>
</url>
...
Sobald in der Sitemap keine Kommentare mehr vorkommen, wird sie von Google sofort akzeptiert...Wir konnten Ihre XML-Sitemap nicht lesen. Sie dürfte einen Eintrag enthalten, den wir nicht verarbeiten konnten. Bitte validieren Sie Ihre XML-Sitemap, bevor Sie sie neu einreichen.
Hi, ich nehme an, so kannst Du aber nichts in der zweiten Sprache konfigurieren, oder?Polardrache hat geschrieben:Ich hab bei mir eine zusätzliche Schleife für die Sprachen direkt nach der Header-Ausgabe eingebaut. Allerdings musst Du den Output-Code von Hand anpassen, wenn Du mehr Sprachen hast.
Hey xmurrix,xmurrix hat geschrieben: Download:
- Contenido_module_XML_Sitemaps_20090126.zip
Code: Alles auswählen
<?php
$arr_langs = explode(',', $lang);
# debug:
# header("Content-type: text/plain");
$dir = preg_replace("/\w+\.php\d?/", "", $_SERVER['SCRIPT_NAME']);
$url = 'http://' .$_SERVER['SERVER_NAME'] .$dir .'front_content.php?idart=' .$_GET['idart'] .'&lang='; # language parameter is set in for loop!
$data=false;
for($i=0; $i<count($arr_langs); $i++) {
$urlsinlang = '';
$file = fopen($url .$arr_langs[$i], "r");
while(!feof($file))
$urlsinlang .=fgets($file, 4096);
fclose($file);
# extract urlset and wrapping stuff
preg_match("/^(<\?xml[^>]+\?>\s*<urlset[^>]+>\s*)(.+)(<\/urlset>\s*)$/ms", $urlsinlang, $matches);
# opening tag
if($i==0) {
header("Content-type: text/xml");
echo $matches[1];
}
# urls for this language
echo "\n" .'<!-- :::::::::::: urlset for lang ID ' .$arr_langs[$i] .': :::::::::::: -->' ."\n";
echo $matches[2];
# closing tag
if($i==count($arr_langs)-1) {
echo $matches[3];
}
}
?>Code: Alles auswählen
(...)
# One RewriteRule to rule them all
# --------------------------------
(...?)
RewriteCond %{REQUEST_URI} !sitemap\.
RewriteRule !\.(js|ico|gif|jpg|jpeg|png|css|pdf|txt|xml)$ front_content.php [NC,QSA,L]
# SITEMAP
RewriteRule ^sitemap\.xml$ sitemap.php?idart=94&lang=1,2,3,4 [NC,QSA,L]
Code: Alles auswählen
User-agent: *
Sitemap: http://example.com/sitemap.xmlEine Einleitung für die Installation und Einrichtung des Sitemap-Moduls, das für alle Contenido und Modulversionen gilt, gibt es leider nicht.hohorstmann hat geschrieben:...
ich nutze noch C 4.8.8 und möchte gern eine XML-Sitemap erzeugen.
...
Leider läuft da soviel schief, dass ich es garnicht aufschreiben kann. Ich habe den Überblick verloren und wohl nichts verstanden!
...
Ist da jemand, der mir eine komprimierte Anleitung gibt, wie ich dieses Ding denn installiere.
...
habe ich jetzt auch die gewünschte Google-XML-Sitemap installiert.upgrade von 4.8.8 auf 4.8.14
AMR laut Deiner Vorgabe auf Deiner Website installiert (geiles Sahneschnittchen übrigens!)
(siehe unten) gefolgt und siehe da ...
Code: Alles auswählen
A . idtree, E . idart";Code: Alles auswählen
D . lastmodified desc";Code: Alles auswählen
?><?php
/**
* XML Sitemaps - Ausgabe als XML - Version vom 26.01.2009
* Modul Input
*/
cInclude("frontend", "includes/functions.input.helper.php");
$sSubmitLink = '<a href="javascript:if (document.tplcfgform.send) {document.tplcfgform.send.value = 0}; document.tplcfgform.submit();"><img src="images/submit.gif" /></a>';
/* CONFIG -------------------------------------------------------------------- */
/* Hier koennen Elemente in den DropDown-Felder geaendert */
/* oder ergaenzt werden ohne unten in den Script zu gehen */
/* --------------------------------------------------------------------------- */
// In welchem Rythmus wird die Seite aktualisiert?
$aktualisierung_auswahl = array();
$aktualisierung_auswahl[0]["wert"] = "0";
$aktualisierung_auswahl[0]["beschr"] = mi18n("Nicht setzten");
$aktualisierung_auswahl[1]["wert"] = "always";
$aktualisierung_auswahl[1]["beschr"] = mi18n("Immer");
$aktualisierung_auswahl[2]["wert"] = "hourly";
$aktualisierung_auswahl[2]["beschr"] = mi18n("Stündlich");
$aktualisierung_auswahl[3]["wert"] = "daily";
$aktualisierung_auswahl[3]["beschr"] = mi18n("Täglich");
$aktualisierung_auswahl[4]["wert"] = "weekly";
$aktualisierung_auswahl[4]["beschr"] = mi18n("Wöchentlich");
$aktualisierung_auswahl[5]["wert"] = "monthly";
$aktualisierung_auswahl[5]["beschr"] = mi18n("Monatlich");
$aktualisierung_auswahl[6]["wert"] = "yearly";
$aktualisierung_auswahl[6]["beschr"] = mi18n("Jährlich");
$aktualisierung_auswahl[7]["wert"] = "never";
$aktualisierung_auswahl[7]["beschr"] = mi18n("Niemals");
// Welche Prioritaet soll den Seiten zugeordnet werden?
$prioritaet_auswahl = array();
$prioritaet_auswahl[0]["wert"] = "0";
$prioritaet_auswahl[0]["beschr"] = mi18n("Nicht setzten");
$prioritaet_auswahl[1]["wert"] = "0.0";
$prioritaet_auswahl[1]["beschr"] = "0.0";
$prioritaet_auswahl[2]["wert"] = "0.1";
$prioritaet_auswahl[2]["beschr"] = "0.1";
$prioritaet_auswahl[3]["wert"] = "0.2";
$prioritaet_auswahl[3]["beschr"] = "0.2";
$prioritaet_auswahl[4]["wert"] = "0.3";
$prioritaet_auswahl[4]["beschr"] = "0.3";
$prioritaet_auswahl[5]["wert"] = "0.4";
$prioritaet_auswahl[5]["beschr"] = "0.4";
$prioritaet_auswahl[6]["wert"] = "0.5";
$prioritaet_auswahl[6]["beschr"] = "0.5";
$prioritaet_auswahl[7]["wert"] = "0.6";
$prioritaet_auswahl[7]["beschr"] = "0.6";
$prioritaet_auswahl[8]["wert"] = "0.7";
$prioritaet_auswahl[8]["beschr"] = "0.7";
$prioritaet_auswahl[9]["wert"] = "0.8";
$prioritaet_auswahl[9]["beschr"] = "0.8";
$prioritaet_auswahl[10]["wert"] = "0.9";
$prioritaet_auswahl[10]["beschr"] = "0.9";
$prioritaet_auswahl[11]["wert"] = "1.0";
$prioritaet_auswahl[11]["beschr"] = "1.0";
/* DEFINITION DER CMS-VARIABLEN ---------------------------------------------- */
$letzteAenderung = "CMS_VALUE[1]";
$aktualisierung = "CMS_VALUE[2]";
$prioritaet = "CMS_VALUE[3]";
$sortierung = "CMS_VALUE[8]";
$anzAusnahmen = "CMS_VALUE[4]";
$dontshow = "CMS_VALUE[5]";
$dontshowCat = "CMS_VALUE[6]";
$utf8use = "CMS_VALUE[7]";
// Weiterleitungsartikel
$weiterleitungen = "CMS_VALUE[13]";
// Ausnahmen
$iDataStart = 30;
if ($anzAusnahmen > 0) {
for ($i = 0; $i < $anzAusnahmen; $i++) {
$iElementType = $iDataStart + ($i * 5);
$iElementKat = $iElementType + 1;
$iElementWert_aktu = $iElementType + 2;
$iElementWert_prio = $iElementType + 3;
$aSettings["k".$i] = array();
$aSettings["k".$i]["ElementType"] = "CMS_VALUE[$iElementType]"; // changefreq, priority
$aSettings["k".$i]["ElementKat"] = "CMS_VALUE[$iElementKat]"; // Kategorien, die geaendert werden sollen
$aSettings["k".$i]["ElementWert_aktu"] = "CMS_VALUE[$iElementWert_aktu]"; // Wert Aktualisierung
$aSettings["k".$i]["ElementWert_prio"] = "CMS_VALUE[$iElementWert_prio]"; // Wert Prioritaet
if ($aSettings["k".$i]["ElementType"] == "") {
$aSettings["k".$i]["ElementType"] == "0";
}
}
}
/* DEFAULT-WERTE ------------------------------------------------------------- */
if ($letzteAenderung == "") {
$letzteAenderung = "0";
}
if ($aktualisierung == "") {
$aktualisierung = $aktualisierung_auswahl[0]["wert"];
}
if ($prioritaet == "") {
$prioritaet = $prioritaet_auswahl[0]["wert"];
}
if ($sortierung == "") {
$sortierung = "A . idtree, E . idart";
}
if ($dontshow == "") {
$dontshow = "";
}
if ($dontshowCat == "") {
$dontshowCat = "";
}
// Weiterleitungsartikel
if ($weiterleitungen == "") {
$weiterleitungenCheck = "";
}else{
$weiterleitungenCheck = " checked=\"checked\"";
}
if ($utf8use == "") {
$utf8useCheck = "";
}else{
$utf8useCheck = " checked=\"checked\"";
}
/* BEGINN -------------------------------------------------------------------- */
// Weitere Infos
echo "\n\n\n".'<SCRIPT LANGUAGE="JavaScript">'."\n";
echo ' <!--'."\n";
echo ' function sitemapErklaerung() {'."\n";
echo ' erklaerungSitemap = window.open("","Erklaerung","width=700,height=450");'."\n";
echo ' sitemapErklaerung01();'."\n";
echo ' }'."\n";
echo ' function sitemapErklaerung01() {'."\n";
echo ' var sitemapErklaerungInhalt = \''.mi18n("<p><strong>INSTALLATION:<\/strong><\/p><ol><li>Anmelden beim Google Sitemaps Service unter: <a href=\"https:\/\/www.google.com\/webmasters\/sitemaps\/login\" target=\"_blank\">https:\/\/www.google.com\/webmasters\/sitemaps\/login<\/a><\/li><li>XMLSitemap-Modul anlegen\/installieren<\/li><li>Die Datei \"functions.input.helper.php\" von HerrB muss im includes-Ordner des Mandanten liegen.<br>Sie ist z.B. Bestandteil von diesem Modul:<br><a href=\"http:\/\/contenido.org\/forum\/viewtopic.php?t=10957\" target=\"_blank\">http:\/\/contenido.org\/forum\/viewtopic.php?t=10957<\/a><\/li><li>Neues Layout mit folgendem Inhalt anlegen: CMS_CONTAINER[1]<br \/>Im Layout dürfen keine weiteren HTML-Tags oder Leerzeichen enthalten sein.<\/li><li>Neues Template erstellen mit dem neuen Layout und dem XMLSitemap-Modul<\/li><li>Neue Kategorie erstellen und eine neue Seite mit dem neuen Template zuweisen<br \/><\/li><li>Jetzt den Link dieser neuen Seite im Browser aufrufen und testen<\/li><li>Den Link Google mitteilen<\/li><\/ol><p><strong>WEITERE INFOS: <\/strong><\/p><ul><li><a href=\"https:\/\/www.google.com\/webmasters\/sitemaps\/docs\/de\/protocol.html\" target=\"_blank\">https:\/\/www.google.com\/webmasters\/sitemaps\/docs\/de\/protocol.html<\/a><\/li><\/ul>").'\';'."\n";
echo ' erklaerungSitemap.document.write(sitemapErklaerungInhalt);'."\n";
echo ' }'."\n";
echo ' // -->'."\n";
echo '</SCRIPT>'."\n\n";
echo '<table cellspacing="0" cellpadding="10" border="0">'."\n";
echo ' <tr>'."\n";
echo ' <td colspan="2"><a href="#" onClick="sitemapErklaerung()">'.mi18n("Mehr Infos über dieses Modul").'</a></td>'."\n";
echo ' </tr>'."\n";
// Soll die letzte Aenderung mit aufgenommen werden?
echo ' <tr>'."\n";
echo ' <td>'.mi18n("Änderungsdatum verwenden:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <select name="CMS_VAR[1]">'."\n";
echo ' <option value="0"';
if ($letzteAenderung == "0") { echo ' selected'; }
echo '>'.mi18n("Nicht setzen").'</option>'."\n";
echo ' <option value="1"';
if ($letzteAenderung == "1") { echo ' selected'; }
echo '>'.mi18n("Ja").'</option>'."\n";
echo ' </select>'."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
// In welchem Rythmus wird die Seite aktualisiert?
echo ' <tr>'."\n";
echo ' <td>'.mi18n("Änderungshäufigkeit aller Seiten:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <select name="CMS_VAR[2]">'."\n";
foreach ($aktualisierung_auswahl AS $mein) {
echo ' <option value="'.$mein["wert"].'"';
if ($aktualisierung == $mein["wert"]) { echo ' selected'; }
echo '>'.$mein["beschr"].'</option>'."\n";
}
echo ' </select>'."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
// Welche Prioritaet soll den Seiten zugeordnet werden?
echo ' <tr>'."\n";
echo ' <td>'.mi18n("Priorität aller Seiten:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <select name="CMS_VAR[3]">'."\n";
foreach ($prioritaet_auswahl AS $mein) {
echo ' <option value="'.$mein["wert"].'"';
if ($prioritaet == $mein["wert"]) { echo ' selected'; }
echo '>'.$mein["beschr"].'</option>'."\n";
}
echo ' </select>'."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
// Sortierung?
echo ' <tr>'."\n";
echo ' <td>'.mi18n("Sortierung nach:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <select name="CMS_VAR[8]">'."\n";
echo ' <option value="A . idtree, E . idart"';
if ($sortierung == "A . idtree, E . idart") { echo ' selected'; }
echo '>'.mi18n("Baumstruktur wie angelegt").'</option>'."\n";
echo ' <option value="D . lastmodified desc"';
if ($sortierung == "D . lastmodified desc") { echo ' selected'; }
echo '>'.mi18n("Letzte Änderung zuerst").'</option>'."\n";
echo ' </select>'."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
// Welche Artikel sollen ausgelassen werden?
echo ' <tr>'."\n";
echo ' <td>'.mi18n("Auszuschliessende Artikel:").'<br></td>'."\n";
echo ' <td>'."\n";
echo ' <input type="text" name="CMS_VAR[5]" value="'.$dontshow.'" size="50"><br>'."\n";
echo ' '.mi18n("Artikel-Id (idart) mit Komma getrennt (z.B. 5,23,89)")."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
// Welch Kategorie sollen ausgelassen werden?
echo ' <tr>'."\n";
echo ' <td>'.mi18n("Auszuschliessende Kategorien:").'<br>(untergeordnete Kategorien <br>werden nicht mit eingeschlossen)</td>'."\n";
echo ' <td>'."\n";
echo ' <input type="text" name="CMS_VAR[6]" value="'.$dontshowCat.'" size="50"><br>'."\n";
echo ' '.mi18n("Kategorie-Id (idcat) mit Komma getrennt (z.B. 3,4,12)")."\n";
echo ' <br></td>'."\n";
echo ' </tr>'."\n";
/* AUSNAHMEN ----------------------------------------------------------------- */
// Wieviele Ausnahmen
echo ' <tr>'."\n";
echo ' <td>'.mi18n("Wieviele Ausnahmen:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <input type="text" name="CMS_VAR[4]" value="'.$anzAusnahmen.'" size="3"> '.$sSubmitLink."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
if ($anzAusnahmen > 0) {
echo fncAddMultiSelJS();
// Strich
echo ' <tr><td colspan="2"><hr></td></tr>'."\n";
for ($i = 0; $i < $anzAusnahmen; $i++) {
echo "\n"." <!-- Durchlauf ".$i." -->"."\n";
$iElementType = $iDataStart + ($i * 5);
$iElementKat = $iElementType + 1;
$iElementWert_aktu = $iElementType + 2;
$iElementWert_prio = $iElementType + 3;
echo ' <tr>'."\n";
echo ' <td valign="top">'.($i+1).'. '.mi18n("Ausnahme:").'</td>'."\n";
echo ' <td>'."\n";
// Typ der Ausnahme auswaehlen:
echo ' '.mi18n("Typ:").'<br>'."\n";
echo ' <select name="CMS_VAR['.$iElementType.']">'."\n";
echo ' <option value="0"';
if ($aSettings["k".$i]["ElementType"] == "0") { echo ' selected'; }
echo '>'.mi18n("Bitte auswählen...").'</option>'."\n";
echo ' <option value="changefreq"';
if ($aSettings["k".$i]["ElementType"] == "changefreq") { echo ' selected'; }
echo '>'.mi18n("Änderungshäufigkeit").'</option>'."\n";
echo ' <option value="priority"';
if ($aSettings["k".$i]["ElementType"] == "priority") { echo ' selected'; }
echo '>'.mi18n("Priorität").'</option>'."\n";
echo ' </select>'."\n";
echo ' '.$sSubmitLink.' '."\n";
if ($aSettings["k".$i]["ElementType"] != "0") {
echo ' <br><br>'."\n";
// Kategorie auswaehlen
echo ' '.mi18n("Kategorien auswählen:").'<br>'."\n";
// edit by funomat TG
echo fncBuildCategorySelect("c".$i."cbxAddCatSel", $aSettings["k".$i]["ElementKat"], 0, "fncUpdateSel('c".$i."cbxAddCatSel','"."CMS_VAR[$iElementKat]"."');", "6", "multiple", false, 0, "");
# echo fncBuildCategorySelect("c".$i."cbxAddCatSel", $aSettings["k".$i]["ElementKat"], 0, "ArtAdv_fncUpdateSel('c".$i."cbxAddCatSel'.'"."CMS_VAR[$iElementKat]"."');", "6", "multiple", false, 0, "");
// end edit
echo '<input type="hidden" name="CMS_VAR['.$iElementKat.']" value="'.$aSettings["k".$i]["ElementKat"].'">'."\n";
echo ' <br>'."\n";
// Aktualisierung
if ($aSettings["k".$i]["ElementType"] == "changefreq") {
echo ' <select name="CMS_VAR['.$iElementWert_aktu.']">'."\n";
foreach ($aktualisierung_auswahl AS $mein) {
echo ' <option value="'.$mein["wert"].'"';
if ($aSettings["k".$i]["ElementWert_aktu"] == $mein["wert"]) { echo ' selected'; }
echo '>'.$mein["beschr"].'</option>'."\n";
}
echo ' </select>'."\n";
}
// Prioritaet
if ($aSettings["k".$i]["ElementType"] == "priority") {
echo ' <select name="CMS_VAR['.$iElementWert_prio.']">'."\n";
foreach ($prioritaet_auswahl AS $mein) {
echo ' <option value="'.$mein["wert"].'"';
if ($aSettings["k".$i]["ElementWert_prio"] == $mein["wert"]) { echo ' selected'; }
echo '>'.$mein["beschr"].'</option>'."\n";
}
echo ' </select>'."\n";
}
} // if ($aSettings["k".$i]["ElementType"] != "0") {
echo ' </td>'."\n";
echo ' </tr>'."\n";
// Strich
echo ' <tr><td colspan="2"><hr></td></tr>'."\n";
} // End: for ($i = 0; $i < $aSettings["Elements"]; $i++) {
} // End: if ($aSettings["Elements"] > 0) {
// Sollen nur Artikel ohne Weiterleitung verwendet werden?
echo ' <tr>'."\n";
echo ' <td>'.mi18n("Nur Artikel ohne Weiterleitungen verwenden:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <input type="checkbox" name="CMS_VAR[13]" value="1"'.$weiterleitungenCheck.'>'."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
// Soll UTF-8-Codierung verwendet werden?
echo ' <tr>'."\n";
echo ' <td>'.mi18n("UTF-8-Codierung verwenden:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <input type="checkbox" name="CMS_VAR[7]" value="false"'.$utf8useCheck.'>'."\n";
echo ' '.mi18n("(Sollte der Mandant schon mit UTF-8 Codiert sein benötigt man keine UTF-8-Codierung!)")."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
echo '</table>'."\n";
?><?php
Code: Alles auswählen
<?php
/**
* XML Sitemaps - Ausgabe als XML - Version vom 26.01.2009
* Modul Output
*/
/* DEFINITION DER CMS-VARIABLEN ---------------------------------------------- */
$letzteAenderung = "CMS_VALUE[1]";
$aktualisierung = "CMS_VALUE[2]";
$prioritaet = "CMS_VALUE[3]";
$sortierung = "CMS_VALUE[8]";
$anzAusnahmen = "CMS_VALUE[4]";
$dontshow = "CMS_VALUE[5]";
$dontshowCat = "CMS_VALUE[6]";
$utf8encode = "CMS_VALUE[7]";
$weiterleitungen = "CMS_VALUE[13]";
// Ausnahmen
$iDataStart = 30;
if ($anzAusnahmen > 0) {
for ($i = 0; $i < $anzAusnahmen; $i++) {
$iElementType = $iDataStart + ($i * 5);
$iElementKat = $iElementType + 1;
$iElementWert_aktu = $iElementType + 2;
$iElementWert_prio = $iElementType + 3;
$aSettings["k".$i] = array();
$aSettings["k".$i]["ElementType"] = "CMS_VALUE[$iElementType]"; // changefreq, priority
$aSettings["k".$i]["ElementKat"] = explode(",", "CMS_VALUE[$iElementKat]"); // Kategorien, die geändert werden sollen
$aSettings["k".$i]["ElementWert_aktu"] = "CMS_VALUE[$iElementWert_aktu]"; // Wert Aktualisierung
$aSettings["k".$i]["ElementWert_prio"] = "CMS_VALUE[$iElementWert_prio]"; // Wert Priorität
if ($aSettings["k".$i]["ElementType"] == "") {
$aSettings["k".$i]["ElementType"] == "0";
}
}
}
/* DEFAULT-WERTE ------------------------------------------------------------- */
if ($letzteAenderung == "") {
$letzteAenderung = "0";
}
if ($aktualisierung == "") {
$aktualisierung = "0";
}
if ($prioritaet == "") {
$prioritaet = "0";
}
if ($sortierung == "") {
$sortierung = "A . idtree, E . idart";
}
// Weiterleitungsartikel
if ($weiterleitungen == "") {
$weiterleitungen == "";
} else {
$weiterleitungen = 'AND D . redirect = 0';
}
if ($dontshow == "") {
$dontshow == "";
} else {
$dontshow = 'AND E . idart NOT IN ('.$dontshow.')';
}
if ($dontshowCat == "") {
$dontshowCat == "";
} else {
$dontshowCat = 'AND E . idcat NOT IN ('.$dontshowCat.')';
}
/* FUNKTIONEN ---------------------------------------------------------------- */
function iso8601_date($time) {
$tzd = date('O',$time);
$tzd = substr(chunk_split($tzd, 3, ':'),0,6);
$date = date('Y-m-d\TH:i:s', $time) . $tzd;
return $date;
}
/* BEGINN AUSGABE ------------------------------------------------------------ */
// Header ausgeben
header("Content-type: text/xml");
$xmlOutput = '<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">'. "\n\n";
$query = "SELECT
E . idcat ,
E . idart ,
D . pagetitle ,
C . name ,
UNIX_TIMESTAMP( D . lastmodified ) AS lastmodified
FROM
".$cfg["tab"]["cat_tree"]." AS A ,
".$cfg["tab"]["cat_lang"]." AS C ,
".$cfg["tab"]["cat"]." AS B ,
".$cfg["tab"]["cat_art"]." AS E
INNER JOIN ".$cfg["tab"]["art_lang"]." AS D ON ( E . idart = D . idart )
WHERE
A . idcat = B . idcat
AND B . idcat = C . idcat
AND C . idcat = E . idcat
AND B . idclient = '".$client."'
AND C . idlang = '".$lang."'
AND D . idlang = '".$lang."'
AND C . visible = '1'
AND E . idcatart IS NOT NULL
AND D . online = '1'
".$weiterleitungen."
".$dontshow."
".$dontshowCat."
ORDER BY
$sortierung";
// execute query
$db->query($query);
$oUrl = Contenido_Url::getInstance();
// get id's of sub articles
while ($db->next_record()) {
$linkid = $db->f("idart");
$linkcat = $db->f("idcat");
$lastmodified = iso8601_date( $db->f("lastmodified") );
// link ohne ModRewrite
$link = $oUrl->build(array('idart' => $linkid, 'lang' => $lang), true);
// Bemerkung zum Seitentitel
$xmlOutput .= '<!-- '.$db->f("pagetitle").' -->'."\n";
$xmlOutput .= '<url>'."\n";
$xmlOutput .= ' <loc>'.htmlspecialchars($link).'</loc>'."\n";
// Letzte Aenderung
if($letzteAenderung != "0") {
$xmlOutput .= ' <lastmod>'.$lastmodified.'</lastmod>'."\n";
}
// Aktualisierung
if($aktualisierung != "0") {
$aktualisierung_eintrag = $aktualisierung;
for ($i = 0; $i < $anzAusnahmen; $i++) {
if (in_array($linkcat, $aSettings["k".$i]["ElementKat"]) == TRUE) {
if ($aSettings["k".$i]["ElementType"] == "changefreq") {
$aktualisierung_eintrag = $aSettings["k".$i]["ElementWert_aktu"];
break;
}
}
}
$xmlOutput .= ' <changefreq>'.$aktualisierung_eintrag.'</changefreq>'."\n";
} // if($aktualisierung != "0") {
// Prioritaet
if($prioritaet != "0") {
$prioritaet_eintrag = $prioritaet;
for ($i = 0; $i < $anzAusnahmen; $i++) {
if (in_array($linkcat, $aSettings["k".$i]["ElementKat"]) == TRUE) {
if ($aSettings["k".$i]["ElementType"] == "priority") {
$prioritaet_eintrag = $aSettings["k".$i]["ElementWert_prio"];
break;
}
}
}
$xmlOutput .= ' <priority>'.$prioritaet_eintrag.'</priority>'."\n";
} // if($prioritaet != "0") {
$xmlOutput .= '</url>'."\n\n";
} // end while
$xmlOutput .= '</urlset>';
// Hier wird der ganze String in UTF8 kodiert und ausgegeben
if($utf8encode)
echo utf8_encode($xmlOutput);
else
echo $xmlOutput;
?>