You are here

function webform_civicrm_process_submission in Webform CiviCRM Integration 6

Same name and namespace in other branches
  1. 6.2 webform_civicrm_forms.inc \webform_civicrm_process_submission()
  2. 7 webform_civicrm_forms.inc \webform_civicrm_process_submission()
  3. 7.2 webform_civicrm_forms.inc \webform_civicrm_process_submission()

Called from hook_webform_submission_insert() Process CiviCRM contact. Create activity record.

1 call to webform_civicrm_process_submission()
webform_civicrm_webform_submission_insert in ./webform_civicrm.module
Implementation of hook_webform_submission_insert().

File

./webform_civicrm_forms.inc, line 367

Code

function webform_civicrm_process_submission($node, $submission) {
  if ($cid = webform_civicrm_contact_match($node, $submission)) {
    $act = 0;
    if ($type = $node->webform_civicrm['activity_type_id']) {
      require_once 'api/v2/Activity.php';
      $act_params = array(
        'activity_type_id' => $type,
        'source_contact_id' => $cid,
        'target_contact_id' => $cid,
        'subject' => $node->webform_civicrm['activity_subject'],
        'status_id' => 2,
        'activity_date_time' => date('Ymdhis'),
        'details' => l(t('View Webform Submission'), 'node/' . $node->nid . '/submission/' . $submission->sid),
      );
      $result = civicrm_activity_create($act_params);
      if (!empty($result['id'])) {
        $act = $result['id'];
      }
    }
    db_query('INSERT INTO {webform_civicrm_submissions} SET sid = %d, contact_id = %d, activity_id = %d', $submission->sid, $cid, $act);
  }
  else {
    watchdog('webform_civicrm', 'An error occured when trying to create a new contact. The contact was not created.', NULL, WATCHDOG_ERROR, l($node->title . ': ' . t('Submission #') . $submission->sid, 'node/' . $node->nid . '/submission/' . $submission->sid));
  }
}