engelsystem/includes/engelsystem_provider.php

157 lines
5.6 KiB
PHP
Raw Normal View History

2015-05-14 16:37:12 +02:00
<?php
2017-01-20 21:12:19 +01:00
2017-09-19 14:50:20 +02:00
use Engelsystem\Application;
use Engelsystem\Config\Config;
2017-01-20 21:12:19 +01:00
use Engelsystem\Exceptions\Handler as ExceptionHandler;
use Engelsystem\Http\Request;
2017-08-30 19:57:01 +02:00
use Symfony\Component\HttpFoundation\Session\Session;
2017-09-19 18:30:42 +02:00
use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage;
2017-09-20 11:07:25 +02:00
use Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage;
2017-01-20 21:12:19 +01:00
2015-05-14 16:37:12 +02:00
/**
* This file includes all needed functions, connects to the db etc.
*/
2017-08-28 16:21:10 +02:00
require_once __DIR__ . '/autoload.php';
2017-08-31 17:30:54 +02:00
/**
2017-10-31 13:40:13 +01:00
* Initialize and bootstrap the application
2017-08-31 17:30:54 +02:00
*/
2017-09-21 20:52:19 +02:00
$app = new Application(realpath(__DIR__ . DIRECTORY_SEPARATOR . '..'));
$appConfig = $app->make(Config::class);
2017-10-31 13:40:13 +01:00
$appConfig->set(require config_path('app.php'));
$app->bootstrap($appConfig);
/**
* Configure application
*/
2017-10-31 13:40:13 +01:00
date_default_timezone_set($app->get('config')->get('timezone'));
if (config('environment') == 'development') {
2017-10-31 13:40:13 +01:00
$errorHandler = $app->get('error.handler');
$errorHandler->setEnvironment(ExceptionHandler::ENV_DEVELOPMENT);
ini_set('display_errors', true);
error_reporting(E_ALL);
} else {
ini_set('display_errors', false);
}
/**
2017-10-31 13:40:13 +01:00
* Check for maintenance
*/
2017-10-31 13:40:13 +01:00
if ($app->get('config')->get('maintenance')) {
echo file_get_contents(__DIR__ . '/../templates/maintenance.html');
die();
}
2017-09-19 18:30:42 +02:00
/**
2017-10-31 13:40:13 +01:00
* Initialize Request
*
* @var Request $request
2017-09-19 18:30:42 +02:00
*/
2017-10-31 13:40:13 +01:00
$request = Request::createFromGlobals();
$app->instance('request', $request);
2017-09-19 18:30:42 +02:00
/**
* Include legacy code
*/
2017-08-29 22:39:35 +02:00
$includeFiles = [
__DIR__ . '/../includes/sys_auth.php',
__DIR__ . '/../includes/sys_form.php',
__DIR__ . '/../includes/sys_log.php',
__DIR__ . '/../includes/sys_menu.php',
__DIR__ . '/../includes/sys_page.php',
__DIR__ . '/../includes/sys_template.php',
__DIR__ . '/../includes/model/AngelType_model.php',
__DIR__ . '/../includes/model/EventConfig_model.php',
__DIR__ . '/../includes/model/LogEntries_model.php',
__DIR__ . '/../includes/model/Message_model.php',
__DIR__ . '/../includes/model/NeededAngelTypes_model.php',
__DIR__ . '/../includes/model/Room_model.php',
__DIR__ . '/../includes/model/ShiftEntry_model.php',
__DIR__ . '/../includes/model/Shifts_model.php',
__DIR__ . '/../includes/model/ShiftsFilter.php',
__DIR__ . '/../includes/model/ShiftSignupState.php',
__DIR__ . '/../includes/model/ShiftTypes_model.php',
__DIR__ . '/../includes/model/UserAngelTypes_model.php',
__DIR__ . '/../includes/model/UserDriverLicenses_model.php',
__DIR__ . '/../includes/model/UserGroups_model.php',
__DIR__ . '/../includes/model/User_model.php',
__DIR__ . '/../includes/model/ValidationResult.php',
__DIR__ . '/../includes/view/AngelTypes_view.php',
__DIR__ . '/../includes/view/EventConfig_view.php',
__DIR__ . '/../includes/view/Questions_view.php',
__DIR__ . '/../includes/view/Rooms_view.php',
__DIR__ . '/../includes/view/ShiftCalendarLane.php',
__DIR__ . '/../includes/view/ShiftCalendarRenderer.php',
__DIR__ . '/../includes/view/ShiftCalendarShiftRenderer.php',
__DIR__ . '/../includes/view/ShiftsFilterRenderer.php',
__DIR__ . '/../includes/view/Shifts_view.php',
__DIR__ . '/../includes/view/ShiftEntry_view.php',
__DIR__ . '/../includes/view/ShiftTypes_view.php',
__DIR__ . '/../includes/view/UserAngelTypes_view.php',
__DIR__ . '/../includes/view/UserDriverLicenses_view.php',
__DIR__ . '/../includes/view/UserHintsRenderer.php',
__DIR__ . '/../includes/view/User_view.php',
__DIR__ . '/../includes/controller/angeltypes_controller.php',
__DIR__ . '/../includes/controller/event_config_controller.php',
__DIR__ . '/../includes/controller/rooms_controller.php',
__DIR__ . '/../includes/controller/shift_entries_controller.php',
__DIR__ . '/../includes/controller/shifts_controller.php',
__DIR__ . '/../includes/controller/shifttypes_controller.php',
__DIR__ . '/../includes/controller/users_controller.php',
__DIR__ . '/../includes/controller/user_angeltypes_controller.php',
__DIR__ . '/../includes/controller/user_driver_licenses_controller.php',
__DIR__ . '/../includes/helper/graph_helper.php',
__DIR__ . '/../includes/helper/internationalization_helper.php',
__DIR__ . '/../includes/helper/message_helper.php',
__DIR__ . '/../includes/helper/error_helper.php',
__DIR__ . '/../includes/helper/email_helper.php',
__DIR__ . '/../includes/mailer/shifts_mailer.php',
__DIR__ . '/../includes/mailer/users_mailer.php',
__DIR__ . '/../includes/pages/admin_active.php',
__DIR__ . '/../includes/pages/admin_arrive.php',
__DIR__ . '/../includes/pages/admin_free.php',
__DIR__ . '/../includes/pages/admin_groups.php',
__DIR__ . '/../includes/pages/admin_import.php',
__DIR__ . '/../includes/pages/admin_log.php',
__DIR__ . '/../includes/pages/admin_questions.php',
__DIR__ . '/../includes/pages/admin_rooms.php',
__DIR__ . '/../includes/pages/admin_shifts.php',
__DIR__ . '/../includes/pages/admin_user.php',
__DIR__ . '/../includes/pages/guest_login.php',
__DIR__ . '/../includes/pages/user_messages.php',
__DIR__ . '/../includes/pages/user_myshifts.php',
__DIR__ . '/../includes/pages/user_news.php',
__DIR__ . '/../includes/pages/user_questions.php',
__DIR__ . '/../includes/pages/user_settings.php',
__DIR__ . '/../includes/pages/user_shifts.php',
];
foreach ($includeFiles as $file) {
require_once realpath($file);
}
2015-05-14 16:37:12 +02:00
/**
* Init application
*/
2017-09-20 11:07:25 +02:00
$sessionStorage = (PHP_SAPI != 'cli' ? new NativeSessionStorage(['cookie_httponly' => true]) : new MockArraySessionStorage());
$session = new Session($sessionStorage);
2017-09-19 14:50:20 +02:00
$app->instance('session', $session);
2017-08-30 19:57:01 +02:00
$session->start();
$request->setSession($session);
2015-06-07 13:33:59 +02:00
2015-05-14 16:37:12 +02:00
gettext_init();
load_auth();