private function AdminForm::getFieldsToDelete in Webform CiviCRM Integration 8.5
Search for fields that should be deleted
Parameters
array $fields:
Return value
array
1 call to AdminForm::getFieldsToDelete()
- AdminForm::postProcess in src/
AdminForm.php - Submission handler, saves CiviCRM options for a Webform node
File
- src/
AdminForm.php, line 2173 - Webform CiviCRM module's admin form.
Class
- AdminForm
- @file Webform CiviCRM module's admin form.
Namespace
Drupal\webform_civicrmCode
private function getFieldsToDelete($fields) {
$utils = \Drupal::service('webform_civicrm.utils');
// Find fields to delete
foreach ($fields as $key => $val) {
$val = (array) wf_crm_aval($this->settings, $key);
if (in_array('create_civicrm_webform_element', $val, TRUE) && $this->settings['nid'] || strpos($key, 'fieldset') !== FALSE) {
unset($fields[$key]);
}
elseif (substr($key, -11) === '_createmode') {
unset($fields[$key]);
}
else {
$field = $utils
->wf_crm_get_field($key);
if ($field['type'] == 'hidden' && (!empty($val[0]) || $field['name'] == 'Payment Processor Mode')) {
unset($fields[$key]);
}
}
}
return $fields;
}