summaryrefslogtreecommitdiff
path: root/includes/api/ApiQueryUserInfo.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/api/ApiQueryUserInfo.php')
-rw-r--r--includes/api/ApiQueryUserInfo.php10
1 files changed, 8 insertions, 2 deletions
diff --git a/includes/api/ApiQueryUserInfo.php b/includes/api/ApiQueryUserInfo.php
index 2d55a352..203b7e25 100644
--- a/includes/api/ApiQueryUserInfo.php
+++ b/includes/api/ApiQueryUserInfo.php
@@ -76,12 +76,16 @@ class ApiQueryUserInfo extends ApiQueryBase {
$result->setIndexedTagName($vals['groups'], 'g'); // even if empty
}
if (isset($this->prop['rights'])) {
- $vals['rights'] = $wgUser->getRights();
+ // User::getRights() may return duplicate values, strip them
+ $vals['rights'] = array_values(array_unique($wgUser->getRights()));
$result->setIndexedTagName($vals['rights'], 'r'); // even if empty
}
if (isset($this->prop['options'])) {
$vals['options'] = (is_null($wgUser->mOptions) ? User::getDefaultOptions() : $wgUser->mOptions);
}
+ if (isset($this->prop['preferencestoken']) && is_null($this->getMain()->getRequest()->getVal('callback'))) {
+ $vals['preferencestoken'] = $wgUser->editToken();
+ }
if (isset($this->prop['editcount'])) {
$vals['editcount'] = $wgUser->getEditCount();
}
@@ -110,6 +114,7 @@ class ApiQueryUserInfo extends ApiQueryBase {
if(!$wgUser->isAnon())
$categories[] = 'newbie';
}
+ $categories = array_merge($categories, $wgUser->getGroups());
// Now get the actual limits
$retval = array();
@@ -134,6 +139,7 @@ class ApiQueryUserInfo extends ApiQueryBase {
'groups',
'rights',
'options',
+ 'preferencestoken',
'editcount',
'ratelimits'
)
@@ -168,6 +174,6 @@ class ApiQueryUserInfo extends ApiQueryBase {
}
public function getVersion() {
- return __CLASS__ . ': $Id: ApiQueryUserInfo.php 35186 2008-05-22 16:39:43Z brion $';
+ return __CLASS__ . ': $Id: ApiQueryUserInfo.php 43764 2008-11-20 15:15:00Z catrope $';
}
}