Index: trunk/phase3/includes/api/ApiQueryUserInfo.php |
— | — | @@ -76,7 +76,8 @@ |
77 | 77 | $result->setIndexedTagName($vals['groups'], 'g'); // even if empty |
78 | 78 | } |
79 | 79 | if (isset($this->prop['rights'])) { |
80 | | - $vals['rights'] = $wgUser->getRights(); |
| 80 | + // User::getRights() may return duplicate values, strip them |
| 81 | + $vals['rights'] = array_unique($wgUser->getRights()); |
81 | 82 | $result->setIndexedTagName($vals['rights'], 'r'); // even if empty |
82 | 83 | } |
83 | 84 | if (isset($this->prop['options'])) { |
Index: trunk/phase3/RELEASE-NOTES |
— | — | @@ -446,6 +446,7 @@ |
447 | 447 | sifilter parameter. |
448 | 448 | * (bug 12760) meta=userinfo&uiprop=ratelimits doesn't list group-specific rate |
449 | 449 | limits |
| 450 | +* (bug 16398) meta=userinfo&uiprop=rights lists some rights twice in some cases |
450 | 451 | |
451 | 452 | === Languages updated in 1.14 === |
452 | 453 | |