function social_event_managers_node_grants in Open Social 8.7
Same name and namespace in other branches
- 8.9 modules/social_features/social_event/modules/social_event_managers/social_event_managers.module \social_event_managers_node_grants()
- 8 modules/social_features/social_event/modules/social_event_managers/social_event_managers.module \social_event_managers_node_grants()
- 8.2 modules/social_features/social_event/modules/social_event_managers/social_event_managers.module \social_event_managers_node_grants()
- 8.3 modules/social_features/social_event/modules/social_event_managers/social_event_managers.module \social_event_managers_node_grants()
- 8.4 modules/social_features/social_event/modules/social_event_managers/social_event_managers.module \social_event_managers_node_grants()
- 8.5 modules/social_features/social_event/modules/social_event_managers/social_event_managers.module \social_event_managers_node_grants()
- 8.6 modules/social_features/social_event/modules/social_event_managers/social_event_managers.module \social_event_managers_node_grants()
- 8.8 modules/social_features/social_event/modules/social_event_managers/social_event_managers.module \social_event_managers_node_grants()
- 10.3.x modules/social_features/social_event/modules/social_event_managers/social_event_managers.module \social_event_managers_node_grants()
- 10.0.x modules/social_features/social_event/modules/social_event_managers/social_event_managers.module \social_event_managers_node_grants()
- 10.1.x modules/social_features/social_event/modules/social_event_managers/social_event_managers.module \social_event_managers_node_grants()
- 10.2.x modules/social_features/social_event/modules/social_event_managers/social_event_managers.module \social_event_managers_node_grants()
Implements hook_node_grants().
File
- modules/
social_features/ social_event/ modules/ social_event_managers/ social_event_managers.module, line 228 - Contains social_event_managers.module.
Code
function social_event_managers_node_grants(AccountInterface $account, $op) {
$grants = [];
// TODO:
// Fetch all nodes this user has access to and add a grant for each of those!
$query = \Drupal::database()
->select('node__field_event_managers', 'em');
$query
->fields('em', [
'entity_id',
]);
$query
->condition('em.field_event_managers_target_id', $account
->id());
// Add grants.
foreach ($query
->execute()
->fetchAllAssoc('entity_id') as $nid) {
$grants['social_event_managers:' . $nid->entity_id][] = $account
->id();
}
// Tell Drupal about users grants.
return $grants;
}