function simple_access_node_load in Simple Access 8.3
Same name and namespace in other branches
- 7.2 simple_access.module \simple_access_node_load()
Implements hook_node_load().
File
- ./
simple_access.module, line 34 - Builds simple access definition for content access.
Code
function simple_access_node_load(array $nodes) {
$nids = [];
foreach ($nodes as $nid => $node) {
$nids[] = $nid;
$node->simple_access = [];
}
$groups = \Drupal::database()
->select('simple_access_node_group', 'na')
->fields('na', [
'nid',
'gid',
'grant_view',
'grant_update',
'grant_delete',
])
->condition('nid', $nids, 'IN')
->execute()
->fetchAll(PDO::FETCH_ASSOC);
$profiles = \Drupal::database()
->select('simple_access_node_profile', 'pn')
->fields('pn', [
'nid',
'pid',
])
->condition('nid', $nids, 'IN')
->execute()
->fetchAll(PDO::FETCH_ASSOC);
foreach ($groups as $row) {
$nodes[$row['nid']]->simple_access['groups'][$row['gid']] = array_combine([
'nid',
'gid',
'view',
'update',
'delete',
], $row);
}
foreach ($profiles as $row) {
$nodes[$row['nid']]->simple_access['profiles'][$row['pid']] = $row['pid'];
}
}