Minor followup to r68156, add "user" as implicit group
authorSam Reed <reedy@users.mediawiki.org>
Thu, 17 Jun 2010 08:00:42 +0000 (08:00 +0000)
committerSam Reed <reedy@users.mediawiki.org>
Thu, 17 Jun 2010 08:00:42 +0000 (08:00 +0000)
Refactor out and reuse in ApiQueryUserInfo

Add couple more braces to SpecialUserrights

includes/api/ApiQueryUserInfo.php
includes/api/ApiQueryUsers.php
includes/specials/SpecialUserrights.php

index 5fa4059..840c394 100644 (file)
@@ -76,7 +76,9 @@ class ApiQueryUserInfo extends ApiQueryBase {
                }
 
                if ( isset( $this->prop['groups'] ) ) {
-                       $vals['groups'] = $wgUser->getGroups();
+                       $autolist = ApiQueryUsers::getAutoGroups( $wgUser );
+               
+                       $vals['groups'] = array_merge( $autolist, $wgUser->getGroups() );
                        $result->setIndexedTagName( $vals['groups'], 'g' );     // even if empty
                }
 
index 12e5391..5f6b016 100644 (file)
@@ -201,11 +201,7 @@ if ( !defined( 'MEDIAWIKI' ) ) {
                                }
                        } else {
                                if ( isset( $this->prop['groups'] ) && isset( $data[$u]['groups'] ) ) {
-                                       $autolist = array();
-                                       $autolist[] = "*";
-                                       foreach( Autopromote::getAutopromoteGroups( User::newFromName( $u ) ) as $group ) {
-                                               $autolist[] = $group;
-                                       }
+                                       $autolist = ApiQueryUsers::getAutoGroups( User::newFromName( $u ) );
                                        
                                        $data[$u]['groups'] = array_merge( $autolist, $data[$u]['groups'] );
                                
@@ -223,6 +219,18 @@ if ( !defined( 'MEDIAWIKI' ) ) {
                }
                return $this->getResult()->setIndexedTagName_internal( array( 'query', $this->getModuleName() ), 'user' );
        }
+       
+       public static function getAutoGroups( $user ) {
+               $autolist = array();
+               $autolist[] = "*";
+               $autolist[] = "user";
+
+               foreach( Autopromote::getAutopromoteGroups( $user ) as $group ) {
+                       $autolist[] = $group;
+               }
+               
+               return $autolist;
+       }
 
        public function getAllowedParams() {
                return array(
index e922830..0268e16 100644 (file)
@@ -402,8 +402,9 @@ class UserrightsPage extends SpecialPage {
                global $wgOut, $wgUser, $wgLang;
 
                $list = array();
-               foreach( $groups as $group )
+               foreach( $groups as $group ) {
                        $list[] = self::buildGroupLink( $group );
+               }
 
                $autolist = array();
                if ( $user instanceof User ) {