X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fpreferences%2FDefaultPreferencesFactory.php;h=8a82add61fe337c6d7489ae9d44f5bac3bc7f030;hb=75e2607211b30103417d73a780498b9d27537b62;hp=001c975dbc903b535b814245b146b8fa3882ea7e;hpb=4549aabaec52cdb870fed9f8e735901199ac4832;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 []; }