Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Module.php
Go to the documentation of this file.
1 <?php
7 namespace Magento\Setup;
8 
11 use Zend\EventManager\EventInterface;
12 use Zend\ModuleManager\Feature\BootstrapListenerInterface;
13 use Zend\ModuleManager\Feature\ConfigProviderInterface;
14 use Zend\Mvc\ModuleRouteListener;
15 use Zend\Mvc\MvcEvent;
16 
17 class Module implements
18  BootstrapListenerInterface,
19  ConfigProviderInterface
20 {
24  public function onBootstrap(EventInterface $e)
25  {
28  $application = $e->getApplication();
30  $events = $application->getEventManager();
32  $sharedEvents = $events->getSharedManager();
33 
34  $moduleRouteListener = new ModuleRouteListener();
35  $moduleRouteListener->attach($events);
36 
37  // Override Zend\Mvc\View\Http\InjectTemplateListener
38  // to process templates by Vendor/Module
39  $injectTemplateListener = new InjectTemplateListener();
40  $sharedEvents->attach(
41  \Zend\Stdlib\DispatchableInterface::class,
42  MvcEvent::EVENT_DISPATCH,
43  [$injectTemplateListener, 'injectTemplate'],
44  -89
45  );
46  $response = $e->getResponse();
47  if ($response instanceof \Zend\Http\Response) {
48  $headers = $response->getHeaders();
49  if ($headers) {
50  $headers->addHeaderLine('Cache-Control', 'no-cache, no-store, must-revalidate');
51  $headers->addHeaderLine('Pragma', 'no-cache');
52  $headers->addHeaderLine('Expires', '1970-01-01');
53  $headers->addHeaderLine('X-Frame-Options: SAMEORIGIN');
54  $headers->addHeaderLine('X-Content-Type-Options: nosniff');
56  $userAgentHeader = $e->getRequest()->getHeader('User-Agent');
57  $xssHeaderValue = $userAgentHeader && $userAgentHeader->getFieldValue()
58  && strpos($userAgentHeader->getFieldValue(), XssProtection::IE_8_USER_AGENT) === false
60  $headers->addHeaderLine('X-XSS-Protection: ' . $xssHeaderValue);
61  }
62  }
63  }
64 
68  public function getConfig()
69  {
70  $result = array_merge_recursive(
71  include __DIR__ . '/../../../config/module.config.php',
72  include __DIR__ . '/../../../config/router.config.php',
73  include __DIR__ . '/../../../config/di.config.php',
74  include __DIR__ . '/../../../config/states.install.config.php',
75  include __DIR__ . '/../../../config/states.update.config.php',
76  include __DIR__ . '/../../../config/states.home.config.php',
77  include __DIR__ . '/../../../config/states.extensionManager.config.php',
78  include __DIR__ . '/../../../config/states.upgrade.config.php',
79  include __DIR__ . '/../../../config/states.uninstall.config.php',
80  include __DIR__ . '/../../../config/states.enable.config.php',
81  include __DIR__ . '/../../../config/states.disable.config.php',
82  include __DIR__ . '/../../../config/languages.config.php',
83  include __DIR__ . '/../../../config/marketplace.config.php'
84  );
85  return $result;
86  }
87 }
$response
Definition: 404.php:11
defined('TESTS_BP')||define('TESTS_BP' __DIR__
Definition: _bootstrap.php:60
$application
Definition: bootstrap.php:58