Merge "Revert "Hide HHVM tag on Special:{Contributions,RecentChanges,...}""
[lhc/web/wiklou.git] / includes / Preferences.php
index aca6dcb..40c3a2b 100644 (file)
@@ -243,10 +243,9 @@ class Preferences {
                        'type' => 'info',
                        'label' => $context->msg( 'prefs-memberingroups' )->numParams(
                                count( $userGroups ) )->params( $userName )->parse(),
-                       'default' => $context->msg( 'prefs-memberingroups-type',
-                               $lang->commaList( $userGroups ),
-                               $lang->commaList( $userMembers )
-                       )->plain(),
+                       'default' => $context->msg( 'prefs-memberingroups-type' )
+                               ->rawParams( $lang->commaList( $userGroups ), $lang->commaList( $userMembers ) )
+                               ->escaped(),
                        'raw' => true,
                        'section' => 'personal/info',
                );
@@ -338,11 +337,11 @@ class Preferences {
                        'type' => 'radio',
                        'section' => 'personal/i18n',
                        'options' => array(
-                               $context->msg( 'parentheses',
-                                       $context->msg( 'gender-unknown' )->text()
-                               )->text() => 'unknown',
-                               $context->msg( 'gender-female' )->text() => 'female',
-                               $context->msg( 'gender-male' )->text() => 'male',
+                               $context->msg( 'parentheses' )
+                                       ->params( $context->msg( 'gender-unknown' )->plain() )
+                                       ->escaped() => 'unknown',
+                               $context->msg( 'gender-female' )->escaped() => 'female',
+                               $context->msg( 'gender-male' )->escaped() => 'male',
                        ),
                        'label-message' => 'yourgender',
                        'help-message' => 'prefs-help-gender',
@@ -450,8 +449,8 @@ class Preferences {
                                                array( 'returnto' => SpecialPage::getTitleFor( 'Preferences' )->getPrefixedText() ) );
 
                                        $emailAddress .= $emailAddress == '' ? $link : (
-                                               $context->msg( 'word-separator' )->plain()
-                                               . $context->msg( 'parentheses' )->rawParams( $link )->plain()
+                                               $context->msg( 'word-separator' )->escaped()
+                                               . $context->msg( 'parentheses' )->rawParams( $link )->escaped()
                                        );
                                }
 
@@ -869,7 +868,7 @@ class Preferences {
                        'min' => 1,
                        'max' => ceil( $rcMaxAge / ( 3600 * 24 ) ),
                        'help' => $context->msg( 'recentchangesdays-max' )->numParams(
-                               ceil( $rcMaxAge / ( 3600 * 24 ) ) )->text()
+                               ceil( $rcMaxAge / ( 3600 * 24 ) ) )->escaped()
                );
                $defaultPreferences['rclimit'] = array(
                        'type' => 'int',
@@ -894,6 +893,9 @@ class Preferences {
                                'section' => 'rc/advancedrc',
                                'label-message' => 'tog-hidepatrolled',
                        );
+               }
+
+               if ( $user->useNPPatrol() ) {
                        $defaultPreferences['newpageshidepatrolled'] = array(
                                'type' => 'toggle',
                                'section' => 'rc/advancedrc',
@@ -920,13 +922,37 @@ class Preferences {
                $watchlistdaysMax = ceil( $config->get( 'RCMaxAge' ) / ( 3600 * 24 ) );
 
                ## Watchlist #####################################
+               if ( $user->isAllowed( 'editmywatchlist' ) ) {
+                       $editWatchlistLinks = array();
+                       $editWatchlistModes = array(
+                               'edit' => array( 'EditWatchlist', false ),
+                               'raw' => array( 'EditWatchlist', 'raw' ),
+                               'clear' => array( 'EditWatchlist', 'clear' ),
+                       );
+                       foreach ( $editWatchlistModes as $editWatchlistMode => $mode ) {
+                               // Messages: prefs-editwatchlist-edit, prefs-editwatchlist-raw, prefs-editwatchlist-clear
+                               $editWatchlistLinks[] = Linker::linkKnown(
+                                       SpecialPage::getTitleFor( $mode[0], $mode[1] ),
+                                       $context->msg( "prefs-editwatchlist-{$editWatchlistMode}" )->parse()
+                               );
+                       }
+
+                       $defaultPreferences['editwatchlist'] = array(
+                               'type' => 'info',
+                               'raw' => true,
+                               'default' => $context->getLanguage()->pipeList( $editWatchlistLinks ),
+                               'label-message' => 'prefs-editwatchlist-label',
+                               'section' => 'watchlist/editwatchlist',
+                       );
+               }
+
                $defaultPreferences['watchlistdays'] = array(
                        'type' => 'float',
                        'min' => 0,
                        'max' => $watchlistdaysMax,
                        'section' => 'watchlist/displaywatchlist',
                        'help' => $context->msg( 'prefs-watchlist-days-max' )->numParams(
-                               $watchlistdaysMax )->text(),
+                               $watchlistdaysMax )->escaped(),
                        'label-message' => 'prefs-watchlist-days',
                );
                $defaultPreferences['wllimit'] = array(
@@ -968,7 +994,7 @@ class Preferences {
                        'label-message' => 'tog-watchlisthideliu',
                );
 
-               if ( $context->getConfig()->get( 'UseRCPatrol' ) ) {
+               if ( $user->useRCPatrol() ) {
                        $defaultPreferences['watchlisthidepatrolled'] = array(
                                'type' => 'toggle',
                                'section' => 'watchlist/advancedwatchlist',
@@ -1046,7 +1072,7 @@ class Preferences {
                $ret = array();
 
                $mptitle = Title::newMainPage();
-               $previewtext = $context->msg( 'skin-preview' )->text();
+               $previewtext = $context->msg( 'skin-preview' )->escaped();
 
                # Only show skins that aren't disabled in $wgSkipSkins
                $validSkinNames = Skin::getAllowedSkins();
@@ -1091,10 +1117,9 @@ class Preferences {
                                $linkTools[] = Linker::link( $jsPage, $context->msg( 'prefs-custom-js' )->escaped() );
                        }
 
-                       $display = $sn . ' ' . $context->msg(
-                               'parentheses',
-                               $context->getLanguage()->pipeList( $linkTools )
-                       )->text();
+                       $display = $sn . ' ' . $context->msg( 'parentheses' )
+                               ->rawParams( $context->getLanguage()->pipeList( $linkTools ) )
+                               ->escaped();
                        $ret[$display] = $skinkey;
                }