You are here

class RouteSubscriber in Open Social 8.4

Same name in this branch
  1. 8.4 modules/custom/social_language/src/Routing/RouteSubscriber.php \Drupal\social_language\Routing\RouteSubscriber
  2. 8.4 modules/social_features/social_private_message/src/Routing/RouteSubscriber.php \Drupal\social_private_message\Routing\RouteSubscriber
  3. 8.4 modules/social_features/social_post/src/Routing/RouteSubscriber.php \Drupal\social_post\Routing\RouteSubscriber
  4. 8.4 modules/social_features/social_group/src/Routing/RouteSubscriber.php \Drupal\social_group\Routing\RouteSubscriber
  5. 8.4 modules/social_features/social_topic/src/Routing/RouteSubscriber.php \Drupal\social_topic\Routing\RouteSubscriber
  6. 8.4 modules/social_features/social_user/src/Routing/RouteSubscriber.php \Drupal\social_user\Routing\RouteSubscriber
  7. 8.4 modules/social_features/social_event/src/Routing/RouteSubscriber.php \Drupal\social_event\Routing\RouteSubscriber
  8. 8.4 modules/social_features/social_core/src/Routing/RouteSubscriber.php \Drupal\social_core\Routing\RouteSubscriber
  9. 8.4 modules/social_features/social_comment/src/Routing/RouteSubscriber.php \Drupal\social_comment\Routing\RouteSubscriber
Same name and namespace in other branches
  1. 8.9 modules/social_features/social_group/src/Routing/RouteSubscriber.php \Drupal\social_group\Routing\RouteSubscriber
  2. 8 modules/social_features/social_group/src/Routing/RouteSubscriber.php \Drupal\social_group\Routing\RouteSubscriber
  3. 8.2 modules/social_features/social_group/src/Routing/RouteSubscriber.php \Drupal\social_group\Routing\RouteSubscriber
  4. 8.3 modules/social_features/social_group/src/Routing/RouteSubscriber.php \Drupal\social_group\Routing\RouteSubscriber
  5. 8.5 modules/social_features/social_group/src/Routing/RouteSubscriber.php \Drupal\social_group\Routing\RouteSubscriber
  6. 8.6 modules/social_features/social_group/src/Routing/RouteSubscriber.php \Drupal\social_group\Routing\RouteSubscriber
  7. 8.7 modules/social_features/social_group/src/Routing/RouteSubscriber.php \Drupal\social_group\Routing\RouteSubscriber
  8. 8.8 modules/social_features/social_group/src/Routing/RouteSubscriber.php \Drupal\social_group\Routing\RouteSubscriber
  9. 10.3.x modules/social_features/social_group/src/Routing/RouteSubscriber.php \Drupal\social_group\Routing\RouteSubscriber
  10. 10.0.x modules/social_features/social_group/src/Routing/RouteSubscriber.php \Drupal\social_group\Routing\RouteSubscriber
  11. 10.1.x modules/social_features/social_group/src/Routing/RouteSubscriber.php \Drupal\social_group\Routing\RouteSubscriber
  12. 10.2.x modules/social_features/social_group/src/Routing/RouteSubscriber.php \Drupal\social_group\Routing\RouteSubscriber

Class RouteSubscriber.

@package Drupal\social_group\Routing Listens to the dynamic route events.

Hierarchy

Expanded class hierarchy of RouteSubscriber

1 string reference to 'RouteSubscriber'
social_group.services.yml in modules/social_features/social_group/social_group.services.yml
modules/social_features/social_group/social_group.services.yml
1 service uses RouteSubscriber
social_group.route_subscriber in modules/social_features/social_group/social_group.services.yml
Drupal\social_group\Routing\RouteSubscriber

File

modules/social_features/social_group/src/Routing/RouteSubscriber.php, line 14

Namespace

Drupal\social_group\Routing
View source
class RouteSubscriber extends RouteSubscriberBase {

  /**
   * {@inheritdoc}
   */
  protected function alterRoutes(RouteCollection $collection) {

    // Route the group view page to group/{group}/timeline.
    if ($route = $collection
      ->get('entity.group.canonical')) {
      $route
        ->setPath('/group/{group}/stream');
      $defaults = $route
        ->getDefaults();
      $defaults['_entity_view'] = 'group.stream';
      $defaults['_title_callback'] = '\\Drupal\\social_group\\Controller\\SocialGroupController::groupStreamTitle';
      $route
        ->setDefaults($defaults);
    }

    // Route the group members page to the group/{group}/membership.
    if ($route = $collection
      ->get('entity.group_content.collection')) {

      // Override default title for Group Membership page.
      $defaults = $route
        ->getDefaults();
      $defaults['_title_callback'] = '\\Drupal\\social_group\\Controller\\SocialGroupController::groupMembersTitle';
      $route
        ->setDefaults($defaults);

      // Override default path for Group Membership page.
      $route
        ->setPath('/group/{group}/membership');
      $route
        ->setRequirements([
        '_group_permission' => 'administer members',
      ]);
    }

    // Override default title for Group Members page.
    if ($route = $collection
      ->get('view.group_members.page_group_members')) {
      $defaults = $route
        ->getDefaults();
      $defaults['_title_callback'] = '\\Drupal\\social_group\\Controller\\SocialGroupController::groupMembersTitle';
      $route
        ->setDefaults($defaults);
    }

    // Override default title for Groups "Add Member" page.
    if ($route = $collection
      ->get('entity.group_content.add_form')) {
      $defaults = $route
        ->getDefaults();
      $defaults['_title_callback'] = '\\Drupal\\social_group\\Controller\\SocialGroupController::groupAddMemberTitle';
      $route
        ->setDefaults($defaults);
    }

    // Override default title for Groups "Delete Content" page.
    if ($route = $collection
      ->get('entity.group_content.delete_form')) {
      $defaults = $route
        ->getDefaults();
      $defaults['_title_callback'] = '\\Drupal\\social_group\\Controller\\SocialGroupController::groupRemoveContentTitle';
      $route
        ->setDefaults($defaults);
    }
    if ($route = $collection
      ->get('entity.group.add_page')) {
      $defaults = $route
        ->getDefaults();
      unset($defaults['_controller']);
      $defaults['_form'] = '\\Drupal\\social_group\\Form\\SocialGroupAddForm';
      $route
        ->setDefaults($defaults);
    }
    if ($route = $collection
      ->get('view.groups.page_user_groups')) {
      $requirements = $route
        ->getRequirements();
      $requirements['_custom_access'] = "\\Drupal\\social_group\\Controller\\SocialGroupController::myGroupAccess";
      $route
        ->setRequirements($requirements);
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
RouteSubscriber::alterRoutes protected function Alters existing routes for a specific collection. Overrides RouteSubscriberBase::alterRoutes
RouteSubscriberBase::getSubscribedEvents public static function Returns an array of event names this subscriber wants to listen to. 5
RouteSubscriberBase::onAlterRoutes public function Delegates the route altering to self::alterRoutes(). 1