$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 );
];
}
- // Language
$languages = Language::fetchLanguageNames( null, 'mwfile' );
$languageCode = $this->config->get( 'LanguageCode' );
if ( !array_key_exists( $languageCode, $languages ) ) {
}
/**
+ * @param User $user
* @param MessageLocalizer $l10n
* @param array &$defaultPreferences
*/
- protected function renderingPreferences( MessageLocalizer $l10n, &$defaultPreferences ) {
+ protected function renderingPreferences(
+ User $user,
+ MessageLocalizer $l10n,
+ &$defaultPreferences
+ ) {
# # Diffs ####################################
$defaultPreferences['diffonly'] = [
'type' => 'toggle',
'options' => $stubThresholdOptions,
// This is not a raw HTML message; label-raw is needed for the manual <a></a>
'label-raw' => $l10n->msg( 'stub-threshold' )->rawParams(
- '<a href="#" class="stub">' .
+ '<a class="stub">' .
$l10n->msg( 'stub-threshold-sample-link' )->parse() .
'</a>' )->parse(),
];
'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';
+ }
+ }
}
/**
);
}
- AuthManager::callLegacyAuthPlugin( 'updateExternalDB', [ $user ] );
$user->saveSettings();
return $result;