2017-12-16 19:17:29 +00:00
|
|
|
<?php
|
2019-09-28 22:38:39 +00:00
|
|
|
namespace Misuzu;
|
|
|
|
|
2019-12-13 20:37:17 +00:00
|
|
|
use Misuzu\Http\HttpServerRequestMessage;
|
2019-12-14 22:47:36 +00:00
|
|
|
use Misuzu\Http\Filters\Filter;
|
2019-12-13 20:37:17 +00:00
|
|
|
use Misuzu\Http\Handlers\Handler;
|
|
|
|
use Misuzu\Http\Routing\Router;
|
|
|
|
use Misuzu\Http\Routing\Route;
|
|
|
|
|
2018-10-04 20:30:55 +00:00
|
|
|
require_once '../misuzu.php';
|
2018-01-03 21:39:01 +00:00
|
|
|
|
2019-12-13 20:37:17 +00:00
|
|
|
$request = HttpServerRequestMessage::fromGlobals();
|
2018-07-06 01:28:06 +00:00
|
|
|
|
2019-12-13 20:37:17 +00:00
|
|
|
$router = new Router;
|
|
|
|
$router->setInstance();
|
|
|
|
$router->addRoutes(
|
|
|
|
// Home
|
2019-12-15 01:59:19 +00:00
|
|
|
Route::get('/', Handler::call('index@Home')),
|
2019-12-04 00:08:42 +00:00
|
|
|
|
2020-05-10 04:08:22 +00:00
|
|
|
// Assets
|
|
|
|
Route::get('/assets/([a-zA-Z0-9\-]+)\.(css|js)', true, Handler::call('view@Assets')),
|
|
|
|
|
2019-12-13 20:37:17 +00:00
|
|
|
// Info
|
2019-12-15 01:59:19 +00:00
|
|
|
Route::get('/info', Handler::call('index@Info')),
|
|
|
|
Route::get('/info/([A-Za-z0-9_/]+)', true, Handler::call('page@Info')),
|
2018-07-11 21:48:41 +00:00
|
|
|
|
2019-12-14 22:47:36 +00:00
|
|
|
// Forum
|
2019-12-15 01:59:19 +00:00
|
|
|
Route::get('/forum/mark-as-read', Handler::call('markAsReadGET@Forum'))->addFilters(Filter::call('EnforceLogIn')),
|
|
|
|
Route::post('/forum/mark-as-read', Handler::call('markAsReadPOST@Forum'))->addFilters(Filter::call('EnforceLogIn'), Filter::call('ValidateCsrf')),
|
2019-12-14 22:47:36 +00:00
|
|
|
|
2019-12-14 00:52:38 +00:00
|
|
|
// Sock Chat
|
2019-12-15 01:59:19 +00:00
|
|
|
Route::create(['GET', 'POST'], '/_sockchat.php', Handler::call('phpFile@SockChat')),
|
|
|
|
Route::get('/_sockchat/emotes', Handler::call('emotes@SockChat')),
|
|
|
|
Route::get('/_sockchat/bans', Handler::call('bans@SockChat')),
|
|
|
|
Route::get('/_sockchat/login', Handler::call('login@SockChat')),
|
|
|
|
Route::post('/_sockchat/bump', Handler::call('bump@SockChat')),
|
|
|
|
Route::post('/_sockchat/verify', Handler::call('verify@SockChat')),
|
2019-12-14 00:52:38 +00:00
|
|
|
|
2019-12-13 20:37:17 +00:00
|
|
|
// Redirects
|
|
|
|
Route::get('/index.php', Handler::redirect(url('index'), true)),
|
|
|
|
Route::get('/info.php', Handler::redirect(url('info'), true)),
|
2019-12-15 01:59:19 +00:00
|
|
|
Route::get('/info.php/([A-Za-z0-9_/]+)', true, Handler::call('redir@Info')),
|
2019-12-15 02:12:01 +00:00
|
|
|
Route::get('/auth.php', Handler::call('legacy@Auth'))
|
2019-12-13 20:37:17 +00:00
|
|
|
);
|
2019-03-02 22:49:10 +00:00
|
|
|
|
2019-12-13 20:37:17 +00:00
|
|
|
$response = $router->handle($request);
|
|
|
|
$response->setHeader('X-Powered-By', 'Misuzu');
|
2018-04-30 21:39:43 +00:00
|
|
|
|
2019-12-13 20:37:17 +00:00
|
|
|
$responseStatus = $response->getStatusCode();
|
2019-01-18 14:11:15 +00:00
|
|
|
|
2019-12-13 20:37:17 +00:00
|
|
|
header('HTTP/' . $response->getProtocolVersion() . ' ' . $responseStatus . ' ' . $response->getReasonPhrase());
|
2018-12-31 01:37:47 +00:00
|
|
|
|
2019-12-13 20:37:17 +00:00
|
|
|
foreach($response->getHeaders() as $headerName => $headerSet)
|
|
|
|
foreach($headerSet as $headerLine)
|
|
|
|
header("{$headerName}: {$headerLine}");
|
2019-03-02 22:49:10 +00:00
|
|
|
|
2019-12-13 20:37:17 +00:00
|
|
|
$responseBody = $response->getBody();
|
2019-03-02 18:42:50 +00:00
|
|
|
|
2019-12-13 20:37:17 +00:00
|
|
|
if($responseStatus >= 400 && $responseStatus <= 599 && ($responseBody === null || $responseBody->getSize() < 1)) {
|
|
|
|
echo render_error($responseStatus);
|
|
|
|
} else {
|
|
|
|
echo (string)$responseBody;
|
|
|
|
}
|
2018-09-25 21:11:06 +00:00
|
|
|
|