MediaWiki  REL1_20
UserrightsPage Class Reference

Special page to allow managing user group membership. More...

Inheritance diagram for UserrightsPage:
Collaboration diagram for UserrightsPage:

List of all members.

Public Member Functions

 __construct ()
 addLogEntry ($user, $oldGroups, $newGroups, $reason)
 Add a rights log entry for an action.
 changeableGroups ()
 Returns $this->getUser()->changeableGroups()
 doSaveUserGroups ($user, $add, $remove, $reason= '')
 Save user groups changes in the database.
 editUserGroupsForm ($username)
 Edit user groups membership.
 execute ($par)
 Manage forms to be shown according to posted data.
 fetchUser ($username)
 Normalize the input username, which may be local or remote, and return a user (or proxy) object for manipulating it.
 getSuccessURL ()
 isRestricted ()
 Can be overridden by subclasses with more complicated permissions schemes.
 makeGroupNameList ($ids)
 makeGroupNameListForLog ($ids)
 saveUserGroups ($username, $reason= '')
 Save user groups changes in the database.
 switchForm ()
 Output a form to allow searching for a user.
 userCanChangeRights ($user, $checkIfSelf=true)
 userCanExecute (User $user)
 Checks if the given user (identified by an object) can execute this special page (as defined by $mRestriction).

Protected Member Functions

 showEditUserGroupsForm ($user, $groups)
 Show the form to edit group memberships.
 showLogFragment ($user, $output)
 Show a rights log fragment for the specified user.
 splitGroups ($groups)
 Go through used and available groups and return the ones that this form will be able to manipulate based on the current user's system permissions.

Static Protected Member Functions

static getAllGroups ()
 Returns an array of all groups that may be edited.

Protected Attributes

 $isself = false
 $mTarget

Private Member Functions

 canAdd ($group)
 canRemove ($group)
 groupCheckboxes ($usergroups, $user)
 Adds a table with checkboxes where you can select what groups to add/remove.

Static Private Member Functions

static buildGroupLink ($group)
 Format a link to a group description page.

Detailed Description

Special page to allow managing user group membership.

Definition at line 29 of file SpecialUserrights.php.


Constructor & Destructor Documentation

Definition at line 36 of file SpecialUserrights.php.


Member Function Documentation

UserrightsPage::addLogEntry ( user,
oldGroups,
newGroups,
reason 
)

Add a rights log entry for an action.

Definition at line 246 of file SpecialUserrights.php.

References $user, and makeGroupNameListForLog().

Referenced by doSaveUserGroups().

static UserrightsPage::buildGroupLink ( group) [static, private]

Format a link to a group description page.

Parameters:
$groupstring
Returns:
string

Definition at line 481 of file SpecialUserrights.php.

References User\getGroupName().

Referenced by showEditUserGroupsForm().

UserrightsPage::canAdd ( group) [private]
Parameters:
$groupstring: the name of the group to check
Returns:
bool Can we add the group?

Definition at line 587 of file SpecialUserrights.php.

References changeableGroups().

Referenced by groupCheckboxes().

UserrightsPage::canRemove ( group) [private]
Parameters:
$groupString: the name of the group to check
Returns:
bool Can we remove the group?

Definition at line 576 of file SpecialUserrights.php.

References changeableGroups().

Referenced by groupCheckboxes().

Returns $this->getUser()->changeableGroups()

Returns:
Array array( 'add' => array( addablegroups ), 'remove' => array( removablegroups ) , 'add-self' => array( addablegroups to self), 'remove-self' => array( removable groups from self) )

Definition at line 597 of file SpecialUserrights.php.

References SpecialPage\getUser().

Referenced by canAdd(), canRemove(), doSaveUserGroups(), execute(), splitGroups(), and userCanChangeRights().

UserrightsPage::doSaveUserGroups ( user,
add,
remove,
reason = '' 
)

Save user groups changes in the database.

Parameters:
$userUser object
$addArray of groups to add
$removeArray of groups to remove
$reasonString: reason for group change
Returns:
Array: Tuple of added, then removed groups

Definition at line 196 of file SpecialUserrights.php.

References $isself, $user, addLogEntry(), changeableGroups(), SpecialPage\getUser(), wfDebug(), and wfRunHooks().

Referenced by saveUserGroups().

Edit user groups membership.

Parameters:
$usernameString: name of the user.

Definition at line 263 of file SpecialUserrights.php.

References $user, fetchUser(), SpecialPage\getOutput(), showEditUserGroupsForm(), and showLogFragment().

Referenced by execute().

Manage forms to be shown according to posted data.

Depending on the submit button used, call a form or a save function.

Parameters:
$parMixed: string if any subpage provided, else null

