misuzu/misuzu.php

51 lines
1.4 KiB
PHP
Raw Normal View History

<?php
namespace Misuzu;
require_once 'vendor/autoload.php';
$app = Application::start(
__DIR__ . '/config/config.ini',
IO\Directory::exists(__DIR__ . '/vendor/phpunit/phpunit')
);
$app->startDatabase();
if (PHP_SAPI !== 'cli') {
2018-03-24 04:31:42 +00:00
$storage_dir = $app->getStoragePath();
if (!$storage_dir->isReadable()
|| !$storage_dir->isWritable()) {
echo 'Cannot access storage directory.';
exit;
}
if (!$app->inDebugMode()) {
ob_start('ob_gzhandler');
}
2018-03-31 22:28:32 +00:00
if ($app->config->get('Auth', 'lockdown', 'bool', false)) {
http_response_code(503);
$app->startTemplating();
$app->templating->addPath('auth', __DIR__ . '/views/auth');
echo $app->templating->render('lockdown');
exit;
}
if (isset($_COOKIE['msz_uid'], $_COOKIE['msz_sid'])) {
$app->startSession((int)$_COOKIE['msz_uid'], $_COOKIE['msz_sid']);
}
2018-03-28 00:35:37 +00:00
$manage_mode = starts_with($_SERVER['REQUEST_URI'], '/manage');
$app->startTemplating();
2018-03-28 00:35:37 +00:00
$app->templating->addPath('mio', __DIR__ . '/views/mio');
if ($manage_mode) {
2018-03-31 22:28:32 +00:00
if (Application::getInstance()->getSession() === null || $_SERVER['HTTP_HOST'] !== 'misuzu.misaka.nl') {
2018-03-28 00:35:37 +00:00
http_response_code(403);
echo $app->templating->render('errors.403');
exit;
}
$app->templating->addPath('manage', __DIR__ . '/views/manage');
}
}