/**
  * Register providers
  *
  * @access public
  * @param  \Pimple\Container $container
  * @return \Pimple\Container
  */
 public function register(Container $container)
 {
     $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;
     };
     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['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;
 }
 public function testGetSelectedTypes()
 {
     $nt = new ProjectNotificationType($this->container);
     $p = new Project($this->container);
     $this->assertEquals(1, $p->create(array('name' => 'UnitTest')));
     // No type defined
     $this->assertEmpty($nt->getSelectedTypes(1));
     // Hidden type
     $nt->setType('baz', 'Baz', 'Something3', true);
     $this->assertEmpty($nt->getSelectedTypes(1));
     // User defined types but not registered
     $this->assertTrue($nt->saveSelectedTypes(1, array('foo', 'bar')));
     $this->assertEmpty($nt->getSelectedTypes(1));
     // User defined types and registered
     $nt->setType('bar', 'Bar', 'Something4');
     $nt->setType('foo', 'Foo', 'Something3');
     $this->assertEquals(array('bar', 'foo'), $nt->getSelectedTypes(1));
 }