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\Towns;
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
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->get('/', 'DragonKnight\index');
$r->post('/move', 'DragonKnight\Actions\Explore::move');
$r->get('/spell/:id', 'DragonKnight\Actions\Heal::healspells');
$r->get('/character', 'DragonKnight\show_character_info');
$r->get('/character/:id', 'DragonKnight\show_character_info');
$r->get('/showmap', 'DragonKnight\show_map');
$r->form('/babblebox', 'DragonKnight\babblebox');
$r->get('/babblebox/messages', 'DragonKnight\babblebox_messages');
$r->get('/', fn() => \DragonKnight\index());
$r->post('/move', fn() => \DragonKnight\Actions\Explore::move());
$r->get('/spell/:id', fn($id) => \DragonKnight\Actions\Heal::healspells($id));
$r->get('/character', fn() => \DragonKnight\show_character_info());
$r->get('/character/:id', fn($id) => \DragonKnight\show_character_info($id));
$r->get('/showmap', fn() => \DragonKnight\show_map());
$r->form('/babblebox', fn() => \DragonKnight\babblebox());
$r->get('/babblebox/messages', fn() => \DragonKnight\babblebox_messages());
Towns::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.
*/
namespace DragonKnight\Admin;
namespace DragonKnight\Actions;
use DragonKnight\Router;
use SQLite3Result;
@ -36,32 +36,32 @@ class Admin
public static function register_routes(Router $r): Router
{
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->form('/admin/items/:id', 'Admin\edit_item');
$r->get('/admin/items', fn() => \DragonKnight\Actions\Admin::items());
$r->form('/admin/items/:id', fn($id) => \DragonKnight\Actions\Admin::edit_item($id));
$r->get('/admin/drops', 'Admin\drops');
$r->form('/admin/drops/:id', 'Admin\edit_drop');
$r->get('/admin/drops', fn() => \DragonKnight\Actions\Admin::drops());
$r->form('/admin/drops/:id', fn($id) => \DragonKnight\Actions\Admin::edit_drop($id));
$r->get('/admin/towns', 'Admin\towns');
$r->form('/admin/towns/:id', 'Admin\edit_town');
$r->get('/admin/towns', fn() => \DragonKnight\Actions\Admin::towns());
$r->form('/admin/towns/:id', fn($id) => \DragonKnight\Actions\Admin::edit_town($id));
$r->get('/admin/monsters', 'Admin\monsters');
$r->form('/admin/monsters/:id', 'Admin\edit_monster');
$r->get('/admin/monsters', fn() => \DragonKnight\Actions\Admin::monsters());
$r->form('/admin/monsters/:id', fn($id) => \DragonKnight\Actions\Admin::edit_monster($id));
$r->get('/admin/levels', 'Admin\levels');
$r->post('/admin/levels', 'Admin\edit_level');
$r->get('/admin/levels', fn() => \DragonKnight\Actions\Admin::levels());
$r->post('/admin/levels', fn() => \DragonKnight\Actions\Admin::edit_level());
$r->get('/admin/spells', 'Admin\spells');
$r->form('/admin/spells/:id', 'Admin\edit_spell');
$r->get('/admin/spells', fn() => \DragonKnight\Actions\Admin::spells());
$r->form('/admin/spells/:id', fn($id) => \DragonKnight\Actions\Admin::edit_spell($id));
$r->get('/admin/users', 'Admin\users');
$r->form('/admin/users/:id', 'Admin\edit_user');
$r->get('/admin/users', fn() => \DragonKnight\Actions\Admin::users());
$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;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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