function simple_access_node_access_records in Simple Access 8.3
Same name and namespace in other branches
- 5.2 simple_access.module \simple_access_node_access_records()
- 5 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()
Implements hook_node_access_records().
File
- ./
simple_access.module, line 131 - Builds simple access definition for content access.
Code
function simple_access_node_access_records(NodeInterface $node) {
$records = [];
if (!empty($node->simple_access['profiles'])) {
foreach (array_filter($node->simple_access['profiles']) as $pid) {
$records[] = [
'realm' => 'simple_access_profile:' . $pid,
'gid' => 0,
'grant_view' => 1,
'grant_update' => 1,
'grant_delete' => 1,
'priority' => 0,
];
}
}
if (!empty($node->simple_access['groups'])) {
// Loop through simple_access arrays from page submission
// $type is either 'view', 'update', or 'delete'.
foreach ($node->simple_access['groups'] as $gid => $access) {
if ($access['view'] || $access['update'] || $access['delete']) {
if ($gid == 'owner') {
$id = $node
->getOwnerId();
}
else {
$id = 0;
}
$records[] = [
'realm' => 'simple_access_group:' . $gid,
'gid' => $id,
'grant_view' => $access['view'],
'grant_update' => $access['update'],
'grant_delete' => $access['delete'],
'priority' => 0,
];
}
}
}
return $records;
}