function yamlform_update_8023 in YAML Form 8
Issue #2765057: Remove default elements.
File
- includes/
yamlform.update.inc, line 587 - YAML Form module update hooks.
Code
function yamlform_update_8023(&$sandbox) {
$settings_config = \Drupal::configFactory()
->getEditable('yamlform.settings');
$data = $settings_config
->getRawData();
// Move customized default elements to a template.
if (md5($data['elements']['default_elements']) != 'c5a931226e09a0d1f30a032d587bceb4') {
YamlForm::create([
'id' => 'template_default_elements',
'title' => 'Template: Default Elements',
'description' => 'Default elements previously used when a new form is created.<br/>For more information see: Issue <a href="https://www.drupal.org/node/2765057">#2765057</a>: Remove default elements.',
'template' => TRUE,
'elements' => $data['elements']['default_elements'],
])
->save();
$customized_default_elements = TRUE;
}
else {
$customized_default_elements = FALSE;
}
// Remove default elements.
unset($data['elements']['default_elements']);
$settings_config
->setData($data);
$settings_config
->save();
// Return message is custom default elements exist.
if ($customized_default_elements) {
return t("Moved existing default elements to a new form template called 'Template: Default Elements' (template_default_elements)");
}
else {
return NULL;
}
}