File manager - Edit - /home/webapp69.cm.in.th/u69319090028/Shop/index.php
Back
<?php /** * CARGOO Multi-Vendor E-Commerce Marketplace * Central Front Controller & Router Entry Point */ // PHP 8 Polyfills for PHP 7.4 compatibility if (!function_exists('str_starts_with')) { function str_starts_with($haystack, $needle) { return (string)$needle !== '' && strncmp($haystack, $needle, strlen($needle)) === 0; } } if (!function_exists('str_ends_with')) { function str_ends_with($haystack, $needle) { return $needle !== '' && substr($haystack, -strlen($needle)) === (string)$needle; } } if (!function_exists('str_contains')) { function str_contains($haystack, $needle) { return $needle !== '' && mb_strpos($haystack, $needle) !== false; } } // Initialize Central Error & Exception Handler require_once __DIR__ . '/app/Core/ErrorHandler.php'; ErrorHandler::register(); // Set Application Timezone $appConfig = require __DIR__ . '/config/app.php'; date_default_timezone_set($appConfig['timezone'] ?? 'Asia/Bangkok'); // Autoload Core Helpers & Security Standards require_once __DIR__ . '/database/Database.php'; require_once __DIR__ . '/app/Helpers/Logger.php'; require_once __DIR__ . '/app/Helpers/Security.php'; require_once __DIR__ . '/app/Helpers/Session.php'; require_once __DIR__ . '/app/Helpers/Url.php'; require_once __DIR__ . '/app/Helpers/Language.php'; require_once __DIR__ . '/app/Helpers/Auth.php'; require_once __DIR__ . '/app/Helpers/AuthGuard.php'; require_once __DIR__ . '/app/Helpers/DB.php'; require_once __DIR__ . '/app/Helpers/Validator.php'; require_once __DIR__ . '/app/Core/Router.php'; require_once __DIR__ . '/app/Core/Controller.php'; require_once __DIR__ . '/app/Core/Model.php'; // Security Services require_once __DIR__ . '/app/Services/Security/RateLimiter.php'; require_once __DIR__ . '/app/Services/Security/SecureUploadService.php'; require_once __DIR__ . '/app/Services/AuthService.php'; require_once __DIR__ . '/app/Services/CartService.php'; require_once __DIR__ . '/app/Services/StoreService.php'; require_once __DIR__ . '/app/Services/SellerProductService.php'; require_once __DIR__ . '/app/Services/SellerOrderService.php'; require_once __DIR__ . '/app/Services/SellerInventoryService.php'; require_once __DIR__ . '/app/Services/SellerFinanceService.php'; require_once __DIR__ . '/app/Services/AnnouncementService.php'; require_once __DIR__ . '/app/Services/PolicyService.php'; // Admin Backend Services require_once __DIR__ . '/app/Services/AdminPermissionService.php'; require_once __DIR__ . '/app/Services/AdminUserService.php'; require_once __DIR__ . '/app/Services/AdminSellerService.php'; require_once __DIR__ . '/app/Services/AdminProductService.php'; require_once __DIR__ . '/app/Services/AdminCategoryService.php'; require_once __DIR__ . '/app/Services/AdminOrderService.php'; require_once __DIR__ . '/app/Services/AdminReportService.php'; require_once __DIR__ . '/app/Services/AdminDashboardService.php'; require_once __DIR__ . '/app/Services/PlatformSettingService.php'; // Payment System Services require_once __DIR__ . '/app/Services/PaymentService.php'; require_once __DIR__ . '/app/Services/PaymentAccountService.php'; require_once __DIR__ . '/app/Services/RefundService.php'; // Review & Rating System Services require_once __DIR__ . '/app/Services/ReviewService.php'; require_once __DIR__ . '/app/Services/AdminReviewService.php'; // Notification System Services require_once __DIR__ . '/app/Services/NotificationService.php'; // Controllers require_once __DIR__ . '/app/Controllers/HomeController.php'; require_once __DIR__ . '/app/Controllers/AuthController.php'; require_once __DIR__ . '/app/Controllers/ProfileController.php'; require_once __DIR__ . '/app/Controllers/AddressController.php'; require_once __DIR__ . '/app/Controllers/SecurityController.php'; require_once __DIR__ . '/app/Controllers/CatalogController.php'; require_once __DIR__ . '/app/Controllers/CartController.php'; require_once __DIR__ . '/app/Controllers/CheckoutController.php'; require_once __DIR__ . '/app/Controllers/CustomerOrderController.php'; require_once __DIR__ . '/app/Controllers/PaymentController.php'; require_once __DIR__ . '/app/Controllers/ReviewController.php'; require_once __DIR__ . '/app/Controllers/NotificationController.php'; require_once __DIR__ . '/app/Controllers/WishlistController.php'; require_once __DIR__ . '/app/Controllers/SellerController.php'; require_once __DIR__ . '/app/Controllers/SellerProductController.php'; require_once __DIR__ . '/app/Controllers/SellerOrderController.php'; require_once __DIR__ . '/app/Controllers/SellerInventoryController.php'; require_once __DIR__ . '/app/Controllers/SellerReviewController.php'; require_once __DIR__ . '/app/Controllers/SellerFinanceController.php'; require_once __DIR__ . '/app/Controllers/AdminAnnouncementController.php'; require_once __DIR__ . '/app/Controllers/PolicyController.php'; require_once __DIR__ . '/app/Controllers/AdminPolicyController.php'; // Admin Backend Controllers require_once __DIR__ . '/app/Controllers/AdminDashboardController.php'; require_once __DIR__ . '/app/Controllers/AdminUserController.php'; require_once __DIR__ . '/app/Controllers/AdminSellerController.php'; require_once __DIR__ . '/app/Controllers/AdminProductController.php'; require_once __DIR__ . '/app/Controllers/AdminCategoryController.php'; require_once __DIR__ . '/app/Controllers/AdminOrderController.php'; require_once __DIR__ . '/app/Controllers/AdminReviewController.php'; require_once __DIR__ . '/app/Controllers/AdminReportController.php'; require_once __DIR__ . '/app/Controllers/AdminFinanceController.php'; require_once __DIR__ . '/app/Controllers/AdminSettingController.php'; require_once __DIR__ . '/app/Controllers/AdminManagementController.php'; require_once __DIR__ . '/app/Controllers/AdminPaymentController.php'; require_once __DIR__ . '/app/Controllers/AdminRefundController.php'; // Admin Models needed for sidebar require_once __DIR__ . '/app/Models/AdminPermission.php'; require_once __DIR__ . '/app/Models/AdminAuditLog.php'; require_once __DIR__ . '/app/Models/AdminCreationRequest.php'; require_once __DIR__ . '/app/Models/Report.php'; require_once __DIR__ . '/app/Models/PlatformSetting.php'; // Payment System Models require_once __DIR__ . '/app/Models/Payment.php'; require_once __DIR__ . '/app/Models/PaymentAttempt.php'; require_once __DIR__ . '/app/Models/PaymentAccount.php'; require_once __DIR__ . '/app/Models/Refund.php'; // Review System Models require_once __DIR__ . '/app/Models/Review.php'; require_once __DIR__ . '/app/Models/ReviewImage.php'; // Notification System Models require_once __DIR__ . '/app/Models/Notification.php'; // Initialize Session & Language Session::start(); Language::init(); // Auto login via Remember-Me cookie if applicable $authService = new AuthService(); $authService->checkRememberCookie(); // Build Router $router = new Router(); // Public & Home Routes $router->get('/', [HomeController::class, 'index']); $router->get('/language/{lang}', [HomeController::class, 'setLanguage']); $router->get('/language', [HomeController::class, 'setLanguage']); $router->get('/set-language/{lang}', [HomeController::class, 'setLanguage']); $router->get('/set-language', [HomeController::class, 'setLanguage']); // Public Policies & Agreements Hub $router->get('/policy', [PolicyController::class, 'index']); $router->get('/policy/{type}', [PolicyController::class, 'show']); // Catalog, Search, Categories, Products & Stores $router->get('/search', [CatalogController::class, 'search']); $router->get('/category/{slug}', [CatalogController::class, 'category']); $router->get('/product/{id}', [CatalogController::class, 'product']); $router->get('/shop/{shop_slug}', [CatalogController::class, 'store']); $router->get('/api/v1/search/suggest', [CatalogController::class, 'suggest']); // Guest Authentication Routes $router->get('/login', [AuthController::class, 'showLogin'], ['guest']); $router->post('/login', [AuthController::class, 'login'], ['guest', 'csrf']); $router->get('/register', [AuthController::class, 'showRegister'], ['guest']); $router->post('/register', [AuthController::class, 'register'], ['guest', 'csrf']); $router->get('/forgot-password', [AuthController::class, 'showForgotPassword'], ['guest']); $router->post('/forgot-password', [AuthController::class, 'forgotPassword'], ['guest', 'csrf']); $router->get('/reset-password', [AuthController::class, 'showResetPassword'], ['guest']); $router->post('/reset-password', [AuthController::class, 'resetPassword'], ['guest', 'csrf']); // Authenticated Account Routes $router->post('/logout', [AuthController::class, 'logout'], ['auth', 'csrf']); // Cart Routes $router->get('/cart', [CartController::class, 'index'], ['auth']); $router->post('/cart/add', [CartController::class, 'add'], ['auth', 'csrf']); $router->post('/cart/update', [CartController::class, 'update'], ['auth', 'csrf']); $router->post('/cart/remove', [CartController::class, 'remove'], ['auth', 'csrf']); $router->post('/cart/toggle-select', [CartController::class, 'toggleSelect'], ['auth', 'csrf']); // Checkout Routes $router->get('/checkout', [CheckoutController::class, 'index'], ['auth']); $router->post('/checkout/place-order', [CheckoutController::class, 'placeOrder'], ['auth', 'csrf']); // Payment Routes (Customer) $router->get('/payment/{order_no}/success', [PaymentController::class, 'success'], ['auth']); $router->get('/payment/{order_no}', [PaymentController::class, 'show'], ['auth']); $router->post('/payment/submit-slip', [PaymentController::class, 'submitSlip'], ['auth', 'csrf']); $router->post('/payment/cancel', [PaymentController::class, 'cancel'], ['auth', 'csrf']); // Customer Orders & History $router->get('/account/orders', [CustomerOrderController::class, 'index'], ['auth']); $router->get('/account/orders/{order_no}', [CustomerOrderController::class, 'show'], ['auth']); $router->post('/account/orders/{order_no}/cancel', [CustomerOrderController::class, 'cancel'], ['auth', 'csrf']); // Customer Reviews & Ratings $router->get('/reviews/create/{order_item_id}', [ReviewController::class, 'create'], ['auth']); $router->post('/reviews/store', [ReviewController::class, 'store'], ['auth', 'csrf']); $router->get('/reviews/{id}/edit', [ReviewController::class, 'edit'], ['auth']); $router->post('/reviews/{id}/update', [ReviewController::class, 'update'], ['auth', 'csrf']); $router->post('/reviews/{id}/delete', [ReviewController::class, 'delete'], ['auth', 'csrf']); $router->post('/reviews/{id}/report', [ReviewController::class, 'report'], ['auth', 'csrf']); $router->get('/account/reviews', [ReviewController::class, 'myReviews'], ['auth']); $router->get('/api/v1/products/{id}/reviews', [ReviewController::class, 'ajaxProductReviews']); // Customer Notifications $router->get('/account/notifications', [NotificationController::class, 'index'], ['auth']); $router->get('/account/notifications/{id}', [NotificationController::class, 'show'], ['auth']); $router->get('/account/notifications/{id}/read', [NotificationController::class, 'readAndRedirect'], ['auth']); $router->post('/account/notifications/mark-all-read', [NotificationController::class, 'markAllRead'], ['auth', 'csrf']); $router->post('/account/notifications/{id}/delete', [NotificationController::class, 'delete'], ['auth', 'csrf']); $router->post('/api/v1/notifications/mark-all-read', [NotificationController::class, 'markAllRead'], ['auth']); $router->post('/api/v1/notifications/{id}/read', [NotificationController::class, 'markSingleReadAjax'], ['auth']); // Customer Wishlist $router->get('/account/wishlist', [WishlistController::class, 'index'], ['auth']); $router->post('/account/wishlist/move-to-cart', [WishlistController::class, 'moveToCart'], ['auth', 'csrf']); $router->post('/api/v1/wishlist/toggle', [WishlistController::class, 'toggle'], ['auth']); // Profile & Avatar $router->get('/account/profile', [ProfileController::class, 'index'], ['auth']); $router->post('/account/profile', [ProfileController::class, 'updateProfile'], ['auth', 'csrf']); $router->post('/account/profile/avatar', [ProfileController::class, 'updateAvatar'], ['auth', 'csrf']); // Security & Password Change $router->get('/account/security', [ProfileController::class, 'showSecurity'], ['auth']); $router->post('/account/security/password', [ProfileController::class, 'changePassword'], ['auth', 'csrf']); // Address Management $router->get('/account/addresses', [AddressController::class, 'index'], ['auth']); $router->post('/account/addresses', [AddressController::class, 'store'], ['auth', 'csrf']); $router->post('/account/addresses/{id}', [AddressController::class, 'update'], ['auth', 'csrf']); $router->post('/account/addresses/{id}/delete', [AddressController::class, 'delete'], ['auth', 'csrf']); $router->post('/account/addresses/{id}/default', [AddressController::class, 'setDefault'], ['auth', 'csrf']); // Login History & Security Audit $router->get('/account/login-history', [SecurityController::class, 'loginHistory'], ['auth']); // Delete Account Request $router->get('/account/delete-account', [SecurityController::class, 'showDeleteAccount'], ['auth']); $router->post('/account/delete-account', [SecurityController::class, 'submitDeleteRequest'], ['auth', 'csrf']); $router->post('/account/delete-account/cancel', [SecurityController::class, 'cancelDeleteRequest'], ['auth', 'csrf']); // Seller Center - Core & Branding $router->get('/seller/register', [SellerController::class, 'showRegister'], ['auth']); $router->post('/seller/register', [SellerController::class, 'register'], ['auth', 'csrf']); $router->get('/seller', [SellerController::class, 'dashboard'], ['auth']); $router->get('/seller/store', [SellerController::class, 'showStore'], ['auth']); $router->post('/seller/store', [SellerController::class, 'updateStore'], ['auth', 'csrf']); // Seller Center - Products Management $router->get('/seller/products', [SellerProductController::class, 'index'], ['auth']); $router->get('/seller/products/create', [SellerProductController::class, 'create'], ['auth']); $router->post('/seller/products', [SellerProductController::class, 'store'], ['auth', 'csrf']); $router->get('/seller/products/{id}/edit', [SellerProductController::class, 'edit'], ['auth']); $router->post('/seller/products/{id}/edit', [SellerProductController::class, 'update'], ['auth', 'csrf']); $router->post('/seller/products/{id}/delete', [SellerProductController::class, 'delete'], ['auth', 'csrf']); $router->post('/seller/products/images/{id}/delete', [SellerProductController::class, 'deleteImage'], ['auth', 'csrf']); // Seller Center - Orders & Fulfillment $router->get('/seller/orders', [SellerOrderController::class, 'index'], ['auth']); $router->get('/seller/orders/{order_no}', [SellerOrderController::class, 'show'], ['auth']); $router->post('/seller/orders/{order_no}/status', [SellerOrderController::class, 'updateStatus'], ['auth', 'csrf']); // Seller Center - Inventory & Stock $router->get('/seller/inventory', [SellerInventoryController::class, 'index'], ['auth']); $router->post('/seller/inventory/update-stock', [SellerInventoryController::class, 'updateStock'], ['auth', 'csrf']); // Seller Center - Financials & Revenue $router->get('/seller/finance', [SellerFinanceController::class, 'index'], ['auth']); // Seller Center - Customer Reviews $router->get('/seller/reviews', [SellerReviewController::class, 'index'], ['auth']); // Seller Center - Notifications $router->get('/seller/notifications', [NotificationController::class, 'sellerIndex'], ['auth']); // Admin Portal - Announcement Management $router->get('/admin/announcements', [AdminAnnouncementController::class, 'index'], ['admin']); $router->get('/admin/announcements/create', [AdminAnnouncementController::class, 'create'], ['admin']); $router->post('/admin/announcements', [AdminAnnouncementController::class, 'store'], ['admin', 'csrf']); $router->get('/admin/announcements/{id}/edit', [AdminAnnouncementController::class, 'edit'], ['admin']); $router->post('/admin/announcements/{id}/edit', [AdminAnnouncementController::class, 'update'], ['admin', 'csrf']); $router->post('/admin/announcements/{id}/toggle-status', [AdminAnnouncementController::class, 'toggleStatus'], ['admin', 'csrf']); $router->post('/admin/announcements/{id}/delete', [AdminAnnouncementController::class, 'delete'], ['admin', 'csrf']); $router->get('/admin/announcements/{id}/history', [AdminAnnouncementController::class, 'history'], ['admin']); $router->post('/api/v1/announcements/{id}/track-click', [AdminAnnouncementController::class, 'trackClick']); // Admin Portal - Policy & Agreement Management $router->get('/admin/policies', [AdminPolicyController::class, 'index'], ['admin']); $router->get('/admin/policies/create', [AdminPolicyController::class, 'create'], ['admin']); $router->post('/admin/policies', [AdminPolicyController::class, 'store'], ['admin', 'csrf']); $router->get('/admin/policies/{id}/edit', [AdminPolicyController::class, 'edit'], ['admin']); $router->post('/admin/policies/{id}/edit', [AdminPolicyController::class, 'update'], ['admin', 'csrf']); $router->post('/admin/policies/{id}/publish', [AdminPolicyController::class, 'publish'], ['admin', 'csrf']); $router->post('/admin/policies/{id}/archive', [AdminPolicyController::class, 'archive'], ['admin', 'csrf']); $router->get('/admin/policies/{id}/history', [AdminPolicyController::class, 'history'], ['admin']); $router->get('/admin/policies/{id}/acceptances', [AdminPolicyController::class, 'acceptances'], ['admin']); // ── Admin Backend Routes ───────────────────────────────────────── // Dashboard $router->get('/admin', [AdminDashboardController::class, 'index'], ['admin']); // Users & Deletion Requests $router->get('/admin/users', [AdminUserController::class, 'index'], ['admin']); $router->get('/admin/users/deletion-requests', [AdminUserController::class, 'deleteRequests'], ['admin']); $router->post('/admin/users/deletion-requests/{id}/approve', [AdminUserController::class, 'approveDeleteRequest'], ['admin', 'csrf']); $router->post('/admin/users/deletion-requests/{id}/reject', [AdminUserController::class, 'rejectDeleteRequest'], ['admin', 'csrf']); $router->get('/admin/users/{id}', [AdminUserController::class, 'show'], ['admin']); $router->post('/admin/users/{id}/suspend', [AdminUserController::class, 'suspend'], ['admin', 'csrf']); $router->post('/admin/users/{id}/reactivate', [AdminUserController::class, 'reactivate'], ['admin', 'csrf']); // Sellers & Stores $router->get('/admin/sellers', [AdminSellerController::class, 'index'], ['admin']); $router->get('/admin/sellers/{id}', [AdminSellerController::class, 'show'], ['admin']); $router->post('/admin/sellers/{id}/suspend', [AdminSellerController::class, 'suspend'], ['admin', 'csrf']); $router->post('/admin/sellers/{id}/reactivate', [AdminSellerController::class, 'reactivate'], ['admin', 'csrf']); $router->post('/admin/sellers/{id}/set-official', [AdminSellerController::class, 'setOfficial'], ['admin', 'csrf']); // Products Moderation $router->get('/admin/products', [AdminProductController::class, 'index'], ['admin']); $router->get('/admin/products/{id}', [AdminProductController::class, 'show'], ['admin']); $router->post('/admin/products/{id}/approve', [AdminProductController::class, 'approve'], ['admin', 'csrf']); $router->post('/admin/products/{id}/reject', [AdminProductController::class, 'reject'], ['admin', 'csrf']); $router->post('/admin/products/{id}/hide', [AdminProductController::class, 'hide'], ['admin', 'csrf']); $router->post('/admin/products/{id}/restore', [AdminProductController::class, 'restore'], ['admin', 'csrf']); // Categories $router->get('/admin/categories', [AdminCategoryController::class, 'index'], ['admin']); $router->get('/admin/categories/create', [AdminCategoryController::class, 'create'], ['admin']); $router->post('/admin/categories', [AdminCategoryController::class, 'store'], ['admin', 'csrf']); $router->get('/admin/categories/{id}/edit', [AdminCategoryController::class, 'edit'], ['admin']); $router->post('/admin/categories/{id}/edit', [AdminCategoryController::class, 'update'], ['admin', 'csrf']); $router->post('/admin/categories/{id}/disable', [AdminCategoryController::class, 'disable'], ['admin', 'csrf']); $router->post('/admin/categories/{id}/enable', [AdminCategoryController::class, 'enable'], ['admin', 'csrf']); $router->post('/admin/categories/{id}/delete', [AdminCategoryController::class, 'delete'], ['admin', 'csrf']); $router->post('/admin/categories/{id}/restore', [AdminCategoryController::class, 'restore'], ['admin', 'csrf']); // Orders Monitoring $router->get('/admin/orders', [AdminOrderController::class, 'index'], ['admin']); $router->get('/admin/orders/{order_no}', [AdminOrderController::class, 'show'], ['admin']); $router->post('/admin/orders/{order_no}/note', [AdminOrderController::class, 'addNote'], ['admin', 'csrf']); // Admin Payment Management $router->get('/admin/payments', [AdminPaymentController::class, 'index'], ['admin']); $router->get('/admin/payments/accounts', [AdminPaymentController::class, 'accounts'], ['admin']); $router->get('/admin/payments/accounts/create', [AdminPaymentController::class, 'createAccount'], ['admin']); $router->post('/admin/payments/accounts', [AdminPaymentController::class, 'storeAccount'], ['admin', 'csrf']); $router->get('/admin/payments/accounts/{id}/edit', [AdminPaymentController::class, 'editAccount'], ['admin']); $router->post('/admin/payments/accounts/{id}/edit', [AdminPaymentController::class, 'updateAccount'], ['admin', 'csrf']); $router->post('/admin/payments/accounts/{id}/toggle', [AdminPaymentController::class, 'toggleAccount'], ['admin', 'csrf']); $router->post('/admin/payments/accounts/{id}/set-default', [AdminPaymentController::class, 'setDefaultAccount'], ['admin', 'csrf']); $router->post('/admin/payments/verify', [AdminPaymentController::class, 'verify'], ['admin', 'csrf']); $router->get('/admin/payments/{order_no}', [AdminPaymentController::class, 'show'], ['admin']); // Admin Refunds $router->get('/admin/refunds', [AdminRefundController::class, 'index'], ['admin']); $router->get('/admin/refunds/{id}', [AdminRefundController::class, 'show'], ['admin']); $router->post('/admin/refunds/{id}/approve', [AdminRefundController::class, 'approve'], ['admin', 'csrf']); $router->post('/admin/refunds/{id}/complete', [AdminRefundController::class, 'complete'], ['admin', 'csrf']); $router->post('/admin/refunds/{id}/reject', [AdminRefundController::class, 'reject'], ['admin', 'csrf']); // Finance $router->get('/admin/finance', [AdminFinanceController::class, 'index'], ['admin']); $router->get('/admin/finance/settlements', [AdminFinanceController::class, 'settlements'], ['admin']); $router->post('/admin/finance/settlements/{id}/process', [AdminFinanceController::class, 'processSettlement'], ['admin', 'csrf']); // Reports $router->get('/admin/reports', [AdminReportController::class, 'index'], ['admin']); $router->get('/admin/reports/{id}', [AdminReportController::class, 'show'], ['admin']); $router->post('/admin/reports/{id}/review', [AdminReportController::class, 'review'], ['admin', 'csrf']); $router->post('/admin/reports/{id}/resolve', [AdminReportController::class, 'resolve'], ['admin', 'csrf']); $router->post('/admin/reports/{id}/reject', [AdminReportController::class, 'reject'], ['admin', 'csrf']); // Reviews Moderation $router->get('/admin/reviews', [AdminReviewController::class, 'index'], ['admin']); $router->post('/admin/reviews/moderate', [AdminReviewController::class, 'moderate'], ['admin', 'csrf']); // Platform Settings $router->get('/admin/settings', [AdminSettingController::class, 'index'], ['admin']); $router->post('/admin/settings', [AdminSettingController::class, 'save'], ['admin', 'csrf']); // Admin Management (Super Admin) $router->get('/admin/admins', [AdminManagementController::class, 'index'], ['admin']); $router->get('/admin/admins/create', [AdminManagementController::class, 'create'], ['admin']); $router->post('/admin/admins', [AdminManagementController::class, 'store'], ['admin', 'csrf']); $router->get('/admin/admins/{id}/edit', [AdminManagementController::class, 'edit'], ['admin']); $router->post('/admin/admins/{id}/permissions', [AdminManagementController::class, 'update'], ['admin', 'csrf']); $router->post('/admin/admins/{id}/suspend', [AdminManagementController::class, 'suspend'], ['admin', 'csrf']); $router->post('/admin/admins/{id}/reactivate', [AdminManagementController::class, 'reactivate'], ['admin', 'csrf']); $router->get('/admin/admins/requests', [AdminManagementController::class, 'requests'], ['admin']); $router->post('/admin/admins/requests/{id}/approve', [AdminManagementController::class, 'approveRequest'], ['admin', 'csrf']); $router->post('/admin/admins/requests/{id}/reject', [AdminManagementController::class, 'rejectRequest'], ['admin', 'csrf']); // Audit Log $router->get('/admin/audit-log', [AdminManagementController::class, 'auditLog'], ['admin']); // API Endpoints $router->get('/api/v1/addresses', [AddressController::class, 'getAjax'], ['auth']); $router->get('/api/v1/notifications/unread-count', [NotificationController::class, 'unreadCountAjax']); $router->get('/api/v1/notifications/latest', [NotificationController::class, 'latestAjax']); // Dispatch Request $uri = $_SERVER['REQUEST_URI'] ?? '/'; $method = $_SERVER['REQUEST_METHOD'] ?? 'GET'; $router->dispatch($uri, $method);
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.22 |
proxy
|
phpinfo
|
Settings