public function CampaignMonitorNodeSettingsForm::submitForm in Campaign Monitor 8
Form submission handler.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Overrides FormInterface::submitForm
File
- modules/
campaignmonitor_campaign/ src/ Form/ CampaignMonitorNodeSettingsForm.php, line 93
Class
- CampaignMonitorNodeSettingsForm
- Node Access settings form.
Namespace
Drupal\campaignmonitor_campaign\FormCode
public function submitForm(array &$form, FormStateInterface $form_state) {
$values = $form_state
->getValues();
$storage = $form_state
->getStorage();
$node_type = $storage['node_type'];
// Update content access settings.
$settings = campaignmonitor_campaign_get_node_settings('all', $node_type);
foreach (campaignmonitor_campaign_available_settings() as $setting) {
if (isset($values[$setting])) {
$settings[$setting] = is_array($values[$setting]) ? array_keys(array_filter($values[$setting])) : $values[$setting];
}
}
campaignmonitor_campaign_set_node_settings($settings, $node_type);
$caches = [
'cache.menu',
'cache.render',
];
$module_handler = \Drupal::moduleHandler();
// Flush entity and render persistent caches.
$module_handler
->invokeAll('cache_flush');
foreach (Cache::getBins() as $service_id => $cache_backend) {
if (in_array($cache_backend->_serviceId, $caches)) {
$cache_backend
->deleteAll();
}
}
drupal_set_message(t('Your changes have been saved.'));
}