Menu With Auth

This commit is contained in:
Ibnu Maksum 2024-02-26 11:25:15 +07:00
parent 8824489704
commit 35d679ed2c
No known key found for this signature in database
GPG Key ID: 7FC82848810579E5
23 changed files with 25 additions and 33 deletions

View File

@ -42,6 +42,10 @@ Class Admin{
if(empty($id) && $id==0){
$id = Admin::getID();
}
return ORM::for_table('tbl_users')->find_one($id);
if($id){
return ORM::for_table('tbl_users')->find_one($id);
}else{
return [];
}
}
}

View File

@ -18,7 +18,7 @@ $menu_registered = array();
* @param string icon from ion icon, ion-person, only for AFTER_
* @param string label for showing label or number of notification or update
* @param string color Label color
* @param string auth ['SuperAdmin', 'Admin', 'Report', 'Agent', 'Sales'] will only show in this user, empty array for all users
* @param string auth authorization ['SuperAdmin', 'Admin', 'Report', 'Agent', 'Sales'] will only show in this user, empty array for all users
*/
function register_menu($name, $admin, $function, $position, $icon = '', $label = '', $color = 'success', $auth = [])
{

View File

@ -91,6 +91,7 @@ $handler = $routes[0];
if ($handler == '') {
$handler = 'default';
}
$admin = Admin::_info();
try {
$sys_render = $root_path.File::pathFixer('system/controllers/' . $handler . '.php');
if (file_exists($sys_render)) {
@ -102,15 +103,17 @@ try {
$ui->assign('_system_menu', $routes[0]);
foreach ($menu_registered as $menu) {
if ($menu['admin'] && _admin(false)) {
$menus[$menu['position']] .= '<li' . (($routes[1] == $menu['function']) ? ' class="active"' : '') . '><a href="' . U . 'plugin/' . $menu['function'] . '">';
if (!empty($menu['icon'])) {
$menus[$menu['position']] .= '<i class="' . $menu['icon'] . '"></i>';
if(count($menu['auth'])==0 || in_array($admin['user_type'], $menu['auth'])){
$menus[$menu['position']] .= '<li' . (($routes[1] == $menu['function']) ? ' class="active"' : '') . '><a href="' . U . 'plugin/' . $menu['function'] . '">';
if (!empty($menu['icon'])) {
$menus[$menu['position']] .= '<i class="' . $menu['icon'] . '"></i>';
}
if (!empty($menu['label'])) {
$menus[$menu['position']] .= '<span class="pull-right-container">';
$menus[$menu['position']] .= '<small class="label pull-right bg-' . $menu['color'] . '">' . $menu['label'] . '</small></span>';
}
$menus[$menu['position']] .= '<span class="text">' . $menu['name'] . '</span></a></li>';
}
if (!empty($menu['label'])) {
$menus[$menu['position']] .= '<span class="pull-right-container">';
$menus[$menu['position']] .= '<small class="label pull-right bg-' . $menu['color'] . '">' . $menu['label'] . '</small></span>';
}
$menus[$menu['position']] .= '<span class="text">' . $menu['name'] . '</span></a></li>';
} else if (!$menu['admin'] && _auth(false)) {
$menus[$menu['position']] .= '<li' . (($routes[1] == $menu['function']) ? ' class="active"' : '') . '><a href="' . U . 'plugin/' . $menu['function'] . '">';
if (!empty($menu['icon'])) {

View File

@ -13,7 +13,6 @@ $ui->assign('_title', Lang::T('Network'));
$ui->assign('_system_menu', 'network');
$action = $routes['1'];
$admin = Admin::_info();
$ui->assign('_admin', $admin);
switch ($action) {

View File

@ -9,7 +9,6 @@ $ui->assign('_title', Lang::T('Bandwidth Plans'));
$ui->assign('_system_menu', 'services');
$action = $routes['1'];
$admin = Admin::_info();
$ui->assign('_admin', $admin);
if (!in_array($admin['user_type'], ['SuperAdmin', 'Admin'])) {

View File

@ -11,7 +11,6 @@ $ui->assign('_system_menu', 'settings');
$plugin_repository = 'https://hotspotbilling.github.io/Plugin-Repository/repository.json';
$action = $routes['1'];
$admin = Admin::_info();
$ui->assign('_admin', $admin);
$cache = File::pathFixer('system/cache/codecanyon.json');

View File

@ -9,7 +9,6 @@ $ui->assign('_title', 'Community');
$ui->assign('_system_menu', 'community');
$action = $routes['1'];
$admin = Admin::_info();
$ui->assign('_admin', $admin);
$ui->display('community.tpl');

View File

@ -10,7 +10,6 @@ $ui->assign('_title', Lang::T('Customer'));
$ui->assign('_system_menu', 'customers');
$action = $routes['1'];
$admin = Admin::_info();
$ui->assign('_admin', $admin);

View File

@ -7,7 +7,6 @@
_admin();
$ui->assign('_title', Lang::T('Dashboard'));
$admin = Admin::_info();
$ui->assign('_admin', $admin);
$fdate = date('Y-m-01');

View File

@ -10,7 +10,6 @@ $ui->assign('_title', Lang::T('Reports'));
$ui->assign('_sysfrm_menu', 'reports');
$action = $routes['1'];
$admin = Admin::_info();
$ui->assign('_admin', $admin);
$mdate = date('Y-m-d');

View File

@ -10,7 +10,6 @@ $ui->assign('_title', 'PHPNuxBill Logs');
$ui->assign('_system_menu', 'logs');
$action = $routes['1'];
$admin = Admin::_info();
$ui->assign('_admin', $admin);
if (!in_array($admin['user_type'], ['SuperAdmin', 'Admin'])) {

View File

@ -9,7 +9,6 @@ $ui->assign('_title', 'Pages');
$ui->assign('_system_menu', 'pages');
$action = $routes['1'];
$admin = Admin::_info();
$ui->assign('_admin', $admin);
if(strpos($action,"-reset")!==false){

View File

@ -8,7 +8,6 @@ _admin();
$ui->assign('_system_menu', 'paymentgateway');
$action = alphanumeric($routes['1']);
$admin = Admin::_info();
$ui->assign('_admin', $admin);
if(file_exists('system/paymentgateway/'.$action.'.php')){

View File

@ -11,7 +11,6 @@ $ui->assign('_system_menu', 'settings');
$plugin_repository = 'https://hotspotbilling.github.io/Plugin-Repository/repository.json';
$action = $routes['1'];
$admin = Admin::_info();
$ui->assign('_admin', $admin);

View File

@ -10,7 +10,6 @@ $ui->assign('_title', Lang::T('Network'));
$ui->assign('_system_menu', 'network');
$action = $routes['1'];
$admin = Admin::_info();
$ui->assign('_admin', $admin);
if (!in_array($admin['user_type'], ['SuperAdmin', 'Admin'])) {

View File

@ -10,7 +10,6 @@ $ui->assign('_title', Lang::T('Recharge Account'));
$ui->assign('_system_menu', 'prepaid');
$action = $routes['1'];
$admin = Admin::_info();
$ui->assign('_admin', $admin);
$select2_customer = <<<EOT

View File

@ -8,7 +8,6 @@ $ui->assign('_title', $_L['Plugin Manager']);
$ui->assign('_system_menu', 'settings');
$action = $routes['1'];
$admin = Admin::_info();
$ui->assign('_admin', $admin);

View File

@ -10,7 +10,6 @@ $ui->assign('_title', Lang::T('Reports'));
$ui->assign('_system_menu', 'reports');
$action = $routes['1'];
$admin = Admin::_info();
$ui->assign('_admin', $admin);
$mdate = date('Y-m-d');

View File

@ -10,7 +10,6 @@ $ui->assign('_title', Lang::T('Network'));
$ui->assign('_system_menu', 'network');
$action = $routes['1'];
$admin = Admin::_info();
$ui->assign('_admin', $admin);
use PEAR2\Net\RouterOS;

View File

@ -9,7 +9,6 @@ $ui->assign('_title', Lang::T('Hotspot Plans'));
$ui->assign('_system_menu', 'services');
$action = $routes['1'];
$admin = Admin::_info();
$ui->assign('_admin', $admin);
if (!in_array($admin['user_type'], ['SuperAdmin', 'Admin'])) {

View File

@ -9,7 +9,6 @@ $ui->assign('_title', Lang::T('Settings'));
$ui->assign('_system_menu', 'settings');
$action = $routes['1'];
$admin = Admin::_info();
$ui->assign('_admin', $admin);
switch ($action) {

View File

@ -454,5 +454,7 @@
"Alert": "Alert",
"success": "success",
"Click_Here": "Click Here",
"danger": "danger"
"danger": "danger",
"Logout_Successful": "Logout Successful",
"warning": "warning"
}

View File

@ -171,8 +171,8 @@
</ul>
</li>
{/if}
{$_MENU_AFTER_PREPAID}
{if in_array($_admin['user_type'],['SuperAdmin','Admin'])}
{$_MENU_AFTER_PREPAID}
<li class="{if $_system_menu eq 'services'}active{/if} treeview">
<a href="#">
<i class="ion ion-cube"></i> <span>{Lang::T('Services')}</span>
@ -192,8 +192,8 @@
{$_MENU_SERVICES}
</ul>
</li>
{$_MENU_AFTER_SERVICES}
{/if}
{$_MENU_AFTER_SERVICES}
<li class="{if $_system_menu eq 'reports'}active{/if} treeview">
<a href="#">
<i class="ion ion-clipboard"></i> <span>{Lang::T('Reports')}</span>
@ -268,8 +268,8 @@
{$_MENU_PAGES}
</ul>
</li>
{$_MENU_AFTER_PAGES}
{/if}
{$_MENU_AFTER_PAGES}
<li
class="{if $_system_menu eq 'settings' || $_system_menu eq 'paymentgateway' }active{/if} treeview">
<a href="#">
@ -311,8 +311,8 @@
{/if}
</ul>
</li>
{$_MENU_AFTER_SETTINGS}
{if in_array($_admin['user_type'],['SuperAdmin','Admin'])}
{$_MENU_AFTER_SETTINGS}
<li class="{if $_system_menu eq 'logs' }active{/if} treeview">
<a href="#">
<i class="ion ion-clock"></i> <span>{Lang::T('Logs')}</span>
@ -338,6 +338,7 @@
<span class="text">{Lang::T('Community')}</span>
</a>
</li>
{$_MENU_AFTER_COMMUNITY}
</ul>
</section>
</aside>