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() );