Files
grocy/app.php

55 lines
1.3 KiB
PHP
Raw Normal View History

2018-04-15 14:51:31 +02:00
<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
use \Grocy\Helpers\UrlManager;
use \Grocy\Controllers\LoginController;
2018-04-15 14:51:31 +02:00
2018-07-16 21:17:32 +02:00
if (file_exists(__DIR__ . '/embedded.txt'))
{
2018-07-24 19:41:35 +02:00
define('GROCY_DATAPATH', file_get_contents(__DIR__ . '/embedded.txt'));
2018-07-16 21:17:32 +02:00
}
else
{
2018-07-24 19:41:35 +02:00
define('GROCY_DATAPATH', __DIR__ . '/data');
2018-07-16 21:17:32 +02:00
}
2018-04-15 14:51:31 +02:00
require_once __DIR__ . '/vendor/autoload.php';
2018-07-24 19:41:35 +02:00
require_once GROCY_DATAPATH . '/config.php';
require_once __DIR__ . '/config-dist.php'; //For not in own config defined values we use the default ones
2018-04-15 14:51:31 +02:00
// Setup base application
$appContainer = new \Slim\Container([
'settings' => [
'displayErrorDetails' => true,
'determineRouteBeforeAppMiddleware' => true
],
'view' => function($container)
{
2018-07-24 19:41:35 +02:00
return new \Slim\Views\Blade(__DIR__ . '/views', GROCY_DATAPATH . '/viewcache');
},
'LoginControllerInstance' => function($container)
{
return new LoginController($container, 'grocy_session');
},
'UrlManager' => function($container)
{
2018-07-24 19:41:35 +02:00
return new UrlManager(GROCY_BASE_URL);
},
'ApiKeyHeaderName' => function($container)
{
return 'GROCY-API-KEY';
}
]);
$app = new \Slim\App($appContainer);
if (PHP_SAPI === 'cli')
2018-04-15 14:51:31 +02:00
{
$app->add(\pavlakis\cli\CliRequest::class);
}
require_once __DIR__ . '/routes.php';
$app->run();