setDefaultController('Main'); $routes->setDefaultMethod('index'); $routes->setTranslateURIDashes(false); $routes->set404Override(); $routes->setAutoRoute(true); // Main routes $routes->get('/', 'Main::index'); // Login routes $routes->match(['get', 'post'], 'login', 'Login::index'); $routes->match(['get', 'post'], 'login/', 'Login::index'); $routes->get('login/logout', 'Login::logout'); $routes->get('login/showVerify2fa', 'Login::showVerify2fa'); $routes->post('login/verify2fa', 'Login::verify2fa'); $routes->post('login/resendOtp', 'Login::resendOtp'); $routes->post('login/changeWeakPassword', 'Login::changeWeakPassword'); $routes->post('login/requestPassword', 'Login::requestPassword'); // Menu $routes->get('menu', 'Menu::index'); $routes->get('menu/(:any)', 'Menu::$1'); // Beheer (Management) routes $routes->group('beheer', static function ($routes) { // Users (support both old CI3 URLs and new URLs) $routes->get('users', 'Beheer\UsersController::index'); $routes->get('users/(:any)', 'Beheer\UsersController::$1'); $routes->post('users/(:any)', 'Beheer\UsersController::$1'); $routes->get('usersController/(:any)', 'Beheer\UsersController::$1'); $routes->post('usersController/(:any)', 'Beheer\UsersController::$1'); // Customers (support both old CI3 URLs and new URLs) $routes->get('customers', 'Beheer\CustomersController::index'); $routes->get('customers/(:any)', 'Beheer\CustomersController::$1'); $routes->post('customers/(:any)', 'Beheer\CustomersController::$1'); $routes->get('customersController/(:any)', 'Beheer\CustomersController::$1'); $routes->post('customersController/(:any)', 'Beheer\CustomersController::$1'); // Externals (support both old CI3 URLs and new URLs) $routes->get('externals', 'Beheer\ExternalsController::index'); $routes->get('externals/(:any)', 'Beheer\ExternalsController::$1'); $routes->post('externals/(:any)', 'Beheer\ExternalsController::$1'); $routes->get('externalsController/(:any)', 'Beheer\ExternalsController::$1'); $routes->post('externalsController/(:any)', 'Beheer\ExternalsController::$1'); // Roles (support both old CI3 URLs and new URLs) $routes->get('roles', 'Beheer\RolesController::index'); $routes->get('roles/(:any)', 'Beheer\RolesController::$1'); $routes->post('roles/(:any)', 'Beheer\RolesController::$1'); $routes->get('rolesController/(:any)', 'Beheer\RolesController::$1'); $routes->post('rolesController/(:any)', 'Beheer\RolesController::$1'); // Authorisation $routes->get('authorisation', 'Beheer\AuthorisationController::index'); $routes->get('authorisation/(:any)', 'Beheer\AuthorisationController::$1'); $routes->post('authorisation/(:any)', 'Beheer\AuthorisationController::$1'); $routes->get('authorisationController/(:any)', 'Beheer\AuthorisationController::$1'); $routes->post('authorisationController/(:any)', 'Beheer\AuthorisationController::$1'); $routes->get('AuthorisationController/(:any)', 'Beheer\AuthorisationController::$1'); $routes->post('AuthorisationController/(:any)', 'Beheer\AuthorisationController::$1'); // Two Factor $routes->get('twofactor', 'Beheer\TwoFactorController::index'); $routes->get('twofactor/(:any)', 'Beheer\TwoFactorController::$1'); $routes->post('twofactor/(:any)', 'Beheer\TwoFactorController::$1'); $routes->get('twofactorController/(:any)', 'Beheer\TwoFactorController::$1'); $routes->post('twofactorController/(:any)', 'Beheer\TwoFactorController::$1'); // Employee Target $routes->get('employeetarget', 'Beheer\EmployeeTargetController::index'); $routes->get('employeetarget/(:any)', 'Beheer\EmployeeTargetController::$1'); $routes->post('employeetarget/(:any)', 'Beheer\EmployeeTargetController::$1'); $routes->get('employeetargetController/(:any)', 'Beheer\EmployeeTargetController::$1'); $routes->post('employeetargetController/(:any)', 'Beheer\EmployeeTargetController::$1'); // VAT $routes->get('vat', 'Beheer\VatController::index'); $routes->get('vat/(:any)', 'Beheer\VatController::$1'); $routes->post('vat/(:any)', 'Beheer\VatController::$1'); $routes->get('vatController/(:any)', 'Beheer\VatController::$1'); $routes->post('vatController/(:any)', 'Beheer\VatController::$1'); }); // Projects routes - support both old CI3 URLs (projects/offersController/...) and new URLs $routes->group('projects', static function ($routes) { $routes->get('/', 'Projects\ProjectsController::index'); // Legacy CI3 routes with Controller suffix $routes->get('projectsController/(:any)', 'Projects\ProjectsController::$1'); $routes->post('projectsController/(:any)', 'Projects\ProjectsController::$1'); $routes->get('offersController/(:any)', 'Projects\OffersController::$1'); $routes->post('offersController/(:any)', 'Projects\OffersController::$1'); $routes->get('commentsController/(:any)', 'Projects\CommentsController::$1'); $routes->post('commentsController/(:any)', 'Projects\CommentsController::$1'); $routes->get('documentsController/(:any)', 'Projects\DocumentsController::$1'); $routes->post('documentsController/(:any)', 'Projects\DocumentsController::$1'); $routes->get('employeehoursController/(:any)', 'Projects\EmployeeHoursController::$1'); $routes->post('employeehoursController/(:any)', 'Projects\EmployeeHoursController::$1'); $routes->get('employeeHoursController/(:any)', 'Projects\EmployeeHoursController::$1'); $routes->post('employeeHoursController/(:any)', 'Projects\EmployeeHoursController::$1'); // New style routes $routes->get('(:any)', 'Projects\ProjectsController::$1'); $routes->post('(:any)', 'Projects\ProjectsController::$1'); }); // Employee Hours $routes->group('employeehours', static function ($routes) { $routes->get('/', 'Projects\EmployeeHoursController::index'); $routes->get('employeehoursController/(:any)', 'Projects\EmployeeHoursController::$1'); $routes->post('employeehoursController/(:any)', 'Projects\EmployeeHoursController::$1'); $routes->get('(:any)', 'Projects\EmployeeHoursController::$1'); $routes->post('(:any)', 'Projects\EmployeeHoursController::$1'); }); // Offers $routes->group('offers', static function ($routes) { $routes->get('/', 'Projects\OffersController::index'); $routes->get('offersController/(:any)', 'Projects\OffersController::$1'); $routes->post('offersController/(:any)', 'Projects\OffersController::$1'); $routes->get('(:any)', 'Projects\OffersController::$1'); $routes->post('(:any)', 'Projects\OffersController::$1'); }); // Comments $routes->group('comments', static function ($routes) { $routes->get('/', 'Projects\CommentsController::index'); $routes->get('commentsController/(:any)', 'Projects\CommentsController::$1'); $routes->post('commentsController/(:any)', 'Projects\CommentsController::$1'); $routes->get('(:any)', 'Projects\CommentsController::$1'); $routes->post('(:any)', 'Projects\CommentsController::$1'); }); // Documents $routes->group('documents', static function ($routes) { $routes->get('/', 'Projects\DocumentsController::index'); $routes->get('documentsController/(:any)', 'Projects\DocumentsController::$1'); $routes->post('documentsController/(:any)', 'Projects\DocumentsController::$1'); $routes->get('(:any)', 'Projects\DocumentsController::$1'); $routes->post('(:any)', 'Projects\DocumentsController::$1'); }); // Reports routes $routes->group('reports', static function ($routes) { $routes->get('/', 'Reports\ReportsController::index'); $routes->get('reportsController/(:any)', 'Reports\ReportsController::$1'); $routes->post('reportsController/(:any)', 'Reports\ReportsController::$1'); // Reservations controller accessible under reports/ $routes->get('reservationsController/(:any)', 'Reports\ReservationsController::$1'); $routes->post('reservationsController/(:any)', 'Reports\ReservationsController::$1'); // Reportsdefault controller accessible under reports/ $routes->get('reportsdefaultController/(:any)', 'Reports\ReportsdefaultController::$1'); $routes->post('reportsdefaultController/(:any)', 'Reports\ReportsdefaultController::$1'); $routes->get('(:any)', 'Reports\ReportsController::$1'); $routes->post('(:any)', 'Reports\ReportsController::$1'); }); $routes->group('reportsdefault', static function ($routes) { $routes->get('/', 'Reports\ReportsdefaultController::index'); $routes->get('reportsdefaultController/(:any)', 'Reports\ReportsdefaultController::$1'); $routes->post('reportsdefaultController/(:any)', 'Reports\ReportsdefaultController::$1'); $routes->get('(:any)', 'Reports\ReportsdefaultController::$1'); $routes->post('(:any)', 'Reports\ReportsdefaultController::$1'); }); $routes->group('reservations', static function ($routes) { $routes->get('/', 'Reports\ReservationsController::index'); $routes->get('reservationsController/(:any)', 'Reports\ReservationsController::$1'); $routes->post('reservationsController/(:any)', 'Reports\ReservationsController::$1'); $routes->get('(:any)', 'Reports\ReservationsController::$1'); $routes->post('(:any)', 'Reports\ReservationsController::$1'); }); // Dashboard $routes->group('dashboard', static function ($routes) { $routes->get('/', 'Dashboard\DashboardController::index'); $routes->get('dashboardController/(:any)', 'Dashboard\DashboardController::$1'); $routes->post('dashboardController/(:any)', 'Dashboard\DashboardController::$1'); $routes->get('(:any)', 'Dashboard\DashboardController::$1'); $routes->post('(:any)', 'Dashboard\DashboardController::$1'); }); // File Upload $routes->post('fileupload/(:any)', 'FileUpload::$1'); // Download DB $routes->get('downloaddb', 'DownloadDB::index'); $routes->get('downloaddb/(:any)', 'DownloadDB::$1');