function crm_core_relationship_load_relationship_types in CRM Core 8.3
Same name and namespace in other branches
- 8 modules/crm_core_relationship/crm_core_relationship.module \crm_core_relationship_load_relationship_types()
- 8.2 modules/crm_core_relationship/crm_core_relationship.module \crm_core_relationship_load_relationship_types()
- 7 modules/crm_core_relationship/crm_core_relationship.module \crm_core_relationship_load_relationship_types()
Return relationship types that can be applied to specific contact type.
Parameters
mixed $contact_type: CRM contact type name.
mixed $reverse: Whether relationship is reversed.
1 call to crm_core_relationship_load_relationship_types()
- crm_core_relationship_ui_add_relationship in modules/
crm_core_relationship_ui/ crm_core_relationship_ui.pages.inc - Return a list of links to add relationship for specific CRM contact.
File
- modules/
crm_core_relationship/ crm_core_relationship.module, line 176 - CRM Core Relationship, handles relationship logic and API.
Code
function crm_core_relationship_load_relationship_types($contact_type, $reverse = 0) {
$relation_types = RelationType::loadMultiple();
$available_relationship_types = [];
foreach ($relation_types as $relation_type) {
if (!crm_core_relationship_is_relationship_type($relation_type->relation_type)) {
continue;
}
$bundles = $reverse ? $relation_type->target_bundles : $relation_type->source_bundles;
if (in_array('crm_core_contact:' . $contact_type, $bundles) || in_array('crm_core_contact:*', $bundles)) {
$available_relationship_types[] = $relation_type;
}
}
return $available_relationship_types;
}