Fix Skin::preloadExistence() for special pages.
authorTim Starling <tstarling@users.mediawiki.org>
Mon, 22 Jan 2007 19:19:15 +0000 (19:19 +0000)
committerTim Starling <tstarling@users.mediawiki.org>
Mon, 22 Jan 2007 19:19:15 +0000 (19:19 +0000)
includes/Skin.php

index 1c2a866..ad4af79 100644 (file)
@@ -187,16 +187,19 @@ class Skin extends Linker {
        function preloadExistence() {
                global $wgUser, $wgTitle;
 
-               if ( $wgTitle->isTalkPage() ) {
-                       $otherTab = $wgTitle->getSubjectPage();
+               // User/talk link
+               $titles = array( $wgUser->getUserPage(), $wgUser->getTalkPage() );
+
+               // Other tab link
+               if ( $wgTitle->getNamespace() == NS_SPECIAL ) {
+                       // nothing
+               } elseif ( $wgTitle->isTalkPage() ) {
+                       $titles[] = $wgTitle->getSubjectPage();
                } else {
-                       $otherTab = $wgTitle->getTalkPage();
+                       $titles[] = $wgTitle->getTalkPage();
                }
-               $lb = new LinkBatch( array( 
-                       $wgUser->getUserPage(),
-                       $wgUser->getTalkPage(),
-                       $otherTab
-               ));
+
+               $lb = new LinkBatch( $titles );
                $lb->execute();
        }