From 9db190c7e736ec8d063187d4241b59feaf7dc2d1 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Wed, 22 Jun 2011 11:28:20 +0200 Subject: update to MediaWiki 1.17.0 --- includes/specials/SpecialUserrights.php | 107 +++++++++++++++++++------------- 1 file changed, 65 insertions(+), 42 deletions(-) (limited to 'includes/specials/SpecialUserrights.php') diff --git a/includes/specials/SpecialUserrights.php b/includes/specials/SpecialUserrights.php index 36caf9a6..6ea8668b 100644 --- a/includes/specials/SpecialUserrights.php +++ b/includes/specials/SpecialUserrights.php @@ -1,13 +1,29 @@ changeableGroups(); return !empty( $available['add'] ) - or !empty( $available['remove'] ) - or ( ( $this->isself || !$checkIfSelf ) and + || !empty( $available['remove'] ) + || ( ( $this->isself || !$checkIfSelf ) && ( !empty( $available['add-self'] ) - or !empty( $available['remove-self'] ) ) ); + || !empty( $available['remove-self'] ) ) ); } /** @@ -49,7 +65,7 @@ class UserrightsPage extends SpecialPage { // any groups, it's a bit silly to give them the user search prompt. global $wgUser, $wgRequest, $wgOut; - if( $par ) { + if( $par !== null ) { $this->mTarget = $par; } else { $this->mTarget = $wgRequest->getVal( 'user' ); @@ -67,7 +83,7 @@ class UserrightsPage extends SpecialPage { $available = $this->changeableGroups(); - if ( !$this->mTarget ) { + if ( $this->mTarget === null ) { /* * If the user specified no target, and they can only * edit their own groups, automatically set them as the @@ -77,8 +93,9 @@ class UserrightsPage extends SpecialPage { $this->mTarget = $wgUser->getName(); } - if ( $this->mTarget == $wgUser->getName() ) + if ( User::getCanonicalName( $this->mTarget ) == $wgUser->getName() ) { $this->isself = true; + } if( !$this->userCanChangeRights( $wgUser, true ) ) { // fixme... there may be intermediate groups we can mention. @@ -99,8 +116,9 @@ class UserrightsPage extends SpecialPage { $this->setHeaders(); // show the general form - if ( count( $available['add'] ) || count( $available['remove'] ) ) + if ( count( $available['add'] ) || count( $available['remove'] ) ) { $this->switchForm(); + } if( $wgRequest->wasPosted() ) { // save settings @@ -121,7 +139,7 @@ class UserrightsPage extends SpecialPage { } // show some more forms - if( $this->mTarget ) { + if( $this->mTarget !== null ) { $this->editUserGroupsForm( $this->mTarget ); } } @@ -139,12 +157,14 @@ class UserrightsPage extends SpecialPage { * @return null */ function saveUserGroups( $username, $reason = '' ) { - global $wgRequest, $wgUser, $wgGroupsAddToSelf, $wgGroupsRemoveFromSelf; + global $wgRequest, $wgOut; - $user = $this->fetchUser( $username ); - if( $user instanceof WikiErrorMsg ) { - $wgOut->addWikiMsgArray( $user->getMessageKey(), $user->getMessageArgs() ); + $status = $this->fetchUser( $username ); + if( !$status->isOK() ) { + $wgOut->addWikiText( $status->getWikiText() ); return; + } else { + $user = $status->value; } $allgroups = $this->getAllGroups(); @@ -162,7 +182,7 @@ class UserrightsPage extends SpecialPage { $removegroup[] = $group; } } - + $this->doSaveUserGroups( $user, $addgroup, $removegroup, $reason ); } @@ -247,10 +267,12 @@ class UserrightsPage extends SpecialPage { function editUserGroupsForm( $username ) { global $wgOut; - $user = $this->fetchUser( $username ); - if( $user instanceof WikiErrorMsg ) { - $wgOut->addWikiMsgArray( $user->getMessageKey(), $user->getMessageArgs() ); + $status = $this->fetchUser( $username ); + if( !$status->isOK() ) { + $wgOut->addWikiText( $status->getWikiText() ); return; + } else { + $user = $status->value; } $groups = $user->getGroups(); @@ -267,7 +289,7 @@ class UserrightsPage extends SpecialPage { * return a user (or proxy) object for manipulating it. * * Side effects: error output for invalid access - * @return mixed User, UserRightsProxy, or WikiErrorMsg + * @return Status object */ public function fetchUser( $username ) { global $wgUser, $wgUserrightsInterwikiDelimiter; @@ -278,21 +300,21 @@ class UserrightsPage extends SpecialPage { $database = ''; } else { list( $name, $database ) = array_map( 'trim', $parts ); - + if( $database == wfWikiID() ) { $database = ''; } else { if( !$wgUser->isAllowed( 'userrights-interwiki' ) ) { - return new WikiErrorMsg( 'userrights-no-interwiki' ); + return Status::newFatal( 'userrights-no-interwiki' ); } if( !UserRightsProxy::validDatabase( $database ) ) { - return new WikiErrorMsg( 'userrights-nodatabase', $database ); + return Status::newFatal( 'userrights-nodatabase', $database ); } } } - if( $name == '' ) { - return new WikiErrorMsg( 'nouserspecified' ); + if( $name === '' ) { + return Status::newFatal( 'nouserspecified' ); } if( $name{0} == '#' ) { @@ -307,13 +329,13 @@ class UserrightsPage extends SpecialPage { } if( !$name ) { - return new WikiErrorMsg( 'noname' ); + return Status::newFatal( 'noname' ); } } else { $name = User::getCanonicalName( $name ); - if( !$name ) { + if( $name === false ) { // invalid name - return new WikiErrorMsg( 'nosuchusershort', $username ); + return Status::newFatal( 'nosuchusershort', $username ); } } @@ -324,10 +346,10 @@ class UserrightsPage extends SpecialPage { } if( !$user || $user->isAnon() ) { - return new WikiErrorMsg( 'nosuchusershort', $username ); + return Status::newFatal( 'nosuchusershort', $username ); } - return $user; + return Status::newGood( $user ); } function makeGroupNameList( $ids ) { @@ -352,14 +374,13 @@ class UserrightsPage extends SpecialPage { function switchForm() { global $wgOut, $wgScript; $wgOut->addHTML( - Xml::openElement( 'form', array( 'method' => 'get', 'action' => $wgScript, 'name' => 'uluser', 'id' => 'mw-userrights-form1' ) ) . - Xml::hidden( 'title', $this->getTitle()->getPrefixedText() ) . - Xml::openElement( 'fieldset' ) . - Xml::element( 'legend', array(), wfMsg( 'userrights-lookup-user' ) ) . - Xml::inputLabel( wfMsg( 'userrights-user-editname' ), 'user', 'username', 30, $this->mTarget ) . ' ' . + Html::openElement( 'form', array( 'method' => 'get', 'action' => $wgScript, 'name' => 'uluser', 'id' => 'mw-userrights-form1' ) ) . + Html::hidden( 'title', $this->getTitle()->getPrefixedText() ) . + Xml::fieldset( wfMsg( 'userrights-lookup-user' ) ) . + Xml::inputLabel( wfMsg( 'userrights-user-editname' ), 'user', 'username', 30, str_replace( '_', ' ', $this->mTarget ) ) . ' ' . Xml::submitButton( wfMsg( 'editusergroup' ) ) . - Xml::closeElement( 'fieldset' ) . - Xml::closeElement( 'form' ) . "\n" + Html::closeElement( 'fieldset' ) . + Html::closeElement( 'form' ) . "\n" ); } @@ -396,8 +417,9 @@ class UserrightsPage extends SpecialPage { global $wgOut, $wgUser, $wgLang; $list = array(); - foreach( $groups as $group ) + foreach( $groups as $group ) { $list[] = self::buildGroupLink( $group ); + } $autolist = array(); if ( $user instanceof User ) { @@ -417,8 +439,8 @@ class UserrightsPage extends SpecialPage { } $wgOut->addHTML( Xml::openElement( 'form', array( 'method' => 'post', 'action' => $this->getTitle()->getLocalURL(), 'name' => 'editGroup', 'id' => 'mw-userrights-form2' ) ) . - Xml::hidden( 'user', $this->mTarget ) . - Xml::hidden( 'wpEditToken', $wgUser->editToken( $this->mTarget ) ) . + Html::hidden( 'user', $this->mTarget ) . + Html::hidden( 'wpEditToken', $wgUser->editToken( $this->mTarget ) ) . Xml::openElement( 'fieldset' ) . Xml::element( 'legend', array(), wfMsg( 'userrights-editusergroup' ) ) . wfMsgExt( 'editinguser', array( 'parse' ), wfEscapeWikiText( $user->getName() ) ) . @@ -437,7 +459,8 @@ class UserrightsPage extends SpecialPage { " . - Xml::submitButton( wfMsg( 'saveusergroups' ), array( 'name' => 'saveusergroups', 'accesskey' => 's' ) ) . + Xml::submitButton( wfMsg( 'saveusergroups' ), + array( 'name' => 'saveusergroups' ) + $wgUser->getSkin()->tooltipAndAccessKeyAttribs( 'userrights-set' ) ) . " " . Xml::closeElement( 'table' ) . "\n" . @@ -511,7 +534,7 @@ class UserrightsPage extends SpecialPage { foreach( $columns as $name => $column ) { if( $column === array() ) continue; - $ret .= xml::element( 'th', null, wfMsg( 'userrights-' . $name . '-col' ) ); + $ret .= Xml::element( 'th', null, wfMsg( 'userrights-' . $name . '-col' ) ); } $ret.= "\n\n"; foreach( $columns as $column ) { @@ -522,7 +545,7 @@ class UserrightsPage extends SpecialPage { $attr = $checkbox['disabled'] ? array( 'disabled' => 'disabled' ) : array(); if ( $checkbox['irreversible'] ) { - $text = htmlspecialchars( wfMsg( 'userrights-irreversible-marker', + $text = htmlspecialchars( wfMsg( 'userrights-irreversible-marker', User::getGroupMember( $group ) ) ); } else { $text = htmlspecialchars( User::getGroupMember( $group ) ); -- cgit v1.2.2