use Shaarli\Bookmark\BookmarkFileService;
use Shaarli\Bookmark\BookmarkServiceInterface;
use Shaarli\Config\ConfigManager;
+use Shaarli\Feed\FeedBuilder;
use Shaarli\Formatter\FormatterFactory;
use Shaarli\History;
+use Shaarli\Http\HttpAccess;
use Shaarli\Plugin\PluginManager;
use Shaarli\Render\PageBuilder;
use Shaarli\Render\PageCacheManager;
use Shaarli\Security\LoginManager;
use Shaarli\Security\SessionManager;
+use Shaarli\Thumbnailer;
/**
* Class ContainerBuilder
/** @var LoginManager */
protected $login;
- /** @var string */
- protected $webPath;
+ /** @var string|null */
+ protected $basePath = null;
public function __construct(
ConfigManager $conf,
SessionManager $session,
- LoginManager $login,
- string $webPath
+ LoginManager $login
) {
$this->conf = $conf;
$this->session = $session;
$this->login = $login;
- $this->webPath = $webPath;
}
public function build(): ShaarliContainer
$container['conf'] = $this->conf;
$container['sessionManager'] = $this->session;
$container['loginManager'] = $this->login;
- $container['webPath'] = $this->webPath;
+ $container['basePath'] = $this->basePath;
$container['plugins'] = function (ShaarliContainer $container): PluginManager {
return new PluginManager($container->conf);
};
$container['pageCacheManager'] = function (ShaarliContainer $container): PageCacheManager {
- return new PageCacheManager($container->conf->get('resource.page_cache'));
+ return new PageCacheManager(
+ $container->conf->get('resource.page_cache'),
+ $container->loginManager->isLoggedIn()
+ );
+ };
+
+ $container['feedBuilder'] = function (ShaarliContainer $container): FeedBuilder {
+ return new FeedBuilder(
+ $container->bookmarkService,
+ $container->formatterFactory->getFormatter(),
+ $container->environment,
+ $container->loginManager->isLoggedIn()
+ );
+ };
+
+ $container['thumbnailer'] = function (ShaarliContainer $container): Thumbnailer {
+ return new Thumbnailer($container->conf);
+ };
+
+ $container['httpAccess'] = function (): HttpAccess {
+ return new HttpAccess();
};
return $container;