function pardot_webform_submit in Pardot Integration 7.2
Same name and namespace in other branches
- 6 pardot.module \pardot_webform_submit()
- 7 pardot.module \pardot_webform_submit()
Form submission handler for pardot_webform_form_alter().
Stores submissions for Pardot.
1 string reference to 'pardot_webform_submit'
- pardot_webform_form_alter in pardot_webform/
pardot_webform.module - Implements hook_form_alter().
File
- pardot_webform/
pardot_webform.module, line 87 - Pardot Webform integration module.
Code
function pardot_webform_submit($form, &$form_state) {
$values = array();
// Get Browser headers.
$values['user_headers'] = automate_get_user_headers();
// Collapse form values so they make more sense to Pardot.
$post_fields = automate_webform_values($form, $form_state);
$values['post_fields'] = $post_fields;
// Save the values and essential information to the database.
$submission = new stdClass();
$submission->form_nid = $form['#node']->nid;
$submission->data = $values;
pardot_webform_submission_save($submission);
if (empty($submission->sid)) {
$message = 'Unable to save submitted entry. <pre>!data</pre>';
$vars = array(
'!data' => var_export($submission, TRUE),
);
watchdog('pardot_webform', $message, $vars, WATCHDOG_NOTICE);
}
else {
$form_settings = pardot_webform_load($submission->form_nid);
$result = automate_map_webform_values($post_fields, $form_settings->data);
$url = url($form_settings->url, array(
'query' => $result,
));
// Send data.
$result = drupal_http_request($url, array(
'timeout' => 5,
));
if ($result->code == 200) {
$submission->status = PARDOT_STATUS_UPLOADED;
pardot_webform_submission_save($submission);
}
else {
$submission->status = PARDOT_STATUS_FAILED;
pardot_webform_submission_save($submission);
$message = 'Unable to submit entry to Pardot. <pre>!data</pre>';
$vars = array(
'!data' => var_export($submission, TRUE),
);
watchdog('pardot_webform', $message, $result, WATCHDOG_ERROR);
}
}
}