public function wf_crm_webform_postprocess::postSave in Webform CiviCRM Integration 7.4
Same name and namespace in other branches
- 7.5 includes/wf_crm_webform_postprocess.inc \wf_crm_webform_postprocess::postSave()
Process webform submission after it is has been saved. Called by the following hooks:
Parameters
stdClass $submission:
See also
webform_civicrm_webform_submission_insert
webform_civicrm_webform_submission_update
File
- includes/
wf_crm_webform_postprocess.inc, line 213
Class
Code
public function postSave($submission) {
$this->submission = $submission;
if (empty($this->submission->is_draft)) {
// Save cases
if (!empty($this->data['case']['number_of_case'])) {
$this
->processCases();
}
// Save activities
if (!empty($this->data['activity']['number_of_activity'])) {
$this
->processActivities();
}
// Save grants
if (isset($this->data['grant']['number_of_grant'])) {
$this
->processGrants();
}
// Save contribution custom data & line-items
if (!empty($this->ent['contribution'][1]['id'])) {
$this
->processContribution();
}
}
// Write record; we do this when creating, updating, or saving a draft of a webform submission.
$record = $this
->formatSubmission();
drupal_write_record('webform_civicrm_submissions', $record, $this->update);
// Calling an IPN payment processor will result in a redirect so this happens after everything else
if (empty($this->submission->is_draft) && !empty($this->ent['contribution'][1]['id']) && $this->contributionIsIncomplete && !$this->contributionIsPayLater) {
webform_submission_send_mail($this->node, $this->submission);
$this
->submitIPNPayment();
}
// Send receipt
if (empty($this->submission->is_draft) && !empty($this->ent['contribution'][1]['id']) && !empty($this->contribution_page['is_email_receipt']) && (!$this->contributionIsIncomplete || $this->contributionIsPayLater)) {
$this
->sendReceipt();
}
}