]> git.immae.eu Git - github/shaarli/Shaarli.git/blobdiff - application/container/ContainerBuilder.php
Process logout through Slim controller
[github/shaarli/Shaarli.git] / application / container / ContainerBuilder.php
index 99c123347c5b736720048b69729ec1dc0d203031..c5c4a2c3a2c15ba135ffc8418f051f0f12996f4e 100644 (file)
@@ -11,6 +11,7 @@ use Shaarli\Formatter\FormatterFactory;
 use Shaarli\History;
 use Shaarli\Plugin\PluginManager;
 use Shaarli\Render\PageBuilder;
+use Shaarli\Render\PageCacheManager;
 use Shaarli\Security\LoginManager;
 use Shaarli\Security\SessionManager;
 
@@ -34,19 +35,30 @@ class ContainerBuilder
     /** @var LoginManager */
     protected $login;
 
-    public function __construct(ConfigManager $conf, SessionManager $session, LoginManager $login)
-    {
+    /** @var string */
+    protected $webPath;
+
+    public function __construct(
+        ConfigManager $conf,
+        SessionManager $session,
+        LoginManager $login,
+        string $webPath
+    ) {
         $this->conf = $conf;
         $this->session = $session;
         $this->login = $login;
+        $this->webPath = $webPath;
     }
 
     public function build(): ShaarliContainer
     {
         $container = new ShaarliContainer();
+
         $container['conf'] = $this->conf;
         $container['sessionManager'] = $this->session;
         $container['loginManager'] = $this->login;
+        $container['webPath'] = $this->webPath;
+
         $container['plugins'] = function (ShaarliContainer $container): PluginManager {
             return new PluginManager($container->conf);
         };
@@ -81,6 +93,10 @@ class ContainerBuilder
             return new FormatterFactory($container->conf, $container->loginManager->isLoggedIn());
         };
 
+        $container['pageCacheManager'] = function (ShaarliContainer $container): PageCacheManager {
+            return new PageCacheManager($container->conf->get('resource.page_cache'));
+        };
+
         return $container;
     }
 }