You are here

class RouteSubscriber in No Request New Password 8

Listens to the dynamic route events.

Hierarchy

Expanded class hierarchy of RouteSubscriber

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

File

src/Routing/RouteSubscriber.php, line 12

Namespace

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

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

    // Always deny access to '/user/password', if noreqnewpass_disable is set to
    // TRUE.
    if ($route = $collection
      ->get('user.pass')) {
      $this
        ->denyAccess($route);
    }
    if ($route = $collection
      ->get('user.pass.http')) {
      $this
        ->denyAccess($route);
    }
  }

  /**
   * Deny access to the route if noreqnewpass_disable is set to TRUE.
   *
   * @param \Symfony\Component\Routing\Route $route
   *   The route to deny access to.
   */
  private function denyAccess(Route $route) : void {
    $noreqnewpass_disable = \Drupal::config('noreqnewpass.settings_form')
      ->get('noreqnewpass_disable');
    if ($noreqnewpass_disable) {
      $route
        ->setRequirement('_access', 'FALSE');
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
RouteSubscriber::alterRoutes public function Alters existing routes for a specific collection. Overrides RouteSubscriberBase::alterRoutes
RouteSubscriber::denyAccess private function Deny access to the route if noreqnewpass_disable is set to TRUE.
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