You are here

function social_group_invite_menu_local_tasks_alter in Open Social 8.9

Same name and namespace in other branches
  1. 10.3.x modules/social_features/social_group/modules/social_group_invite/social_group_invite.module \social_group_invite_menu_local_tasks_alter()
  2. 10.0.x modules/social_features/social_group/modules/social_group_invite/social_group_invite.module \social_group_invite_menu_local_tasks_alter()
  3. 10.1.x modules/social_features/social_group/modules/social_group_invite/social_group_invite.module \social_group_invite_menu_local_tasks_alter()
  4. 10.2.x modules/social_features/social_group/modules/social_group_invite/social_group_invite.module \social_group_invite_menu_local_tasks_alter()

Implements hook_menu_local_tasks_alter().

File

modules/social_features/social_group/modules/social_group_invite/social_group_invite.module, line 40
The Social Invite group module.

Code

function social_group_invite_menu_local_tasks_alter(&$data, $route_name, RefinableCacheableDependencyInterface $cacheability) {

  // Add tasks on these route for invite Groups/Events.
  if ($route_name === 'view.social_group_user_invitations.page_1') {
    $tabs_to_remove = [
      'social_user.groups',
      'social_user.stream',
      'social_user.topics',
      'social_user.events',
      'social_profile.information',
      'profile.user_page:profile',
      'entity.user.canonical',
      'entity.user.edit_form',
    ];
    foreach ($tabs_to_remove as $task_name) {
      if (!empty($data['tabs'][0][$task_name])) {
        unset($data['tabs'][0][$task_name]);
      }
    }
  }

  // Else we remove our custom group task.
  // This will render for example on the user profile etc.
  if ($route_name !== 'view.social_group_user_invitations.page_1' && $route_name !== 'view.user_event_invites.page_user_event_invites') {
    if (!empty($data['tabs'][0]['social_group_invite.user_groups'])) {
      unset($data['tabs'][0]['social_group_invite.user_groups']);
    }
  }
}