From 2de7f7977b8914dc5f55b98e6f5c94a236379394 Mon Sep 17 00:00:00 2001 From: umherirrender Date: Mon, 5 May 2014 21:12:25 +0200 Subject: [PATCH] Add $user param to SpecialPageFactory::getRestrictedPages This avoids the use of $wgUser Change-Id: I5cc85391710f6e6967d78825fc8a3eda0e15a1a1 --- includes/specialpage/SpecialPageFactory.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/includes/specialpage/SpecialPageFactory.php b/includes/specialpage/SpecialPageFactory.php index 2305f21c98..dd22769b93 100644 --- a/includes/specialpage/SpecialPageFactory.php +++ b/includes/specialpage/SpecialPageFactory.php @@ -407,17 +407,21 @@ class SpecialPageFactory { * Return categorised listable special pages which are available * for the current user, but not for everyone * + * @param User|null $user User object to use or null for $wgUser * @return array ( string => Specialpage ) */ - public static function getRestrictedPages() { - global $wgUser; + public static function getRestrictedPages( User $user = null ) { $pages = array(); + if ( $user === null ) { + global $wgUser; + $user = $wgUser; + } foreach ( self::getList() as $name => $rec ) { $page = self::getPage( $name ); if ( $page->isListed() && $page->isRestricted() - && $page->userCanExecute( $wgUser ) + && $page->userCanExecute( $user ) ) { $pages[$name] = $page; } -- 2.20.1