Fix Change package to another Mikrotik
This commit is contained in:
parent
d3893d88a4
commit
9c5e3007a2
@ -321,23 +321,64 @@ class Package
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function changeTo($username, $plan_id)
|
public static function changeTo($username, $plan_id, $from_id)
|
||||||
{
|
{
|
||||||
global $_c;
|
|
||||||
$c = ORM::for_table('tbl_customers')->where('username', $username)->find_one();
|
$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();
|
$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'])->where('routers', $p['routers'])->find_one();
|
$b = ORM::for_table('tbl_user_recharges')->find_one($from_id);
|
||||||
$mikrotik = Mikrotik::info($p['routers']);
|
if($p['routers'] == $b['routers']){
|
||||||
|
$mikrotik = Mikrotik::info($p['routers']);
|
||||||
|
}else{
|
||||||
|
$mikrotik = Mikrotik::info($b['routers']);
|
||||||
|
}
|
||||||
|
// delete first
|
||||||
|
if ($p['type'] == 'Hotspot') {
|
||||||
|
if ($b) {
|
||||||
|
if (!$p['is_radius']) {
|
||||||
|
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
|
||||||
|
Mikrotik::removeHotspotUser($client, $c['username']);
|
||||||
|
Mikrotik::removePpoeUser($client, $c['username']);
|
||||||
|
Mikrotik::removeHotspotActiveUser($client, $c['username']);
|
||||||
|
Mikrotik::removePpoeActive($client, $c['username']);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (!$p['is_radius']) {
|
||||||
|
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
|
||||||
|
Mikrotik::removeHotspotUser($client, $c['username']);
|
||||||
|
Mikrotik::removePpoeUser($client, $c['username']);
|
||||||
|
Mikrotik::removeHotspotActiveUser($client, $c['username']);
|
||||||
|
Mikrotik::removePpoeActive($client, $c['username']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if ($b) {
|
||||||
|
if (!$p['is_radius']) {
|
||||||
|
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
|
||||||
|
Mikrotik::removeHotspotUser($client, $c['username']);
|
||||||
|
Mikrotik::removePpoeUser($client, $c['username']);
|
||||||
|
Mikrotik::removeHotspotActiveUser($client, $c['username']);
|
||||||
|
Mikrotik::removePpoeActive($client, $c['username']);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (!$p['is_radius']) {
|
||||||
|
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
|
||||||
|
Mikrotik::removeHotspotUser($client, $c['username']);
|
||||||
|
Mikrotik::removePpoeUser($client, $c['username']);
|
||||||
|
Mikrotik::removeHotspotActiveUser($client, $c['username']);
|
||||||
|
Mikrotik::removePpoeActive($client, $c['username']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// call the next mikrotik
|
||||||
|
if($p['routers'] != $b['routers']){
|
||||||
|
$mikrotik = Mikrotik::info($p['routers']);
|
||||||
|
}
|
||||||
if ($p['type'] == 'Hotspot') {
|
if ($p['type'] == 'Hotspot') {
|
||||||
if ($b) {
|
if ($b) {
|
||||||
if ($p['is_radius']) {
|
if ($p['is_radius']) {
|
||||||
Radius::customerAddPlan($c, $p, $b['expiration'].''.$b['time']);
|
Radius::customerAddPlan($c, $p, $b['expiration'].''.$b['time']);
|
||||||
}else{
|
}else{
|
||||||
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
|
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
|
||||||
Mikrotik::removeHotspotUser($client, $c['username']);
|
|
||||||
Mikrotik::removePpoeUser($client, $c['username']);
|
|
||||||
Mikrotik::removeHotspotActiveUser($client, $c['username']);
|
|
||||||
Mikrotik::removePpoeActive($client, $c['username']);
|
|
||||||
Mikrotik::addHotspotUser($client, $p, $c);
|
Mikrotik::addHotspotUser($client, $p, $c);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -345,10 +386,6 @@ class Package
|
|||||||
Radius::customerAddPlan($c, $p, $b['expiration'].''.$b['time']);
|
Radius::customerAddPlan($c, $p, $b['expiration'].''.$b['time']);
|
||||||
}else{
|
}else{
|
||||||
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
|
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
|
||||||
Mikrotik::removeHotspotUser($client, $c['username']);
|
|
||||||
Mikrotik::removePpoeUser($client, $c['username']);
|
|
||||||
Mikrotik::removeHotspotActiveUser($client, $c['username']);
|
|
||||||
Mikrotik::removePpoeActive($client, $c['username']);
|
|
||||||
Mikrotik::addHotspotUser($client, $p, $c);
|
Mikrotik::addHotspotUser($client, $p, $c);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -358,10 +395,6 @@ class Package
|
|||||||
Radius::customerAddPlan($c, $p);
|
Radius::customerAddPlan($c, $p);
|
||||||
}else{
|
}else{
|
||||||
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
|
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
|
||||||
Mikrotik::removeHotspotUser($client, $c['username']);
|
|
||||||
Mikrotik::removePpoeUser($client, $c['username']);
|
|
||||||
Mikrotik::removeHotspotActiveUser($client, $c['username']);
|
|
||||||
Mikrotik::removePpoeActive($client, $c['username']);
|
|
||||||
Mikrotik::addPpoeUser($client, $p, $c);
|
Mikrotik::addPpoeUser($client, $p, $c);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -369,10 +402,6 @@ class Package
|
|||||||
Radius::customerAddPlan($c, $p);
|
Radius::customerAddPlan($c, $p);
|
||||||
}else{
|
}else{
|
||||||
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
|
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
|
||||||
Mikrotik::removeHotspotUser($client, $c['username']);
|
|
||||||
Mikrotik::removePpoeUser($client, $c['username']);
|
|
||||||
Mikrotik::removeHotspotActiveUser($client, $c['username']);
|
|
||||||
Mikrotik::removePpoeActive($client, $c['username']);
|
|
||||||
Mikrotik::addPpoeUser($client, $p, $c);
|
Mikrotik::addPpoeUser($client, $p, $c);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -219,7 +219,11 @@ switch ($action) {
|
|||||||
} else {
|
} else {
|
||||||
$msg .= $_L['Data_Not_Found'] . '<br>';
|
$msg .= $_L['Data_Not_Found'] . '<br>';
|
||||||
}
|
}
|
||||||
|
$p = ORM::for_table('tbl_plans')->where('id', $plan_id)->where('enabled', '1')->find_one();
|
||||||
|
if ($d) {
|
||||||
|
} else {
|
||||||
|
$msg .= ' Plan Not Found<br>';
|
||||||
|
}
|
||||||
if ($msg == '') {
|
if ($msg == '') {
|
||||||
run_hook('edit_customer_plan'); #HOOK
|
run_hook('edit_customer_plan'); #HOOK
|
||||||
$d->username = $username;
|
$d->username = $username;
|
||||||
@ -227,8 +231,9 @@ switch ($action) {
|
|||||||
//$d->recharged_on = $recharged_on;
|
//$d->recharged_on = $recharged_on;
|
||||||
$d->expiration = $expiration;
|
$d->expiration = $expiration;
|
||||||
$d->time = $time;
|
$d->time = $time;
|
||||||
|
$d->routers = $p['routers'];
|
||||||
$d->save();
|
$d->save();
|
||||||
Package::changeTo($username, $id_plan);
|
Package::changeTo($username, $id_plan, $id);
|
||||||
_log('[' . $admin['username'] . ']: ' . 'Edit Plan for Customer ' . $d['username'] . ' to [' . $d['plan_name'] . '][' . Lang::moneyFormat($d['price']) . ']', 'Admin', $admin['id']);
|
_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 {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user