Update routers

This commit is contained in:
Valithor Obsidion 2025-08-15 02:43:24 -04:00
parent 6028f50cd1
commit bcb9139995
8 changed files with 77 additions and 59 deletions

View File

@ -17,7 +17,25 @@ use DragonKnight\Actions\Help;
use DragonKnight\Actions\Install; use DragonKnight\Actions\Install;
use DragonKnight\Actions\Towns; use DragonKnight\Actions\Towns;
use DragonKnight\Actions\Users; use DragonKnight\Actions\Users;
use DragonKnight\Admin\Admin; use DragonKnight\Actions\Admin;
ini_set('display_errors', 1);
error_reporting(E_ALL);
set_time_limit(0);
ignore_user_abort(true);
ini_set('max_execution_time', 0);
ini_set('memory_limit', '-1'); // Unlimited memory usage
if (! $autoloader = require file_exists(__DIR__.'/../vendor/autoload.php') ? __DIR__.'/../vendor/autoload.php' : __DIR__.'/../../autoload.php') {
throw new \Exception('Composer autoloader not found. Run `composer install` and try again.');
}
if (! extension_loaded('sqlite3')) {
throw new \Exception('The SQLite3 extension is required but not loaded. Please enable it in your PHP configuration.');
}
$uri = explode('/', trim(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH), '/'));
// Do an early return with babblebox data if that's what's being requested // Do an early return with babblebox data if that's what's being requested
if ($uri[0] === 'babblebox' && (isset($uri[1]) && $uri[1] === 'messages')) { if ($uri[0] === 'babblebox' && (isset($uri[1]) && $uri[1] === 'messages')) {
@ -27,14 +45,14 @@ if ($uri[0] === 'babblebox' && (isset($uri[1]) && $uri[1] === 'messages')) {
$r = new Router; $r = new Router;
$r->get('/', 'DragonKnight\index'); $r->get('/', fn() => \DragonKnight\index());
$r->post('/move', 'DragonKnight\Actions\Explore::move'); $r->post('/move', fn() => \DragonKnight\Actions\Explore::move());
$r->get('/spell/:id', 'DragonKnight\Actions\Heal::healspells'); $r->get('/spell/:id', fn($id) => \DragonKnight\Actions\Heal::healspells($id));
$r->get('/character', 'DragonKnight\show_character_info'); $r->get('/character', fn() => \DragonKnight\show_character_info());
$r->get('/character/:id', 'DragonKnight\show_character_info'); $r->get('/character/:id', fn($id) => \DragonKnight\show_character_info($id));
$r->get('/showmap', 'DragonKnight\show_map'); $r->get('/showmap', fn() => \DragonKnight\show_map());
$r->form('/babblebox', 'DragonKnight\babblebox'); $r->form('/babblebox', fn() => \DragonKnight\babblebox());
$r->get('/babblebox/messages', 'DragonKnight\babblebox_messages'); $r->get('/babblebox/messages', fn() => \DragonKnight\babblebox_messages());
Towns::register_routes($r); Towns::register_routes($r);
Fight::register_routes($r); Fight::register_routes($r);

View File

@ -11,7 +11,7 @@ declare(strict_types=1);
* with this source code in the LICENSE.md file. * with this source code in the LICENSE.md file.
*/ */
namespace DragonKnight\Admin; namespace DragonKnight\Actions;
use DragonKnight\Router; use DragonKnight\Router;
use SQLite3Result; use SQLite3Result;
@ -36,32 +36,32 @@ class Admin
public static function register_routes(Router $r): Router public static function register_routes(Router $r): Router
{ {
if (user() !== false && user()->authlevel === 1) { if (user() !== false && user()->authlevel === 1) {
$r->get('/admin', 'Admin\donothing'); $r->get('/admin', fn() => \DragonKnight\Actions\Admin::donothing());
$r->form('/admin/main', 'Admin\primary'); $r->form('/admin/main', fn() => \DragonKnight\Actions\Admin::primary());
$r->get('/admin/items', 'Admin\items'); $r->get('/admin/items', fn() => \DragonKnight\Actions\Admin::items());
$r->form('/admin/items/:id', 'Admin\edit_item'); $r->form('/admin/items/:id', fn($id) => \DragonKnight\Actions\Admin::edit_item($id));
$r->get('/admin/drops', 'Admin\drops'); $r->get('/admin/drops', fn() => \DragonKnight\Actions\Admin::drops());
$r->form('/admin/drops/:id', 'Admin\edit_drop'); $r->form('/admin/drops/:id', fn($id) => \DragonKnight\Actions\Admin::edit_drop($id));
$r->get('/admin/towns', 'Admin\towns'); $r->get('/admin/towns', fn() => \DragonKnight\Actions\Admin::towns());
$r->form('/admin/towns/:id', 'Admin\edit_town'); $r->form('/admin/towns/:id', fn($id) => \DragonKnight\Actions\Admin::edit_town($id));
$r->get('/admin/monsters', 'Admin\monsters'); $r->get('/admin/monsters', fn() => \DragonKnight\Actions\Admin::monsters());
$r->form('/admin/monsters/:id', 'Admin\edit_monster'); $r->form('/admin/monsters/:id', fn($id) => \DragonKnight\Actions\Admin::edit_monster($id));
$r->get('/admin/levels', 'Admin\levels'); $r->get('/admin/levels', fn() => \DragonKnight\Actions\Admin::levels());
$r->post('/admin/levels', 'Admin\edit_level'); $r->post('/admin/levels', fn() => \DragonKnight\Actions\Admin::edit_level());
$r->get('/admin/spells', 'Admin\spells'); $r->get('/admin/spells', fn() => \DragonKnight\Actions\Admin::spells());
$r->form('/admin/spells/:id', 'Admin\edit_spell'); $r->form('/admin/spells/:id', fn($id) => \DragonKnight\Actions\Admin::edit_spell($id));
$r->get('/admin/users', 'Admin\users'); $r->get('/admin/users', fn() => \DragonKnight\Actions\Admin::users());
$r->form('/admin/users/:id', 'Admin\edit_user'); $r->form('/admin/users/:id', fn($id) => \DragonKnight\Actions\Admin::edit_user($id));
$r->form('/admin/news', 'Admin\add_news'); $r->form('/admin/news', fn() => \DragonKnight\Actions\Admin::add_news());
} }
return $r; return $r;

View File

@ -28,10 +28,10 @@ class Fight
{ {
public static function register_routes(Router $r): Router public static function register_routes(Router $r): Router
{ {
$r->form('/fight', 'Fights\fight'); $r->form('/fight', fn() => \DragonKnight\Actions\Fight::fight());
$r->get('/victory', 'Fights\victory'); $r->get('/victory', fn() => \DragonKnight\Actions\Fight::victory());
$r->form('/drop', 'Fights\drop'); $r->form('/drop', fn() => \DragonKnight\Actions\Fight::drop());
$r->get('/dead', 'Fights\dead'); $r->get('/dead', fn() => \DragonKnight\Actions\Fight::dead());
return $r; return $r;
} }

View File

@ -27,11 +27,11 @@ class Forum
{ {
public static function register_routes(Router $r): Router public static function register_routes(Router $r): Router
{ {
$r->get('/forum/thread/:x/:x', 'Forum\showthread'); $r->get('/forum/thread/:x/:x', fn($x, $y) => \DragonKnight\Actions\Forum::showthread($x, $y));
$r->form('/forum/new', 'Forum\newthread'); $r->form('/forum/new', fn() => \DragonKnight\Actions\Forum::newthread());
$r->post('/forum/reply', 'Forum\reply'); $r->post('/forum/reply', fn() => \DragonKnight\Actions\Forum::reply());
$r->get('/forum/list/:x', 'Forum\donothing'); $r->get('/forum/list/:x', fn($x) => \DragonKnight\Actions\Forum::donothing($x));
$r->get('/forum', 'Forum\donothing'); $r->get('/forum', fn() => \DragonKnight\Actions\Forum::donothing());
return $r; return $r;
} }

View File

@ -24,11 +24,11 @@ class Help
{ {
public static function register_routes(Router $r): Router public static function register_routes(Router $r): Router
{ {
$r->get('/help', 'Help\main'); $r->get('/help', fn() => \DragonKnight\Actions\Help::main());
$r->get('/help/items', 'Help\items'); $r->get('/help/items', fn() => \DragonKnight\Actions\Help::items());
$r->get('/help/spells', 'Help\spells'); $r->get('/help/spells', fn() => \DragonKnight\Actions\Help::spells());
$r->get('/help/monsters', 'Help\monsters'); $r->get('/help/monsters', fn() => \DragonKnight\Actions\Help::monsters());
$r->get('/help/levels', 'Help\levels'); $r->get('/help/levels', fn() => \DragonKnight\Actions\Help::levels());
return $r; return $r;
} }

View File

@ -24,11 +24,11 @@ class Install
public static function register_routes(Router $r): Router public static function register_routes(Router $r): Router
{ {
if (! file_exists(getcwd().'/.installed')) { if (! file_exists(getcwd().'/.installed')) {
$r->get('/install', 'Install\first'); $r->get('/install', fn() => \DragonKnight\Actions\Install::first());
$r->get('/install/second', 'Install\second'); $r->get('/install/second', fn() => \DragonKnight\Actions\Install::second());
$r->get('/install/third', 'Install\third'); $r->get('/install/third', fn() => \DragonKnight\Actions\Install::third());
$r->post('/install/fourth', 'Install\fourth'); $r->post('/install/fourth', fn() => \DragonKnight\Actions\Install::fourth());
$r->get('/install/fifth', 'Install\fifth'); $r->get('/install/fifth', fn() => \DragonKnight\Actions\Install::fifth());
} }
return $r; return $r;

View File

@ -31,13 +31,13 @@ class Towns
{ {
public static function register_routes(Router $r): Router public static function register_routes(Router $r): Router
{ {
$r->form('/inn', 'Towns\inn'); $r->form('/inn', fn() => \DragonKnight\Actions\Towns::inn());
$r->get('/shop', 'Towns\shop'); $r->get('/shop', fn() => \DragonKnight\Actions\Towns::shop());
$r->form('/buy/:id', 'Towns\buy'); $r->form('/buy/:id', fn($id) => \DragonKnight\Actions\Towns::buy($id));
// $r->get('/sell', 'Towns\sell'); // $r->get('/sell', 'Towns\sell');
$r->get('/maps', 'Towns\maps'); $r->get('/maps', fn() => \DragonKnight\Actions\Towns::maps());
$r->form('/maps/:id', 'Towns\buy_map'); $r->form('/maps/:id', fn($id) => \DragonKnight\Actions\Towns::buy_map($id));
$r->get('/gotown/:id', 'Towns\travelto'); $r->get('/gotown/:id', fn($id) => \DragonKnight\Actions\Towns::travelto($id));
return $r; return $r;
} }

View File

@ -31,13 +31,13 @@ class Users
{ {
public static function register_routes(Router $r): Router public static function register_routes(Router $r): Router
{ {
$r->form('/login', 'Users\login'); $r->form('/login', fn() => \DragonKnight\Actions\Users::login());
$r->get('/logout', 'Users\logout'); $r->get('/logout', fn() => \DragonKnight\Actions\Users::logout());
$r->form('/register', 'Users\register'); $r->form('/register', fn() => \DragonKnight\Actions\Users::register());
$r->form('/lostpassword', 'Users\lostpassword'); $r->form('/lostpassword', fn() => \DragonKnight\Actions\Users::lostpassword());
$r->post('/changepassword', 'Users\changepassword'); $r->post('/changepassword', fn() => \DragonKnight\Actions\Users::changepassword());
$r->form('/verify', 'Users\verify'); $r->form('/verify', fn() => \DragonKnight\Actions\Users::verify());
$r->form('/settings', 'Users\settings'); $r->form('/settings', fn() => \DragonKnight\Actions\Users::settings());
return $r; return $r;
} }