X-Git-Url: http://git.cyclocoop.org/%22%20.%20generer_url_ecrire%28%22articles_versions%22%2C%22id_article=%24id_article%22%29%20.%20%22?a=blobdiff_plain;f=includes%2FPreferences.php;h=987839646dccb24a759bc6fe5cf53e151d1985cc;hb=843b5d9eda840ea0f63d2c03d3ee95fbac33d75b;hp=9a108672b047a53e9cc6b5c8e132320075c5c3a0;hpb=6063a19148ea47699c96b1e0dda1241d7c333e91;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/Preferences.php b/includes/Preferences.php index 9a108672b0..987839646d 100644 --- a/includes/Preferences.php +++ b/includes/Preferences.php @@ -1240,6 +1240,13 @@ class Preferences { $formDescriptor = array_diff_key( $formDescriptor, $removeKeys ); } + // Remove type=api preferences. They are not intended for rendering in the form. + foreach ( $formDescriptor as $name => $info ) { + if ( isset( $info['type'] ) && $info['type'] === 'api' ) { + unset( $formDescriptor[$name] ); + } + } + /** * @var $htmlForm PreferencesForm */ @@ -1326,7 +1333,7 @@ class Preferences { * @param $alldata * @return int */ - static function filterIntval( $value, $alldata ){ + static function filterIntval( $value, $alldata ) { return intval( $value ); } @@ -1406,9 +1413,8 @@ class Preferences { $formData[$pref] = $user->getOption( $pref, null, true ); } - // Keeps old preferences from interfering due to back-compat - // code, etc. - $user->resetOptions(); + // Keep old preferences from interfering due to back-compat code, etc. + $user->resetOptions( 'unused', $form->getContext() ); foreach ( $formData as $key => $value ) { $user->setOption( $key, $value );