Reimplemented from SpecialPage.

Definition at line 66 of file SpecialUserrights.php.

References $out, $user, changeableGroups(), SpecialPage\checkReadOnly(), editUserGroupsForm(), User\getCanonicalName(), SpecialPage\getOutput(), SpecialPage\getRequest(), getSuccessURL(), SpecialPage\getUser(), SpecialPage\outputHeader(), saveUserGroups(), SpecialPage\setHeaders(), switchForm(), and userCanChangeRights().

UserrightsPage::fetchUser ( username)

Normalize the input username, which may be local or remote, and return a user (or proxy) object for manipulating it.

Side effects: error output for invalid access

Returns:
Status object

Definition at line 288 of file SpecialUserrights.php.

References $user, User\getCanonicalName(), SpecialPage\getUser(), Status\newFatal(), UserRightsProxy\newFromName(), User\newFromName(), Status\newGood(), UserRightsProxy\validDatabase(), wfWikiID(), UserRightsProxy\whoIs(), and User\whoIs().

Referenced by editUserGroupsForm(), ApiQueryUsers\execute(), ApiUserrights\getUrUser(), and saveUserGroups().

static UserrightsPage::getAllGroups ( ) [static, protected]

Returns an array of all groups that may be edited.

Returns:
array Array of groups that may be edited.

Definition at line 492 of file SpecialUserrights.php.

Referenced by groupCheckboxes(), and saveUserGroups().

Definition at line 147 of file SpecialUserrights.php.

References SpecialPage\getTitle().

Referenced by execute().

UserrightsPage::groupCheckboxes ( usergroups,
user 
) [private]

Adds a table with checkboxes where you can select what groups to add/remove.

Todo:
Just pass the username string?
Parameters:
$usergroupsArray: groups the user belongs to
$userUser a user object
Returns:
string XHTML table element with checkboxes

Definition at line 504 of file SpecialUserrights.php.

References $columns, $user, canAdd(), canRemove(), Xml\checkLabel(), Xml\closeElement(), Xml\element(), getAllGroups(), User\getGroupMember(), SpecialPage\msg(), Xml\openElement(), and Xml\tags().

Referenced by showEditUserGroupsForm().

Can be overridden by subclasses with more complicated permissions schemes.

Returns:
Boolean: should the page be displayed with the restricted-access pages?

Reimplemented from SpecialPage.

Definition at line 40 of file SpecialUserrights.php.

Definition at line 349 of file SpecialUserrights.php.

References SpecialPage\msg().

Referenced by makeGroupNameListForLog().

Definition at line 357 of file SpecialUserrights.php.

References makeGroupNameList().

Referenced by addLogEntry().

UserrightsPage::saveUserGroups ( username,
reason = '' 
)

Save user groups changes in the database.

Data comes from the editUserGroupsForm() form function

Parameters:
$usernameString: username to apply changes to.
$reasonString: reason for group change
Returns:
null

Definition at line 159 of file SpecialUserrights.php.

References $user, doSaveUserGroups(), fetchUser(), getAllGroups(), SpecialPage\getOutput(), and SpecialPage\getRequest().

Referenced by execute().

UserrightsPage::showLogFragment ( user,
output 
) [protected]

Show a rights log fragment for the specified user.

Parameters:
$userUser to show log for
$outputOutputPage to use

Definition at line 607 of file SpecialUserrights.php.

References $output, $user, Xml\element(), and LogEventsList\showLogExtract().

Referenced by editUserGroupsForm().

UserrightsPage::splitGroups ( groups) [protected]

Go through used and available groups and return the ones that this form will be able to manipulate based on the current user's system permissions.

Parameters:
$groupsArray: list of groups the given user is in
Returns:
Array: Tuple of addable, then removable groups

Definition at line 389 of file SpecialUserrights.php.

References changeableGroups().

UserrightsPage::userCanChangeRights ( user,
checkIfSelf = true 
)

Definition at line 48 of file SpecialUserrights.php.

References $user, and changeableGroups().

Referenced by execute(), and userCanExecute().

Checks if the given user (identified by an object) can execute this special page (as defined by $mRestriction).

Can be overridden by sub- classes with more complicated permissions schemes.

Parameters:
$userUser: the user to check
Returns:
Boolean: does the user have permission to view the page?

Reimplemented from SpecialPage.

Definition at line 44 of file SpecialUserrights.php.

References userCanChangeRights().


Member Data Documentation

UserrightsPage::$isself = false [protected]

Definition at line 34 of file SpecialUserrights.php.

Referenced by doSaveUserGroups().

UserrightsPage::$mTarget [protected]

Definition at line 33 of file SpecialUserrights.php.


The documentation for this class was generated from the following file: