+
+ # Override for custom handling. If the titles/links are ok, just do feedItemDesc()
+ function feedResult( $row ) {
+ if( !isset( $row->title ) ) {
+ return NULL;
+ }
+ $title = Title::MakeTitle( IntVal( $row->namespace ), $row->title );
+ if( $title ) {
+ if( isset( $row->timestamp ) ) {
+ $date = $row->timestamp;
+ } else {
+ $date = "";
+ }
+
+ $comments = "";
+ if( $title ) {
+ $talkpage = $title->getTalkPage();
+ $comments = $talkpage->getFullURL();
+ }
+
+ return new FeedItem(
+ $title->getText(),
+ $this->feedItemDesc( $row ),
+ $title->getFullURL(),
+ $date,
+ $this->feedItemAuthor( $row ),
+ $comments);
+ } else {
+ return NULL;
+ }
+ }
+
+ function feedItemDesc( $row ) {
+ $text = "";
+ if( isset( $row->comment ) ) {
+ $text = htmlspecialchars( $row->comment );
+ } else {
+ $text = "";
+ }
+
+ if( isset( $row->text ) ) {
+ $text = "<p>" . htmlspecialchars( wfMsg( "summary" ) ) . ": " . $text . "</p>\n<hr />\n<div>" .
+ nl2br( htmlspecialchars( $row->text ) ) . "</div>";;
+ }
+ return $text;
+ }
+
+ function feedItemAuthor( $row ) {
+ if( isset( $row->user_text ) ) {
+ return $row->user_text;
+ } else {
+ return "";
+ }
+ }
+
+ function feedTitle() {
+ global $wgLanguageCode, $wgSitename, $wgLang;
+ $page = SpecialPage::getPage( $this->getName() );
+ $desc = $page->getDescription();
+ return "$wgSitename - $desc [$wgLanguageCode]";
+ }
+
+ function feedDesc() {
+ return wfMsg( "fromwikipedia" );
+ }
+
+ function feedUrl() {
+ global $wgLang;
+ $title = Title::MakeTitle( NS_SPECIAL, $this->getName() );
+ return $title->getFullURL();
+ }