* Made Wantedpages includable
[lhc/web/wiklou.git] / includes / SpecialPage.php
index ef563b2..02709de 100644 (file)
@@ -41,7 +41,7 @@ $wgSpecialPages = array(
        'Uncategorizedcategories'=> new SpecialPage( 'Uncategorizedcategories' ),
        'Unusedcategories'      => new SpecialPage( 'Unusedcategories' ),
        'Unusedimages'      => new SpecialPage( 'Unusedimages' ),
-       'Wantedpages'   => new SpecialPage( 'Wantedpages' ),
+       'Wantedpages'   => new IncludableSpecialPage( 'Wantedpages' ),
        'Mostlinked'    => new SpecialPage( 'Mostlinked' ),
        'Mostcategories' => new SpecialPage( 'Mostcategories' ),
        'Mostimages' => new SpecialPage( 'Mostimages' ),
@@ -181,20 +181,17 @@ class SpecialPage
         */
        function getRedirect( $name ) {
                global $wgUser;
-               switch ( $name ) {
-                       case 'Mypage':
-                               return Title::makeTitle( NS_USER, $wgUser->getName() );
-                       case 'Mytalk':
-                               return Title::makeTitle( NS_USER_TALK, $wgUser->getName() );
-                       case 'Mycontributions':
-                               return Title::makeTitle( NS_SPECIAL, 'Contributions/' . $wgUser->getName() );
-                       case 'Listadmins':
-                               return Title::makeTitle( NS_SPECIAL, 'Listusers/sysop' ); # @bug 2832
-                       case 'Randompage':
-                               return Title::makeTitle( NS_SPECIAL, 'Random' );
-                       default:
-                               return NULL;
-               }
+
+               $redirects = array(
+                       'Mypage' => Title::makeTitle( NS_USER, $wgUser->getName() ),
+                       'Mytalk' => Title::makeTitle( NS_USER_TALK, $wgUser->getName() ),
+                       'Mycontributions' => Title::makeTitle( NS_SPECIAL, 'Contributions/' . $wgUser->getName() ),
+                       'Listadmins' => Title::makeTitle( NS_SPECIAL, 'Listusers/sysop' ), # @bug 2832
+                       'Randompage' => Title::makeTitle( NS_SPECIAL, 'Random' )
+               );
+               wfRunHooks( 'SpecialPageGetRedirect', array( &$redirects ) );
+
+               return isset( $redirects[$name] ) ? $redirects[$name] : null;
        }
 
        /**