Files
raby/bootstrap/web/setup.php
2020-04-07 15:37:21 -04:00

64 lines
2.4 KiB
PHP

<?php
use Psr\Container\ContainerInterface as Container;
return [
Slim\Views\Blade::class => function(Container $container) {
$manager = $container->get(ProVM\Common\Service\Filemanager::class);
$horario = $manager->folder('data')->load('horario.yml');
return new Slim\Views\Blade(
$container->get('blade_template_path'),
$container->get('blade_cache_path'),
null,
[
'urls' => (object) [
'base' => $container->get('urls.base'),
'assets' => (object) [
'images' => $container->get('urls.images'),
'styles' => $container->get('urls.styles'),
'scripts' => $container->get('urls.scripts'),
'fonts' => $container->get('urls.fonts')
],
'fojas' => $container->get('urls.fojas'),
'notaria_turno' => $container->get('urls.notaria.turno'),
'atencion' => (object) [
'url' => $container->get('urls.atencion'),
'logo' => $container->get('urls.atencion.logo')
],
'uploads' => $container->get('urls.uploads'),
'direccion' => $container->get('urls.direccion')
],
'horario' => $horario,
'styles' => $container->get('styles'),
'fonts' => $container->get('fonts'),
'scripts' => $container->get('scripts')
]
);
},
ProVM\Common\Service\Filemanager::class => function(Container $c) {
$manager = new ProVM\Common\Service\Filemanager($c->get(Symfony\Component\Filesystem\Filesystem::class), $c->get('folders.upload'));
$manager->addFolder('data', $c->get('folders.data'));
return $manager;
},
ProVM\NotariaRaby\Common\Service\Login::class => function(Container $c) {
return new ProVM\NotariaRaby\Common\Service\Login(
$c->get('app.cookie.name'),
$c->get('app.cookie.time'),
getenv('ADMIN_PASSWORD'),
$c->get('files.login'),
$c->get(ProVM\Common\Service\Filemanager::class)
);
},
ProVM\NotariaRaby\Common\Middleware\Auth::class => function(Container $c) {
return new ProVM\NotariaRaby\Common\Middleware\Auth(
['admin'],
$c->get('urls.login'),
$c->get(ProVM\NotariaRaby\Common\Service\Login::class)
);
},
Nette\Mail\SendmailMailer::class => DI\create(),
Nette\Mail\SmtpMailer::class => function(Container $c) {
return new Nette\Mail\SmtpMailer($c->get('email'));
},
Nette\Mail\Message::class => DI\create()
];