X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FPreferences.php;h=cab1e1f3e108f8fa67432dbb83cdf9117697df17;hb=766a9f47c469ee60a10d9899851c67837c9c1510;hp=e383f03f6bba1b555003802e31301ce6f7162940;hpb=9732ccc739b08d057ecd451b7e83674ca6630e20;p=lhc%2Fweb%2Fwiklou.git
diff --git a/includes/Preferences.php b/includes/Preferences.php
index e383f03f6b..cab1e1f3e1 100644
--- a/includes/Preferences.php
+++ b/includes/Preferences.php
@@ -75,11 +75,6 @@ class Preferences {
* @return array|null
*/
static function getPreferences( $user, IContextSource $context ) {
- OutputPage::setupOOUI(
- strtolower( $context->getSkin()->getSkinName() ),
- $context->getLanguage()->getDir()
- );
-
$defaultPreferences = [];
self::profilePreferences( $user, $context, $defaultPreferences );
@@ -317,17 +312,14 @@ class Preferences {
if ( $canEditPrivateInfo && $authManager->allowsAuthenticationDataChange(
new PasswordAuthenticationRequest(), false )->isGood()
) {
- $link = new OOUI\ButtonWidget( [
- 'href' => SpecialPage::getTitleFor( 'ChangePassword' )->getLinkURL( [
- 'returnto' => SpecialPage::getTitleFor( 'Preferences' )->getPrefixedText()
- ] ),
- 'label' => $context->msg( 'prefs-resetpass' )->text(),
- ] );
+ $link = $linkRenderer->makeLink( SpecialPage::getTitleFor( 'ChangePassword' ),
+ $context->msg( 'prefs-resetpass' )->text(), [],
+ [ 'returnto' => SpecialPage::getTitleFor( 'Preferences' )->getPrefixedText() ] );
$defaultPreferences['password'] = [
'type' => 'info',
'raw' => true,
- 'default' => (string)$link,
+ 'default' => $link,
'label-message' => 'yourpassword',
'section' => 'personal/info',
];
@@ -471,15 +463,16 @@ class Preferences {
$emailAddress = $user->getEmail() ? htmlspecialchars( $user->getEmail() ) : '';
if ( $canEditPrivateInfo && $authManager->allowsPropertyChange( 'emailaddress' ) ) {
- $link = new OOUI\ButtonWidget( [
- 'href' => SpecialPage::getTitleFor( 'ChangeEmail' )->getLinkURL( [
- 'returnto' => SpecialPage::getTitleFor( 'Preferences' )->getPrefixedText()
- ] ),
- 'label' =>
- $context->msg( $user->getEmail() ? 'prefs-changeemail' : 'prefs-setemail' )->text(),
- ] );
-
- $emailAddress .= $emailAddress == '' ? $link : ( '
' . $link );
+ $link = $linkRenderer->makeLink(
+ SpecialPage::getTitleFor( 'ChangeEmail' ),
+ $context->msg( $user->getEmail() ? 'prefs-changeemail' : 'prefs-setemail' )->text(),
+ [],
+ [ 'returnto' => SpecialPage::getTitleFor( 'Preferences' )->getPrefixedText() ] );
+
+ $emailAddress .= $emailAddress == '' ? $link : (
+ $context->msg( 'word-separator' )->escaped()
+ . $context->msg( 'parentheses' )->rawParams( $link )->escaped()
+ );
}
$defaultPreferences['emailaddress'] = [
@@ -514,10 +507,10 @@ class Preferences {
} else {
$disableEmailPrefs = true;
$emailauthenticated = $context->msg( 'emailnotauthenticated' )->parse() . '
' .
- new OOUI\ButtonWidget( [
- 'href' => SpecialPage::getTitleFor( 'Confirmemail' )->getLinkURL(),
- 'label' => $context->msg( 'emailconfirmlink' )->text(),
- ] );
+ $linkRenderer->makeKnownLink(
+ SpecialPage::getTitleFor( 'Confirmemail' ),
+ $context->msg( 'emailconfirmlink' )->text()
+ ) . '
';
$emailauthenticationclass = "mw-email-not-authenticated";
}
} else {
@@ -754,7 +747,6 @@ class Preferences {
'default' => $tzSetting,
'size' => 20,
'section' => 'rendering/timeoffset',
- 'id' => 'wpTimeCorrection',
];
}
@@ -934,16 +926,16 @@ class Preferences {
$defaultPreferences['rcfilters-wl-saved-queries'] = [
'type' => 'api',
];
- $defaultPreferences['rcfilters-saved-queries-versionbackup'] = [
+ // Override RCFilters preferences for RecentChanges 'limit'
+ $defaultPreferences['rcfilters-limit'] = [
'type' => 'api',
];
- $defaultPreferences['rcfilters-wl-saved-queries-versionbackup'] = [
+ $defaultPreferences['rcfilters-saved-queries-versionbackup'] = [
'type' => 'api',
];
- $defaultPreferences['rcfilters-rclimit'] = [
+ $defaultPreferences['rcfilters-wl-saved-queries-versionbackup'] = [
'type' => 'api',
];
-
if ( $config->get( 'RCWatchCategoryMembership' ) ) {
$defaultPreferences['hidecategorization'] = [
'type' => 'toggle',
@@ -997,7 +989,7 @@ class Preferences {
# # Watchlist #####################################
if ( $user->isAllowed( 'editmywatchlist' ) ) {
- $editWatchlistLinks = '';
+ $editWatchlistLinks = [];
$editWatchlistModes = [
'edit' => [ 'EditWatchlist', false ],
'raw' => [ 'EditWatchlist', 'raw' ],
@@ -1006,19 +998,16 @@ class Preferences {
$linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
foreach ( $editWatchlistModes as $editWatchlistMode => $mode ) {
// Messages: prefs-editwatchlist-edit, prefs-editwatchlist-raw, prefs-editwatchlist-clear
- $editWatchlistLinks .=
- new OOUI\ButtonWidget( [
- 'href' => SpecialPage::getTitleFor( $mode[0], $mode[1] )->getLinkURL(),
- 'label' => new OOUI\HtmlSnippet(
- $context->msg( "prefs-editwatchlist-{$editWatchlistMode}" )->parse()
- ),
- ] );
+ $editWatchlistLinks[] = $linkRenderer->makeKnownLink(
+ SpecialPage::getTitleFor( $mode[0], $mode[1] ),
+ new HtmlArmor( $context->msg( "prefs-editwatchlist-{$editWatchlistMode}" )->parse() )
+ );
}
$defaultPreferences['editwatchlist'] = [
'type' => 'info',
'raw' => true,
- 'default' => $editWatchlistLinks,
+ 'default' => $context->getLanguage()->pipeList( $editWatchlistLinks ),
'label-message' => 'prefs-editwatchlist-label',
'section' => 'watchlist/editwatchlist',
];
@@ -1141,12 +1130,6 @@ class Preferences {
'default' => $user->getTokenFromOption( 'watchlisttoken' ),
'help-message' => 'prefs-help-watchlist-token2',
];
- $defaultPreferences['watchlisttoken-info2'] = [
- 'type' => 'info',
- 'section' => 'watchlist/tokenwatchlist',
- 'raw' => true,
- 'default' => $context->msg( 'prefs-help-watchlist-token2' )->parse(),
- ];
}
}
@@ -1367,9 +1350,6 @@ class Preferences {
$formClass = 'PreferencesForm',
array $remove = []
) {
- // We use ButtonWidgets in some of the getPreferences() functions
- $context->getOutput()->enableOOUI();
-
$formDescriptor = self::getPreferences( $user, $context );
if ( count( $remove ) ) {
$removeKeys = array_flip( $remove );
@@ -1554,6 +1534,14 @@ class Preferences {
$formData[$pref] = $user->getOption( $pref, null, true );
}
+ // If the user changed the rclimit preference, also change the rcfilters-rclimit preference
+ if (
+ isset( $formData['rclimit'] ) &&
+ intval( $formData[ 'rclimit' ] ) !== $user->getIntOption( 'rclimit' )
+ ) {
+ $formData['rcfilters-limit'] = $formData['rclimit'];
+ }
+
// Keep old preferences from interfering due to back-compat code, etc.
$user->resetOptions( 'unused', $form->getContext() );