33 lines
1.4 KiB
PHP
33 lines
1.4 KiB
PHP
<?php
|
|
declare(strict_types=1);
|
|
define('IX_ENVBASE', 'SITE');
|
|
define('IX_BASE', dirname(__FILE__));
|
|
require_once(IX_BASE . '/vendor/autoload.php');
|
|
|
|
use ix\HookMachine;
|
|
use ix\Container\Container;
|
|
use ix\Controller\Controller;
|
|
use ix\Application\Application;
|
|
|
|
/* Language initialization */
|
|
(new \i18n(IX_BASE . '/lang/{LANGUAGE}.ini', IX_BASE . '/cache/lang', 'en'))->init();
|
|
|
|
/* Container hooks */
|
|
HookMachine::add([Container::class, 'construct'], '\ix\Container\ContainerHooksHtmlRenderer::hookContainerHtmlRenderer');
|
|
HookMachine::add([Container::class, 'construct'], '\ix\Container\ContainerHooksSession::hookContainerSession');
|
|
HookMachine::add([Container::class, 'construct'], '\ix\Container\ContainerHooksEasyCSRF::hookContainerEasyCSRFSession');
|
|
|
|
/* CSRF error */
|
|
HookMachine::add([Controller::class, 'request', 'invalidCSRFToken'], '\ix\Controller\ControllerHookInvalidCSRFTokenErrorPage::hookControllerInvalidCSRFToken');
|
|
|
|
/* Application alerters */
|
|
HookMachine::add([\NeotelApply\IndexController::class, 'sendAlert'], '\NeotelApply\ApplicationAlerters::pushover');
|
|
HookMachine::add([\NeotelApply\IndexController::class, 'sendAlert'], '\NeotelApply\ApplicationAlerters::discord');
|
|
|
|
/* Application routes */
|
|
HookMachine::add([Application::class, 'create_app', 'routeRegister'], (function ($key, $app) {
|
|
$app->redirect('/', '/register', 301);
|
|
$app->any('/register', \NeotelApply\IndexController::class);
|
|
return $app;
|
|
}));
|