http://www.mediawiki.org/wiki/Special:Code/MediaWiki/81385
Revision: 81385 Author: liangent Date: 2011-02-02 12:52:04 +0000 (Wed, 02 Feb 2011) Log Message: ----------- Make this extension work Modified Paths: -------------- trunk/extensions/EditUser/EditUser_body.php Modified: trunk/extensions/EditUser/EditUser_body.php =================================================================== --- trunk/extensions/EditUser/EditUser_body.php 2011-02-02 11:38:50 UTC (rev 81384) +++ trunk/extensions/EditUser/EditUser_body.php 2011-02-02 12:52:04 UTC (rev 81385) @@ -1,15 +1,6 @@ <?php -/* Shamelessly copied and modified from /includes/specials/SpecialPreferences.php v1.15 */ +/* Shamelessly copied and modified from /includes/specials/SpecialPreferences.php v1.16.1 */ class EditUser extends SpecialPage { - var $mQuickbar, $mStubs; - var $mRows, $mCols, $mSkin, $mMath, $mDate, $mUserEmail, $mEmailFlag, $mNick; - var $mUserLanguage, $mUserVariant; - var $mSearch, $mRecent, $mRecentDays, $mTimeZone, $mHourDiff, $mSearchLines, $mSearchChars, $mAction; - var $mReset, $mPosted, $mToggles, $mSearchNs, $mRealName, $mImageSize; - var $mUnderline, $mWatchlistEdits; - # password changing was removed from prefs in 1.14, so we just add it back in now :) - var $mNewpass, $mRetypePass; - function __construct() { parent::__construct('EditUser', 'edituser'); } @@ -34,6 +25,7 @@ $wgOut->addWikiMsg( 'edituser-nouser', htmlspecialchars( $this->target ) ); return; } + $this->targetuser = $targetuser; #Allow editing self via this interface if( $targetuser->isAllowed( 'edituser-exempt' ) && $targetuser->getName() != $wgUser->getName() ) { $wgOut->addWikiMsg( 'edituser-exempt', $targetuser->getName() ); @@ -72,7 +64,7 @@ 'eauthentsent', $this->target ); } - $htmlForm = Preferences::getFormObject( $targetuser, 'EditUserPreferencesForm' ); + $htmlForm = self::getFormObject( $targetuser ); $htmlForm->setSubmitCallback( array( $this, 'tryUISubmit' ) ); $htmlForm->setTitle( $this->getTitle() ); $htmlForm->addHiddenField( 'username', $this->target ); @@ -99,9 +91,9 @@ } function submitReset( $formData ) { - global $wgUser, $wgOut; - $wgUser->resetOptions(); - $wgUser->saveSettings(); + global $wgOut; + $this->targetuser->resetOptions(); + $this->targetuser->saveSettings(); $url = $this->getTitle()->getFullURL( array( 'success' => 1, 'username'=>$this->target ) ); @@ -120,7 +112,7 @@ $realUser = $wgUser; $wgUser = $targetuser; - $res = Preferences::tryFormSubmit( $formData, 'uiEditUser' ); + $res = Preferences::tryFormSubmit( $formData, 'ui' ); $wgUser = $realUser; if ( $res ) { @@ -148,12 +140,25 @@ $fields['edituser-username'] = Html::input( 'username', $this->target ); $thisTitle = Title::makeTitle( NS_SPECIAL, $this->getName() ); - $form = Html::openElement( 'form', array( 'method' => 'post', 'action' => $thisTitle->getLocalUrl() ) ) . + $form = Html::rawElement( 'form', array( 'method' => 'post', 'action' => $thisTitle->getLocalUrl() ), Xml::buildForm( $fields, 'edituser-dosearch' ) . - Html::hidden( 'issearch', '1' ) . - Html::closeElement( 'form' ); + Html::hidden( 'issearch', '1' ) + ); return $form; } + + static function getFormObject( $user ) { + $formDescriptor = Preferences::getPreferences( $user ); + if ( isset( $formDescriptor['password'] ) ) { + unset( $formDescriptor['password'] ); + } + $htmlForm = new EditUserPreferencesForm( $formDescriptor, 'prefs' ); + + $htmlForm->setSubmitText( wfMsg( 'saveprefs' ) ); + $htmlForm->setSubmitID( 'prefsubmit' ); + + return $htmlForm; + } } class EditUserPreferencesForm extends PreferencesForm { _______________________________________________ MediaWiki-CVS mailing list MediaWiki-CVS@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs