예제 #1
0
 public function register(Container $container)
 {
     Tool::buildDIC($container, $this->classes);
     $container['paginator'] = $container->factory(function ($c) {
         return new Paginator($c);
     });
     $container['oauth'] = $container->factory(function ($c) {
         return new OAuth2($c);
     });
     $container['httpClient'] = function ($c) {
         return new HttpClient($c);
     };
     $container['objectStorage'] = function () {
         return new FileStorage(FILES_DIR);
     };
     $container['emailClient'] = function ($container) {
         $mailer = new EmailClient($container);
         $mailer->setTransport('smtp', '\\Kanboard\\Core\\Mail\\Transport\\Smtp');
         $mailer->setTransport('sendmail', '\\Kanboard\\Core\\Mail\\Transport\\Sendmail');
         $mailer->setTransport('mail', '\\Kanboard\\Core\\Mail\\Transport\\Mail');
         return $mailer;
     };
     $container['cspRules'] = array('default-src' => "'self'", 'style-src' => "'self' 'unsafe-inline'", 'img-src' => '* data:');
     return $container;
 }
예제 #2
0
 public function register(Container $container)
 {
     Tool::buildDIC($container, $this->classes);
     $container['paginator'] = $container->factory(function ($c) {
         return new Paginator($c);
     });
     $container['oauth'] = $container->factory(function ($c) {
         return new OAuth2($c);
     });
     $container['httpClient'] = function ($c) {
         return new HttpClient($c);
     };
     $container['objectStorage'] = function () {
         return new FileStorage(FILES_DIR);
     };
     $container['cspRules'] = array('default-src' => "'self'", 'style-src' => "'self' 'unsafe-inline'", 'img-src' => '* data:');
     return $container;
 }
예제 #3
0
 public function register(Container $container)
 {
     Tool::buildDIC($container, $this->classes);
     $container['paginator'] = $container->factory(function ($c) {
         return new Paginator($c);
     });
     $container['oauth'] = $container->factory(function ($c) {
         return new OAuth2($c);
     });
     $container['httpClient'] = function ($c) {
         return new HttpClient($c);
     };
     $container['htmlConverter'] = function () {
         return new HtmlConverter(array('strip_tags' => true));
     };
     $container['objectStorage'] = function () {
         return new FileStorage(FILES_DIR);
     };
     $container['emailClient'] = function ($container) {
         $mailer = new EmailClient($container);
         $mailer->setTransport('smtp', '\\Kanboard\\Core\\Mail\\Transport\\Smtp');
         $mailer->setTransport('sendmail', '\\Kanboard\\Core\\Mail\\Transport\\Sendmail');
         $mailer->setTransport('mail', '\\Kanboard\\Core\\Mail\\Transport\\Mail');
         return $mailer;
     };
     $container['userNotificationType'] = function ($container) {
         $type = new UserNotificationType($container);
         $type->setType(MailNotification::TYPE, t('Email'), '\\Kanboard\\Notification\\Mail');
         $type->setType(WebNotification::TYPE, t('Web'), '\\Kanboard\\Notification\\Web');
         return $type;
     };
     $container['projectNotificationType'] = function ($container) {
         $type = new ProjectNotificationType($container);
         $type->setType('webhook', 'Webhook', '\\Kanboard\\Notification\\Webhook', true);
         $type->setType('activity_stream', 'ActivityStream', '\\Kanboard\\Notification\\ActivityStream', true);
         return $type;
     };
     $container['pluginLoader'] = new Loader($container);
     $container['cspRules'] = array('style-src' => "'self' 'unsafe-inline'", 'img-src' => '* data:');
     return $container;
 }
예제 #4
0
 /**
  * Initialize plugin
  *
  * @access public
  * @param  Base $plugin
  */
 public function initializePlugin(Base $plugin)
 {
     if (method_exists($plugin, 'onStartup')) {
         $this->dispatcher->addListener('app.bootstrap', array($plugin, 'onStartup'));
     }
     Tool::buildDIC($this->container, $plugin->getClasses());
     Tool::buildDICHelpers($this->container, $plugin->getHelpers());
     $plugin->initialize();
     $this->plugins[] = $plugin;
 }