instapage_cms_plugin-8.x-3.34/src/EventSubscriber/InstapagePluginSubscriber.php

src/EventSubscriber/InstapagePluginSubscriber.php
<?php

namespace Drupal\instapage_cms_plugin\EventSubscriber;

use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\KernelEvents;
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
use Symfony\Component\HttpKernel\Event\ResponseEvent;
use Symfony\Component\HttpKernel\Event\FilterResponseEvent;

/**
 * Class needed to display custom 404 page in Drupal 8.
 */
class InstapagePluginSubscriber implements EventSubscriberInterface {

  /**
   * Registers a callback.
   *
   * @return array Drupal 8 events array.
   */
  static function getSubscribedEvents() {
    $events[KernelEvents::RESPONSE][] = ['onKernelResponse', 5];

    return $events;
  }

  /**
   * Callback function to display 404 page.
   *
   * @param object $event Event object.
   */
  public function onKernelResponse($event) {
    if (
        ($event instanceof ResponseEvent && !$event->isMainRequest())||
        ($event instanceof FilterResponseEvent && !$event->isMasterRequest())
    ) {
      return;
    }

    $response  = $event->getResponse();
    $statusCode = $response->getStatusCode();

    if ($statusCode == 404) {
      \InstapageCmsPluginConnector::checkPage( '404' );
    }
  }
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc