public function register(Devaloka $devaloka, ContainerInterface $container)
 {
     $container->add('transient.class', 'Devaloka\\Transient\\Transient');
     $container->add('transient', function (Container $container) {
         return new $container['transient.class']();
     });
 }
 public function register(Devaloka $devaloka, ContainerInterface $container)
 {
     $container->add('translator.class', 'Devaloka\\Component\\Translation\\WordPressTranslator');
     $container->add('translator', function (Container $container) {
         return new $container['translator.class']();
     });
 }
 public function register(Devaloka $devaloka, ContainerInterface $container)
 {
     // Plugin
     $container->add('devaloka.plugin.network.file', $this->file);
     $container->add('devaloka.plugin.network.class', 'Devaloka\\Plugin\\Network\\Network');
     $container->add('devaloka.plugin.network', function (Container $container) {
         $plugin = new $container['devaloka.plugin.network.class']($container['devaloka.plugin.network.file']);
         if ($plugin instanceof ContainerAwareInterface) {
             $plugin->setContainer($container['container']);
         }
         if ($plugin instanceof TranslatorAwareInterface) {
             $plugin->setTranslator($container['translator']);
         }
         return $plugin;
     });
     // Event Listener
     $container->add('devaloka.plugin.network.network_listener.class', 'Devaloka\\Plugin\\Network\\EventListener\\NetworkListener');
     $container->add('devaloka.plugin.network.network_listener', function (Container $container) {
         $plugin = $container['devaloka.plugin.network'];
         $listener = new $container['devaloka.plugin.network.network_listener.class']($plugin);
         if ($listener instanceof EventDispatcherAwareInterface) {
             $listener->setEventDispatcher($container['event_dispatcher']);
         }
         return $listener;
     });
 }
 public function register(Devaloka $devaloka, ContainerInterface $container)
 {
     $container->add('event_dispatcher.class', 'Devaloka\\Component\\EventDispatcher\\EventDispatcher');
     $container->add('event_dispatcher', function (Container $container) {
         return new $container['event_dispatcher.class']();
     });
 }
 /**
  * {@inheritDoc}
  */
 public function register(Devaloka $devaloka, ContainerInterface $container)
 {
     $container->add('event_converter.class', 'Devaloka\\EventConverter\\EventConverter');
     $container->add('event_converter', function (Container $container) {
         return new $container['event_converter.class']($container['event_dispatcher']);
     });
     $container->add('event_converter.converter_listener.class', 'Devaloka\\EventConverter\\EventListener\\EventConverterListener');
     $container->add('event_converter.converter_listener', function (Container $container) {
         return new $container['event_converter.converter_listener.class']($container['event_converter']);
     });
 }
 /**
  * {@inheritDoc}
  */
 public function register(Devaloka $devaloka, ContainerInterface $container)
 {
     // Templating
     $container->add('templating.class', 'Devaloka\\Component\\Templating\\Templating');
     $container->add('templating', function (Container $container) {
         $templating = new $container['templating.class']();
         return $templating;
     });
     // Event Listener
     $container->add('templating.templating_listener.class', 'Devaloka\\Component\\Templating\\EventListener\\TemplatingListener');
     $container->add('templating.templating_listener', function (Container $container) {
         $templating = $container['templating'];
         $listener = new $container['templating.templating_listener.class']($templating);
         if ($listener instanceof EventDispatcherAwareInterface) {
             $listener->setEventDispatcher($container['event_dispatcher']);
         }
         return $listener;
     });
 }
 /**
  * {@inheritDoc}
  */
 public function register(Devaloka $devaloka, ContainerInterface $container)
 {
     // wpdb
     $container->add('wpdb', function (Container $container) {
         if (isset($GLOBALS['wpdb'])) {
             return $GLOBALS['wpdb'];
         }
         $wpdb = new wpdb(DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);
         $GLOBALS['wpdb'] = $wpdb;
         return $wpdb;
     });
     // WP_Embed
     $container->add('wp_embed', function (Container $container) {
         if ($GLOBALS['wp_embed']) {
             return $GLOBALS['wp_embed'];
         }
         $wpEmbed = new WP_Embed();
         $GLOBALS['wp_embed'] = $wpEmbed;
         return $wpEmbed;
     });
     // WP_Styles
     $container->add('wp_styles', function (Container $container) {
         if ($GLOBALS['wp_styles']) {
             return $GLOBALS['wp_styles'];
         }
         $wpStyles = new WP_Styles();
         $GLOBALS['wp_styles'] = $wpStyles;
         return $wpStyles;
     });
     // WP_Scripts
     $container->add('wp_scripts', function (Container $container) {
         if ($GLOBALS['wp_scripts']) {
             return $GLOBALS['wp_scripts'];
         }
         $wpScripts = new WP_Scripts();
         $GLOBALS['wp_scripts'] = $wpScripts;
         return $wpScripts;
     });
     // WP_Widget_Factory
     $container->add('wp_widget_factory.class', 'Devaloka\\Component\\Wp\\WpWidgetFactory');
     $container->add('wp_widget_factory', function (Container $container) {
         if (isset($GLOBALS['wp_widget_factory']) && $GLOBALS['wp_widget_factory'] instanceof $container['wp_widget_factory.class']) {
             return $GLOBALS['wp_widget_factory'];
         }
         $wpWidgetFactory = new $container['wp_widget_factory.class']();
         if ($wpWidgetFactory instanceof ContainerAwareInterface) {
             $wpWidgetFactory->setContainer($container['container']);
         }
         $GLOBALS['wp_widget_factory'] = $wpWidgetFactory;
         return $wpWidgetFactory;
     });
 }
 public function register(Devaloka $devaloka, ContainerInterface $container)
 {
     $container->add('devaloka.file', $this->file);
     $container->add('devaloka', $devaloka);
     $GLOBALS['devaloka'] = isset($GLOBALS['devaloka']) ? $GLOBALS['devaloka'] : $devaloka;
 }
 public function register(Devaloka $devaloka, ContainerInterface $container)
 {
     $container->add('devaloka.plugin.site.file', $this->file);
     // Main Plugin
     $container->add('devaloka.plugin.site.main.class', 'Devaloka\\Plugin\\Site\\Main');
     $container->add('devaloka.plugin.site.main', function (Container $container) {
         $plugin = new $container['devaloka.plugin.site.main.class']($container['devaloka.plugin.site.file']);
         if ($plugin instanceof ContainerAwareInterface) {
             $plugin->setContainer($container['container']);
         }
         if ($plugin instanceof TranslatorAwareInterface) {
             $plugin->setTranslator($container['translator']);
         }
         return $plugin;
     });
     // Sub Plugin
     $container->add('devaloka.plugin.site.sub.class', 'Devaloka\\Plugin\\Site\\Sub');
     $container->add('devaloka.plugin.site.sub', function (Container $container) {
         $plugin = new $container['devaloka.plugin.site.sub.class']($container['devaloka.plugin.site.file']);
         if ($plugin instanceof ContainerAwareInterface) {
             $plugin->setContainer($container['container']);
         }
         if ($plugin instanceof TranslatorAwareInterface) {
             $plugin->setTranslator($container['translator']);
         }
         return $plugin;
     });
     // Main Event Listener
     $container->add('devaloka.plugin.site.main.site_listener.class', 'Devaloka\\Plugin\\Site\\EventListener\\MainListener');
     $container->add('devaloka.plugin.site.main.site_listener', function (Container $container) {
         $plugin = $container['devaloka.plugin.site.main'];
         $listener = new $container['devaloka.plugin.site.main.site_listener.class']($plugin);
         if ($listener instanceof EventDispatcherAwareInterface) {
             $listener->setEventDispatcher($container['event_dispatcher']);
         }
         return $listener;
     });
     // Sub Event Listener
     $container->add('devaloka.plugin.site.sub.site_listener.class', 'Devaloka\\Plugin\\Site\\EventListener\\SubListener');
     $container->add('devaloka.plugin.site.sub.site_listener', function (Container $container) {
         $plugin = $container['devaloka.plugin.site.sub'];
         $listener = new $container['devaloka.plugin.site.sub.site_listener.class']($plugin);
         if ($listener instanceof EventDispatcherAwareInterface) {
             $listener->setEventDispatcher($container['event_dispatcher']);
         }
         return $listener;
     });
     // Plugin
     $container->add('devaloka.plugin.site.type', function () {
         return is_main_site() ? 'main' : 'sub';
     });
     $container->add('devaloka.plugin.site', function (Container $container) {
         $type = $container['devaloka.plugin.site.type'];
         return $container['devaloka.plugin.site.' . $type];
     });
     // Event Listener
     $container->add('devaloka.plugin.site.site_listener.class', function (Container $container) {
         $type = $container['devaloka.plugin.site.type'];
         return $container['devaloka.plugin.site.' . $type . '.site_listener.class'];
     });
     $container->add('devaloka.plugin.site.site_listener', function (Container $container) {
         $type = $container['devaloka.plugin.site.type'];
         return $container['devaloka.plugin.site.' . $type . '.site_listener'];
     });
     // Text Domain
     $container->add('devaloka.plugin.site.text_domain', function (Container $container) {
         $type = $container['devaloka.plugin.site.type'];
         return 'devaloka-' . $type;
     });
 }