$out->addModules( 'mediawiki.special.preferences' );
$out->addModuleStyles( 'mediawiki.special.preferences.styles' );
- if ( $this->getRequest()->getCheck( 'success' ) ) {
+ $request = $this->getRequest();
+ if ( $request->getSessionData( 'specialPreferencesSaveSuccess' ) ) {
+ // Remove session data for the success message
+ $request->setSessionData( 'specialPreferencesSaveSuccess', null );
+
$out->wrapWikiMsg(
Html::rawElement(
'div',
throw new PermissionsError( 'editmyoptions' );
}
- $user = $this->getUser();
+ $user = $this->getUser()->getInstanceForUpdate();
$user->resetOptions( 'all', $this->getContext() );
$user->saveSettings();
- $url = $this->getPageTitle()->getFullURL( 'success' );
+ // Set session data for the success message
+ $this->getRequest()->setSessionData( 'specialPreferencesSaveSuccess', 1 );
+ $url = $this->getPageTitle()->getFullURL();
$this->getOutput()->redirect( $url );
return true;