$this->skinPreferences( $user, $context, $preferences );
$this->datetimePreferences( $user, $context, $preferences );
$this->filesPreferences( $context, $preferences );
- $this->renderingPreferences( $context, $preferences );
+ $this->renderingPreferences( $user, $context, $preferences );
$this->editingPreferences( $user, $context, $preferences );
$this->rcPreferences( $user, $context, $preferences );
$this->watchlistPreferences( $user, $context, $preferences );
}
/**
+ * @param User $user
* @param MessageLocalizer $l10n
* @param array &$defaultPreferences
*/
protected function renderingPreferences(
+ User $user,
MessageLocalizer $l10n,
&$defaultPreferences
) {
'section' => 'rendering/advancedrendering',
'label-message' => 'tog-numberheadings',
];
+
+ if ( $user->isAllowed( 'rollback' ) ) {
+ $defaultPreferences['showrollbackconfirmation'] = [
+ 'type' => 'toggle',
+ 'section' => 'rendering/advancedrendering',
+ 'label-message' => 'tog-showrollbackconfirmation',
+ ];
+
+ /**
+ * FIXME
+ * Remove temporary help text and references to DisableRollbackConfirmationFeature
+ * after release of rollback feature. See T199534
+ */
+ if ( MediaWikiServices::getInstance()
+ ->getMainConfig()->get( 'DisableRollbackConfirmationFeature' ) ) {
+ $defaultPreferences['showrollbackconfirmation']
+ ['help-message'] = 'tog-showrollbackconfirmation-prerelease-warning';
+ }
+ }
}
/**