Fix edit/change Active Plan

This commit is contained in:
Ibnu Maksum 2023-08-16 09:48:07 +07:00
parent 7c41ebfb62
commit 9c35962264
No known key found for this signature in database
GPG Key ID: 7FC82848810579E5
2 changed files with 40 additions and 1 deletions

View File

@ -265,4 +265,40 @@ class Package
} }
return true; return true;
} }
public static function changeTo($username, $plan_id)
{
global $_c;
$c = ORM::for_table('tbl_customers')->where('username', $username)->find_one();
$p = ORM::for_table('tbl_plans')->where('id', $plan_id)->where('enabled', '1')->find_one();
$b = ORM::for_table('tbl_user_recharges')->where('customer_id', $c['id'])->find_one();
$mikrotik = Mikrotik::info($p['routers']);
if ($p['type'] == 'Hotspot') {
if ($b) {
if (!$_c['radius_mode']) {
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
Mikrotik::removeHotspotUser($client, $c['username']);
Mikrotik::addHotspotUser($client, $p, $c);
}
} else {
if (!$_c['radius_mode']) {
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
Mikrotik::addHotspotUser($client, $p, $c);
}
}
} else {
if ($b) {
if (!$_c['radius_mode']) {
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
Mikrotik::removePpoeUser($client, $c['username']);
Mikrotik::addPpoeUser($client, $p, $c);
}
} else {
if (!$_c['radius_mode']) {
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
Mikrotik::addPpoeUser($client, $p, $c);
}
}
}
}
} }

View File

@ -87,6 +87,7 @@ switch ($action) {
$ui->assign('in', $in); $ui->assign('in', $in);
$ui->assign('date', date("Y-m-d H:i:s")); $ui->assign('date', date("Y-m-d H:i:s"));
$ui->display('invoice.tpl'); $ui->display('invoice.tpl');
_log('[' . $admin['username'] . ']: ' . 'Recharge '.$c['username'].' ['.$in['plan_name'].']['.Lang::moneyFormat($in['price']).']', 'Admin', $admin['id']);
}else{ }else{
r2(U . 'prepaid/recharge', 'e', "Failed to recharge account"); r2(U . 'prepaid/recharge', 'e', "Failed to recharge account");
} }
@ -141,6 +142,7 @@ switch ($action) {
} }
$d->delete(); $d->delete();
} }
_log('[' . $admin['username'] . ']: ' . 'Delete Plan for Customer '.$c['username'].' ['.$in['plan_name'].']['.Lang::moneyFormat($in['price']).']', 'Admin', $admin['id']);
r2(U . 'prepaid/list', 's', $_L['Delete_Successfully']); r2(U . 'prepaid/list', 's', $_L['Delete_Successfully']);
} }
break; break;
@ -165,7 +167,8 @@ switch ($action) {
$d->recharged_on = $recharged_on; $d->recharged_on = $recharged_on;
$d->expiration = $expiration; $d->expiration = $expiration;
$d->save(); $d->save();
//TODO set mikrotik for editedd plan Package::changeTo($username,$id_plan);
_log('[' . $admin['username'] . ']: ' . 'Edit Plan for Customer '.$d['username'].' to ['.$d['plan_name'].']['.Lang::moneyFormat($d['price']).']', 'Admin', $admin['id']);
r2(U . 'prepaid/list', 's', $_L['Updated_Successfully']); r2(U . 'prepaid/list', 's', $_L['Updated_Successfully']);
} else { } else {
r2(U . 'prepaid/edit/' . $id, 'e', $msg); r2(U . 'prepaid/edit/' . $id, 'e', $msg);