|
Server : LiteSpeed System : Linux terra.hostitbro.com 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64 User : outerorb ( 1091) PHP Version : 8.1.34 Disable Function : mail Directory : /home2/outerorb/crm.debtclearplans.co.uk/ | |
|
Path: /home2/outerorb/crm.debtclearplans.co.uk/index.php
Size: 3.62 KB
Permissions: 0666
<?php
declare(strict_types=1);
require __DIR__ . '/bootstrap.php';
use App\Core\Auth;
use App\Core\Flash;
use App\Core\View;
$route = trim((string) ($_GET['route'] ?? ''), '/');
$route = $route === '' ? 'dashboard' : $route;
$method = strtoupper($_SERVER['REQUEST_METHOD'] ?? 'GET');
$routes = [
'GET' => [
'login' => ['App\\Controllers\\AuthController', 'showLogin'],
'logout' => ['App\\Controllers\\AuthController', 'logout'],
'change-password' => ['App\\Controllers\\AuthController', 'showChangePassword'],
'dashboard' => ['App\\Controllers\\DashboardController', 'index'],
'leads' => ['App\\Controllers\\LeadController', 'index'],
'leads/assigned' => ['App\\Controllers\\LeadController', 'assigned'],
'leads/check-phone' => ['App\\Controllers\\LeadController', 'checkPhoneDuplicate'],
'leads/create' => ['App\\Controllers\\LeadController', 'create'],
'leads/show' => ['App\\Controllers\\LeadController', 'show'],
'leads/edit' => ['App\\Controllers\\LeadController', 'edit'],
'leads/export' => ['App\\Controllers\\LeadController', 'export'],
'users' => ['App\\Controllers\\UserController', 'index'],
'users/create' => ['App\\Controllers\\UserController', 'create'],
'users/edit' => ['App\\Controllers\\UserController', 'edit'],
'users/reset' => ['App\\Controllers\\UserController', 'showReset'],
],
'POST' => [
'login' => ['App\\Controllers\\AuthController', 'login'],
'change-password' => ['App\\Controllers\\AuthController', 'updatePassword'],
'leads/store' => ['App\\Controllers\\LeadController', 'store'],
'leads/update' => ['App\\Controllers\\LeadController', 'update'],
'leads/delete' => ['App\\Controllers\\LeadController', 'delete'],
'leads/assign' => ['App\\Controllers\\LeadController', 'assign'],
'leads/qualify' => ['App\\Controllers\\LeadController', 'qualify'],
'leads/note' => ['App\\Controllers\\LeadController', 'addNote'],
'leads/sales' => ['App\\Controllers\\LeadController', 'updateSales'],
'leads/qa' => ['App\\Controllers\\LeadController', 'updateQa'],
'users/store' => ['App\\Controllers\\UserController', 'store'],
'users/update' => ['App\\Controllers\\UserController', 'update'],
'users/reset' => ['App\\Controllers\\UserController', 'resetPassword'],
],
];
try {
if (! isset($routes[$method][$route])) {
http_response_code(404);
echo View::renderPage('auth/setup', [
'pageTitle' => 'Route not found',
'appName' => config('app.name'),
'fatalError' => 'The requested route does not exist.',
], 'guest');
exit;
}
$guestRoutes = ['login'];
if (! in_array($route, $guestRoutes, true) && ! Auth::check()) {
Flash::set('error', 'Please sign in to continue.');
redirect('login');
}
if (Auth::check() && Auth::needsPasswordReset() && ! in_array($route, ['change-password', 'logout'], true)) {
Flash::set('warning', 'Please update your password before continuing.');
redirect('change-password');
}
[$className, $action] = $routes[$method][$route];
$controller = new $className();
$controller->{$action}();
} catch (Throwable $throwable) {
http_response_code(500);
$errorMessage = $throwable->getMessage();
echo View::renderPage('auth/setup', [
'pageTitle' => config('app.name') . ' Setup',
'appName' => config('app.name'),
'fatalError' => $errorMessage,
], 'guest');
}