From dd07d504340217aa49c561a6fa70a0cdf17fa3ee Mon Sep 17 00:00:00 2001 From: David Grudl Date: Tue, 3 Jan 2012 04:29:12 +0100 Subject: [PATCH] added DibiNetteExtension --- dibi/Nette/DibiNetteExtension.php | 55 +++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 dibi/Nette/DibiNetteExtension.php diff --git a/dibi/Nette/DibiNetteExtension.php b/dibi/Nette/DibiNetteExtension.php new file mode 100644 index 00000000..200a6dda --- /dev/null +++ b/dibi/Nette/DibiNetteExtension.php @@ -0,0 +1,55 @@ +getContainer(); + $config = $this->getConfig(); + + $useProfiler = isset($config['profiler']) + ? $config['profiler'] + : !$container->parameters['productionMode']; + + unset($config['profiler']); + + if (isset($config['flags'])) { + $flags = 0; + foreach ((array) $config['flags'] as $flag) { + $flags |= constant($flag); + } + $config['flags'] = $flags; + } + + $connection = $container->addDefinition($this->prefix('connection')) + ->setClass('DibiConnection', array($config)); + + if ($useProfiler) { + $panel = $container->addDefinition($this->prefix('panel')) + ->setClass('DibiNettePanel') + ->addSetup('Nette\Diagnostics\Debugger::$bar->addPanel(?)', array('@self')) + ->addSetup('Nette\Diagnostics\Debugger::$blueScreen->addPanel(?)', array(array('@self', 'renderException'))); + + $connection->addSetup('$service->onEvent[] = ?', array(array($panel, 'logEvent'))); + } + } + +}