public function setCompiler(Nette\DI\Compiler $compiler, $name) : self { $application = current($compiler->getExtensions(Nette\Bridges\ApplicationDI\ApplicationExtension::class)); if ($application instanceof Nette\Bridges\ApplicationDI\ApplicationExtension) { $application->defaults['errorPresenter'] = FALSE; $application->defaults['scanDirs'] = FALSE; $application->defaults['mapping'] = ['*' => 'Ytnuk\\*\\*']; } $session = current($compiler->getExtensions(Nette\Bridges\HttpDI\SessionExtension::class)); if ($session instanceof Nette\Bridges\HttpDI\SessionExtension) { $session->defaults['debugger'] = $this->debugMode; } $http = current($compiler->getExtensions(Nette\Bridges\HttpDI\HttpExtension::class)); if ($http instanceof Nette\Bridges\HttpDI\HttpExtension) { $http->defaults['headers']['X-Powered-By'] = __NAMESPACE__; $contentSecurityPolicy = ['default-src' => '\'self\'', 'form-action' => '\'self\'', 'img-src' => '\'self\' data:']; if ($this->debugMode) { $contentSecurityPolicy += ['script-src' => '\'self\' \'unsafe-inline\' \'unsafe-eval\'', 'style-src' => '\'self\' \'unsafe-inline\'']; } $http->defaults['headers']['Content-Security-Policy'] = implode(';', array_map(function (string $key, string $value) { return implode(' ', [$key, $value]); }, array_keys($contentSecurityPolicy), array_values($contentSecurityPolicy))); } $di = current($compiler->getExtensions(Nette\DI\Extensions\DIExtension::class)); if ($di instanceof Nette\DI\Extensions\DIExtension) { $di->defaults['debugger'] = $this->debugMode; } return parent::setCompiler($compiler, $name); }
/** * Add custom configurator extension. * @return self */ public function addExtension($name, CompilerExtension $extension) { if (isset(self::$reserved[$name])) { throw new Nette\InvalidArgumentException("Name '$name' is reserved."); } $this->extensions[$name] = $extension->setCompiler($this, $name); return $this; }
/** * Add custom configurator extension. * @return self */ public function addExtension(string $name, CompilerExtension $extension) : self { if (isset($this->extensions[$name]) || isset(self::$reserved[$name])) { throw new Nette\InvalidArgumentException("Name '{$name}' is already used or reserved."); } $this->extensions[$name] = $extension->setCompiler($this, $name); return $this; }
public function setCompiler(\Nette\DI\Compiler $compiler, $name) { $ret = parent::setCompiler($compiler, $name); if (!function_exists("imap_open")) { throw new \Exception("Check if is installed ext-imap"); } $config = $this->getConfig($this->defaults); $this->consumers = $config['rabbitmq']['consumers']; $this->producers = $config['rabbitmq']['producers']; return $ret; }