Müsste die Original-Datei sein...
<?php
/*
* (c) Copyright 2010 - xt-shopservice.de, ein Projekt von Webdesign Erfurt
*
* Daniel Siekiera - 2010
*/
require('includes/application_top.php');
function blog_da() {
$ist_blog_da = 'blog.php';
if(file_exists($ist_blog_da))
return true;
else
return false;
}
function iso8601_date($timestamp) {
if (PHP_VERSION < 5) {
$tzd = date('O',$timestamp);
$tzd = substr(chunk_split($tzd, 3, ':'),0,6);
return date('Y-m-d\TH:i:s', $timestamp) . $tzd;
} else {
return date('c', $timestamp);
}
}
function xtc_get_languages() {
$languages_query = xtc_db_query("SELECT languages_id, code FROM languages ORDER BY sort_order");
while ($languages = xtc_db_fetch_array($languages_query))
$languages_array[] = array ('id' => $languages['languages_id'], 'code' => $languages['code']);
return $languages_array;
}
$languages = xtc_get_languages();
echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
echo '<urlset xmlns="http://www.google.com/schemas/sitemap/0.84" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd">'."\n";
for ($i = 0; $i < sizeof($languages); $i ++) {
#####################################################################
# PRODUKTE
#####################################################################
$product_query = xtc_db_query("SELECT p.products_id,
pd.language_id,
UNIX_TIMESTAMP(p.products_date_added) AS products_date_added,
UNIX_TIMESTAMP(p.products_last_modified) AS products_last_modified
FROM
".TABLE_PRODUCTS." p,
".TABLE_PRODUCTS_DESCRIPTION." pd
WHERE
p.products_status='1'
AND p.products_id = pd.products_id
AND pd.language_id = '".$languages[$i]['id']."'
ORDER BY p.products_id");
if(xtc_db_num_rows($product_query)) {
while($product = xtc_db_fetch_array($product_query)) {
$lang_param = ($languages[$i]['code'] != DEFAULT_LANGUAGE) ? '&language='.$languages[$i]['code'] : '';
$date = ($product['products_last_modified'] != NULL) ? iso8601_date($product['products_last_modified']) : iso8601_date($product['products_date_added']);
$data .= "\t".'<url>'."\n";
$data .= "\t\t".'<loc>'.htmlspecialchars(utf8_encode(xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($product['products_id']).$lang_param, 'NONSSL', false, SEARCH_ENGINE_FRIENDLY_URLS))).'</loc>'."\n";
$data .= "\t\t".'<priority>1.0</priority>'."\n";
$data .= "\t\t".'<lastmod>'.$date.'</lastmod>'."\n";
$data .= "\t\t".'<changefreq>daily</changefreq>'."\n";
$data .= "\t".'</url>'."\n";
}
echo $data;
}
#####################################################################
# KATEGORIEN
#####################################################################
$cat_result = xtc_db_query("SELECT c.categories_id,
c.parent_id,
cd.language_id,
UNIX_TIMESTAMP(c.date_added) AS date_added,
UNIX_TIMESTAMP(c.last_modified) AS last_modified
FROM
".TABLE_CATEGORIES." c,
".TABLE_CATEGORIES_DESCRIPTION." cd
WHERE
c.categories_status = '1'
AND c.categories_id = cd.categories_id
AND cd.language_id = '".$languages[$i]['id']."'
ORDER by cd.categories_id");
$cat_array = array();
if (xtc_db_num_rows($cat_result) > 0) {
while($cat_data = xtc_db_fetch_array($cat_result)) {
$cat_array[$cat_data['categories_id']][$cat_data['code']] = $cat_data;
}
}
reset($cat_array);
function rv_get_path($cat_id, $code) {
global $cat_array;
$my_cat_array = array($cat_id);
while($cat_array[$cat_id][$code]['parent_id'] != 0) {
$my_cat_array[] = $cat_array[$cat_id][$code]['parent_id'];
$cat_id = $cat_array[$cat_id][$code]['parent_id'];
}
return xtc_category_link($my_cat_array[0]);
}
foreach($cat_array as $lang_array) {
foreach($lang_array as $cat_id => $cat_data) {
$lang_param = ($languages[$i]['code'] != DEFAULT_LANGUAGE) ? '&language='.$languages[$i]['code'] : '';
$date = ($cat_data['last_modified'] != NULL) ? $cat_data['last_modified'] : $cat_data['date_added'];
echo "\t".'<url>'."\n";
echo "\t\t".'<loc>'.htmlspecialchars(utf8_encode(xtc_href_link(FILENAME_DEFAULT,rv_get_path($cat_data['categories_id'], $cat_data['code']).$lang_param, 'NONSSL', false, SEARCH_ENGINE_FRIENDLY_URLS))).'</loc>'."\n";
echo "\t\t".'<priority>1.0</priority>'."\n";
echo "\t\t".'<lastmod>'.iso8601_date($date).'</lastmod>'."\n";
echo "\t\t".'<changefreq>weekly</changefreq>'."\n";
echo "\t".'</url>'."\n";
}
}
#####################################################################
# CONTENT
#####################################################################
$content_query = xtc_db_query("SELECT content_group FROM ".TABLE_CONTENT_MANAGER." WHERE content_status = '1' AND languages_id = '".$languages[$i]['id']."' ");
while($content = xtc_db_fetch_array($content_query)) {
$lang_param = ($languages[$i]['code'] != DEFAULT_LANGUAGE) ? '&language='.$languages[$i]['code'] : '';
echo "\t".'<url>'."\n";
echo "\t\t".'<loc>'.htmlspecialchars(utf8_encode(xtc_href_link(FILENAME_CONTENT,'coID='.$content['content_group'].$lang_param, 'NONSSL', false, SEARCH_ENGINE_FRIENDLY_URLS))).'</loc>'."\n";
echo "\t\t".'<priority>1.0</priority>'."\n";
echo "\t\t".'<lastmod>'.iso8601_date(time()).'</lastmod>'."\n";
echo "\t\t".'<changefreq>weekly</changefreq>'."\n";
echo "\t".'</url>'."\n";
}
} // Ende for()
#####################################################################
# WENN BLOG INSTALLIERT - DER AUCH MIT REIN
#####################################################################
if(blog_da()) {
for ($i = 0; $i < sizeof($languages); $i ++) {
$categories_query = xtc_db_query("SELECT id, titel, date, update_date FROM ".TABLE_BLOG_CATEGORIES." WHERE status = 1 AND language_id = '".$languages[$i]['id']."' ORDER BY position ASC");
while($categories = xtc_db_fetch_array($categories_query)){
$lang_param = ($languages[$i]['code'] != DEFAULT_LANGUAGE) ? '&language='.$languages[$i]['code'] : '';
$datum = explode('.',$categories['date']);
$update_date = explode('.',$categories['update_date']);
$date = mktime(0,0,0,$datum[1],$datum[0],$datum[2]);
$update = mktime(0,0,0,$update_date[1],$update_date[0],$update_date[2]);
echo "\t".'<url>'."\n";
echo "\t\t".'<loc>'.htmlspecialchars(utf8_encode(xtc_href_link(FILENAME_BLOG,'blog_cat='.$categories['id'].$lang_param, 'NONSSL', false, SEARCH_ENGINE_FRIENDLY_URLS))).'</loc>'."\n";
echo "\t\t".'<priority>1.0</priority>'."\n";
echo "\t\t".'<lastmod>'.iso8601_date( (!empty($update)) ? $update : $date ).'</lastmod>'."\n";
echo "\t\t".'<changefreq>weekly</changefreq>'."\n";
echo "\t".'</url>'."\n";
// Einzelne Eintraege
$items_query = xtc_db_query("SELECT id, title, date, date_update FROM ".TABLE_BLOG_ITEMS." WHERE status = 1 AND language_id = '".$languages[$i]['id']."' AND categories_id = '".(int)$categories['id']."' ORDER BY position ASC");
$lang_params = '';
$datum = '';
$update_date = '';
$update = '';
while($items = xtc_db_fetch_array($items_query)){
$lang_param = ($languages[$i]['code'] != DEFAULT_LANGUAGE) ? '&language='.$languages[$i]['code'] : '';
$datum = explode('.',$categories['date']);
$update_date = explode('.',$categories['date_update']);
$date = mktime(0,0,0,$datum[1],$datum[0],$datum[2]);
$update = mktime(0,0,0,$update_date[1],$update_date[0],$update_date[2]);
echo "\t".'<url>'."\n";
echo "\t\t".'<loc>'.htmlspecialchars(utf8_encode(xtc_href_link(FILENAME_BLOG,'blog_cat='.$categories['id'].'&blog_item='.$items['id'].$lang_param, 'NONSSL', false, SEARCH_ENGINE_FRIENDLY_URLS))).'</loc>'."\n";
echo "\t\t".'<priority>1.0</priority>'."\n";
echo "\t\t".'<lastmod>'.iso8601_date( (!empty($update)) ? $update : $date ).'</lastmod>'."\n";
echo "\t\t".'<changefreq>daily</changefreq>'."\n";
echo "\t".'</url>'."\n";
}
}
}
}
#####################################################################
#####################################################################
echo '</urlset>'."\n";
?>
Alles anzeigen