Mark options as requiring parameters in addSite.php
[lhc/web/wiklou.git] / includes / preferences / DefaultPreferencesFactory.php
index c1e9a59..6eceb84 100644 (file)
@@ -45,6 +45,8 @@ use MWTimestamp;
 use Parser;
 use ParserOptions;
 use PreferencesForm;
+use Psr\Log\LoggerAwareTrait;
+use Psr\Log\NullLogger;
 use Skin;
 use SpecialPage;
 use Status;
@@ -57,6 +59,7 @@ use Xml;
  * This is the default implementation of PreferencesFactory.
  */
 class DefaultPreferencesFactory implements PreferencesFactory {
+       use LoggerAwareTrait;
 
        /** @var Config */
        protected $config;
@@ -86,6 +89,7 @@ class DefaultPreferencesFactory implements PreferencesFactory {
                $this->contLang = $contLang;
                $this->authManager = $authManager;
                $this->linkRenderer = $linkRenderer;
+               $this->logger = new NullLogger();
        }
 
        /**
@@ -137,6 +141,7 @@ class DefaultPreferencesFactory implements PreferencesFactory {
                Hooks::run( 'GetPreferences', [ $user, &$preferences ] );
 
                $this->loadPreferenceValues( $user, $context, $preferences );
+               $this->logger->debug( "Created form descriptor for user '{$user->getName()}'" );
                return $preferences;
        }
 
@@ -705,7 +710,7 @@ class DefaultPreferencesFactory implements PreferencesFactory {
                                'type' => 'info',
                                'raw' => true,
                                'default' => $context->getLanguage()->pipeList( $linkTools ),
-                               'label-message' => 'prefs-common-css-js',
+                               'label-message' => 'prefs-common-config',
                                'section' => 'rendering/skin',
                        ];
                }
@@ -1117,11 +1122,18 @@ class DefaultPreferencesFactory implements PreferencesFactory {
                        'section' => 'watchlist/advancedwatchlist',
                        'label-message' => 'tog-watchlisthideliu',
                ];
-               $defaultPreferences['watchlistreloadautomatically'] = [
-                       'type' => 'toggle',
-                       'section' => 'watchlist/advancedwatchlist',
-                       'label-message' => 'tog-watchlistreloadautomatically',
-               ];
+
+               if ( !\SpecialWatchlist::checkStructuredFilterUiEnabled(
+                       $this->config,
+                       $user
+               ) ) {
+                       $defaultPreferences['watchlistreloadautomatically'] = [
+                               'type' => 'toggle',
+                               'section' => 'watchlist/advancedwatchlist',
+                               'label-message' => 'tog-watchlistreloadautomatically',
+                       ];
+               }
+
                $defaultPreferences['watchlistunwatchlinks'] = [
                        'type' => 'toggle',
                        'section' => 'watchlist/advancedwatchlist',