function webform_civicrm_webform_submission_load in Webform CiviCRM Integration 7.4
Same name and namespace in other branches
- 8.5 webform_civicrm.module \webform_civicrm_webform_submission_load()
- 6.2 webform_civicrm.module \webform_civicrm_webform_submission_load()
- 6 webform_civicrm.module \webform_civicrm_webform_submission_load()
- 7.5 webform_civicrm.module \webform_civicrm_webform_submission_load()
- 7 webform_civicrm.module \webform_civicrm_webform_submission_load()
- 7.2 webform_civicrm.module \webform_civicrm_webform_submission_load()
- 7.3 webform_civicrm.module \webform_civicrm_webform_submission_load()
Implements hook_webform_submission_load(). Add CiviCRM contact info to submission objects.
1 call to webform_civicrm_webform_submission_load()
- wf_crm_webform_postprocess::setUpdateParam in includes/
wf_crm_webform_postprocess.inc - If this is an update op, set param for drupal_write_record()
File
- ./
webform_civicrm.module, line 294 - Webform CiviCRM Integration Module: Links webform submissions to contacts in a CiviCRM database. @author Coleman Watts
Code
function webform_civicrm_webform_submission_load(&$submissions) {
if (empty($submissions)) {
return;
}
$db = db_query('SELECT * FROM {webform_civicrm_submissions} WHERE sid IN (' . implode(',', array_keys($submissions)) . ')');
$contacts = array();
foreach ($db as $row) {
$data = unserialize($row->civicrm_data) + array(
'contact' => array(),
);
if ($row->contact_id) {
foreach (explode('-', trim($row->contact_id, '-')) as $c => $cid) {
$data['contact'][$c + 1]['id'] = $cid;
$data['contact'][$c + 1]['display_name'] = '';
if ($c == 0 && $cid) {
$contacts[$cid] = '';
}
}
}
$submissions[$row->sid]->civicrm = $data;
}
if ($contacts) {
// Retrieve contact names and add to submission objects
civicrm_initialize();
module_load_include('inc', 'webform_civicrm', 'includes/utils');
$contacts = wf_crm_apivalues('contact', 'get', array(
'id' => array(
'IN' => array_keys($contacts),
),
), 'display_name') + $contacts;
foreach ($submissions as &$s) {
if (!empty($s->civicrm['contact'][1]['id'])) {
$s->civicrm['contact'][1]['display_name'] = $contacts[$s->civicrm['contact'][1]['id']];
}
}
}
}