You are here

function webform_civicrm_process_submission in Webform CiviCRM Integration 7

Same name and namespace in other branches
  1. 6.2 webform_civicrm_forms.inc \webform_civicrm_process_submission()
  2. 6 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
Implements hook_webform_submission_insert().

File

./webform_civicrm_forms.inc, line 362

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/api.php';
      $act_params = array(
        'check_permissions' => FALSE,
        'version' => 3,
        '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_api('activity', 'create', $act_params);
      $act = $result['id'];
    }
    $record = array(
      'sid' => $submission->sid,
      'contact_id' => $cid,
      'activity_id' => $act,
    );
    drupal_write_record('webform_civicrm_submissions', $record);
  }
  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));
  }
}