Stopped some debug notice warnings from showing on SpecialPages.
authorAaron Schulz <aschulz@wikimedia.org>
Sun, 25 Nov 2012 00:39:48 +0000 (16:39 -0800)
committerAaron Schulz <aschulz@wikimedia.org>
Sun, 25 Nov 2012 00:39:48 +0000 (16:39 -0800)
Change-Id: I9b7fdf3a714b806ac28bd28c5c43951e2a5f1f64

includes/SpecialPageFactory.php

index 8ed5264..fa1bca4 100644 (file)
@@ -371,13 +371,17 @@ class SpecialPageFactory {
                        global $wgUser;
                        $user = $wgUser;
                }
+               $context = RequestContext::newExtraneousContext( Title::newMainPage() );
+               $context->setUser( $user );
                foreach ( self::getList() as $name => $rec ) {
                        $page = self::getPage( $name );
-                       if ( $page // not null
-                               && $page->isListed()
-                               && ( !$page->isRestricted() || $page->userCanExecute( $user ) )
-                       ) {
-                               $pages[$name] = $page;
+                       if ( $page ) { // not null
+                               $page->setContext( $context );
+                               if ( $page->isListed()
+                                       && ( !$page->isRestricted() || $page->userCanExecute( $user ) )
+                               ) {
+                                       $pages[$name] = $page;
+                               }
                        }
                }
                return $pages;