You are here

function webform_service_submission_update in Webform Service 6.3

Same name and namespace in other branches
  1. 7.4 resources/submission_resource.inc \webform_service_submission_update()

Updates a webform submission based on submitted values.

Note that this function uses drupal_execute() to create new nodes, which may require very specific formatting. The full implications of this are beyond the scope of this comment block. The Googles are your friend.

Parameters

$uuid: UUID of the webform we're editing.

$sid: Submission ID of the submission we are editing.

$submission: Array representing the submission.

Return value

The submission object.

See also

drupal_execute()

1 string reference to 'webform_service_submission_update'
_submission_resource_definition in resources/submission_resource.inc
The submission resource definition.

File

resources/submission_resource.inc, line 140

Code

function webform_service_submission_update($uuid, $submission) {

  // Get the webform node.
  $webform = webform_submission_uuid_webform($uuid);
  $current_submission = webform_submission_uuid_get_submission($uuid);

  // If the webform exists.
  if ($webform && $current_submission) {
    foreach ($current_submission as $key => $value) {
      if ($key == 'data') {
        foreach ($value as $cid => $data) {
          if (!isset($submission['data'][$cid])) {
            $submission['data'][$cid] = $data;
          }
        }
      }
      else {
        $submission[$key] = $value;
      }
    }
    module_load_include('inc', 'webform', 'includes/webform.submissions');
    $sid = webform_submission_update($webform, webform_service_parse_submission($webform, $submission));
    return webform_service_get_submission($webform, webform_get_submission($webform->nid, $sid, TRUE));
  }
  else {
    return FALSE;
  }
}