Merge "Add some more detailed info about the xslt param of format=xml"
[lhc/web/wiklou.git] / includes / api / ApiUserrights.php
index c6129dd..399bc54 100644 (file)
  * @file
  */
 
-if ( !defined( 'MEDIAWIKI' ) ) {
-       // Eclipse helper - will be ignored in production
-       require_once( "ApiBase.php" );
-}
-
 /**
  * @ingroup API
  */
@@ -44,24 +39,26 @@ class ApiUserrights extends ApiBase {
        public function execute() {
                $params = $this->extractRequestParams();
 
-               $user = $this->getUser();
+               $user = $this->getUrUser();
 
                $form = new UserrightsPage;
                $r['user'] = $user->getName();
+               $r['userid'] = $user->getId();
                list( $r['added'], $r['removed'] ) =
                        $form->doSaveUserGroups(
                                $user, (array)$params['add'],
                                (array)$params['remove'], $params['reason'] );
 
-               $this->getResult()->setIndexedTagName( $r['added'], 'group' );
-               $this->getResult()->setIndexedTagName( $r['removed'], 'group' );
-               $this->getResult()->addValue( null, $this->getModuleName(), $r );
+               $result = $this->getResult();
+               $result->setIndexedTagName( $r['added'], 'group' );
+               $result->setIndexedTagName( $r['removed'], 'group' );
+               $result->addValue( null, $this->getModuleName(), $r );
        }
 
        /**
         * @return User
         */
-       private function getUser() {
+       private function getUrUser() {
                if ( $this->mUser !== null ) {
                        return $this->mUser;
                }
@@ -96,11 +93,11 @@ class ApiUserrights extends ApiBase {
                                ApiBase::PARAM_REQUIRED => true
                        ),
                        'add' => array(
-                               ApiBase::PARAM_TYPE => array_values( User::getAllGroups() ),
+                               ApiBase::PARAM_TYPE => User::getAllGroups(),
                                ApiBase::PARAM_ISMULTI => true
                        ),
                        'remove' => array(
-                               ApiBase::PARAM_TYPE => array_values( User::getAllGroups() ),
+                               ApiBase::PARAM_TYPE => User::getAllGroups(),
                                ApiBase::PARAM_ISMULTI => true
                        ),
                        'token' => null,
@@ -129,15 +126,19 @@ class ApiUserrights extends ApiBase {
        }
 
        public function getTokenSalt() {
-               return $this->getUser()->getName();
+               return $this->getUrUser()->getName();
        }
 
-       protected function getExamples() {
+       public function getExamples() {
                return array(
                        'api.php?action=userrights&user=FooBot&add=bot&remove=sysop|bureaucrat&token=123ABC'
                );
        }
 
+       public function getHelpUrls() {
+               return 'https://www.mediawiki.org/wiki/API:User_group_membership';
+       }
+
        public function getVersion() {
                return __CLASS__ . ': $Id$';
        }