<?php require_once __DIR__ . "/../common.php"; $app = new Cilex\Application("aruna"); $app['posts_root'] = getenv("ROOT_DIR") . "/posts"; $app['db_file'] = getenv("ROOT_DIR") . "/aruna_db.sq3"; $app['thumbnails_root'] = getenv("ROOT_DIR") . "/thumbnails"; $app['pushover_user_token'] = getenv("PUSHOVER_USER_TOKEN"); $app['pushover_api_token'] = getenv("PUSHOVER_API_TOKEN"); // PROVIDERS // SERVICES $app['monolog'] = $app->share(function () use($app) { $log = new Monolog\Logger("aruna"); $log->pushHandler(new Monolog\Handler\StreamHandler('php://stdout')); return $log; }); $app['http_client'] = $app->share(function () { return new GuzzleHttp\Client(array('timeout' => 20.0)); }); $app['mentions_repository_writer'] = $app->share(function () use($app) { return new Aruna\Webmention\MentionsRepositoryWriter($app['db_cache']); }); $app['image_resizer'] = $app->share(function () use($app) { return new Aruna\Micropub\ImageResizer($app['monolog'], getenv("ROOT_DIR"), $app['thumbnails_root']); }); $app['event_store'] = $app->share(function () use($app) { $adapter = new \League\Flysystem\Adapter\Local(getenv("ROOT_DIR")); $filesystem = new \League\Flysystem\Filesystem($adapter); return new Aruna\EventStore($filesystem); }); $app['db_cache'] = $app->share(function () use($app) {