share(function (PhraseaApplication $app) { return (new DatafileController($app, $app->getApplicationBox(), $app['acl'], $app->getAuthenticator())) ->setDataboxLoggerLocator($app['phraseanet.logger']) ->setDelivererLocator(new LazyLocator($app, 'phraseanet.file-serve')) ; }); } public function boot(Application $app) { } public function connect(Application $app) { $controllers = $app['controllers_factory']; $controllers->before(function (Request $request) use ($app) { if (!$app->getAuthenticator()->isAuthenticated()) { $app->abort(403, sprintf('You are not authorized to access %s', $request->getRequestUri())); } }); $controllers->get('/{sbas_id}/{record_id}/{subdef}/', 'controller.datafiles:getAction') ->bind('datafile') ->assert('sbas_id', '\d+') ->assert('record_id', '\d+'); return $controllers; } }