Merge "WebRequest::getText(): Update more of the doc comment"
[lhc/web/wiklou.git] / includes / api / ApiUserrights.php
index 3ccdde2..79c6866 100644 (file)
@@ -49,6 +49,14 @@ class ApiUserrights extends ApiBase {
        }
 
        public function execute() {
+               $pUser = $this->getUser();
+
+               // Deny if the user is blocked and doesn't have the full 'userrights' permission.
+               // This matches what Special:UserRights does for the web UI.
+               if ( $pUser->isBlocked() && !$pUser->isAllowed( 'userrights' ) ) {
+                       $this->dieBlocked( $pUser->getBlock() );
+               }
+
                $params = $this->extractRequestParams();
 
                $user = $this->getUrUser( $params );
@@ -102,29 +110,29 @@ class ApiUserrights extends ApiBase {
        }
 
        public function getAllowedParams() {
-               return array(
-                       'user' => array(
-                               ApiBase::PARAM_TYPE => 'string',
-                       ),
-                       'userid' => array(
+               return [
+                       'user' => [
+                               ApiBase::PARAM_TYPE => 'user',
+                       ],
+                       'userid' => [
                                ApiBase::PARAM_TYPE => 'integer',
-                       ),
-                       'add' => array(
+                       ],
+                       'add' => [
                                ApiBase::PARAM_TYPE => $this->getAllGroups(),
                                ApiBase::PARAM_ISMULTI => true
-                       ),
-                       'remove' => array(
+                       ],
+                       'remove' => [
                                ApiBase::PARAM_TYPE => $this->getAllGroups(),
                                ApiBase::PARAM_ISMULTI => true
-                       ),
-                       'reason' => array(
+                       ],
+                       'reason' => [
                                ApiBase::PARAM_DFLT => ''
-                       ),
-                       'token' => array(
+                       ],
+                       'token' => [
                                // Standard definition automatically inserted
-                               ApiBase::PARAM_HELP_MSG_APPEND => array( 'api-help-param-token-webui' ),
-                       ),
-               );
+                               ApiBase::PARAM_HELP_MSG_APPEND => [ 'api-help-param-token-webui' ],
+                       ],
+               ];
        }
 
        public function needsToken() {
@@ -136,12 +144,12 @@ class ApiUserrights extends ApiBase {
        }
 
        protected function getExamplesMessages() {
-               return array(
+               return [
                        'action=userrights&user=FooBot&add=bot&remove=sysop|bureaucrat&token=123ABC'
                                => 'apihelp-userrights-example-user',
                        'action=userrights&userid=123&add=bot&remove=sysop|bureaucrat&token=123ABC'
                                => 'apihelp-userrights-example-userid',
-               );
+               ];
        }
 
        public function getHelpUrls() {