View file news/rss.php

File size: 1.31Kb
<?php
require( '../sys/inc/core.php' );
if ( db::count("SELECT COUNT(*) FROM `news` LIMIT 1") == 0 )
    exit;
header( "Content-type: application/rss+xml" );
echo "<rss version=\"2.0\">\n";
echo "<channel>\n";
echo "<title>Новости " . $_SERVER['SERVER_NAME'] . "</title>\n";
echo "<link>http://" . $_SERVER['SERVER_NAME'] . "</link>\n";
echo "<description>Новости " . $_SERVER['SERVER_NAME'] . "</description>\n";
echo "<language>ru-RU</language>\n";
echo "<lastBuildDate>" . date( "r", db::count("SELECT MAX(time) FROM `news`") ) . "</lastBuildDate>\n";
$q = db::query("SELECT * FROM `news` ORDER BY `id` DESC LIMIT $set[p_str]");
while ( $post =  $q->fetch_assoc() ) {
    echo "<item>\n";
    echo "<title>$post[title]</title>\n";
    if ( $post['link'] != NULL ) {
        if ( !preg_match( '#^https?://#', $post['link'] ) )
            echo "<link>" . htmlentities( "http://$_SERVER[SERVER_NAME]$post[link]", ENT_QUOTES, 'UTF-8' ) . "</link>\n";
        else
            echo "<link>" . htmlentities( "$post[link]", ENT_QUOTES, 'UTF-8' ) . "</link>\n";
    }
    echo "<description><![CDATA[";
    echo output_text( $post['msg'], true, true, false ) . "\n";
    echo "]]></description>\n";
    echo "<pubDate>" . date( "r", $post['time'] ) . "</pubDate>\n";
    echo "</item>\n";
}
echo "</channel>\n";
echo "</rss>\n";