X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=application%2Fcontainer%2FContainerBuilder.php;h=55bb51b5b46506f95b2d79280796c694cc1e9fc9;hb=f4ea7cd5633773a0f6438a1d50dbb70eeacf2f04;hp=ccb87c3a22cc93060e1ec882385814be05c66f23;hpb=1a8ac737e52cb25a5c346232ee398f5908cee7d7;p=github%2Fshaarli%2FShaarli.git diff --git a/application/container/ContainerBuilder.php b/application/container/ContainerBuilder.php index ccb87c3a..55bb51b5 100644 --- a/application/container/ContainerBuilder.php +++ b/application/container/ContainerBuilder.php @@ -9,12 +9,15 @@ use Shaarli\Bookmark\BookmarkServiceInterface; use Shaarli\Config\ConfigManager; use Shaarli\Feed\FeedBuilder; use Shaarli\Formatter\FormatterFactory; +use Shaarli\Front\Controller\Visitor\ErrorController; +use Shaarli\Front\Controller\Visitor\ErrorNotFoundController; use Shaarli\History; use Shaarli\Http\HttpAccess; use Shaarli\Netscape\NetscapeBookmarkUtils; use Shaarli\Plugin\PluginManager; use Shaarli\Render\PageBuilder; use Shaarli\Render\PageCacheManager; +use Shaarli\Security\CookieManager; use Shaarli\Security\LoginManager; use Shaarli\Security\SessionManager; use Shaarli\Thumbnailer; @@ -38,6 +41,9 @@ class ContainerBuilder /** @var SessionManager */ protected $session; + /** @var CookieManager */ + protected $cookieManager; + /** @var LoginManager */ protected $login; @@ -47,11 +53,13 @@ class ContainerBuilder public function __construct( ConfigManager $conf, SessionManager $session, + CookieManager $cookieManager, LoginManager $login ) { $this->conf = $conf; $this->session = $session; $this->login = $login; + $this->cookieManager = $cookieManager; } public function build(): ShaarliContainer @@ -60,6 +68,7 @@ class ContainerBuilder $container['conf'] = $this->conf; $container['sessionManager'] = $this->session; + $container['cookieManager'] = $this->cookieManager; $container['loginManager'] = $this->login; $container['basePath'] = $this->basePath; @@ -92,14 +101,16 @@ class ContainerBuilder $container['pluginManager'] = function (ShaarliContainer $container): PluginManager { $pluginManager = new PluginManager($container->conf); - // FIXME! Configuration is already injected $pluginManager->load($container->conf->get('general.enabled_plugins')); return $pluginManager; }; $container['formatterFactory'] = function (ShaarliContainer $container): FormatterFactory { - return new FormatterFactory($container->conf, $container->loginManager->isLoggedIn()); + return new FormatterFactory( + $container->conf, + $container->loginManager->isLoggedIn() + ); }; $container['pageCacheManager'] = function (ShaarliContainer $container): PageCacheManager { @@ -139,6 +150,16 @@ class ContainerBuilder ); }; + $container['notFoundHandler'] = function (ShaarliContainer $container): ErrorNotFoundController { + return new ErrorNotFoundController($container); + }; + $container['errorHandler'] = function (ShaarliContainer $container): ErrorController { + return new ErrorController($container); + }; + $container['phpErrorHandler'] = function (ShaarliContainer $container): ErrorController { + return new ErrorController($container); + }; + return $container; } }