70 lines
2.9 KiB
PHP
Executable File
70 lines
2.9 KiB
PHP
Executable File
<?php
|
|
|
|
/**
|
|
* SysCMS - Content Management System
|
|
*
|
|
* Copyright (c) 2025 Marco Costa
|
|
* All rights reserved.
|
|
*
|
|
* Author: Marco Costa
|
|
* Email: contato@syspanel.com.br
|
|
* Project: SysCMS
|
|
*
|
|
* This software is licensed, not sold.
|
|
* Permission is granted to use this software
|
|
* subject to the terms of the SysCMS Commercial License.
|
|
*
|
|
* Redistribution, sublicensing, resale, or
|
|
* disclosure of this software, in whole or in part,
|
|
* is strictly prohibited without prior written permission.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND.
|
|
*/
|
|
|
|
use Kernel\Application;
|
|
|
|
/**
|
|
* Register web routes
|
|
*
|
|
* @param Application $app
|
|
* @return void
|
|
*/
|
|
return function (Application $app) {
|
|
// Storage Route (No Symlinks - Windows/Linux Compatible)
|
|
// Serves files from storage/uploads/{module}/{filename}
|
|
// REGISTERED FIRST to ensure it's not caught by other rules
|
|
$app->addRoute('GET', '/storage/uploads/{module}/{filename:.+}', [\App\Controllers\StorageController::class, 'serve']);
|
|
|
|
|
|
|
|
// Dashboard route
|
|
$app->addRoute('GET', '/dashboard', [\App\Controllers\AdminController::class, 'index']);
|
|
$app->addRoute('GET', '/dashboard/search', [\App\Controllers\AdminController::class, 'search']);
|
|
$app->addRoute('GET', '/admin/dashboard', [\App\Controllers\AdminController::class, 'index']);
|
|
$app->addRoute('GET', '/panel', [\App\Controllers\AdminController::class, 'index']);
|
|
|
|
// Logs routes (Super Admin only)
|
|
$app->addRoute('GET', '/admin/logs', [\App\Controllers\SystemController::class, 'logsIndex']);
|
|
$app->addRoute('GET', '/admin/logs/view', [\App\Controllers\SystemController::class, 'logsShow']);
|
|
$app->addRoute('GET', '/admin/system/clear-cache', [\App\Controllers\SystemController::class, 'clearCache']);
|
|
$app->addRoute('GET', '/admin/system/info', [\App\Controllers\SystemController::class, 'info']);
|
|
$app->addRoute('GET', '/admin/system/phpinfo', [\App\Controllers\SystemController::class, 'phpInfo']);
|
|
|
|
// Module installation routes
|
|
$app->addRoute('GET', '/admin/modules/install', [\App\Controllers\AdminController::class, 'showInstallModule']);
|
|
$app->addRoute('POST', '/admin/modules/install', [\App\Controllers\AdminController::class, 'installModule']);
|
|
$app->addRoute('GET', '/admin/modules/fix-menus', [\App\Controllers\AdminController::class, 'fixModuleMenus']);
|
|
|
|
|
|
|
|
// Quill Demo routes
|
|
$app->addRoute('GET', '/quill-demo', [\App\Controllers\QuillDemoController::class, 'index']);
|
|
$app->addRoute('POST', '/quill-demo-submit', [\App\Controllers\QuillDemoController::class, 'submit']);
|
|
$app->addRoute('GET', '/quill-demo-results', [\App\Controllers\QuillDemoController::class, 'results']);
|
|
|
|
// Catch-all route for dynamic pages from config_index
|
|
$app->addRoute('GET', '/{key}', [\Modules\Index\Controllers\IndexController::class, 'page']);
|
|
|
|
// API routes will be registered separately
|
|
};
|