Unsuppress more phan issues (part 5)
[lhc/web/wiklou.git] / includes / preferences / DefaultPreferencesFactory.php
index beed60b..8c44a5e 100644 (file)
@@ -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';
@@ -1295,7 +1299,7 @@ class DefaultPreferencesFactory implements PreferencesFactory {
                // Display the skin if the user has set it as a preference already before it was hidden.
                $currentUserSkin = $user->getOption( 'skin' );
                if ( isset( $allInstalledSkins[$currentUserSkin] )
-                       && $context->msg( "skinname-$useSkin" )->exists()
+                       && $context->msg( "skinname-$currentUserSkin" )->exists()
                ) {
                        $validSkinNames[$currentUserSkin] = $currentUserSkin;
                }
@@ -1723,6 +1727,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 [];
                }