fix localized aliasing of various links from skin to special pages with subpages
authorIlmari Karonen <vyznev@users.mediawiki.org>
Mon, 18 Dec 2006 00:20:21 +0000 (00:20 +0000)
committerIlmari Karonen <vyznev@users.mediawiki.org>
Mon, 18 Dec 2006 00:20:21 +0000 (00:20 +0000)
includes/Skin.php
includes/SkinTemplate.php

index d417f57..651c0e9 100644 (file)
@@ -758,8 +758,8 @@ END;
                                $msg = 'viewdeleted';
                        }
                        return wfMsg( $msg,
-                               $this->makeKnownLink(
-                                       $wgContLang->SpecialPage( 'Undelete/' . $wgTitle->getPrefixedDBkey() ),
+                               $this->makeKnownLinkObj(
+                                       SpecialPage::getTitleFor( 'Undelete', $wgTitle->getPrefixedDBkey() ),
                                        wfMsgExt( 'restorelink', array( 'parsemag', 'escape' ), $n ) ) );
                }
                return '';
@@ -1501,6 +1501,11 @@ END;
                return $title->getLocalURL( $urlaction );
        }
 
+       static function makeSpecialUrlSubpage( $name, $subpage, $urlaction = '' ) {
+               $title = SpecialPage::getTitleFor( $name, $subpage );
+               return $title->getLocalURL( $urlaction );
+       }
+
        static function makeI18nUrl( $name, $urlaction = '' ) {
                $title = Title::newFromText( wfMsgForContent( $name ) );
                self::checkTitle( $title, $name );
index ab0e4b1..ac020b7 100644 (file)
@@ -517,7 +517,7 @@ class SkinTemplate extends Skin {
                                'href' => $href,
                                'active' => ( $href == $pageurl )
                        );
-                       $href = self::makeSpecialUrl( "Contributions/$this->username" );
+                       $href = self::makeSpecialUrlSubpage( 'Contributions', $this->username );
                        $personal_urls['mycontris'] = array(
                                'text' => wfMsg( 'mycontris' ),
                                'href' => $href,
@@ -886,11 +886,11 @@ class SkinTemplate extends Skin {
 
                if($id || $ip) { # both anons and non-anons have contri list
                        $nav_urls['contributions'] = array(
-                               'href' => self::makeSpecialUrl( 'Contributions/' . $this->mTitle->getText() )
+                               'href' => self::makeSpecialUrlSubpage( 'Contributions', $this->mTitle->getText() )
                        );
                        if ( $wgUser->isAllowed( 'block' ) ) {
                                $nav_urls['blockip'] = array(
-                                       'href' => self::makeSpecialUrl( 'Blockip/' . $this->mTitle->getText() )
+                                       'href' => self::makeSpecialUrlSubpage( 'Blockip', $this->mTitle->getText() )
                                ); 
                        } else {
                                $nav_urls['blockip'] = false;
@@ -902,7 +902,7 @@ class SkinTemplate extends Skin {
                $nav_urls['emailuser'] = false;
                if( $this->showEmailUser( $id ) ) {
                        $nav_urls['emailuser'] = array(
-                               'href' => self::makeSpecialUrl( 'Emailuser/' . $this->mTitle->getText() )
+                               'href' => self::makeSpecialUrlSubpage( 'Emailuser', $this->mTitle->getText() )
                        );
                }
                wfProfileOut( $fname );