X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;ds=inline;f=includes%2Fpreferences%2FDefaultPreferencesFactory.php;h=8a82add61fe337c6d7489ae9d44f5bac3bc7f030;hb=a253c6d56cfa524f52379b8bf79bd4cd40143285;hp=001c975dbc903b535b814245b146b8fa3882ea7e;hpb=ea2389164677fcf5469615077f1e8f839cae28fe;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/preferences/DefaultPreferencesFactory.php b/includes/preferences/DefaultPreferencesFactory.php index 001c975dbc..8a82add61f 100644 --- a/includes/preferences/DefaultPreferencesFactory.php +++ b/includes/preferences/DefaultPreferencesFactory.php @@ -232,7 +232,10 @@ class DefaultPreferencesFactory implements PreferencesFactory { } elseif ( $field->validate( $globalDefault, $user->getOptions() ) === true ) { $info['default'] = $globalDefault; } else { - throw new MWException( "Global default '$globalDefault' is invalid for field $name" ); + $globalDefault = json_encode( $globalDefault ); + throw new MWException( + "Default '$globalDefault' is invalid for preference $name of user $user" + ); } } @@ -537,6 +540,7 @@ class DefaultPreferencesFactory implements PreferencesFactory { if ( $this->options->get( 'EnableEmail' ) ) { if ( $canViewPrivateInfo ) { + $helpMessages = []; $helpMessages[] = $this->options->get( 'EmailConfirmToEdit' ) ? 'prefs-help-email-required' : 'prefs-help-email'; @@ -1582,12 +1586,11 @@ class DefaultPreferencesFactory implements PreferencesFactory { * Handle the form submission if everything validated properly * * @param array $formData - * @param HTMLForm $form + * @param PreferencesFormOOUI $form * @param array[] $formDescriptor * @return bool|Status|string */ - protected function saveFormData( $formData, HTMLForm $form, array $formDescriptor ) { - /** @var \User $user */ + protected function saveFormData( $formData, PreferencesFormOOUI $form, array $formDescriptor ) { $user = $form->getModifiedUser(); $hiddenPrefs = $this->options->get( 'HiddenPrefs' ); $result = true; @@ -1685,11 +1688,15 @@ class DefaultPreferencesFactory implements PreferencesFactory { * Save the form data and reload the page * * @param array $formData - * @param HTMLForm $form + * @param PreferencesFormOOUI $form * @param array $formDescriptor * @return Status */ - protected function submitForm( array $formData, HTMLForm $form, array $formDescriptor ) { + protected function submitForm( + array $formData, + PreferencesFormOOUI $form, + array $formDescriptor + ) { $res = $this->saveFormData( $formData, $form, $formDescriptor ); if ( $res === true ) { @@ -1723,6 +1730,7 @@ class DefaultPreferencesFactory implements PreferencesFactory { */ protected function getTimeZoneList( Language $language ) { $identifiers = DateTimeZone::listIdentifiers(); + // @phan-suppress-next-line PhanTypeComparisonFromArray See phan issue #3162 if ( $identifiers === false ) { return []; }