function simple_access_node_access_records in Simple Access 5
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()
- 6.2 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 159 - 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 ($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['view'] || $access['update'] || $access['delete']) {
$records[] = array(
'realm' => 'simple_access',
'gid' => $gid,
'grant_view' => $access['view'],
'grant_update' => $access['update'],
'grant_delete' => $access['delete'],
'priority' => 1,
);
}
}
}
if (!empty($records) && $node->uid) {
// FIXME: Need to work out a better method of determining the authors
// access to the node.
$records[] = array(
'realm' => 'simple_access_author',
'gid' => $node->uid,
'grant_view' => user_access('access content'),
'grant_update' => user_access('access content'),
'grant_delete' => user_access('access content'),
'priority' => 1,
);
}
return $records;
}