function wf_crm_process_options_selection in Webform CiviCRM Integration 7.3
Same name and namespace in other branches
- 7.5 includes/wf_crm_admin_component.inc \wf_crm_process_options_selection()
- 7.4 includes/wf_crm_admin_component.inc \wf_crm_process_options_selection()
Drupal FAPI form submit callback Custom Processing for CiviCRM webform component option lists
1 string reference to 'wf_crm_process_options_selection'
- _wf_crm_component_form_alter in ./
webform_civicrm_admin.inc - Alter back-end webform component edit forms. Called by hook_form_alter() whenever editing a webform component.
File
- ./
webform_civicrm_admin.inc, line 1367
Code
function wf_crm_process_options_selection($form, &$form_state) {
$vals =& $form_state['values'];
$vals['value'] = '';
foreach ($vals['civicrm_options_fieldset']['civicrm_defaults'] as $k) {
if ($k) {
$vals['value'] .= ($vals['value'] ? ',' : '') . str_replace('_web_civi_option_selected_', '', $k);
}
}
if (isset($vals['civicrm_options_fieldset']['civicrm_options'])) {
if (empty($vals['extra']['civicrm_live_options'])) {
$items = array();
foreach ($vals['civicrm_options_fieldset']['civicrm_options'] as $k) {
if ($k) {
$v = str_replace('_web_civi_option_selected_', '', $k);
if (!($label = $vals['civicrm_options_fieldset']['civicrm_option_label_' . $v])) {
$label = $form['civicrm_options_fieldset']['civicrm_option_name_' . $v]['#value'];
}
$items[$vals['civicrm_options_fieldset']['civicrm_option_weight_' . $v]] = $v . '|' . $label;
}
}
ksort($items);
$vals['extra']['items'] = implode("\n", $items);
// A single radio should be shown as a checkbox
if (count($items) == 1 && empty($vals['extra']['aslist'])) {
$vals['extra']['multiple'] = 1;
}
}
else {
civicrm_initialize();
$node = node_load($vals['nid']);
$items = wf_crm_field_options($vals, 'live_options', $node->webform_civicrm['data']);
$items += wf_crm_str2array($vals['extra']['items']);
$vals['extra']['items'] = wf_crm_array2str($items);
}
}
}