diff --git a/core/includes/theme.inc b/core/includes/theme.inc index c01063f..75d7e42 100644 --- a/core/includes/theme.inc +++ b/core/includes/theme.inc @@ -470,32 +470,43 @@ function theme_render_and_autoescape($arg) { */ function theme_settings_convert_to_config(array $theme_settings, Config $config) { foreach ($theme_settings as $key => $value) { - if ($key == 'default_logo') { - $config->set('logo.use_default', $value); - } - elseif ($key == 'logo_path') { - $config->set('logo.path', $value); - } - elseif ($key == 'alt') { - $config->set('logo.alt', $value); - } - elseif ($key == 'title') { - $config->set('logo.title', $value); - } - elseif ($key == 'default_favicon') { - $config->set('favicon.use_default', $value); - } - elseif ($key == 'favicon_path') { - $config->set('favicon.path', $value); - } - elseif ($key == 'favicon_mimetype') { - $config->set('favicon.mimetype', $value); - } - elseif (substr($key, 0, 7) == 'toggle_') { - $config->set('features.' . Unicode::substr($key, 7), $value); - } - elseif (!in_array($key, array('theme', 'logo_upload'))) { - $config->set($key, $value); + switch ($key) { + case 'default_logo': + $config->set('logo.use_default', $value); + break; + + case 'logo_path': + $config->set('logo.path', $value); + break; + + case 'alt': + $config->set('logo.alt', $value); + break; + + case 'title': + $config->set('logo.title', $value); + break; + + case 'default_favicon': + $config->set('favicon.use_default', $value); + break; + + case 'favicon_path': + $config->set('favicon.path', $value); + break; + + case 'favicon_mimetype': + $config->set('favicon.mimetype', $value); + break; + + default: + if (substr($key, 0, 7) == 'toggle_') { + $config->set('features.' . Unicode::substr($key, 7), $value); + } + elseif (!in_array($key, array('theme', 'logo_upload'))) { + $config->set($key, $value); + } + break; } } return $config;