function redhen_org_group_node_access_records in RedHen CRM 7
Implements hook_node_access_records().
File
- modules/
redhen_org_group/ redhen_org_group.module, line 316
Code
function redhen_org_group_node_access_records($node) {
$grants = array();
if (!empty($node->{REDHEN_ORG_GROUP_FIELD}) && ($org_ids = field_get_items('node', $node, REDHEN_ORG_GROUP_FIELD))) {
foreach ($org_ids as $org_id) {
if ($org = redhen_org_load($org_id['target_id'])) {
if ($org_type = redhen_org_type_load($org->type)) {
if (isset($org_type->group) && $org_type->group && ($org_type->redhen_state = REDHEN_STATE_ACTIVE && $org_type->group_settings['private'])) {
$grants[] = array(
'realm' => REDHEN_ORG_GROUP_ACCESS_REALM . ':' . $org->type,
'gid' => $org_id['target_id'],
'grant_view' => $node->status,
'grant_update' => 0,
'grant_delete' => 0,
'priority' => 10,
);
}
}
}
}
}
return $grants;
}