Revision: 50197
Author:   robin
Date:     2009-05-04 19:16:21 +0000 (Mon, 04 May 2009)

Log Message:
-----------
Add $wgGroupsAddToSelf and $wgGroupsRemoveFromSelf in Special:ListGroupRights 
(bug 15061), the same way as $wgAddGroups and $wgRemoveGroups

Modified Paths:
--------------
    trunk/phase3/includes/specials/SpecialListgrouprights.php
    trunk/phase3/languages/messages/MessagesEn.php
    trunk/phase3/maintenance/language/messages.inc

Modified: trunk/phase3/includes/specials/SpecialListgrouprights.php
===================================================================
--- trunk/phase3/includes/specials/SpecialListgrouprights.php   2009-05-04 
19:12:57 UTC (rev 50196)
+++ trunk/phase3/includes/specials/SpecialListgrouprights.php   2009-05-04 
19:16:21 UTC (rev 50197)
@@ -26,6 +26,7 @@
        public function execute( $par ) {
                global $wgOut, $wgImplicitGroups, $wgMessageCache;
                global $wgGroupPermissions, $wgAddGroups, $wgRemoveGroups;
+               global $wgGroupsAddToSelf, $wgGroupsRemoveFromSelf;
                $wgMessageCache->loadAllMessages();
 
                $this->setHeaders();
@@ -76,13 +77,16 @@
                        $addgroups = isset( $wgAddGroups[$group] ) ? 
$wgAddGroups[$group] : array();
                        $removegroups = isset( $wgRemoveGroups[$group] ) ? 
$wgRemoveGroups[$group] : array();
 
+                       $addgroupsSelf = isset( $wgGroupsAddToSelf[$group] ) ? 
$wgGroupsAddToSelf[$group] : array();
+                       $removegroupsSelf = isset( 
$wgGroupsRemoveFromSelf[$group] ) ? $wgGroupsRemoveFromSelf[$group] : array();
+
                        $wgOut->addHTML(
                                '<tr>
                                        <td>' .
                                                $grouppage . $grouplink .
                                        '</td>
                                        <td>' .
-                                               self::formatPermissions( 
$permissions, $addgroups, $removegroups ) .
+                                               self::formatPermissions( 
$permissions, $addgroups, $removegroups, $addgroupsSelf, $removegroupsSelf ) .
                                        '</td>
                                </tr>'
                        );
@@ -98,7 +102,7 @@
         * @param $permissions Array of permission => bool (from 
$wgGroupPermissions items)
         * @return string List of all granted permissions, separated by comma 
separator
         */
-        private static function formatPermissions( $permissions, $add, $remove 
) {
+        private static function formatPermissions( $permissions, $add, 
$remove, $addSelf, $removeSelf ) {
                global $wgLang;
                $r = array();
                foreach( $permissions as $permission => $granted ) {
@@ -121,6 +125,16 @@
                } else if( is_array( $remove ) && count( $remove ) ) {
                        $r[] = wfMsgExt( 'listgrouprights-removegroup', array( 
'parseinline' ), $wgLang->listToText( array_map( array( 'User', 
'makeGroupLinkWiki' ), $remove ) ), count( $remove ) );
                }
+               if( $addSelf === true ){
+                       $r[] = wfMsgExt( 'listgrouprights-addgroup-self-all', 
array( 'escape' ) );
+               } else if( is_array( $addSelf ) && count( $addSelf ) ) {
+                       $r[] = wfMsgExt( 'listgrouprights-addgroup-self', 
array( 'parseinline' ), $wgLang->listToText( array_map( array( 'User', 
'makeGroupLinkWiki' ), $addSelf ) ), count( $addSelf ) );
+               }
+               if( $removeSelf === true ){
+                       $r[] = wfMsgExt( 
'listgrouprights-removegroup-self-all', array( 'escape' ) );
+               } else if( is_array( $removeSelf ) && count( $removeSelf ) ) {
+                       $r[] = wfMsgExt( 'listgrouprights-removegroup-self', 
array( 'parseinline' ), $wgLang->listToText( array_map( array( 'User', 
'makeGroupLinkWiki' ), $removeSelf ) ), count( $removeSelf ) );
+               }
                if( empty( $r ) ) {
                        return '';
                } else {

Modified: trunk/phase3/languages/messages/MessagesEn.php
===================================================================
--- trunk/phase3/languages/messages/MessagesEn.php      2009-05-04 19:12:57 UTC 
(rev 50196)
+++ trunk/phase3/languages/messages/MessagesEn.php      2009-05-04 19:16:21 UTC 
(rev 50197)
@@ -2286,6 +2286,10 @@
 'listgrouprights-removegroup'     => 'Can remove {{PLURAL:$2|group|groups}}: 
$1',
 'listgrouprights-addgroup-all'    => 'Can add all groups',
 'listgrouprights-removegroup-all' => 'Can remove all groups',
+'listgrouprights-addgroup-self'        => 'Can add {{PLURAL:$2|group|groups}} 
to own account: $1',
+'listgrouprights-removegroup-self'     => 'Can remove 
{{PLURAL:$2|group|groups}} to own account: $1',
+'listgrouprights-addgroup-self-all'    => 'Can add all groups to own account',
+'listgrouprights-removegroup-self-all' => 'Can remove all groups to own 
account',
 
 # E-mail user
 'mailnologin'      => 'No send address',

Modified: trunk/phase3/maintenance/language/messages.inc
===================================================================
--- trunk/phase3/maintenance/language/messages.inc      2009-05-04 19:12:57 UTC 
(rev 50196)
+++ trunk/phase3/maintenance/language/messages.inc      2009-05-04 19:16:21 UTC 
(rev 50197)
@@ -1535,6 +1535,11 @@
                'listgrouprights-removegroup',
                'listgrouprights-addgroup-all',
                'listgrouprights-removegroup-all',
+               'listgrouprights-addgroup-self',
+               'listgrouprights-removegroup-self',
+               'listgrouprights-addgroup-self-all',
+               'listgrouprights-removegroup-self-all',
+
        ),
        'emailuser' => array(
                'mailnologin',



_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to