$this->isself = true;
}
- $out = $this->getOutput();
-
if( !$this->userCanChangeRights( $user, true ) ) {
// @todo FIXME: There may be intermediate groups we can mention.
- $out->showPermissionsErrorPage( array( array(
- $user->isAnon()
- ? 'userrights-nologin'
- : 'userrights-notallowed' ) ) );
- return;
+ $msg = $user->isAnon() ? 'userrights-nologin' : 'userrights-notallowed';
+ throw new PermissionsError( null, array( array( $msg ) ) );
}
if ( wfReadOnly() ) {
throw new ReadOnlyError;
}
+ $this->setHeaders();
$this->outputHeader();
+
+ $out = $this->getOutput();
$out->addModuleStyles( 'mediawiki.special' );
- $this->setHeaders();
// show the general form
if ( count( $available['add'] ) || count( $available['remove'] ) ) {
Html::hidden( 'wpEditToken', $this->getUser()->editToken( $this->mTarget ) ) .
Xml::openElement( 'fieldset' ) .
Xml::element( 'legend', array(), wfMsg( 'userrights-editusergroup' ) ) .
- wfMsgExt( 'editinguser', array( 'parse' ), wfEscapeWikiText( $user->getName() ), $userToolLinks ) .
+ wfMessage( 'editinguser' )->params( wfEscapeWikiText( $user->getName() ) )->rawParams( $userToolLinks )->parse() .
wfMsgExt( 'userrights-groups-help', array( 'parse' ) ) .
$grouplist .
- Xml::tags( 'p', null, $this->groupCheckboxes( $groups ) ) .
+ Xml::tags( 'p', null, $this->groupCheckboxes( $groups, $user ) ) .
Xml::openElement( 'table', array( 'border' => '0', 'id' => 'mw-userrights-table-outer' ) ) .
"<tr>
<td class='mw-label'>" .
* @param $usergroups Array: groups the user belongs to
* @return string XHTML table element with checkboxes
*/
- private function groupCheckboxes( $usergroups ) {
+ private function groupCheckboxes( $usergroups, $user ) {
$allgroups = $this->getAllGroups();
$ret = '';
foreach( $column as $group => $checkbox ) {
$attr = $checkbox['disabled'] ? array( 'disabled' => 'disabled' ) : array();
+ $member = User::getGroupMember( $group, $user->getName() );
if ( $checkbox['irreversible'] ) {
- $text = htmlspecialchars( wfMsg( 'userrights-irreversible-marker',
- User::getGroupMember( $group ) ) );
+ $text = wfMessage( 'userrights-irreversible-marker', $member )->escaped();
} else {
- $text = htmlspecialchars( User::getGroupMember( $group ) );
+ $text = htmlspecialchars( $member );
}
$checkboxHtml = Xml::checkLabel( $text, "wpGroup-" . $group,
"wpGroup-" . $group, $checkbox['set'], $attr );
*/
protected function showLogFragment( $user, $output ) {
$output->addHTML( Xml::element( 'h2', null, LogPage::logName( 'rights' ) . "\n" ) );
- LogEventsList::showLogExtract( $output, 'rights', $user->getUserPage()->getPrefixedText() );
+ LogEventsList::showLogExtract( $output, 'rights', $user->getUserPage() );
}
}