Special pages don't have talk page. Fixes exception in feeds when using revision...
authorNiklas Laxström <nikerabbit@users.mediawiki.org>
Sat, 14 May 2011 12:24:45 +0000 (12:24 +0000)
committerNiklas Laxström <nikerabbit@users.mediawiki.org>
Sat, 14 May 2011 12:24:45 +0000 (12:24 +0000)
Exception: MWNamespace::getTalk does not make any sense for given namespace -1

includes/ChangesFeed.php

index 8a17ef8..23fb923 100644 (file)
@@ -161,7 +161,7 @@ class ChangesFeed {
 
                foreach( $sorted as $obj ) {
                        $title = Title::makeTitle( $obj->rc_namespace, $obj->rc_title );
-                       $talkpage = $title->getTalkPage();
+                       $talkpage = MWNamespace::canTalk( $obj->rc_namespace ) ? $title->getTalkPage()->getFullUrl() : '';
                        // Skip items with deleted content (avoids partially complete/inconsistent output)
                        if( $obj->rc_deleted ) continue;
                        $item = new FeedItem(
@@ -170,7 +170,7 @@ class ChangesFeed {
                                $obj->rc_this_oldid ? $title->getFullURL( 'diff=' . $obj->rc_this_oldid . '&oldid=prev' ) : $title->getFullURL(),
                                $obj->rc_timestamp,
                                ($obj->rc_deleted & Revision::DELETED_USER) ? wfMsgHtml('rev-deleted-user') : $obj->rc_user_text,
-                               $talkpage->getFullURL()
+                               $talkpage
                        );
                        $feed->outItem( $item );
                }