* Add information about user group membership to Special:Preferences
authorRaimond Spekking <raymond@users.mediawiki.org>
Wed, 28 May 2008 09:02:32 +0000 (09:02 +0000)
committerRaimond Spekking <raymond@users.mediawiki.org>
Wed, 28 May 2008 09:02:32 +0000 (09:02 +0000)
RELEASE-NOTES
includes/SpecialPreferences.php
languages/messages/MessagesDe.php
languages/messages/MessagesEn.php
maintenance/language/messages.inc

index 89b9e99..88b6e72 100644 (file)
@@ -129,6 +129,7 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
 * Sidebar is now cached for all languages
 * (bug 14259) Localisation message for upload button on Special:Import is now
   'import-upload' instead of 'upload'
+* Add information about user group membership to Special:Preferences
 
 === Bug fixes in 1.13 ===
 
index ce87ace..93da79d 100644 (file)
@@ -603,9 +603,44 @@ class PreferencesForm {
                        $this->tableRow( Xml::element( 'h2', null, wfMsg( 'prefs-personal' ) ) )
                );
 
+               # Get groups to which the user belongs
+               $userEffectiveGroups = $wgUser->getEffectiveGroups();
+               $userEffectiveGroupsArray = array();
+               foreach( $userEffectiveGroups as $ueg ) {
+                       if( $ueg == '*' ) {
+                               // Skip the default * group, seems useless here
+                               continue;
+                       }
+                       $msgName = 'group-' . $ueg;
+                       $groupName = wfMsg( $msgName );
+                       if( wfEmptyMsg( $msgName, $groupName ) ) {
+                               // No localized groupname available
+                               $groupName = $ueg;
+                       }
+                       $userEffectiveGroupsArray[] = $groupName;
+               }
+               asort( $userEffectiveGroupsArray );
+
+               $sk = $wgUser->getSkin();
+               $toolLinks = array();
+               $toolLinks[] = $sk->makeKnownLinkObj( SpecialPage::getTitleFor( 'ListGroupRights' ), wfMsg( 'listgrouprights' ) );
+               if( $wgUser->isAllowed( 'userrights' ) ) {
+                       $toolLinks[] = $sk->makeKnownLinkObj( SpecialPage::getTitleFor( 'Userrights' ),
+                                               wfMsg( 'prefs-changemembership' ),
+                                               'user=' . htmlspecialchars( $wgUser->getName() )
+                                       );
+               }
+
                $userInformationHtml =
                        $this->tableRow( wfMsgHtml( 'username' ), htmlspecialchars( $wgUser->getName() ) ) .
                        $this->tableRow( wfMsgHtml( 'uid' ), htmlspecialchars( $wgUser->getId() ) ) .
+
+                       $this->tableRow(
+                               wfMsgExt( 'prefs-memberingroups', array( 'parseinline' ), count( $userEffectiveGroupsArray ) ),
+                               implode( wfMsg( 'comma-separator' ), $userEffectiveGroupsArray ) . 
+                               '<br />(' . implode( ' | ', $toolLinks ) . ')'
+                       ) .
+
                        $this->tableRow(
                                wfMsgHtml( 'prefs-edits' ),
                                $wgLang->formatNum( User::edits( $wgUser->getId() ) )
index 39ffcba..4a969e5 100644 (file)
@@ -557,6 +557,8 @@ Dein Benutzerkonto wurde eingerichtet. Vergiss nicht, deine Einstellungen anzupa
 'youremail'                  => 'E-Mail-Adresse:',
 'username'                   => 'Benutzername:',
 'uid'                        => 'Benutzer-ID:',
+'prefs-memberingroups'       => 'Mitglied der {{PLURAL:$1|Benutzergruppe|Benutzergruppen}}:',
+'prefs-changemembership'     => 'Benutzerrechte ändern',
 'yourrealname'               => 'Echter Name:',
 'yourlanguage'               => 'Sprache der Benutzeroberfläche:',
 'yourvariant'                => 'Variante',
index d685130..78ebbea 100644 (file)
@@ -872,6 +872,8 @@ Please choose a different name.',
 'youremail'                  => 'E-mail:',
 'username'                   => 'Username:',
 'uid'                        => 'User ID:',
+'prefs-memberingroups'       => 'Member of {{PLURAL:$1|group|groups}}:',
+'prefs-changemembership'     => 'Change group membership',
 'yourrealname'               => 'Real name:',
 'yourlanguage'               => 'Language:',
 'yourvariant'                => 'Variant:', # only translate this message to other languages if you have to change it
index 9f8e4e5..b54a184 100644 (file)
@@ -387,6 +387,8 @@ $wgMessageStructure = array(
                'youremail',
                'username',
                'uid',
+               'prefs-memberingroups',
+               'prefs-changemembership',
                'yourrealname',
                'yourlanguage',
                'yourvariant',