diff --git a/app/Server/web.php b/app/Server/web.php index cf81deb5f4d6b4ae08db77c46d7aace1a432f464..773e259ec4f4f6120347bfcf9c1b5223e3e84b66 100644 --- a/app/Server/web.php +++ b/app/Server/web.php @@ -1,19 +1,44 @@ <?php + declare(strict_types=1); namespace Server; -include "Server/Router/Router.php"; -include "Server/Controllers/UserController.php"; -include "Server/Controllers/EventController.php"; +include "Router/Router.php"; +include "Controllers/UserController.php"; +include "Controllers/EventsController.php"; $router = new \Server\Router\Router(); +function checkLoggedIn() { + session_start(); + if (!isset($_SESSION['user_id'])) { + header('Location: /login'); // Redirect to the login page if not logged in + exit(); + } +} + $router->get('/', function() { header('Location: /home'); }); +// Routes for UserController +$router->get('/register', [checkLoggedIn, \Server\Controllers\UserController::class, 'registerview']); +$router->post('/register', [checkLoggedIn, \Server\Controllers\UserController::class, 'register']); +$router->post('/register/search-email', [checkLoggedIn, \Server\Controllers\UserController::class, 'findEmail']); +$router->post('/register/search-username', [checkLoggedIn, \Server\Controllers\UserController::class, 'findByUsername']); +$router->get('/login', [\Server\Controllers\UserController::class, 'loginview']); +$router->post('/login', [\Server\Controllers\UserController::class, 'login']); +$router->post('/logout', [checkLoggedIn, \Server\Controllers\UserController::class, 'logout']); +$router->post('/profile', [checkLoggedIn, \Server\Controllers\UserController::class, 'viewProfile']); +$router->post('/profile/edit', [checkLoggedIn, \Server\Controllers\UserController::class, 'editProfile']); +// Routes for EventsController +$router->get('/events', [checkLoggedIn, \Server\Controllers\EventsController::class, 'eventList10view']); +$router->post('/events/create', [checkLoggedIn, \Server\Controllers\EventsController::class, 'createEvent']); +$router->post('/events/update', [checkLoggedIn, \Server\Controllers\EventsController::class, 'updateEvent']); +$router->post('/events/delete', [checkLoggedIn, \Server\Controllers\EventsController::class, 'deleteEvent']); +$router->get('/events/search', [checkLoggedIn, \Server\Controllers\EventsController::class, 'searchview']); $router->run();