r2616 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r2615‎ | r2616 | r2617 >
Date:11:21, 5 March 2004
Author:vibber
Status:old
Tags:
Comment:
Tweaking RSS; add dates, etc.
Modified paths:
  • /trunk/phase3/includes/Feed.php (modified) (history)
  • /trunk/phase3/includes/QueryPage.php (modified) (history)

Diff [purge]

Index: trunk/phase3/includes/QueryPage.php
@@ -118,21 +118,30 @@
119119 }
120120
121121 # Override for custom handling. If the titles/links are ok, just do feedItemDesc()
122 - function feedResult( $result ) {
123 - if( isset( $result->cur_title ) ) {
124 - $title = Title::MakeTitle( $result->cur_namespace, $result->cur_title );
125 - } elseif( isset( $result->old_title ) ) {
126 - $title = Title::MakeTitle( $result->old_namespace, $result->old_title );
127 - } elseif( isset( $result->rc_title ) ) {
128 - $title = Title::MakeTitle( $result->rc_namespace, $result->rc_title );
 122+ function feedResult( $row ) {
 123+ if( isset( $row->cur_title ) ) {
 124+ $title = Title::MakeTitle( $row->cur_namespace, $row->cur_title );
 125+ } elseif( isset( $row->old_title ) ) {
 126+ $title = Title::MakeTitle( $row->old_namespace, $row->old_title );
 127+ } elseif( isset( $row->rc_title ) ) {
 128+ $title = Title::MakeTitle( $row->rc_namespace, $row->rc_title );
129129 } else {
130130 return NULL;
131131 }
132132 if( $title ) {
 133+ $date = "";
 134+ if( isset( $row->cur_timestamp ) ) {
 135+ $date = $row->cur_timestamp;
 136+ } elseif( isset( $row->old_timestamp ) ) {
 137+ $date = $row->old_timestamp;
 138+ } elseif( isset( $row->rc_cur_timestamp ) ) {
 139+ $date = $row->rc_cur_timestamp;
 140+ }
133141 return new FeedItem(
134142 $title->getText(),
135 - $this->feedItemDesc( $result ),
136 - wfFullUrl( $title->getUrl() ) );
 143+ $this->feedItemDesc( $row ),
 144+ wfFullUrl( $title->getUrl() ) ,
 145+ $date);
137146 } else {
138147 return NULL;
139148 }
Index: trunk/phase3/includes/Feed.php
@@ -9,11 +9,13 @@
1010 var $Title = "Wiki";
1111 var $Description = "";
1212 var $Url = "";
 13+ var $Date = "";
1314
14 - function FeedItem( $Title, $Description, $Url ) {
 15+ function FeedItem( $Title, $Description, $Url, $Date = "" ) {
1516 $this->Title = $Title;
1617 $this->Description = $Description;
1718 $this->Url = $Url;
 19+ $this->Date = $Date;
1820 }
1921
2022 /* Static... */
@@ -38,6 +40,9 @@
3941 global $wgLanguageCode;
4042 return $wgLanguageCode;
4143 }
 44+ function getDate() {
 45+ return $this->Date;
 46+ }
4247 }
4348
4449 class ChannelFeed extends FeedItem {
@@ -54,15 +59,22 @@
5560 }
5661
5762 class RSSFeed extends ChannelFeed {
 63+ function formatTime( $ts ) {
 64+ return gmdate( "D, d M Y H:i:s T", wfTimestamp2Unix( $ts ) );
 65+ }
 66+
5867 function outHeader() {
 68+ global $wgVersion;
 69+
5970 print '<' . '?xml version="1.0" encoding="utf-8"?' . ">\n";
60 - ?><!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">
61 -<rss version="0.91">
 71+ ?><rss version="2.0">
6272 <channel>
6373 <title><?php print $this->getTitle() ?></title>
6474 <link><?php print $this->getUrl() ?></link>
6575 <description><?php print $this->getDescription() ?></description>
6676 <language><?php print $this->getLanguage() ?></language>
 77+ <generator>MediaWiki <?php print $wgVersion ?></generator>
 78+ <lastBuildDate><?php print $this->formatTime( wfTimestampNow() ) ?></lastBuildDate>
6779 <?php
6880 }
6981
@@ -72,6 +84,8 @@
7385 <title><?php print $item->getTitle() ?></title>
7486 <link><?php print $item->getUrl() ?></link>
7587 <description><?php print $item->getDescription() ?></description>
 88+ <?php if( $item->getDate() ) { ?><pubDate><?php print $this->formatTime( $item->getDate() ) ?></pubDate><?php } ?>
 89+
7690 </item>
7791 <?php
7892 }

Status & tagging log