function webform_entity_print_webform_admin_third_party_settings_form_alter in Webform 6.x
Same name and namespace in other branches
- 8.5 modules/webform_entity_print/webform_entity_print.webform.inc \webform_entity_print_webform_admin_third_party_settings_form_alter()
Implements hook_webform_admin_third_party_settings_form_alter().
File
- modules/
webform_entity_print/ webform_entity_print.webform.inc, line 132 - Integrates third party settings for the Webform Entity Print module.
Code
function webform_entity_print_webform_admin_third_party_settings_form_alter(&$form, FormStateInterface $form_state) {
/** @var \Drupal\webform\WebformThirdPartySettingsManagerInterface $third_party_settings_manager */
$third_party_settings_manager = \Drupal::service('webform.third_party_settings_manager');
$template_settings = $third_party_settings_manager
->getThirdPartySetting('webform_entity_print', 'template') ?: [];
$export_type_settings = $third_party_settings_manager
->getThirdPartySetting('webform_entity_print', 'export_types') ?: [];
// Set export type default values.
$export_types = _webform_entity_print_get_export_types();
foreach ($export_types as $export_type => $definition) {
$t_args = [
'@label' => $definition['label'],
];
$export_type_settings += [
$export_type => [],
];
$export_type_settings[$export_type] += [
'enabled' => FALSE,
'link_text' => t('Download @label', $t_args),
'link_attributes' => [
'class' => [
'button',
],
],
];
}
_webform_entity_print_form($form['third_party_settings'], $template_settings, $export_type_settings);
// Add debug settings.
$form['third_party_settings']['webform_entity_print']['debug'] = [
'#type' => 'checkbox',
'#title' => t('Debug generated documents'),
'#description' => t('If checked, administrators will see debug links below each export type.'),
'#return_value' => TRUE,
'#default_value' => $third_party_settings_manager
->getThirdPartySetting('webform_entity_print', 'debug') ?: FALSE,
];
$form['#validate'][] = '_webform_entity_print_form_submit';
}