94 lines
3.0 KiB
PHP
94 lines
3.0 KiB
PHP
<?php
|
|
|
|
// Autoloader
|
|
spl_autoload_register(function ($class) {
|
|
$prefix = 'App\\';
|
|
$base_dir = __DIR__ . '/app/';
|
|
|
|
$len = strlen($prefix);
|
|
if (strncmp($prefix, $class, $len) !== 0) {
|
|
return;
|
|
}
|
|
|
|
$relative_class = substr($class, $len);
|
|
$file = $base_dir . str_replace('\\', '/', $relative_class) . '.php';
|
|
|
|
if (file_exists($file)) {
|
|
require $file;
|
|
}
|
|
});
|
|
|
|
require_once 'app/Helpers/functions.php';
|
|
require_once 'db/config.php';
|
|
|
|
session_start();
|
|
|
|
// Initialize Language Service
|
|
\App\Services\LanguageService::init();
|
|
|
|
use App\Core\Router;
|
|
|
|
$router = new Router();
|
|
|
|
// Sitemap
|
|
$router->get('/sitemap.xml', 'SitemapController@index');
|
|
|
|
// Language Switch
|
|
$router->get('/lang/:code', function($params) {
|
|
$code = $params['code'];
|
|
\App\Services\LanguageService::setLang($code);
|
|
header('Location: ' . ($_SERVER['HTTP_REFERER'] ?? '/'));
|
|
exit;
|
|
});
|
|
|
|
// Home & APKs
|
|
$router->get('/', 'HomeController@index');
|
|
$router->get('/apk/:slug', 'HomeController@apkDetail');
|
|
$router->get('/download/:slug', 'HomeController@download');
|
|
|
|
// Static Pages
|
|
$router->get('/help-center', 'HomeController@helpCenter');
|
|
$router->get('/privacy-policy', 'HomeController@privacyPolicy');
|
|
$router->get('/terms-of-service', 'HomeController@termsOfService');
|
|
|
|
// Auth
|
|
$router->get('/login', 'AuthController@loginForm');
|
|
$router->post('/login', 'AuthController@login');
|
|
$router->get('/register', 'AuthController@registerForm');
|
|
$router->post('/register', 'AuthController@register');
|
|
$router->get('/logout', 'AuthController@logout');
|
|
$router->get('/profile', 'AuthController@profile');
|
|
$router->post('/withdraw', 'AuthController@requestWithdrawal');
|
|
|
|
// Admin Auth
|
|
$router->get('/admin/login', 'AdminController@loginForm');
|
|
$router->post('/admin/login', 'AdminController@login');
|
|
$router->get('/admin/logout', 'AdminController@logout');
|
|
|
|
// Admin Dashboard
|
|
$router->get('/admin/dashboard', 'AdminController@dashboard');
|
|
|
|
// Admin Settings
|
|
$router->get('/admin/settings', 'AdminController@settingsForm');
|
|
$router->post('/admin/settings', 'AdminController@saveSettings');
|
|
|
|
// Admin APKs
|
|
$router->get('/admin/apks', 'AdminController@apks');
|
|
$router->get('/admin/apks/add', 'AdminController@addApkForm');
|
|
$router->post('/admin/apks/add', 'AdminController@addApk');
|
|
$router->get('/admin/apks/edit/:id', 'AdminController@editApkForm');
|
|
$router->post('/admin/apks/edit/:id', 'AdminController@editApk');
|
|
$router->get('/admin/apks/delete/:id', 'AdminController@deleteApk');
|
|
$router->post('/admin/apks/reorder', 'AdminController@updateOrder');
|
|
|
|
// Admin Categories
|
|
$router->get('/admin/categories', 'AdminController@categories');
|
|
$router->post('/admin/categories/add', 'AdminController@addCategory');
|
|
$router->get('/admin/categories/delete/:id', 'AdminController@deleteCategory');
|
|
|
|
// Admin Withdrawals
|
|
$router->get('/admin/withdrawals', 'AdminController@withdrawals');
|
|
$router->get('/admin/withdrawals/approve/:id', 'AdminController@approveWithdrawal');
|
|
$router->get('/admin/withdrawals/reject/:id', 'AdminController@rejectWithdrawal');
|
|
|
|
$router->dispatch(); |