2024-04-28 17:14:45 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
|
|
use CodeIgniter\Router\RouteCollection;
|
|
|
|
|
|
|
|
/** @var RouteCollection $routes */
|
2024-05-05 13:10:59 +00:00
|
|
|
|
2024-04-28 17:14:45 +00:00
|
|
|
$routes->group(
|
|
|
|
config('Admin')
|
|
|
|
->gateway,
|
|
|
|
[
|
|
|
|
'namespace' => 'Modules\Plugins\Controllers',
|
|
|
|
],
|
|
|
|
static function ($routes): void {
|
2024-05-01 14:48:05 +00:00
|
|
|
$routes->group('plugins', static function ($routes): void {
|
2024-05-02 15:32:27 +00:00
|
|
|
$routes->get('/', 'PluginController::installed', [
|
2024-05-01 14:48:05 +00:00
|
|
|
'as' => 'plugins-installed',
|
|
|
|
'filter' => 'permission:plugins.manage',
|
|
|
|
]);
|
2024-05-13 16:17:18 +00:00
|
|
|
$routes->get('(:segment)', 'PluginController::vendor/$1', [
|
2024-05-05 13:10:59 +00:00
|
|
|
'as' => 'plugins-vendor',
|
2024-05-05 09:14:30 +00:00
|
|
|
'filter' => 'permission:plugins.manage',
|
|
|
|
]);
|
2024-05-13 16:17:18 +00:00
|
|
|
$routes->group('(:segment)/(:segment)', static function ($routes): void {
|
2024-05-07 16:01:03 +00:00
|
|
|
$routes->get('/', 'PluginController::view/$1/$2', [
|
|
|
|
'as' => 'plugins-view',
|
|
|
|
'filter' => 'permission:plugins.manage',
|
|
|
|
]);
|
2024-05-13 16:17:18 +00:00
|
|
|
$routes->get('settings', 'PluginController::settings/$1/$2', [
|
|
|
|
'as' => 'plugins-settings-general',
|
2024-05-05 13:10:59 +00:00
|
|
|
'filter' => 'permission:plugins.manage',
|
|
|
|
]);
|
2024-05-13 16:17:18 +00:00
|
|
|
$routes->post('settings', 'PluginController::settingsAction/$1/$2', [
|
|
|
|
'as' => 'plugins-settings-general-action',
|
2024-05-05 13:10:59 +00:00
|
|
|
'filter' => 'permission:plugins.manage',
|
|
|
|
]);
|
2024-05-13 16:17:18 +00:00
|
|
|
$routes->get('(:num)', 'PluginController::settings/$1/$2/$3', [
|
|
|
|
'as' => 'plugins-settings-podcast',
|
|
|
|
'filter' => 'permission:podcast$3.edit',
|
|
|
|
]);
|
|
|
|
$routes->post('(:num)', 'PluginController::settingsAction/$1/$2/$3', [
|
|
|
|
'as' => 'plugins-settings-podcast-action',
|
|
|
|
'filter' => 'permission:podcast$3.edit',
|
|
|
|
]);
|
|
|
|
$routes->get('(:num)/(:num)', 'PluginController::settings/$1/$2/$3/$4', [
|
|
|
|
'as' => 'plugins-settings-episode',
|
|
|
|
'filter' => 'permission:podcast$3.episodes.edit',
|
|
|
|
]);
|
|
|
|
$routes->post('(:num)/(:num)', 'PluginController::settingsAction/$1/$2/$3/$4', [
|
|
|
|
'as' => 'plugins-settings-episode-action',
|
|
|
|
'filter' => 'permission:podcast$3.episodes.edit',
|
|
|
|
]);
|
2024-05-05 13:10:59 +00:00
|
|
|
$routes->post('activate', 'PluginController::activate/$1/$2', [
|
|
|
|
'as' => 'plugins-activate',
|
|
|
|
'filter' => 'permission:plugins.manage',
|
|
|
|
]);
|
|
|
|
$routes->post('deactivate', 'PluginController::deactivate/$1/$2', [
|
|
|
|
'as' => 'plugins-deactivate',
|
|
|
|
'filter' => 'permission:plugins.manage',
|
|
|
|
]);
|
|
|
|
// TODO: change to delete
|
|
|
|
$routes->get('uninstall', 'PluginController::uninstall/$1/$2', [
|
|
|
|
'as' => 'plugins-uninstall',
|
|
|
|
'filter' => 'permission:plugins.manage',
|
|
|
|
]);
|
|
|
|
});
|
2024-05-01 14:48:05 +00:00
|
|
|
});
|
2024-04-28 17:14:45 +00:00
|
|
|
}
|
|
|
|
);
|