function social_event_block_access in Open Social 8.5
Same name and namespace in other branches
- 8.9 modules/social_features/social_event/social_event.module \social_event_block_access()
- 8.3 modules/social_features/social_event/social_event.module \social_event_block_access()
- 8.4 modules/social_features/social_event/social_event.module \social_event_block_access()
- 8.6 modules/social_features/social_event/social_event.module \social_event_block_access()
- 8.7 modules/social_features/social_event/social_event.module \social_event_block_access()
- 8.8 modules/social_features/social_event/social_event.module \social_event_block_access()
- 10.3.x modules/social_features/social_event/social_event.module \social_event_block_access()
- 10.0.x modules/social_features/social_event/social_event.module \social_event_block_access()
- 10.1.x modules/social_features/social_event/social_event.module \social_event_block_access()
- 10.2.x modules/social_features/social_event/social_event.module \social_event_block_access()
Custom permission check, to see if people have access to users' events.
Implements hook_block_access().
File
- modules/
social_features/ social_event/ social_event.module, line 425 - The Social event module.
Code
function social_event_block_access(Block $block, $operation, AccountInterface $account) {
if ($operation === 'view' && ($block
->getPluginId() === 'views_exposed_filter_block:events-events_overview' || $block
->getPluginId() === 'views_block:events-block_events_on_profile')) {
// Here we're going to assume by default access is not granted.
$eventController = SocialEventController::create(\Drupal::getContainer());
$access = $eventController
->myEventAccess($account);
// If the 'myEventAccess' returns 'AccessResultNeutral', we have to assume
// that access must be denied.
if ($access instanceof AccessResultNeutral) {
// Return forbidden, since access was not explicitly granted.
return AccessResult::forbidden();
}
return $access;
}
if ($operation === 'view' && $block
->getPluginId() === 'views_block:event_enrollments-event_enrollments') {
$nid = \Drupal::routeMatch()
->getRawParameter('node');
if (!empty($nid) && ($node = Node::load($nid))) {
// Check if event enrollment were disabled explicitly.
if (!\Drupal::service('social_event.enroll')
->isEnabled($node)) {
// Return forbidden, since access was not explicitly granted.
return AccessResult::forbidden();
}
}
}
// No opinion.
return AccessResult::neutral();
}