get ready for pretty url

This commit is contained in:
Ibnu Maksum 2024-08-14 16:54:14 +07:00
parent 68959b5a2e
commit b4a37a4722
No known key found for this signature in database
GPG key ID: 7FC82848810579E5
8 changed files with 62 additions and 50 deletions

1
.gitignore vendored
View file

@ -52,3 +52,4 @@ docker-compose.yml
docs/**
!docs/*.html
!docs/*.md
.htaccess

View file

@ -12,3 +12,11 @@
Order Allow,Deny
Allow from all
</Files>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^(.*)$ index.php [QSA,L]

View file

@ -43,7 +43,7 @@ $ui->setConfigDir(File::pathFixer($UI_PATH . '/conf/'));
$ui->setCacheDir(File::pathFixer($UI_PATH . '/cache/'));
$ui->assign('app_url', APP_URL);
$ui->assign('_domain', str_replace('www.', '', parse_url(APP_URL, PHP_URL_HOST)));
$ui->assign('_url', APP_URL . '/index.php?_route=');
$ui->assign('_url', APP_URL . '/?_route=');
$ui->assign('_path', __DIR__);
$ui->assign('_c', $config);
$ui->assign('UPLOAD_PATH', str_replace($root_path, '', $UPLOAD_PATH));
@ -66,8 +66,12 @@ if (isset($_SESSION['notify'])) {
unset($_SESSION['ntype']);
}
// Routing Engine
$req = _get('_route');
if(!isset($_GET['_route'])) {
$req = ltrim(parse_url($_SERVER['REQUEST_URI'])['path'], '/');
}else{
// Routing Engine
$req = _get('_route');
}
$routes = explode('/', $req);
$ui->assign('_routes', $routes);
$handler = $routes[0];

View file

@ -701,5 +701,6 @@
"Failed_to_buy_package": "Failed to buy package",
"New_Voucher_Created": "New Voucher Created",
"New_Voucher_for_10mbps_Created": "New Voucher for 10mbps Created",
"Show_Chart": "Show Chart"
"Show_Chart": "Show Chart",
"": ""
}

View file

@ -7,12 +7,12 @@
target="_blank">AdminLTE</a>
</footer>
</div>
<script src="ui/ui/scripts/jquery.min.js"></script>
<script src="ui/ui/scripts/bootstrap.min.js"></script>
<script src="ui/ui/scripts/adminlte.min.js"></script>
<script src="ui/ui/scripts/plugins/select2.min.js"></script>
<script src="ui/ui/scripts/pace.min.js"></script>
<script src="ui/ui/scripts/custom.js"></script>
<script src="{$app_url}/ui/ui/scripts/jquery.min.js"></script>
<script src="{$app_url}/ui/ui/scripts/bootstrap.min.js"></script>
<script src="{$app_url}/ui/ui/scripts/adminlte.min.js"></script>
<script src="{$app_url}/ui/ui/scripts/plugins/select2.min.js"></script>
<script src="{$app_url}/ui/ui/scripts/pace.min.js"></script>
<script src="{$app_url}/ui/ui/scripts/custom.js"></script>
{if isset($xfooter)}
{$xfooter}

View file

@ -5,18 +5,18 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>{$_title} - {$_c['CompanyName']}</title>
<link rel="shortcut icon" href="ui/ui/images/logo.png" type="image/x-icon" />
<link rel="shortcut icon" href="{$app_url}/ui/ui/images/logo.png" type="image/x-icon" />
<link rel="stylesheet" href="ui/ui/styles/bootstrap.min.css">
<link rel="stylesheet" href="{$app_url}/ui/ui/styles/bootstrap.min.css">
<link rel="stylesheet" href="ui/ui/fonts/ionicons/css/ionicons.min.css">
<link rel="stylesheet" href="ui/ui/fonts/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="ui/ui/styles/modern-AdminLTE.min.css">
<link rel="stylesheet" href="ui/ui/styles/select2.min.css" />
<link rel="stylesheet" href="ui/ui/styles/select2-bootstrap.min.css" />
<link rel="stylesheet" href="ui/ui/styles/sweetalert2.min.css" />
<link rel="stylesheet" href="ui/ui/styles/plugins/pace.css" />
<script src="ui/ui/scripts/sweetalert2.all.min.js"></script>
<link rel="stylesheet" href="{$app_url}/ui/ui/fonts/ionicons/css/ionicons.min.css">
<link rel="stylesheet" href="{$app_url}/ui/ui/fonts/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="{$app_url}/ui/ui/styles/modern-AdminLTE.min.css">
<link rel="stylesheet" href="{$app_url}/ui/ui/styles/select2.min.css" />
<link rel="stylesheet" href="{$app_url}/ui/ui/styles/select2-bootstrap.min.css" />
<link rel="stylesheet" href="{$app_url}/ui/ui/styles/sweetalert2.min.css" />
<link rel="stylesheet" href="{$app_url}/ui/ui/styles/plugins/pace.css" />
<script src="{$app_url}/ui/ui/scripts/sweetalert2.all.min.js"></script>
<style>
::-moz-selection {
/* Code for Firefox */

