From: umherirrender Date: Mon, 5 May 2014 19:12:25 +0000 (+0200) Subject: Add $user param to SpecialPageFactory::getRestrictedPages X-Git-Tag: 1.31.0-rc.0~15810 X-Git-Url: http://git.cyclocoop.org/%7B%24admin_url%7Dmembres/modifier.php?a=commitdiff_plain;h=2de7f7977b8914dc5f55b98e6f5c94a236379394;p=lhc%2Fweb%2Fwiklou.git Add $user param to SpecialPageFactory::getRestrictedPages This avoids the use of $wgUser Change-Id: I5cc85391710f6e6967d78825fc8a3eda0e15a1a1 --- 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; }