function webform_civicrm_webform_submission_load in Webform CiviCRM Integration 7
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.2 webform_civicrm.module \webform_civicrm_webform_submission_load()
- 7.3 webform_civicrm.module \webform_civicrm_webform_submission_load()
- 7.4 webform_civicrm.module \webform_civicrm_webform_submission_load()
Implements hook_webform_submission_load(). Add CiviCRM contact info to submission objects.
File
- ./
webform_civicrm.module, line 156 - 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 (:sids)', array(
':sids' => array_keys($submissions),
));
$contacts = array();
foreach ($db as $row) {
$sid = $row->sid;
unset($row->sid);
$submissions[$sid]->civicrm = (array) $row;
if ($cid = $row->contact_id) {
$contacts[$cid] = '';
}
}
if ($contacts) {
// Retrieve contact names and add to submission objects
civicrm_initialize();
$sql = 'SELECT id, display_name FROM civicrm_contact WHERE id IN (' . implode(',', array_keys($contacts)) . ')';
$dao =& CRM_Core_DAO::executeQuery($sql);
while ($dao
->fetch()) {
$contacts[$dao->id] = $dao->display_name;
}
foreach ($submissions as &$s) {
if (!empty($s->civicrm['contact_id'])) {
$s->civicrm['display_name'] = $contacts[$s->civicrm['contact_id']];
}
}
}
}