phpnuxbill/system/controllers/voucher.php

58 lines
1.9 KiB
PHP
Raw Normal View History

2017-03-11 03:51:06 +08:00
<?php
/**
2023-10-12 16:55:42 +08:00
* PHP Mikrotik Billing (https://github.com/hotspotbilling/phpnuxbill/)
* by https://t.me/ibnux
2022-08-23 17:33:21 +08:00
**/
2017-03-11 03:51:06 +08:00
_auth();
2022-10-13 15:00:54 +08:00
$ui->assign('_title', $_L['Voucher']);
2017-03-11 03:51:06 +08:00
$ui->assign('_system_menu', 'voucher');
$action = $routes['1'];
$user = User::_info();
$ui->assign('_user', $user);
use PEAR2\Net\RouterOS;
2022-08-23 17:33:21 +08:00
2017-03-11 03:51:06 +08:00
require_once 'system/autoload/PEAR2/Autoload.php';
switch ($action) {
2022-08-23 17:33:21 +08:00
2017-03-11 03:51:06 +08:00
case 'activation':
2022-09-18 01:00:40 +08:00
run_hook('view_activate_voucher'); #HOOK
2017-03-11 03:51:06 +08:00
$ui->display('user-activation.tpl');
break;
case 'activation-post':
$code = _post('code');
2022-08-23 17:33:21 +08:00
$v1 = ORM::for_table('tbl_voucher')->where('code', $code)->where('status', 0)->find_one();
2022-09-18 01:00:40 +08:00
run_hook('customer_activate_voucher'); #HOOK
2022-08-23 17:33:21 +08:00
if ($v1) {
if (Package::rechargeUser($user['id'], $v1['routers'], $v1['id_plan'], "Activation", "Voucher")) {
2022-08-23 17:33:21 +08:00
$v1->status = "1";
$v1->user = $user['username'];
2022-08-23 17:33:21 +08:00
$v1->save();
2023-08-28 10:44:57 +08:00
r2(U . "voucher/list-activated", 's', $_L['Activation_Vouchers_Successfully']);
2022-08-23 17:33:21 +08:00
} else {
2023-08-28 10:44:57 +08:00
r2(U . 'voucher/activation', 'e', "Failed to refill account");
2022-08-23 17:33:21 +08:00
}
} else {
r2(U . 'voucher/activation', 'e', $_L['Voucher_Not_Valid']);
}
2017-03-11 03:51:06 +08:00
break;
case 'list-activated':
2022-10-13 16:19:51 +08:00
$ui->assign('_system_menu', 'list-activated');
2022-08-23 17:33:21 +08:00
$paginator = Paginator::bootstrap('tbl_transactions', 'username', $user['username']);
$d = ORM::for_table('tbl_transactions')->where('username', $user['username'])->offset($paginator['startpoint'])->limit($paginator['limit'])->order_by_desc('id')->find_many();
$ui->assign('d', $d);
$ui->assign('paginator', $paginator);
2022-09-18 01:00:40 +08:00
run_hook('customer_view_activation_list'); #HOOK
2022-08-23 17:33:21 +08:00
$ui->display('user-activation-list.tpl');
2017-03-11 03:51:06 +08:00
break;
default:
2023-09-27 16:01:48 +08:00
$ui->display('a404.tpl');
2022-08-23 17:33:21 +08:00
}