function webform_service_parse_submission in Webform Service 6.3
Same name and namespace in other branches
- 7.4 webform_service.module \webform_service_parse_submission()
Provided a submission in external format, this parses it to what webform expects.
Parameters
type $webform:
type $submission:
3 calls to webform_service_parse_submission()
- webform_service_submission_create in resources/
submission_resource.inc - Creates a new submission within a webform.
- webform_service_submission_delete in resources/
submission_resource.inc - Delete a submission within a webform.
- webform_service_submission_update in resources/
submission_resource.inc - Updates a webform submission based on submitted values.
File
- ./
webform_service.module, line 183 - Webform service module.
Code
function webform_service_parse_submission($webform, $submission) {
// Make sure the submission and webforms are objects.
$webform = (object) $webform;
$submission = (object) $submission;
// Normalize the submission data.
$data = array();
foreach ($submission->data as $cid => $values) {
$data[$cid] = $values;
}
if (!empty($submission->user_uuid)) {
$user = user_get_by_uuid($submission->user_uuid);
}
// Setup the submission object.
$submission_obj = (object) array(
'nid' => !empty($submission->nid) ? $submission->nid : $webform->nid,
'uid' => !empty($user) ? $user->uid : NULL,
'submitted' => REQUEST_TIME,
'remote_addr' => !empty($submission->remote_addr) ? $submission->remote_addr : ip_address(),
'is_draft' => 0,
'data' => $data,
);
// Add the submission ID if it is provided.
if (!empty($submission->sid)) {
$submission_obj->sid = $submission->sid;
}
return $submission_obj;
}