You are here

class RouteSubscriber in Open Social 8.2

Same name in this branch
  1. 8.2 modules/custom/social_language/src/Routing/RouteSubscriber.php \Drupal\social_language\Routing\RouteSubscriber
  2. 8.2 modules/social_features/social_private_message/src/Routing/RouteSubscriber.php \Drupal\social_private_message\Routing\RouteSubscriber
  3. 8.2 modules/social_features/social_post/src/Routing/RouteSubscriber.php \Drupal\social_post\Routing\RouteSubscriber
  4. 8.2 modules/social_features/social_group/src/Routing/RouteSubscriber.php \Drupal\social_group\Routing\RouteSubscriber
  5. 8.2 modules/social_features/social_topic/src/Routing/RouteSubscriber.php \Drupal\social_topic\Routing\RouteSubscriber
  6. 8.2 modules/social_features/social_user/src/Routing/RouteSubscriber.php \Drupal\social_user\Routing\RouteSubscriber
  7. 8.2 modules/social_features/social_core/src/Routing/RouteSubscriber.php \Drupal\social_core\Routing\RouteSubscriber
  8. 8.2 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/custom/social_language/src/Routing/RouteSubscriber.php \Drupal\social_language\Routing\RouteSubscriber
  2. 8 modules/custom/social_language/src/Routing/RouteSubscriber.php \Drupal\social_language\Routing\RouteSubscriber
  3. 8.3 modules/custom/social_language/src/Routing/RouteSubscriber.php \Drupal\social_language\Routing\RouteSubscriber
  4. 8.4 modules/custom/social_language/src/Routing/RouteSubscriber.php \Drupal\social_language\Routing\RouteSubscriber
  5. 8.5 modules/custom/social_language/src/Routing/RouteSubscriber.php \Drupal\social_language\Routing\RouteSubscriber
  6. 8.6 modules/custom/social_language/src/Routing/RouteSubscriber.php \Drupal\social_language\Routing\RouteSubscriber
  7. 8.7 modules/custom/social_language/src/Routing/RouteSubscriber.php \Drupal\social_language\Routing\RouteSubscriber
  8. 8.8 modules/custom/social_language/src/Routing/RouteSubscriber.php \Drupal\social_language\Routing\RouteSubscriber
  9. 10.3.x modules/custom/social_language/src/Routing/RouteSubscriber.php \Drupal\social_language\Routing\RouteSubscriber
  10. 10.0.x modules/custom/social_language/src/Routing/RouteSubscriber.php \Drupal\social_language\Routing\RouteSubscriber
  11. 10.1.x modules/custom/social_language/src/Routing/RouteSubscriber.php \Drupal\social_language\Routing\RouteSubscriber
  12. 10.2.x modules/custom/social_language/src/Routing/RouteSubscriber.php \Drupal\social_language\Routing\RouteSubscriber

Class RouteSubscriber.

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

Hierarchy

  • class \Drupal\Core\Routing\RouteSubscriberBase implements \Symfony\Component\EventDispatcher\EventSubscriberInterface

Expanded class hierarchy of RouteSubscriber

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

File

modules/custom/social_language/src/Routing/RouteSubscriber.php, line 15

Namespace

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

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

    // Set custom permissions for account email & site information & menu items
    // translation pages.
    $routes = [
      'translate system information' => [
        'config_translation.item.add.system.site_information_settings',
        'config_translation.item.delete.system.site_information_settings',
        'config_translation.item.edit.system.site_information_settings',
        'config_translation.item.overview.system.site_information_settings',
      ],
      'translate account settings' => [
        'config_translation.item.add.entity.user.admin_form',
        'config_translation.item.delete.entity.user.admin_form',
        'config_translation.item.edit.entity.user.admin_form',
        'config_translation.item.overview.entity.user.admin_form',
      ],
      'translate menu_link_content' => [
        'entity.menu_link_content.content_translation_add',
        'entity.menu_link_content.content_translation_delete',
        'entity.menu_link_content.content_translation_edit',
        'entity.menu_link_content.content_translation_overview',
      ],
    ];

    // Loop through routes that need alteration.
    foreach ($routes as $permission => $route_strings) {
      foreach ($route_strings as $route_string) {
        if ($route = $collection
          ->get($route_string)) {
          $route
            ->setRequirements([
            '_social_language_access' => $permission,
          ]);
        }
      }
    }
  }

  /**
   * {@inheritdoc}
   */
  public static function getSubscribedEvents() {

    // Come after content_translation.
    $events[RoutingEvents::ALTER] = [
      'onAlterRoutes',
      -220,
    ];
    return $events;
  }

}

Members

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