From 4a2a94b0d252d995dae45c086a8fb6659060ecd6 Mon Sep 17 00:00:00 2001 From: umherirrender Date: Fri, 24 May 2013 15:58:54 +0200 Subject: [PATCH] Set context when using UserrightsPage SpecialPage::getContext called and $mContext is null. Return RequestContext::getMain(); for sanity Change-Id: Ie0ed360835164e8a4eb1c675ec8edd944ab95898 --- includes/SkinTemplate.php | 1 + includes/api/ApiQueryUsers.php | 2 ++ includes/api/ApiUserrights.php | 2 ++ 3 files changed, 5 insertions(+) diff --git a/includes/SkinTemplate.php b/includes/SkinTemplate.php index e3a6ccf3e9..fa9095454c 100644 --- a/includes/SkinTemplate.php +++ b/includes/SkinTemplate.php @@ -1253,6 +1253,7 @@ class SkinTemplate extends Skin { } $sur = new UserrightsPage; + $sur->setContext( $this->getContext() ); if ( $sur->userCanExecute( $this->getUser() ) ) { $nav_urls['userrights'] = array( 'href' => self::makeSpecialUrlSubpage( 'Userrights', $rootUser ) diff --git a/includes/api/ApiQueryUsers.php b/includes/api/ApiQueryUsers.php index 0a0aaee11f..aec57a0ed8 100644 --- a/includes/api/ApiQueryUsers.php +++ b/includes/api/ApiQueryUsers.php @@ -204,11 +204,13 @@ class ApiQueryUsers extends ApiQueryBase { } } + $context = $this->getContext(); // Second pass: add result data to $retval foreach ( $goodNames as $u ) { if ( !isset( $data[$u] ) ) { $data[$u] = array( 'name' => $u ); $urPage = new UserrightsPage; + $urPage->setContext( $context ); $iwUser = $urPage->fetchUser( $u ); if ( $iwUser instanceof UserRightsProxy ) { diff --git a/includes/api/ApiUserrights.php b/includes/api/ApiUserrights.php index 80db29becc..870201e703 100644 --- a/includes/api/ApiUserrights.php +++ b/includes/api/ApiUserrights.php @@ -38,6 +38,7 @@ class ApiUserrights extends ApiBase { $user = $this->getUrUser(); $form = new UserrightsPage; + $form->setContext( $this->getContext() ); $r['user'] = $user->getName(); $r['userid'] = $user->getId(); list( $r['added'], $r['removed'] ) = @@ -62,6 +63,7 @@ class ApiUserrights extends ApiBase { $params = $this->extractRequestParams(); $form = new UserrightsPage; + $form->setContext( $this->getContext() ); $status = $form->fetchUser( $params['user'] ); if ( !$status->isOK() ) { $errors = $status->getErrorsArray(); -- 2.20.1