function content_access_node_access_records in Content Access 5
Same name and namespace in other branches
- 8 content_access.module \content_access_node_access_records()
- 6 content_access.module \content_access_node_access_records()
- 7 content_access.module \content_access_node_access_records()
File
- ./
content_access.module, line 298
Code
function content_access_node_access_records($node, $optimize = TRUE) {
if (content_access_disabling()) {
return;
}
// Apply per node settings if necessary.
if (content_access_get_settings('per_node', $node->type)) {
$grants = array();
foreach (array(
'view',
'update',
'delete',
) as $op) {
foreach (content_access_per_node_setting($op, $node) as $rid) {
$grants[$rid]['grant_' . $op] = 1;
}
}
foreach ($grants as $rid => $grant) {
$grants[$rid] = content_access_proccess_grant($grant, $rid, $node);
}
}
else {
// Apply the content type defaults.
$grants = content_access_get_default_grant($node);
}
if (empty($grants)) {
// This means we grant no access.
$grants[] = array(
'grant_view' => 0,
'realm' => 'content_access_rid',
'gid' => 0,
);
}
else {
if ($optimize) {
content_access_optimize_grants($grants, $node);
}
}
return $grants;
}