From 17d9f911d16f2d53b93865bac90074356c380daa Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Fri, 5 Mar 2004 11:21:43 +0000 Subject: [PATCH] Tweaking RSS; add dates, etc. --- includes/Feed.php | 20 +++++++++++++++++--- includes/QueryPage.php | 27 ++++++++++++++++++--------- 2 files changed, 35 insertions(+), 12 deletions(-) diff --git a/includes/Feed.php b/includes/Feed.php index e5c7c18bc1..248ba620e7 100644 --- a/includes/Feed.php +++ b/includes/Feed.php @@ -9,11 +9,13 @@ class FeedItem { var $Title = "Wiki"; var $Description = ""; var $Url = ""; + var $Date = ""; - function FeedItem( $Title, $Description, $Url ) { + function FeedItem( $Title, $Description, $Url, $Date = "" ) { $this->Title = $Title; $this->Description = $Description; $this->Url = $Url; + $this->Date = $Date; } /* Static... */ @@ -38,6 +40,9 @@ class FeedItem { global $wgLanguageCode; return $wgLanguageCode; } + function getDate() { + return $this->Date; + } } class ChannelFeed extends FeedItem { @@ -54,15 +59,22 @@ class ChannelFeed extends FeedItem { } class RSSFeed extends ChannelFeed { + function formatTime( $ts ) { + return gmdate( "D, d M Y H:i:s T", wfTimestamp2Unix( $ts ) ); + } + function outHeader() { + global $wgVersion; + print '<' . '?xml version="1.0" encoding="utf-8"?' . ">\n"; - ?> - + ?> <?php print $this->getTitle() ?> getUrl() ?> getDescription() ?> getLanguage() ?> + MediaWiki + formatTime( wfTimestampNow() ) ?> getTitle() ?> getUrl() ?> getDescription() ?> + getDate() ) { ?>formatTime( $item->getDate() ) ?> + cur_title ) ) { - $title = Title::MakeTitle( $result->cur_namespace, $result->cur_title ); - } elseif( isset( $result->old_title ) ) { - $title = Title::MakeTitle( $result->old_namespace, $result->old_title ); - } elseif( isset( $result->rc_title ) ) { - $title = Title::MakeTitle( $result->rc_namespace, $result->rc_title ); + function feedResult( $row ) { + if( isset( $row->cur_title ) ) { + $title = Title::MakeTitle( $row->cur_namespace, $row->cur_title ); + } elseif( isset( $row->old_title ) ) { + $title = Title::MakeTitle( $row->old_namespace, $row->old_title ); + } elseif( isset( $row->rc_title ) ) { + $title = Title::MakeTitle( $row->rc_namespace, $row->rc_title ); } else { return NULL; } if( $title ) { + $date = ""; + if( isset( $row->cur_timestamp ) ) { + $date = $row->cur_timestamp; + } elseif( isset( $row->old_timestamp ) ) { + $date = $row->old_timestamp; + } elseif( isset( $row->rc_cur_timestamp ) ) { + $date = $row->rc_cur_timestamp; + } return new FeedItem( $title->getText(), - $this->feedItemDesc( $result ), - wfFullUrl( $title->getUrl() ) ); + $this->feedItemDesc( $row ), + wfFullUrl( $title->getUrl() ) , + $date); } else { return NULL; } -- 2.20.1