2025-02-18 15:52:53 +07:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/**
|
|
|
|
* PHP Mikrotik Billing (https://github.com/hotspotbilling/phpnuxbill/)
|
|
|
|
* by https://t.me/ibnux
|
|
|
|
**/
|
|
|
|
|
|
|
|
_admin();
|
|
|
|
$ui->assign('_title', Lang::T('Dashboard'));
|
|
|
|
$ui->assign('_admin', $admin);
|
|
|
|
|
|
|
|
if (isset($_GET['refresh'])) {
|
|
|
|
$files = scandir($CACHE_PATH);
|
|
|
|
foreach ($files as $file) {
|
|
|
|
$ext = pathinfo($file, PATHINFO_EXTENSION);
|
|
|
|
if (is_file($CACHE_PATH . DIRECTORY_SEPARATOR . $file) && $ext == 'temp') {
|
|
|
|
unlink($CACHE_PATH . DIRECTORY_SEPARATOR . $file);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
r2(getUrl('dashboard'), 's', 'Data Refreshed');
|
|
|
|
}
|
|
|
|
|
2025-02-21 16:01:38 +07:00
|
|
|
$tipeUser = _req("user");
|
|
|
|
if (empty($tipeUser)) {
|
|
|
|
$tipeUser = 'Admin';
|
|
|
|
}
|
|
|
|
$ui->assign('tipeUser', $tipeUser);
|
2025-02-18 15:52:53 +07:00
|
|
|
|
|
|
|
$reset_day = $config['reset_day'];
|
|
|
|
if (empty($reset_day)) {
|
|
|
|
$reset_day = 1;
|
|
|
|
}
|
|
|
|
//first day of month
|
|
|
|
if (date("d") >= $reset_day) {
|
|
|
|
$start_date = date('Y-m-' . $reset_day);
|
|
|
|
} else {
|
|
|
|
$start_date = date('Y-m-' . $reset_day, strtotime("-1 MONTH"));
|
|
|
|
}
|
|
|
|
|
|
|
|
$current_date = date('Y-m-d');
|
|
|
|
$ui->assign('start_date', $start_date);
|
|
|
|
$ui->assign('current_date', $current_date);
|
|
|
|
|
2025-02-19 12:14:57 +07:00
|
|
|
$tipeUser = $admin['user_type'];
|
|
|
|
if (in_array($tipeUser, ['SuperAdmin', 'Admin'])) {
|
|
|
|
$tipeUser = 'Admin';
|
|
|
|
}
|
|
|
|
|
|
|
|
$widgets = ORM::for_table('tbl_widgets')->where("enabled", 1)->where('user', $tipeUser)->order_by_asc("orders")->findArray();
|
2025-02-18 15:52:53 +07:00
|
|
|
$count = count($widgets);
|
|
|
|
for ($i = 0; $i < $count; $i++) {
|
|
|
|
try{
|
|
|
|
if(file_exists($WIDGET_PATH . DIRECTORY_SEPARATOR . $widgets[$i]['widget'].".php")){
|
|
|
|
require_once $WIDGET_PATH . DIRECTORY_SEPARATOR . $widgets[$i]['widget'].".php";
|
|
|
|
$widgets[$i]['content'] = (new $widgets[$i]['widget'])->getWidget($widgets[$i]);
|
|
|
|
}else{
|
|
|
|
$widgets[$i]['content'] = "Widget not found";
|
|
|
|
}
|
|
|
|
} catch (Throwable $e) {
|
|
|
|
$widgets[$i]['content'] = $e->getMessage();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
$ui->assign('widgets', $widgets);
|
|
|
|
run_hook('view_dashboard'); #HOOK
|
|
|
|
$ui->display('admin/dashboard.tpl');
|