53 lines
2.2 KiB
PHP
Executable File
53 lines
2.2 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 pagebuilder module routes
|
|
*
|
|
* @param Application $app
|
|
* @return void
|
|
*/
|
|
return function (Application $app) {
|
|
// Public page routes
|
|
$app->addRoute('GET', '/home', [\Modules\PageBuilder\Controllers\PageController::class, 'home']);
|
|
$app->addRoute('GET', '/pages/about', [\Modules\PageBuilder\Controllers\PageController::class, 'about']);
|
|
$app->addRoute('GET', '/pages/services', [\Modules\PageBuilder\Controllers\PageController::class, 'services']);
|
|
|
|
// Custom pages
|
|
$app->addRoute('GET', '/pages/{slug}', [\Modules\PageBuilder\Controllers\PageController::class, 'show']);
|
|
|
|
// Admin page routes (require authentication)
|
|
$app->addRoute('GET', '/admin/pages', [\Modules\PageBuilder\Controllers\AdminController::class, 'index']);
|
|
$app->addRoute('GET', '/admin/pages/create', [\Modules\PageBuilder\Controllers\AdminController::class, 'create']);
|
|
$app->addRoute('POST', '/admin/pages', [\Modules\PageBuilder\Controllers\AdminController::class, 'store']);
|
|
$app->addRoute('GET', '/admin/pages/{id}/edit', [\Modules\PageBuilder\Controllers\AdminController::class, 'edit']);
|
|
$app->addRoute('PUT', '/admin/pages/{id}', [\Modules\PageBuilder\Controllers\AdminController::class, 'update']);
|
|
$app->addRoute('DELETE', '/admin/pages/{id}', [\Modules\PageBuilder\Controllers\AdminController::class, 'destroy']);
|
|
|
|
// Page status management
|
|
$app->addRoute('POST', '/admin/pages/{id}/publish', [\Modules\PageBuilder\Controllers\AdminController::class, 'publish']);
|
|
$app->addRoute('POST', '/admin/pages/{id}/unpublish', [\Modules\PageBuilder\Controllers\AdminController::class, 'unpublish']);
|
|
};
|