Merge "DateTimeInputWidget: Fix disabled `border-color`"
[lhc/web/wiklou.git] / includes / preferences / DefaultPreferencesFactory.php
index eb94ff1..eed4b0d 100644 (file)
@@ -185,9 +185,7 @@ class DefaultPreferencesFactory implements PreferencesFactory {
                                $info['disabled'] = 'disabled';
                        }
                        $field = HTMLForm::loadInputFromParameters( $name, $info, $dummyForm ); // For validation
-                       $globalDefault = isset( $defaultOptions[$name] )
-                               ? $defaultOptions[$name]
-                               : null;
+                       $globalDefault = $defaultOptions[$name] ?? null;
 
                        // If it validates, set it as the default
                        if ( isset( $info['default'] ) ) {
@@ -221,7 +219,7 @@ class DefaultPreferencesFactory implements PreferencesFactory {
                if ( ( isset( $info['type'] ) && $info['type'] == 'multiselect' ) ||
                                ( isset( $info['class'] ) && $info['class'] == \HTMLMultiSelectField::class ) ) {
                        $options = HTMLFormField::flattenOptions( $info['options'] );
-                       $prefix = isset( $info['prefix'] ) ? $info['prefix'] : $name;
+                       $prefix = $info['prefix'] ?? $name;
                        $val = [];
 
                        foreach ( $options as $value ) {
@@ -236,7 +234,7 @@ class DefaultPreferencesFactory implements PreferencesFactory {
                                ( isset( $info['class'] ) && $info['class'] == \HTMLCheckMatrix::class ) ) {
                        $columns = HTMLFormField::flattenOptions( $info['columns'] );
                        $rows = HTMLFormField::flattenOptions( $info['rows'] );
-                       $prefix = isset( $info['prefix'] ) ? $info['prefix'] : $name;
+                       $prefix = $info['prefix'] ?? $name;
                        $val = [];
 
                        foreach ( $columns as $column ) {
@@ -1275,6 +1273,15 @@ class DefaultPreferencesFactory implements PreferencesFactory {
                                'help-message' => 'prefs-help-watchlist-token2',
                        ];
                }
+
+               if ( $this->config->get( 'StructuredChangeFiltersShowWatchlistPreference' ) ) {
+                       $defaultPreferences['wlenhancedfilters-disable'] = [
+                               'type' => 'toggle',
+                               'section' => 'watchlist/opt-out',
+                               'label-message' => 'rcfilters-watchlist-preference-label',
+                               'help-message' => 'rcfilters-watchlist-preference-help',
+                       ];
+               }
        }
 
        /**
@@ -1411,8 +1418,8 @@ class DefaultPreferencesFactory implements PreferencesFactory {
                $pixels = $l10n->msg( 'unit-pixel' )->text();
 
                foreach ( $this->config->get( 'ImageLimits' ) as $index => $limits ) {
-                       // Note: A left-to-right marker (\u200e) is inserted, see T144386
-                       $display = "{$limits[0]}" . json_decode( '"\u200e"' ) . "×{$limits[1]}" . $pixels;
+                       // Note: A left-to-right marker (U+200E) is inserted, see T144386
+                       $display = "{$limits[0]}\u{200E}×{$limits[1]}$pixels";
                        $ret[$display] = $index;
                }
 
@@ -1723,9 +1730,8 @@ class DefaultPreferencesFactory implements PreferencesFactory {
        protected function submitForm( array $formData, HTMLForm $form ) {
                $res = $this->saveFormData( $formData, $form );
 
-               if ( $res ) {
+               if ( $res === true ) {
                        $context = $form->getContext();
-
                        $urlOptions = [];
 
                        if ( $res === 'eauth' ) {
@@ -1749,7 +1755,7 @@ class DefaultPreferencesFactory implements PreferencesFactory {
                        $context->getOutput()->redirect( $url );
                }
 
-               return Status::newGood();
+               return ( $res === true ? Status::newGood() : $res );
        }
 
        /**