function civicrm_entity_contact_assign_rel_contact_field_field_load in CiviCRM Entity 7.2
Implements hook_field_load().
Parameters
$entity_type:
$entities:
$field:
$instances:
$langcode:
$items:
$age:
File
- modules/
civicrm_entity_contact_assign_rel_contact_field/ civicrm_entity_contact_assign_rel_contact_field.module, line 257 - Provide CiviCRM Entity Contact Assign Relationship Contacts List Field Type. Provides a widget for adding/removing a contacts relationships to a list of contacts.
Code
function civicrm_entity_contact_assign_rel_contact_field_field_load($entity_type, $entities, $field, $instances, $langcode, &$items, $age) {
if ($entity_type == 'civicrm_contact') {
$relationship_type_id = $field['settings']['relationship_type'];
$field_contact_options = _civicrm_entity_contact_assign_rel_contact_field_get_field_settings_contacts($field);
civicrm_initialize();
foreach ($entities as $entity_id => $entity) {
$contact_a_id = $entity->contact_id;
foreach ($field_contact_options as $contact_b_id => $name) {
try {
$result = civicrm_api3('Relationship', 'get', array(
'contact_id_a' => $contact_a_id,
'contact_id_b' => $contact_b_id,
'relationship_type_id' => $relationship_type_id,
'is_active' => 1,
));
if ($result['count']) {
$items[$entity_id][0]['contacts'][$contact_b_id] = $contact_b_id;
}
else {
$items[$entity_id][0]['contacts'][$contact_b_id] = 0;
}
} catch (CiviCRM_API3_Exception $e) {
continue;
}
}
}
}
}