From: Roan Kattouw Date: Thu, 20 Nov 2008 14:46:10 +0000 (+0000) Subject: API: (bug 16398) meta=userinfo&uiprop=rights lists a right twice if it's granted... X-Git-Tag: 1.31.0-rc.0~44253 X-Git-Url: http://git.cyclocoop.org/%22.%28%24lien.?a=commitdiff_plain;h=c3be8a30343d7a40912c67ab0c2337812656bdc9;p=lhc%2Fweb%2Fwiklou.git API: (bug 16398) meta=userinfo&uiprop=rights lists a right twice if it's granted to two groups the user is in --- diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 7d13474b3b..2337e54810 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -446,6 +446,7 @@ The following extensions are migrated into MediaWiki 1.14: sifilter parameter. * (bug 12760) meta=userinfo&uiprop=ratelimits doesn't list group-specific rate limits +* (bug 16398) meta=userinfo&uiprop=rights lists some rights twice in some cases === Languages updated in 1.14 === diff --git a/includes/api/ApiQueryUserInfo.php b/includes/api/ApiQueryUserInfo.php index c399e68f03..1bc30ae57a 100644 --- a/includes/api/ApiQueryUserInfo.php +++ b/includes/api/ApiQueryUserInfo.php @@ -76,7 +76,8 @@ 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_unique($wgUser->getRights()); $result->setIndexedTagName($vals['rights'], 'r'); // even if empty } if (isset($this->prop['options'])) {