Moving Special:Userlevels and Special:Grouplevels to Special:Userrights and Special...
authorTim Starling <tstarling@users.mediawiki.org>
Sun, 1 May 2005 12:59:39 +0000 (12:59 +0000)
committerTim Starling <tstarling@users.mediawiki.org>
Sun, 1 May 2005 12:59:39 +0000 (12:59 +0000)
includes/HTMLForm.php
includes/SpecialGrouplevels.php [deleted file]
includes/SpecialGroups.php [new file with mode: 0644]
includes/SpecialPage.php
includes/SpecialUserlevels.php [deleted file]
includes/SpecialUserrights.php [new file with mode: 0644]
languages/Language.php

index e1bb123..3ff08b0 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /**
  * This file contain a class to easily build HTML forms as well as custom
- * functions used by SpecialUserlevels.php and SpecialGrouplevels.php
+ * functions used by SpecialUserrights.php and SpecialGroups.php
  * @package MediaWiki
  */
 
@@ -95,8 +95,6 @@ class HTMLForm {
 } // end class
 
 
-// functions used by SpecialUserlevels & SpecialGrouplevels
-
 /** Build a select with all existent groups
  * @param string $selectname Name of this element. Name of form is automaticly prefixed.
  * @param array $selected Array of element selected when posted. Multiples will only show them.
diff --git a/includes/SpecialGrouplevels.php b/includes/SpecialGrouplevels.php
deleted file mode 100644 (file)
index 3eb5968..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-<?php
-/**
- * Provide an administration interface
- * DO NOT USE: INSECURE.
- * @package MediaWiki
- * @subpackage SpecialPage
- */
-
-/** */
-require_once('HTMLForm.php');
-require_once('Group.php');
-
-/** Entry point */
-function wfSpecialGrouplevels($par=null) {
-       global $wgRequest;
-       # Debug statement
-       // print_r($_POST);
-       $form = new GrouplevelsForm($wgRequest);
-       $form->execute();
-}
-
-/**
- * A class to manage group levels rights.
- * @package MediaWiki
- * @subpackage SpecialPage
- */
-class GrouplevelsForm extends HTMLForm {
-       var $mPosted, $mRequest, $mSaveprefs;
-       /** Escaped local url name*/
-       var $action;
-
-       /** Constructor*/
-       function GrouplevelsForm ( &$request ) {
-               $this->mPosted = $request->wasPosted();
-               $this->mRequest = $request;
-               $this->mName = 'grouplevels';
-               
-               $titleObj = Title::makeTitle( NS_SPECIAL, 'Grouplevels' );
-               $this->action = $titleObj->escapeLocalURL();
-       }
-
-       /**
-        * Manage forms to be shown according to posted datas.
-        * Depending on the submit button used : Call a form or a saving function.
-        */
-       function execute() {
-               // show the general form
-               $this->switchForm();
-               if ( $this->mPosted ) {
-                       // show some more forms
-                       if($this->mRequest->getCheck('seditgroup')) {
-                               $this->editGroupForm( $this->mRequest->getVal($this->mName.'-group-edit') ); }
-                       if($this->mRequest->getCheck('saddgroup')) {
-                               $this->editGroupForm( ); }
-
-                       // save settings
-                       if($this->mRequest->getCheck('savegroup')) {
-                               $this->saveGroup($this->mRequest->getVal('editgroup-name'),
-                                                $this->mRequest->getVal('editgroup-oldname'),
-                                                $this->mRequest->getVal('editgroup-description'),
-                                                                $this->mRequest->getArray('editgroup-getrights'));
-                       }
-               }
-       }
-
-// save things !!
-       /**
-        * Save a group
-        * @param string $newname Group name.
-        * @param string $oldname Old (current) group name.
-        * @param string $description Group description.
-        *
-        * @todo FIXME : doesnt validate anything. Log is incorrect.
-        */
-       function saveGroup($newname, $oldname, $description, $rights) {
-               $newame = trim($newname);
-       
-               if($oldname == '') {
-               // We create a new group
-                       $g = new group();
-                       $g->addToDatabase();
-               } else {
-                       $g = Group::newFromName($oldname);
-               }
-               
-               // save stuff
-               $g->setName($newname);
-               $g->setDescription($description);
-               if(isset($rights)) { $g->setRights( implode(',',$rights) ); }
-               
-               $g->save();
-
-               $log = new LogPage( 'rights' );
-               $log->addEntry( 'rights', Title::makeTitle( NS_SPECIAL, $g->getName()) , ' '.$g->getRights() );
-
-       }
-
-       /**
-        * The entry form
-        * It allows a user to edit or eventually add a group
-        */
-       function switchForm() {
-               global $wgOut;
-               
-               // group selection              
-               $wgOut->addHTML( "<form name=\"ulgroup\" action=\"$this->action\" method=\"post\">\n" );
-               $wgOut->addHTML( $this->fieldset( 'lookup-group',
-                               HTMLSelectGroups($this->mName.'-group-edit', array(0 => $this->mRequest->getVal($this->mName.'-group-edit')) ) .
-                               ' <input type="submit" name="seditgroup" value="'.wfMsg('editgroup').'" />' .
-                               '<br /><input type="submit" name="saddgroup" value="'.wfMsg('addgroup').'" />'
-                       ));
-               $wgOut->addHTML( "</form>\n" );
-       }
-
-       /**
-        * Edit a group properties and rights.
-        * @param string $groupname Name of a group to be edited.
-        */
-       function editGroupForm($groupID = 0) {
-               global $wgOut;
-
-               if($this->mRequest->getVal('seditgroup')) {
-               // fetch data if we edit a group
-                       $g = Group::newFromID($groupID);
-                       $fieldname = 'editgroup';
-               } else {
-               // default datas when we add a group
-                       $g = new group();
-                       $fieldname = 'addgroup';
-               }
-
-               $gName = $g->getName();
-               $gDescription = $g->getDescription();
-
-
-               $wgOut->addHTML( "<form name=\"editGroup\" action=\"$this->action\" method=\"post\">\n".
-                               '<input type="hidden" name="editgroup-oldname" value="'.$gName.'" />');
-               $wgOut->addHTML( $this->fieldset( $fieldname,
-                       $this->textbox( 'editgroup-name', $gName ) .
-                       $this->textareabox( 'editgroup-description', $gDescription ) .
-                       '<br /><table border="0" align="center"><tr><td>'.
-                       HTMLSelectRights($g->getRights()).
-                       '</td></tr></table>'."\n".
-                       '<input type="submit" name="savegroup" value="'.wfMsg('savegroup').'" />'
-                       ));
-
-               $wgOut->addHTML( "</form>\n" );
-       }
-} // end class GrouplevelsForm
-?>
\ No newline at end of file
diff --git a/includes/SpecialGroups.php b/includes/SpecialGroups.php
new file mode 100644 (file)
index 0000000..ce617f1
--- /dev/null
@@ -0,0 +1,150 @@
+<?php
+/**
+ * Provide an administration interface
+ * DO NOT USE: INSECURE.
+ * @package MediaWiki
+ * @subpackage SpecialPage
+ */
+
+/** */
+require_once('HTMLForm.php');
+require_once('Group.php');
+
+/** Entry point */
+function wfSpecialGroups($par=null) {
+       global $wgRequest;
+       # Debug statement
+       // print_r($_POST);
+       $form = new GroupsForm($wgRequest);
+       $form->execute();
+}
+
+/**
+ * A class to manage group levels rights.
+ * @package MediaWiki
+ * @subpackage SpecialPage
+ */
+class GroupsForm extends HTMLForm {
+       var $mPosted, $mRequest, $mSaveprefs;
+       /** Escaped local url name*/
+       var $action;
+
+       /** Constructor*/
+       function GroupsForm ( &$request ) {
+               $this->mPosted = $request->wasPosted();
+               $this->mRequest = $request;
+               $this->mName = 'groups';
+               
+               $titleObj = Title::makeTitle( NS_SPECIAL, 'Groups' );
+               $this->action = $titleObj->escapeLocalURL();
+       }
+
+       /**
+        * Manage forms to be shown according to posted datas.
+        * Depending on the submit button used : Call a form or a saving function.
+        */
+       function execute() {
+               // show the general form
+               $this->switchForm();
+               if ( $this->mPosted ) {
+                       // show some more forms
+                       if($this->mRequest->getCheck('seditgroup')) {
+                               $this->editGroupForm( $this->mRequest->getVal($this->mName.'-group-edit') ); }
+                       if($this->mRequest->getCheck('saddgroup')) {
+                               $this->editGroupForm( ); }
+
+                       // save settings
+                       if($this->mRequest->getCheck('savegroup')) {
+                               $this->saveGroup($this->mRequest->getVal('editgroup-name'),
+                                                $this->mRequest->getVal('editgroup-oldname'),
+                                                $this->mRequest->getVal('editgroup-description'),
+                                                                $this->mRequest->getArray('editgroup-getrights'));
+                       }
+               }
+       }
+
+// save things !!
+       /**
+        * Save a group
+        * @param string $newname Group name.
+        * @param string $oldname Old (current) group name.
+        * @param string $description Group description.
+        *
+        * @todo FIXME : doesnt validate anything. Log is incorrect.
+        */
+       function saveGroup($newname, $oldname, $description, $rights) {
+               $newame = trim($newname);
+       
+               if($oldname == '') {
+               // We create a new group
+                       $g = new group();
+                       $g->addToDatabase();
+               } else {
+                       $g = Group::newFromName($oldname);
+               }
+               
+               // save stuff
+               $g->setName($newname);
+               $g->setDescription($description);
+               if(isset($rights)) { $g->setRights( implode(',',$rights) ); }
+               
+               $g->save();
+
+               $log = new LogPage( 'rights' );
+               $log->addEntry( 'rights', Title::makeTitle( NS_SPECIAL, $g->getName()) , ' '.$g->getRights() );
+
+       }
+
+       /**
+        * The entry form
+        * It allows a user to edit or eventually add a group
+        */
+       function switchForm() {
+               global $wgOut;
+               
+               // group selection              
+               $wgOut->addHTML( "<form name=\"ulgroup\" action=\"$this->action\" method=\"post\">\n" );
+               $wgOut->addHTML( $this->fieldset( 'lookup-group',
+                               HTMLSelectGroups($this->mName.'-group-edit', array(0 => $this->mRequest->getVal($this->mName.'-group-edit')) ) .
+                               ' <input type="submit" name="seditgroup" value="'.wfMsg('editgroup').'" />' .
+                               '<br /><input type="submit" name="saddgroup" value="'.wfMsg('addgroup').'" />'
+                       ));
+               $wgOut->addHTML( "</form>\n" );
+       }
+
+       /**
+        * Edit a group properties and rights.
+        * @param string $groupname Name of a group to be edited.
+        */
+       function editGroupForm($groupID = 0) {
+               global $wgOut;
+
+               if($this->mRequest->getVal('seditgroup')) {
+               // fetch data if we edit a group
+                       $g = Group::newFromID($groupID);
+                       $fieldname = 'editgroup';
+               } else {
+               // default datas when we add a group
+                       $g = new group();
+                       $fieldname = 'addgroup';
+               }
+
+               $gName = $g->getName();
+               $gDescription = $g->getDescription();
+
+
+               $wgOut->addHTML( "<form name=\"editGroup\" action=\"$this->action\" method=\"post\">\n".
+                               '<input type="hidden" name="editgroup-oldname" value="'.$gName.'" />');
+               $wgOut->addHTML( $this->fieldset( $fieldname,
+                       $this->textbox( 'editgroup-name', $gName ) .
+                       $this->textareabox( 'editgroup-description', $gDescription ) .
+                       '<br /><table border="0" align="center"><tr><td>'.
+                       HTMLSelectRights($g->getRights()).
+                       '</td></tr></table>'."\n".
+                       '<input type="submit" name="savegroup" value="'.wfMsg('savegroup').'" />'
+                       ));
+
+               $wgOut->addHTML( "</form>\n" );
+       }
+} // end class GroupsForm
+?>
index 3d7cba2..05aabb6 100644 (file)
@@ -49,29 +49,7 @@ $wgSpecialPages = array(
        'Lonelypages'       => new SpecialPage( 'Lonelypages' ),
        'Uncategorizedpages'=> new SpecialPage( 'Uncategorizedpages' ),
        'Uncategorizedcategories'=> new SpecialPage( 'Uncategorizedcategories' ),
-       'Unusedimages'      => new SpecialPage( 'Unusedimages' )
-);
-
-global $wgUseValidation ;
-if ( $wgUseValidation )
-       $wgSpecialPages['Validate'] = new SpecialPage( 'Validate' );
-
-global $wgDisableCounters;
-if( !$wgDisableCounters ) {
-       $wgSpecialPages['Popularpages'] = new SpecialPage( 'Popularpages' );
-}
-
-global $wgDisableInternalSearch;
-if( !$wgDisableInternalSearch ) {
-       $wgSpecialPages['Search'] = new UnlistedSpecialPage( 'Search' );
-}
-
-global $wgEmailAuthentication;
-if( $wgEmailAuthentication ) {
-       $wgSpecialPages['Confirmemail'] = new UnlistedSpecialPage( 'Confirmemail' );
-}
-
-$wgSpecialPages = array_merge($wgSpecialPages, array (
+       'Unusedimages'      => new SpecialPage( 'Unusedimages' ),
        'Wantedpages'   => new SpecialPage( 'Wantedpages' ),
        'Shortpages'    => new SpecialPage( 'Shortpages' ),
        'Longpages'             => new SpecialPage( 'Longpages' ),
@@ -99,9 +77,28 @@ $wgSpecialPages = array_merge($wgSpecialPages, array (
        'Lockdb'                => new SpecialPage( 'Lockdb', 'siteadmin' ),
        'Unlockdb'              => new SpecialPage( 'Unlockdb', 'siteadmin' ),
 #      'Sitesettings'  => new SpecialPage( 'Sitesettings', 'siteadmin' ),
-       'Userlevels'    => new SpecialPage( 'Userlevels', 'userrights' ),
-       'Grouplevels'   => new SpecialPage( 'Grouplevels', 'grouprights' ),
-));
+       'Userrights'    => new SpecialPage( 'Userrights', 'userrights' ),
+       'Groups'                => new SpecialPage( 'Groups', 'grouprights' ),
+);
+
+global $wgUseValidation ;
+if ( $wgUseValidation )
+       $wgSpecialPages['Validate'] = new SpecialPage( 'Validate' );
+
+global $wgDisableCounters;
+if( !$wgDisableCounters ) {
+       $wgSpecialPages['Popularpages'] = new SpecialPage( 'Popularpages' );
+}
+
+global $wgDisableInternalSearch;
+if( !$wgDisableInternalSearch ) {
+       $wgSpecialPages['Search'] = new UnlistedSpecialPage( 'Search' );
+}
+
+global $wgEmailAuthentication;
+if( $wgEmailAuthentication ) {
+       $wgSpecialPages['Confirmemail'] = new UnlistedSpecialPage( 'Confirmemail' );
+}
 
 /**
  * Parent special page class, also static functions for handling the special
diff --git a/includes/SpecialUserlevels.php b/includes/SpecialUserlevels.php
deleted file mode 100644 (file)
index 1406347..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-<?php
-/**
- * Provide an administration interface
- * DO NOT USE: INSECURE.
- * 
- * TODO : remove everything related to group editing (SpecialGrouplevels.php)
- * @package MediaWiki
- * @subpackage SpecialPage
- */
-
-/** */
-require_once('HTMLForm.php');
-require_once('Group.php');
-
-/** Entry point */
-function wfSpecialUserlevels($par=null) {
-       global $wgRequest;
-       # Debug statement
-       // print_r($_POST);
-       $form = new UserlevelsForm($wgRequest);
-       $form->execute();
-}
-
-/**
- * A class to manage user levels rights.
- * @package MediaWiki
- * @subpackage SpecialPage
- */
-class UserlevelsForm extends HTMLForm {
-       var $mPosted, $mRequest, $mSaveprefs;
-       /** Escaped local url name*/
-       var $action;
-
-       /** Constructor*/
-       function UserlevelsForm ( &$request ) {
-               $this->mPosted = $request->wasPosted();
-               $this->mRequest = $request;
-               $this->mName = 'userlevels';
-               
-               $titleObj = Title::makeTitle( NS_SPECIAL, 'Userlevels' );
-               $this->action = $titleObj->escapeLocalURL();
-       }
-
-       /**
-        * Manage forms to be shown according to posted datas.
-        * Depending on the submit button used : Call a form or a saving function.
-        */
-       function execute() {
-               // show the general form
-               $this->switchForm();
-               if ( $this->mPosted ) {
-                       // show some more forms
-                       if($this->mRequest->getCheck('ssearchuser')) {
-                               $this->editUserGroupsForm( $this->mRequest->getVal('user-editname')); }
-
-                       // save settings
-                       if($this->mRequest->getCheck('saveusergroups')) {
-                               $this->saveUserGroups($this->mRequest->getVal('user-editname'),
-                                                     $this->mRequest->getArray($this->mName.'-groupsmember'),
-                                                     $this->mRequest->getArray($this->mName.'-groupsavailable'));
-                       }
-               }
-       }
-
-// save things !!
-       /**
-        * Save user groups changes in the database.
-        * Datas comes from the editUserGroupsForm() form function
-        *
-        * @param string $username Username to apply changes to.
-        * @param array $removegroup id of groups to be removed.
-        * @param array $addgroup id of groups to be added.
-        *
-        * @todo Log groupname instead of group id.
-        */
-       function saveUserGroups($username,$removegroup,$addgroup) {
-               $u = User::NewFromName($username);
-
-               if(is_null($u)) {
-                       $wgOut->addHTML('<p>'.wfMsg('nosuchusershort',$username).'</p>');
-                       return;
-               }
-
-               if($u->getID() == 0) {
-                       $wgOut->addHTML('<p>'.wfMsg('nosuchusershort',$username).'</p>');
-                       return;
-               }               
-
-               $groups = $u->getGroups();
-               $logcomment = ' ';
-               // remove then add groups               
-               if(isset($removegroup)) {
-                       $groups = array_diff($groups, $removegroup);
-                       $logcomment .= implode( ' -', $removegroup);
-                       }
-               if(isset($addgroup)) {
-                       $groups = array_merge($groups, $addgroup);
-                       $logcomment .= implode( ' +', $addgroup );
-                       }
-               // save groups in user object and database
-               $u->setGroups($groups);
-               $u->saveSettings();
-
-               $log = new LogPage( 'rights' );
-               $log->addEntry( 'rights', Title::makeTitle( NS_USER, $u->getName() ), $logcomment );
-       }
-
-       /**
-        * The entry form
-        * It allows a user to look for a username and edit its groups membership
-        */
-       function switchForm() {
-               global $wgOut;
-               
-               // user selection
-               $wgOut->addHTML( "<form name=\"uluser\" action=\"$this->action\" method=\"post\">\n" );
-               $wgOut->addHTML( $this->fieldset( 'lookup-user',
-                               $this->textbox( 'user-editname' ) .
-                               '<input type="submit" name="ssearchuser" value="'.wfMsg('editusergroup').'" />'
-               ));
-               $wgOut->addHTML( "</form>\n" );
-       }
-
-       /**
-        * Edit user groups membership
-        * @param string $username Name of the user.
-        */
-       function editUserGroupsForm($username) {
-               global $wgOut;
-               
-               $user = User::newFromName($username);
-               if(is_null($user)) {
-                       $wgOut->addHTML('<p>'.wfMsg('nosuchusershort',$username).'</p>');
-                       return;
-               }
-
-               if($user->getID() == 0) {
-                       $wgOut->addHTML('<p>'.wfMsg('nosuchusershort',$username).'</p>');
-                       return;
-               }               
-               
-               $groups = $user->getGroups();
-
-               $wgOut->addHTML( "<form name=\"editGroup\" action=\"$this->action\" method=\"post\">\n".
-                                                '<input type="hidden" name="user-editname" value="'.$username.'" />');
-               $wgOut->addHTML( $this->fieldset( 'editusergroup',
-                       wfMsg('editing', $this->mRequest->getVal('user-editname')).".<br />\n" .
-                       '<table border="0" align="center"><tr><td>'.
-                       HTMLSelectGroups($this->mName.'-groupsmember', $groups,true,6).
-                       '</td><td>'.
-                       HTMLSelectGroups($this->mName.'-groupsavailable', $groups,true,6,true).
-                       '</td></tr></table>'."\n".
-                       '<p>'.wfMsg('userlevels-groupshelp').'</p>'."\n".
-                       '<input type="submit" name="saveusergroups" value="'.wfMsg('saveusergroups').'" />'
-                       ));
-               $wgOut->addHTML( "</form>\n" );
-       }
-} // end class UserlevelsForm
-?>
diff --git a/includes/SpecialUserrights.php b/includes/SpecialUserrights.php
new file mode 100644 (file)
index 0000000..5e96460
--- /dev/null
@@ -0,0 +1,159 @@
+<?php
+/**
+ * Provide an administration interface
+ * DO NOT USE: INSECURE.
+ * 
+ * TODO : remove everything related to group editing (SpecialGrouplevels.php)
+ * @package MediaWiki
+ * @subpackage SpecialPage
+ */
+
+/** */
+require_once('HTMLForm.php');
+require_once('Group.php');
+
+/** Entry point */
+function wfSpecialUserrights($par=null) {
+       global $wgRequest;
+       # Debug statement
+       // print_r($_POST);
+       $form = new UserrightsForm($wgRequest);
+       $form->execute();
+}
+
+/**
+ * A class to manage user levels rights.
+ * @package MediaWiki
+ * @subpackage SpecialPage
+ */
+class UserrightsForm extends HTMLForm {
+       var $mPosted, $mRequest, $mSaveprefs;
+       /** Escaped local url name*/
+       var $action;
+
+       /** Constructor*/
+       function UserrightsForm ( &$request ) {
+               $this->mPosted = $request->wasPosted();
+               $this->mRequest = $request;
+               $this->mName = 'userrights';
+               
+               $titleObj = Title::makeTitle( NS_SPECIAL, 'Userrights' );
+               $this->action = $titleObj->escapeLocalURL();
+       }
+
+       /**
+        * Manage forms to be shown according to posted datas.
+        * Depending on the submit button used : Call a form or a saving function.
+        */
+       function execute() {
+               // show the general form
+               $this->switchForm();
+               if ( $this->mPosted ) {
+                       // show some more forms
+                       if($this->mRequest->getCheck('ssearchuser')) {
+                               $this->editUserGroupsForm( $this->mRequest->getVal('user-editname')); }
+
+                       // save settings
+                       if($this->mRequest->getCheck('saveusergroups')) {
+                               $this->saveUserGroups($this->mRequest->getVal('user-editname'),
+                                                     $this->mRequest->getArray($this->mName.'-groupsmember'),
+                                                     $this->mRequest->getArray($this->mName.'-groupsavailable'));
+                       }
+               }
+       }
+
+// save things !!
+       /**
+        * Save user groups changes in the database.
+        * Datas comes from the editUserGroupsForm() form function
+        *
+        * @param string $username Username to apply changes to.
+        * @param array $removegroup id of groups to be removed.
+        * @param array $addgroup id of groups to be added.
+        *
+        * @todo Log groupname instead of group id.
+        */
+       function saveUserGroups($username,$removegroup,$addgroup) {
+               $u = User::NewFromName($username);
+
+               if(is_null($u)) {
+                       $wgOut->addHTML('<p>'.wfMsg('nosuchusershort',$username).'</p>');
+                       return;
+               }
+
+               if($u->getID() == 0) {
+                       $wgOut->addHTML('<p>'.wfMsg('nosuchusershort',$username).'</p>');
+                       return;
+               }               
+
+               $groups = $u->getGroups();
+               $logcomment = ' ';
+               // remove then add groups               
+               if(isset($removegroup)) {
+                       $groups = array_diff($groups, $removegroup);
+                       $logcomment .= implode( ' -', $removegroup);
+                       }
+               if(isset($addgroup)) {
+                       $groups = array_merge($groups, $addgroup);
+                       $logcomment .= implode( ' +', $addgroup );
+                       }
+               // save groups in user object and database
+               $u->setGroups($groups);
+               $u->saveSettings();
+
+               $log = new LogPage( 'rights' );
+               $log->addEntry( 'rights', Title::makeTitle( NS_USER, $u->getName() ), $logcomment );
+       }
+
+       /**
+        * The entry form
+        * It allows a user to look for a username and edit its groups membership
+        */
+       function switchForm() {
+               global $wgOut;
+               
+               // user selection
+               $wgOut->addHTML( "<form name=\"uluser\" action=\"$this->action\" method=\"post\">\n" );
+               $wgOut->addHTML( $this->fieldset( 'lookup-user',
+                               $this->textbox( 'user-editname' ) .
+                               '<input type="submit" name="ssearchuser" value="'.wfMsg('editusergroup').'" />'
+               ));
+               $wgOut->addHTML( "</form>\n" );
+       }
+
+       /**
+        * Edit user groups membership
+        * @param string $username Name of the user.
+        */
+       function editUserGroupsForm($username) {
+               global $wgOut;
+               
+               $user = User::newFromName($username);
+               if(is_null($user)) {
+                       $wgOut->addHTML('<p>'.wfMsg('nosuchusershort',$username).'</p>');
+                       return;
+               }
+
+               if($user->getID() == 0) {
+                       $wgOut->addHTML('<p>'.wfMsg('nosuchusershort',$username).'</p>');
+                       return;
+               }               
+               
+               $groups = $user->getGroups();
+
+               $wgOut->addHTML( "<form name=\"editGroup\" action=\"$this->action\" method=\"post\">\n".
+                                                '<input type="hidden" name="user-editname" value="'.$username.'" />');
+               $wgOut->addHTML( $this->fieldset( 'editusergroup',
+                       wfMsg('editing', $this->mRequest->getVal('user-editname')).".<br />\n" .
+                       '<table border="0" align="center"><tr><td>'.
+                       HTMLSelectGroups($this->mName.'-groupsmember', $groups,true,6).
+                       '</td><td>'.
+                       HTMLSelectGroups($this->mName.'-groupsavailable', $groups,true,6,true).
+                       '</td></tr></table>'."\n".
+                       '<p>'.wfMsg('userrights-groupshelp').'</p>'."\n".
+                       '<input type="submit" name="saveusergroups" value="'.wfMsg('saveusergroups').'" />'
+                       ));
+               $wgOut->addHTML( "</form>\n" );
+       }
+} // end class UserrightsForm
+?>
index 05e7ca3..3417b99 100644 (file)
@@ -890,29 +890,29 @@ See [[Project:User preferences help]] for help deciphering the options.",
 #
 
 # switching pan
-'grouplevels-lookup-group' => 'Manage group rights',
-'grouplevels-group-edit' => 'Existing groups: ',
+'groups-lookup-group' => 'Manage group rights',
+'groups-group-edit' => 'Existing groups: ',
 'editgroup' => 'Edit Group',
 'addgroup' => 'Add Group',
 
-'userlevels-lookup-user' => 'Manage user groups',
-'userlevels-user-editname' => 'Enter a username: ',
+'userrights-lookup-user' => 'Manage user groups',
+'userrights-user-editname' => 'Enter a username: ',
 'editusergroup' => 'Edit User Groups',
 
 # group editing
-'grouplevels-editgroup' => 'Edit group',
-'grouplevels-addgroup' => 'Add group',
-'grouplevels-editgroup-name' => 'Group name: ',
-'grouplevels-editgroup-description' => 'Group description (max 255 characters):<br />',
+'groups-editgroup' => 'Edit group',
+'groups-addgroup' => 'Add group',
+'groups-editgroup-name' => 'Group name: ',
+'groups-editgroup-description' => 'Group description (max 255 characters):<br />',
 'savegroup' => 'Save Group',
 
 # user groups editing
 #
-'userlevels-editusergroup' => 'Edit user groups',
+'userrights-editusergroup' => 'Edit user groups',
 'saveusergroups' => 'Save User Groups',
-'userlevels-groupsmember' => 'Member of:',
-'userlevels-groupsavailable' => 'Available groups:',
-'userlevels-groupshelp' => 'Select groups you want the user to be removed from or added to.
+'userrights-groupsmember' => 'Member of:',
+'userrights-groupsavailable' => 'Available groups:',
+'userrights-groupshelp' => 'Select groups you want the user to be removed from or added to.
 Unselected groups will not be changed. You can deselect a group with CTRL + Left Click',
 
 # Recent changes
@@ -1140,8 +1140,8 @@ in active use.</p>',
 'booksources'  => 'Book sources',
 'categoriespagetext' => 'The following categories exist in the wiki.',
 'data' => 'Data',
-'userlevels' => 'User rights management',
-'grouplevels' => 'User group management',
+'userrights' => 'User rights management',
+'groups' => 'User groups',
 
 # FIXME: Other sites, of course, may have affiliate relations with the booksellers list
 'booksourcetext' => "Below is a list of links to other sites that