function simple_access_node_access_records in Simple Access 6.2
Same name and namespace in other branches
- 8.3 simple_access.module \simple_access_node_access_records()
- 5.2 simple_access.module \simple_access_node_access_records()
- 5 simple_access.module \simple_access_node_access_records()
- 7.2 simple_access.module \simple_access_node_access_records()
Implementation of hook_node_access_records
File
- ./
simple_access.module, line 221 - This module allows administrators to make nodes viewable by specific 'access groups'. Each access group can contain any number of roles. If a node is not assigned to any access groups, it will remain viewable by all users.
Code
function simple_access_node_access_records($node) {
$records = array();
if (!empty($node->simple_access_profiles)) {
foreach (array_filter($node->simple_access_profiles) as $pid) {
$records[] = array(
'realm' => 'simple_access_profile',
'gid' => $pid,
'grant_view' => 1,
'grant_update' => 1,
'grant_delete' => 1,
'priority' => 0,
);
}
}
if (!empty($node->simple_access)) {
// loop through simple_access arrays from page submission
// $type is either 'view', 'update', or 'delete'
foreach ($node->simple_access as $gid => $access) {
if ($access['sa_view'] || $access['sa_update'] || $access['sa_delete']) {
$records[] = array(
'realm' => 'simple_access',
'gid' => $gid,
'grant_view' => $access['sa_view'],
'grant_update' => $access['sa_update'],
'grant_delete' => $access['sa_delete'],
'priority' => 0,
);
}
}
}
if ($node->uid && ($node->simple_access_owner['sa_view'] || $node->simple_access_owner['sa_update'] || $node->simple_access_owner['sa_delete'])) {
$records[] = array(
'realm' => 'simple_access_author',
'gid' => $node->uid,
'grant_view' => $node->simple_access_owner['sa_view'],
'grant_update' => $node->simple_access_owner['sa_update'],
'grant_delete' => $node->simple_access_owner['sa_delete'],
'priority' => 0,
);
}
return $records;
}