protected static function CdnSettingsForm::mapFormValuesToConfig in CDN 8.3
Overrides ValidatableConfigFormBase::mapFormValuesToConfig
File
- cdn_ui/
src/ Form/ CdnSettingsForm.php, line 301
Class
- CdnSettingsForm
- Configure CDN settings for this site.
Namespace
Drupal\cdn_ui\FormCode
protected static function mapFormValuesToConfig(FormStateInterface $form_state, Config $config) {
// Vertical tab: 'Status'.
$config
->set('status', (bool) $form_state
->getValue('status'));
// Vertical tab: 'Stream wrappers'.
$stream_wrappers = array_values(array_filter($form_state
->getValue([
'wrappers',
'stream_wrappers',
])));
$config
->set('stream_wrappers', $stream_wrappers);
// Vertical tab: 'Mapping'.
if ($form_state
->getValue([
'mapping',
'type',
]) === 'simple') {
$simple_mapping = $form_state
->getValue([
'mapping',
'simple',
]);
$config
->set('mapping', []);
$config
->set('mapping.type', 'simple');
$config
->set('mapping.domain', $simple_mapping['domain']);
// Only the 'extensions' condition is supported in this UI, to KISS.
if ($simple_mapping['extensions_condition_toggle'] === 'limited') {
// Set the 'extensions' condition unconditionally.
$config
->set('mapping.conditions.extensions', explode(' ', trim($simple_mapping['extensions_condition_value'])));
}
elseif ($simple_mapping['extensions_condition_toggle'] === 'nocssjs') {
$config
->set('mapping.conditions', static::CONDITIONS_PRESET_NOCSSJS);
}
else {
// Remove the 'not' or 'extensions' conditions if set.
$conditions = $config
->getOriginal('mapping.type') === 'simple' ? $config
->getOriginal('mapping.conditions') : [];
if (isset($conditions['not'])) {
unset($conditions['not']);
}
if (isset($conditions['extensions'])) {
unset($conditions['extensions']);
}
$config
->set('mapping.conditions', $conditions);
}
$config
->set('scheme', $simple_mapping['scheme']);
}
// Vertical tab: 'Forever cacheable files'.
$config
->set('farfuture.status', (bool) $form_state
->getValue([
'farfuture',
'status',
]));
return $config;
}