1<?php 2 3namespace Kanboard\ServiceProvider; 4 5use Kanboard\Subscriber\LdapUserPhotoSubscriber; 6use Pimple\Container; 7use Pimple\ServiceProviderInterface; 8use Symfony\Component\EventDispatcher\EventDispatcher; 9use Kanboard\Subscriber\AuthSubscriber; 10use Kanboard\Subscriber\BootstrapSubscriber; 11use Kanboard\Subscriber\NotificationSubscriber; 12use Kanboard\Subscriber\ProjectDailySummarySubscriber; 13use Kanboard\Subscriber\ProjectModificationDateSubscriber; 14use Kanboard\Subscriber\TransitionSubscriber; 15use Kanboard\Subscriber\RecurringTaskSubscriber; 16 17/** 18 * Class EventDispatcherProvider 19 * 20 * @package Kanboard\ServiceProvider 21 * @author Frederic Guillot 22 */ 23class EventDispatcherProvider implements ServiceProviderInterface 24{ 25 public function register(Container $container) 26 { 27 $container['dispatcher'] = new EventDispatcher; 28 $container['dispatcher']->addSubscriber(new BootstrapSubscriber($container)); 29 $container['dispatcher']->addSubscriber(new AuthSubscriber($container)); 30 $container['dispatcher']->addSubscriber(new ProjectDailySummarySubscriber($container)); 31 $container['dispatcher']->addSubscriber(new ProjectModificationDateSubscriber($container)); 32 $container['dispatcher']->addSubscriber(new NotificationSubscriber($container)); 33 $container['dispatcher']->addSubscriber(new TransitionSubscriber($container)); 34 $container['dispatcher']->addSubscriber(new RecurringTaskSubscriber($container)); 35 36 if (LDAP_AUTH && LDAP_USER_ATTRIBUTE_PHOTO !== '') { 37 $container['dispatcher']->addSubscriber(new LdapUserPhotoSubscriber($container)); 38 } 39 40 return $container; 41 } 42} 43