Merge "WANCacheReapUpdate: Handle special pages without exception"
[lhc/web/wiklou.git] / includes / Preferences.php
index 4017619..de6d681 100644 (file)
@@ -918,6 +918,9 @@ class Preferences {
                $defaultPreferences['rcfilters-saved-queries'] = [
                        'type' => 'api',
                ];
+               $defaultPreferences['rcfilters-rclimit'] = [
+                       'type' => 'api',
+               ];
 
                if ( $config->get( 'RCWatchCategoryMembership' ) ) {
                        $defaultPreferences['hidecategorization'] = [
@@ -1316,7 +1319,7 @@ class Preferences {
                $formClass = 'PreferencesForm',
                array $remove = []
        ) {
-               $formDescriptor = Preferences::getPreferences( $user, $context );
+               $formDescriptor = self::getPreferences( $user, $context );
                if ( count( $remove ) ) {
                        $removeKeys = array_flip( $remove );
                        $formDescriptor = array_diff_key( $formDescriptor, $removeKeys );
@@ -1485,6 +1488,8 @@ class Preferences {
                }
 
                if ( $user->isAllowed( 'editmyoptions' ) ) {
+                       $oldUserOptions = $user->getOptions();
+
                        foreach ( self::$saveBlacklist as $b ) {
                                unset( $formData[$b] );
                        }
@@ -1505,7 +1510,10 @@ class Preferences {
                                $user->setOption( $key, $value );
                        }
 
-                       Hooks::run( 'PreferencesFormPreSave', [ $formData, $form, $user, &$result ] );
+                       Hooks::run(
+                               'PreferencesFormPreSave',
+                               [ $formData, $form, $user, &$result, $oldUserOptions ]
+                       );
                }
 
                MediaWiki\Auth\AuthManager::callLegacyAuthPlugin( 'updateExternalDB', [ $user ] );