You are here

function _webform_client_form_submit_process in Webform 6.3

Same name and namespace in other branches
  1. 5.2 webform.module \_webform_client_form_submit_process()
  2. 5 webform.module \_webform_client_form_submit_process()
  3. 6.2 webform.module \_webform_client_form_submit_process()
  4. 7.4 webform.module \_webform_client_form_submit_process()
  5. 7.3 webform.module \_webform_client_form_submit_process()

Post processes the submission tree with any updates from components.

Parameters

$node: The full webform node.

$form_values: The form values for the form.

$types: Optional. Specific types to perform processing.

$parent: Internal use. The current parent CID whose children are being processed.

1 call to _webform_client_form_submit_process()
webform_client_form_pages in ./webform.module
Handle the processing of pages and conditional logic.

File

./webform.module, line 2470

Code

function _webform_client_form_submit_process($node, &$form_values, $types = NULL, $parent = 0) {
  if (is_array($form_values)) {
    foreach ($form_values as $form_key => $value) {
      $cid = webform_get_cid($node, $form_key, $parent);
      if (is_array($value) && isset($node->webform['components'][$cid]['type']) && webform_component_feature($node->webform['components'][$cid]['type'], 'group')) {
        _webform_client_form_submit_process($node, $form_values[$form_key], $types, $cid);
      }
      if (isset($node->webform['components'][$cid])) {

        // Call the component process submission function.
        $component = $node->webform['components'][$cid];
        if ((!isset($types) || in_array($component['type'], $types)) && webform_component_implements($component['type'], 'submit')) {
          $form_values[$component['form_key']] = webform_component_invoke($component['type'], 'submit', $component, $form_values[$component['form_key']]);
        }
      }
    }
  }
}