1: <?php
2:
3: 4: 5: 6: 7: 8: 9:
10:
11: namespace Kdyby\BootstrapFormRenderer\DI;
12:
13: use Kdyby;
14: use Nette\DI\Compiler;
15: use Nette;
16:
17:
18:
19: if (!class_exists('Nette\DI\CompilerExtension')) {
20: class_alias('Nette\Config\CompilerExtension', 'Nette\DI\CompilerExtension');
21: class_alias('Nette\Config\Compiler', 'Nette\DI\Compiler');
22: class_alias('Nette\Config\Helpers', 'Nette\DI\Config\Helpers');
23: }
24:
25: if (isset(Nette\Loaders\NetteLoader::getInstance()->renamed['Nette\Configurator']) || !class_exists('Nette\Configurator')) {
26: unset(Nette\Loaders\NetteLoader::getInstance()->renamed['Nette\Configurator']);
27: class_alias('Nette\Config\Configurator', 'Nette\Configurator');
28: }
29:
30: 31: 32:
33: class RendererExtension extends Nette\DI\CompilerExtension
34: {
35:
36: public function loadConfiguration()
37: {
38: $builder = $this->getContainerBuilder();
39: $engine = $builder->getDefinition('nette.latte');
40:
41: $install = 'Kdyby\BootstrapFormRenderer\Latte\FormMacros::install';
42: $engine->addSetup($install . '(?->compiler)', array('@self'));
43: }
44:
45:
46:
47: 48: 49:
50: public static function register(Nette\Configurator $config)
51: {
52: $config->onCompile[] = function (Nette\Configurator $config, Compiler $compiler) {
53: $compiler->addExtension('twBootstrapRenderer', new RendererExtension());
54: };
55: }
56:
57: }
58: