80 lines
2.9 KiB
PHP
80 lines
2.9 KiB
PHP
<?php
|
||
if(!defined('DATALIFEENGINE')){die("Hacking attempt!");}
|
||
|
||
$rss_content = <<<XML
|
||
<?xml version="1.0" encoding="{$config['charset']}"?>
|
||
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||
<channel>
|
||
<title>{$config['home_title']}</title>
|
||
<link>{$config['http_home_url']}</link>
|
||
<language>ru</language>
|
||
<description>{$config['description']}</description>
|
||
<generator>Files-Sib.NET</generator>
|
||
XML;
|
||
|
||
if($doaction=="comments"){
|
||
if($id = intval($_GET['news'])){
|
||
$where = "AND post_id = '".intval($id)."'";
|
||
}else{$where = "";}
|
||
|
||
$sql_comments = "SELECT c.autor, c.text, c.post_id, c.autor, p.alt_name FROM " . PREFIX . "_comments c, " . PREFIX . "_post p WHERE c.post_id=p.id $where order by c.date desc limit 0,". $config['rss_comm_number'];
|
||
$sql_result = $db->query ($sql_comments);
|
||
$i = 0;
|
||
|
||
while ($row = $db->get_row ($sql_result)){
|
||
$i++;
|
||
$author = "<a href=\"".$config['http_home_url']."user/".urlencode($row['autor'])."/\">".$row['autor']."</a>";
|
||
$row['text'] = preg_replace ( "#\[hide\](.+?)\[/hide\]#is", "ТекÑ<EFBFBD>Ñ‚ только длÑ<C2BB> зарегиÑ<C2B8>трированных", $row['text'] );
|
||
$full_link = $config['http_home_url'] . $row['post_id'] . "-" . $row['alt_name'] . ".html";
|
||
|
||
$rss_content .= <<<XML
|
||
<item>
|
||
<title>#{$i}</title>
|
||
<link>{$full_link}</link>
|
||
<description><![CDATA[{$row['text']}<br><br><b>Àâòîð:</b> {$author}]]></description>
|
||
<author>{$row['autor']}</author>
|
||
</item>
|
||
XML;
|
||
|
||
}
|
||
} elseif ($doaction=="news") {
|
||
if($category_id = get_ID ( $cat_info, $_GET['category'])){
|
||
$get_cats = get_sub_cats ( $category_id );
|
||
if ($config['allow_multi_category']) {
|
||
$where_category = "AND category regexp '[[:<:]](" . $get_cats . ")[[:>:]]'";
|
||
} else {
|
||
$get_cats = str_replace ( "|", "','", $get_cats );
|
||
$where_category = "AND category IN ('" . $get_cats . "')";
|
||
}
|
||
} else $where_category = "";
|
||
$sql_select = "SELECT id, autor, date, short_story, title, category, alt_name, remote_addr FROM cms_post WHERE approve {$where_category}";
|
||
|
||
if ($config['rss_mtype']) $sql_select .= " AND allow_main=1";
|
||
$sql_select .= " ORDER BY " . $config['news_sort'] . " " . $config['news_msort'] . " LIMIT 0," . $config['rss_number'];
|
||
|
||
$sql_results = $db->query($sql_select);
|
||
$i = 0;
|
||
while($row = $db->get_row($sql_results)){
|
||
$i++;
|
||
$date = date( $row['date'] );
|
||
if( $row['remote_addr'] != "" ) {$full_link = $config['http_home_url'] . "out.php?url=" . rawurlencode( base64_encode( $row['remote_addr'] ) );
|
||
} else {$full_link = $config['http_home_url'] . $row['id'] . "-" . $row['alt_name'] . ".html";}
|
||
|
||
$rss_content .= <<<XML
|
||
<item>
|
||
<title>{$row['title']}</title>
|
||
<guid isPermaLink="true">{$full_link}</guid>
|
||
<link>{$full_link}</link>
|
||
<description><![CDATA[{$row['short_story']}]]></description>
|
||
<category><![CDATA[{category}]]></category>
|
||
<dc:creator>{$row['autor']}</dc:creator>
|
||
<pubDate>{$date}</pubDate>
|
||
</item>
|
||
XML;
|
||
|
||
}
|
||
}
|
||
$rss_content .= '</channel></rss>';
|
||
header( 'Content-type: application/xml' );
|
||
die($rss_content);
|
||
?>
|