View file

@ -40,14 +40,12 @@
</div>
</div>
<script src="{$app_url}/ui/ui/scripts/jquery.min.js"></script>
<script src="{$app_url}/ui/ui/scripts/bootstrap.min.js"></script>
<script src="{$app_url}/ui/ui/scripts/adminlte.min.js"></script>
<script src="ui/ui/scripts/jquery.min.js"></script>
<script src="ui/ui/scripts/bootstrap.min.js"></script>
<script src="ui/ui/scripts/adminlte.min.js"></script>
<script src="ui/ui/scripts/plugins/select2.min.js"></script>
<script src="ui/ui/scripts/custom.js?v=2"></script>
<script src="{$app_url}/ui/ui/scripts/plugins/select2.min.js"></script>
<script src="{$app_url}/ui/ui/scripts/custom.js?v=2"></script>
{if isset($xfooter)}
{$xfooter}

View file

@ -5,15 +5,15 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{$_title} - {$_c['CompanyName']}</title>
<link rel="shortcut icon" href="ui/ui/images/logo.png" type="image/x-icon" />
<link rel="shortcut icon" href="{$app_url}ui/ui/images/logo.png" type="image/x-icon" />
<link rel="stylesheet" href="ui/ui/styles/bootstrap.min.css">
<link rel="stylesheet" href="{$app_url}ui/ui/styles/bootstrap.min.css">
<link rel="stylesheet" href="ui/ui/fonts/ionicons/css/ionicons.min.css">
<link rel="stylesheet" href="ui/ui/fonts/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="ui/ui/styles/modern-AdminLTE.min.css">
<link rel="stylesheet" href="ui/ui/styles/sweetalert2.min.css" />
<script src="ui/ui/scripts/sweetalert2.all.min.js"></script>
<link rel="stylesheet" href="{$app_url}ui/ui/fonts/ionicons/css/ionicons.min.css">
<link rel="stylesheet" href="{$app_url}ui/ui/fonts/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="{$app_url}ui/ui/styles/modern-AdminLTE.min.css">
<link rel="stylesheet" href="{$app_url}ui/ui/styles/sweetalert2.min.css" />
<script src="{$app_url}ui/ui/scripts/sweetalert2.all.min.js"></script>
<style>
@ -77,7 +77,7 @@
<body class="hold-transition modern-skin-dark sidebar-mini">
<div class="wrapper">
<header class="main-header" style="position:fixed; width: 100%">
<a href="{$_url}home" class="logo">
<a href="{$app_url}home" class="logo">
<span class="logo-mini"><b>N</b>uX</span>
<span class="logo-lg">{$_c['CompanyName']}</span>
</a>
@ -90,14 +90,14 @@
<li class="dropdown notifications-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
<i class="fa fa-envelope-o"></i>
<span class="label label-warning" api-get-text="{$_url}autoload_user/inbox_unread"></span>
<span class="label label-warning" api-get-text="{$app_url}autoload_user/inbox_unread"></span>
</a>
<ul class="dropdown-menu">
<li>
<!-- inner menu: contains the actual data -->
<ul class="menu" api-get-text="{$_url}autoload_user/inbox"></ul>
<ul class="menu" api-get-text="{$app_url}autoload_user/inbox"></ul>
</li>
<li class="footer"><a href="{$_url}mail">{Lang::T('Inbox')}</a></li>
<li class="footer"><a href="{$app_url}mail">{Lang::T('Inbox')}</a></li>
</ul>
</li>
<li class="dropdown user user-menu">
@ -127,18 +127,18 @@
<li class="user-body">
<div class="row">
<div class="col-xs-7 text-center text-sm">
<a href="{$_url}accounts/change-password"><i class="ion ion-settings"></i>
<a href="{$app_url}accounts/change-password"><i class="ion ion-settings"></i>
{Lang::T('Change Password')}</a>
</div>
<div class="col-xs-5 text-center text-sm">
<a href="{$_url}accounts/profile"><i class="ion ion-person"></i>
<a href="{$app_url}accounts/profile"><i class="ion ion-person"></i>
{Lang::T('My Account')}</a>
</div>
</div>
</li>
<li class="user-footer">
<div class="pull-right">
<a href="{$_url}logout" class="btn btn-default btn-flat"><i
<a href="{$app_url}logout" class="btn btn-default btn-flat"><i
class="ion ion-power"></i> {Lang::T('Logout')}</a>
</div>
</li>
@ -153,14 +153,14 @@
<section class="sidebar">
<ul class="sidebar-menu" data-widget="tree">
<li {if $_system_menu eq 'home'}class="active" {/if}>
<a href="{$_url}home">
<a href="{$app_url}home">
<i class="ion ion-monitor"></i>
<span>{Lang::T('Dashboard')}</span>
</a>
</li>
{$_MENU_AFTER_DASHBOARD}
<li {if $_system_menu eq 'inbox'}class="active" {/if}>
<a href="{$_url}mail">
<a href="{$app_url}mail">
<i class="fa fa-envelope"></i>
<span>{Lang::T('Inbox')}</span>
</a>
@ -168,7 +168,7 @@
{$_MENU_AFTER_INBOX}
{if $_c['disable_voucher'] != 'yes'}
<li {if $_system_menu eq 'voucher'}class="active" {/if}>
<a href="{$_url}voucher/activation">
<a href="{$app_url}voucher/activation">
<i class="fa fa-ticket"></i>
<span>{Lang::T('Voucher')}</span>
</a>
@ -177,20 +177,20 @@
{if $_c['payment_gateway'] != 'none' or $_c['payment_gateway'] == '' }
{if $_c['enable_balance'] == 'yes'}
<li {if $_system_menu eq 'balance'}class="active" {/if}>
<a href="{$_url}order/balance">
<a href="{$app_url}order/balance">
<i class="ion ion-ios-cart"></i>
<span>{Lang::T('Buy Balance')}</span>
</a>
</li>
{/if}
<li {if $_system_menu eq 'package'}class="active" {/if}>
<a href="{$_url}order/package">
<a href="{$app_url}order/package">
<i class="ion ion-ios-cart"></i>
<span>{Lang::T('Buy Package')}</span>
</a>
</li>
<li {if $_system_menu eq 'history'}class="active" {/if}>
<a href="{$_url}order/history">
<a href="{$app_url}order/history">
<i class="fa fa-file-text"></i>
<span>{Lang::T('Order History')}</span>
</a>
@ -198,7 +198,7 @@
{/if}
{$_MENU_AFTER_ORDER}
<li {if $_system_menu eq 'list-activated'}class="active" {/if}>
<a href="{$_url}voucher/list-activated">
<a href="{$app_url}voucher/list-activated">
<i class="fa fa-list-alt"></i>
<span>{Lang::T('Activation History')}</span>
</a>