From: Hendrik B. <nh...@us...> - 2010-04-05 15:06:28
|
Update of /cvsroot/arianne/stendhal_website/content/news In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv3407/content/news Added Files: rss.php Log Message: first version of an rss feed generator --- NEW FILE: rss.php --- <?php /* Stendhal website - a website to manage and ease playing of Stendhal game Copyright (C) 2010 the Arianne Project This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ class RssPage extends Page { public function writeHttpHeader() { $this->writeRss(); return false; } public function writeRss() { $this->writeHeader(); $news = getNews(' where news.active=1 ', 'created desc'); foreach($news as $entry) { $this->writeEntry($entry); } $this->writeFooter(); } private function writeHeader() { echo '<?xml version="1.0" encoding="utf-8"?>'; ?> <rss version="2.0"> <channel> <title>Stendhal News</title> <link>http://stendhalgame.org</link> <description>News feed of the free Stendhal online roleplaying game.</description> <language>en</language> <copyright>Arianne Project</copyright> <pubDate>Mon, 5 Apr 2010 12:00:00</pubDate> <image> <url>http://stendhalgame.org/images/favicon.png</url> <title>Stendhal</title> <link>http://stendhalgame.org</link> </image> <?php } private function writeEntry($entry) { // we do not escape admin input here on purpose. // only trusted administrators are allowed to add news and they should // be allowed to use full html. ?> <item> <title><?php echo htmlspecialchars($entry->title);?></title> <description><?php echo htmlspecialchars($entry->extendedDescription); echo htmlspecialchars($entry->detailedDescription); ?></description> <link><?php echo 'http://stendhalgame.org'.rewriteURL('/news/'.$entry->getNiceURL());?></link> <author>Arianne Project</author> <guid><?php echo htmlspecialchars($entry->id.'-'.$entry->date);?></guid> <pubDate><?php echo htmlspecialchars($entry->date);?></pubDate> </item> <?php } private function writeFooter() { ?> </channel> </rss> <?php } } $page = new RssPage(); ?> |