setHeaders(); $this->outputHeader(); $wgOut->disallowUserJs(); # Prevent hijacked user scripts from sniffing passwords etc. if ( $wgUser->isAnon() ) { $wgOut->showErrorPage( 'prefsnologin', 'prefsnologintext', array( $this->getTitle()->getPrefixedDBkey() ) ); return; } if ( wfReadOnly() ) { $wgOut->readOnlyPage(); return; } if ( $par == 'reset' ) { $this->showResetForm(); return; } $wgOut->addModules( 'mediawiki.special.preferences' ); if ( $wgRequest->getCheck( 'success' ) ) { $wgOut->wrapWikiMsg( "
\n$1\n
", 'savedprefs' ); } if ( $wgRequest->getCheck( 'eauth' ) ) { $wgOut->wrapWikiMsg( "
\n$1\n
", 'eauthentsent', $wgUser->getName() ); } $htmlForm = Preferences::getFormObject( $wgUser ); $htmlForm->setSubmitCallback( array( 'Preferences', 'tryUISubmit' ) ); $htmlForm->show(); } function showResetForm() { global $wgOut; $wgOut->addWikiMsg( 'prefs-reset-intro' ); $htmlForm = new HTMLForm( array(), $this->getContext(), 'prefs-restore' ); $htmlForm->setSubmitText( wfMsg( 'restoreprefs' ) ); $htmlForm->setTitle( $this->getTitle( 'reset' ) ); $htmlForm->setSubmitCallback( array( __CLASS__, 'submitReset' ) ); $htmlForm->suppressReset(); $htmlForm->show(); } static function submitReset( $formData ) { global $wgUser, $wgOut; $wgUser->resetOptions(); $wgUser->saveSettings(); $url = SpecialPage::getTitleFor( 'Preferences' )->getFullURL( 'success' ); $wgOut->redirect( $url ); return true; } }