From 825078d41b5bc109911596d2764f1e56fc265295 Mon Sep 17 00:00:00 2001 From: Kunal Mehta Date: Sat, 14 Dec 2013 12:47:06 -0800 Subject: [PATCH] Explicitly support user id in action=userrights Bug: 32493 Change-Id: I2279cde5d0077f8a0612e707a2410693c5e53a12 --- includes/api/ApiUserrights.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/includes/api/ApiUserrights.php b/includes/api/ApiUserrights.php index be98a21c2b..2bd7321954 100644 --- a/includes/api/ApiUserrights.php +++ b/includes/api/ApiUserrights.php @@ -61,10 +61,13 @@ class ApiUserrights extends ApiBase { } $params = $this->extractRequestParams(); + $this->requireOnlyOneParameter( $params, 'user', 'userid' ); + + $user = isset( $params['user'] ) ? $params['user'] : '#' . $params['userid']; $form = new UserrightsPage; $form->setContext( $this->getContext() ); - $status = $form->fetchUser( $params['user'] ); + $status = $form->fetchUser( $user ); if ( !$status->isOK() ) { $this->dieStatus( $status ); } @@ -86,7 +89,9 @@ class ApiUserrights extends ApiBase { return array( 'user' => array( ApiBase::PARAM_TYPE => 'string', - ApiBase::PARAM_REQUIRED => true + ), + 'userid' => array( + ApiBase::PARAM_TYPE => 'integer', ), 'add' => array( ApiBase::PARAM_TYPE => User::getAllGroups(), @@ -109,6 +114,7 @@ class ApiUserrights extends ApiBase { public function getParamDescription() { return array( 'user' => 'User name', + 'userid' => 'User id', 'add' => 'Add the user to these groups', 'remove' => 'Remove the user from these groups', 'token' => 'A userrights token previously retrieved through list=users', @@ -130,7 +136,8 @@ class ApiUserrights extends ApiBase { public function getExamples() { return array( - 'api.php?action=userrights&user=FooBot&add=bot&remove=sysop|bureaucrat&token=123ABC' + 'api.php?action=userrights&user=FooBot&add=bot&remove=sysop|bureaucrat&token=123ABC', + 'api.php?action=userrights&userid=123&add=bot&remove=sysop|bureaucrat&token=123ABC' ); } -- 2.20.1