403Webshell
Server IP : 65.108.144.40  /  Your IP : 216.73.217.165
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux ubuntu-8gb-hel1-1 5.15.0-173-generic #183-Ubuntu SMP Fri Mar 6 13:29:34 UTC 2026 x86_64
User : dev ( 1000)
PHP Version : 8.2.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/html/project-slim/app/Routes/Groups/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/project-slim/app/Routes/Groups/AdminGroup.php
<?php

use App\Controllers\AdminController;
use Slim\Routing\RouteCollectorProxy;
use App\Middleware\AuthMiddleware;
use App\Middleware\AdminMiddleware;

return function (RouteCollectorProxy $admin) {
    // All admin routes require authentication and admin privileges
    $admin->group('', function (RouteCollectorProxy $protected) {
        
        // Dashboard and overview
        $protected->get('/dashboard', [AdminController::class, 'dashboard']);
        $protected->get('/overview', [AdminController::class, 'getOverview']);
        $protected->get('/statistics', [AdminController::class, 'getStatistics']);

        // System management
        $protected->group('/system', function (RouteCollectorProxy $system) {
            $system->get('/info', [AdminController::class, 'getSystemInfo']);
            $system->get('/health', [AdminController::class, 'getSystemHealth']);
            $system->post('/backup', [AdminController::class, 'createBackup']);
            $system->get('/backups', [AdminController::class, 'getBackups']);
            $system->post('/restore/{backup_id}', [AdminController::class, 'restoreBackup']);
            $system->delete('/backups/{backup_id}', [AdminController::class, 'deleteBackup']);
        });

        // User management (admin level)
        $protected->group('/users', function (RouteCollectorProxy $users) {
            $users->get('', [AdminController::class, 'getAllUsers']);
            $users->get('/analytics', [AdminController::class, 'getUserAnalytics']);
            $users->post('/{id:[0-9]+}/impersonate', [AdminController::class, 'impersonateUser']);
            $users->post('/{id:[0-9]+}/reset-password', [AdminController::class, 'resetUserPassword']);
            $users->post('/{id:[0-9]+}/unlock', [AdminController::class, 'unlockUser']);
            $users->get('/export', [AdminController::class, 'exportUsers']);
        });

        // Company management (admin level)
        $protected->group('/companies', function (RouteCollectorProxy $companies) {
            $companies->get('', [AdminController::class, 'getAllCompanies']);
            $companies->get('/analytics', [AdminController::class, 'getCompanyAnalytics']);
            $companies->post('/{id:[0-9]+}/suspend', [AdminController::class, 'suspendCompany']);
            $companies->post('/{id:[0-9]+}/unsuspend', [AdminController::class, 'unsuspendCompany']);
            $companies->get('/export', [AdminController::class, 'exportCompanies']);
        });

        // Report management (admin level)
        $protected->group('/reports', function (RouteCollectorProxy $reports) {
            $reports->get('', [AdminController::class, 'getAllReports']);
            $reports->get('/analytics', [AdminController::class, 'getReportAnalytics']);
            $reports->delete('/{id:[0-9]+}/force', [AdminController::class, 'forceDeleteReport']);
            $reports->get('/export', [AdminController::class, 'exportReports']);
        });

        // Activity logs and audit
        $protected->group('/logs', function (RouteCollectorProxy $logs) {
            $logs->get('/activity', [AdminController::class, 'getActivityLogs']);
            $logs->get('/audit', [AdminController::class, 'getAuditLogs']);
            $logs->get('/errors', [AdminController::class, 'getErrorLogs']);
            $logs->get('/security', [AdminController::class, 'getSecurityLogs']);
            $logs->delete('/cleanup', [AdminController::class, 'cleanupLogs']);
        });

        // Settings and configuration
        $protected->group('/settings', function (RouteCollectorProxy $settings) {
            $settings->get('', [AdminController::class, 'getSettings']);
            $settings->put('', [AdminController::class, 'updateSettings']);
            $settings->get('/email', [AdminController::class, 'getEmailSettings']);
            $settings->put('/email', [AdminController::class, 'updateEmailSettings']);
            $settings->post('/email/test', [AdminController::class, 'testEmailSettings']);
        });

        // Maintenance and utilities
        $protected->group('/maintenance', function (RouteCollectorProxy $maintenance) {
            $maintenance->post('/cache/clear', [AdminController::class, 'clearCache']);
            $maintenance->post('/optimize', [AdminController::class, 'optimizeSystem']);
            $maintenance->get('/queue/status', [AdminController::class, 'getQueueStatus']);
            $maintenance->post('/queue/restart', [AdminController::class, 'restartQueue']);
            $maintenance->post('/migrate', [AdminController::class, 'runMigrations']);
        });

        // Security management
        $protected->group('/security', function (RouteCollectorProxy $security) {
            $security->get('/sessions', [AdminController::class, 'getActiveSessions']);
            $security->delete('/sessions/{session_id}', [AdminController::class, 'killSession']);
            $security->get('/failed-logins', [AdminController::class, 'getFailedLogins']);
            $security->post('/ban-ip', [AdminController::class, 'banIpAddress']);
            $security->delete('/ban-ip/{ip}', [AdminController::class, 'unbanIpAddress']);
        });

        // API management
        $protected->group('/api', function (RouteCollectorProxy $api) {
            $api->get('/keys', [AdminController::class, 'getApiKeys']);
            $api->post('/keys', [AdminController::class, 'createApiKey']);
            $api->delete('/keys/{key_id}', [AdminController::class, 'revokeApiKey']);
            $api->get('/usage', [AdminController::class, 'getApiUsage']);
            $api->get('/rate-limits', [AdminController::class, 'getRateLimits']);
        });

    })/* ->add(new AdminMiddleware())->add(new AuthMiddleware()) */; // Uncomment when middleware is implemented
};

Youez - 2016 - github.com/yon3zu
LinuXploit