function theme_settings_convert_to_config in Drupal 10
Same name and namespace in other branches
- 8 core/includes/theme.inc \theme_settings_convert_to_config()
 - 9 core/includes/theme.inc \theme_settings_convert_to_config()
 
Converts theme settings to configuration.
Parameters
array $theme_settings: An array of theme settings from system setting form or a Drupal 7 variable.
\Drupal\Core\Config\Config $config: The configuration object to update.
Return value
The Config object with updated data.
See also
system_theme_settings_submit()
3 calls to theme_settings_convert_to_config()
- ThemeSettings::import in core/
modules/ system/ src/ Plugin/ migrate/ destination/ d7/ ThemeSettings.php  - Import the row.
 - ThemeSettingsForm::submitForm in core/
modules/ system/ src/ Form/ ThemeSettingsForm.php  - Form submission handler.
 - ThemeSettingsTest::testLogoConfig in core/
tests/ Drupal/ KernelTests/ Core/ Theme/ ThemeSettingsTest.php  - Tests that the default logo config can be overridden.
 
File
- core/
includes/ theme.inc, line 420  - The theme system, which controls the output of Drupal.
 
Code
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 == '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.' . mb_substr($key, 7), $value);
    }
    elseif (!in_array($key, [
      'theme',
      'logo_upload',
    ])) {
      $config
        ->set($key, $value);
    }
  }
  return $config;
}