mitrobill/system/controllers/autoload_user.php

63 lines
2.6 KiB
PHP
Raw Normal View History

2023-06-15 15:26:38 +07:00
<?php
2024-06-20 14:16:09 +07:00
2023-10-12 15:55:42 +07:00
/**
* PHP Mikrotik Billing (https://github.com/hotspotbilling/phpnuxbill/)
* by https://t.me/ibnux
**/
2023-06-15 15:26:38 +07:00
/**
* used for ajax
**/
_auth();
$action = $routes['1'];
$user = User::_info();
switch ($action) {
case 'isLogin':
2023-11-15 11:45:29 +07:00
$bill = ORM::for_table('tbl_user_recharges')->where('id', $routes['2'])->where('username', $user['username'])->findOne();
2023-06-15 15:26:38 +07:00
if ($bill['type'] == 'Hotspot' && $bill['status'] == 'on') {
2024-06-20 11:33:15 +07:00
$p = ORM::for_table('tbl_plans')->find_one($bill['plan_id']);
$dvc = Package::getDevice($p);
2024-06-20 14:16:09 +07:00
if ($_app_stage != 'demo') {
2024-08-01 11:08:01 +07:00
try{
if (file_exists($dvc)) {
require_once $dvc;
if ((new $p['device'])->online_customer($user, $bill['routers'])) {
die('<a href="' . U . 'home&mikrotik=logout&id=' . $bill['id'] . '" onclick="return confirm(\'' . Lang::T('Disconnect Internet?') . '\')" class="btn btn-success btn-xs btn-block">' . Lang::T('You are Online, Logout?') . '</a>');
2024-06-20 14:16:09 +07:00
} else {
2024-08-01 11:08:01 +07:00
if (!empty($_SESSION['nux-mac']) && !empty($_SESSION['nux-ip'])) {
die('<a href="' . U . 'home&mikrotik=login&id=' . $bill['id'] . '" onclick="return confirm(\'' . Lang::T('Connect to Internet?') . '\')" class="btn btn-danger btn-xs btn-block">' . Lang::T('Not Online, Login now?') . '</a>');
} else {
die(Lang::T('-'));
}
2024-06-20 14:16:09 +07:00
}
2024-08-01 11:08:01 +07:00
} else {
die(Lang::T('-'));
2024-06-07 17:21:29 +07:00
}
2024-08-01 11:08:01 +07:00
}catch (Exception $e) {
die(Lang::T('Failed to connect to device'));
2023-06-15 15:26:38 +07:00
}
}
2024-08-01 11:08:01 +07:00
die(Lang::T('-'));
2023-06-15 15:26:38 +07:00
} else {
die('--');
}
break;
2024-08-02 17:22:42 +07:00
case 'inbox_unread':
$count = ORM::for_table('tbl_customers_inbox')->where('customer_id', $user['id'])->whereRaw('date_read is null')->count('id');
if($count>0){
echo $count;
}
die();
case 'inbox':
$inboxs = ORM::for_table('tbl_customers_inbox')->selects(['id', 'subject', 'date_created'])->where('customer_id', $user['id'])->whereRaw('date_read is null')->order_by_desc('date_created')->limit(10)->find_many();
foreach($inboxs as $inbox){
echo '<li><a href="'.U.'mail/view/'.$inbox['id'].'">'.$inbox['subject'].'<br><sub class="text-muted">'.Lang::dateTimeFormat($inbox['date_created']).'</sub></a></li>';
}
die();
2023-06-15 15:26:38 +07:00
default:
2023-09-27 15:01:48 +07:00
$ui->display('404.tpl');
2023-06-15 15:26:38 +07:00
}