From c3be8a30343d7a40912c67ab0c2337812656bdc9 Mon Sep 17 00:00:00 2001 From: Roan Kattouw Date: Thu, 20 Nov 2008 14:46:10 +0000 Subject: [PATCH] API: (bug 16398) meta=userinfo&uiprop=rights lists a right twice if it's granted to two groups the user is in --- RELEASE-NOTES | 1 + includes/api/ApiQueryUserInfo.php | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) 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'])) { -- 2.20.1