diff --git a/system/autoload/Mikrotik.php b/system/autoload/Mikrotik.php index a7aefb35..8c89a170 100644 --- a/system/autoload/Mikrotik.php +++ b/system/autoload/Mikrotik.php @@ -16,15 +16,15 @@ class Mikrotik public static function getClient($ip, $user, $pass) { global $ui; - try { + //try { $iport = explode(":", $ip); return new RouterOS\Client($iport[0], $user, $pass, ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - $ui->assign("error_title", "Mikrotik Connection Error"); - $ui->assign("error_message", "Unable to connect to the router : $ip
" . $e->getMessage() . '
' . $e->getTraceAsString() . '
'); - $ui->display('router-error.tpl'); - die(); - } + // } catch (Exception $e) { + // $ui->assign("error_title", "Mikrotik Connection Error"); + // $ui->assign("error_message", "Unable to connect to the router : $ip
" . $e->getMessage() . '
' . $e->getTraceAsString() . '
'); + // $ui->display('router-error.tpl'); + // die(); + // } } public static function isUserLogin($client, $username) diff --git a/system/controllers/pool.php b/system/controllers/pool.php index 2973ce0f..5ac5a254 100644 --- a/system/controllers/pool.php +++ b/system/controllers/pool.php @@ -63,8 +63,12 @@ switch ($action) { $mikrotik = Mikrotik::info($d['routers']); if ($d) { if ($d['routers'] != 'radius') { - $client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']); - Mikrotik::removePool($client, $d['pool_name']); + try{ + $client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']); + Mikrotik::removePool($client, $d['pool_name']); + }catch(Exception $e){ + //ignore exception, it means router has already deleted + } } $d->delete(); diff --git a/system/controllers/services.php b/system/controllers/services.php index 5ddfa440..8bb68a96 100644 --- a/system/controllers/services.php +++ b/system/controllers/services.php @@ -167,9 +167,13 @@ switch ($action) { if ($d['is_radius']) { Radius::planDelete($d['id']); } else { - $mikrotik = Mikrotik::info($d['routers']); - $client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']); - Mikrotik::removeHotspotPlan($client, $d['name_plan']); + try{ + $mikrotik = Mikrotik::info($d['routers']); + $client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']); + Mikrotik::removeHotspotPlan($client, $d['name_plan']); + }catch(Exception $e){ + //ignore exception, it means router has already deleted + } } $d->delete(); @@ -427,9 +431,13 @@ switch ($action) { if ($d['is_radius']) { Radius::planDelete($d['id']); } else { - $mikrotik = Mikrotik::info($d['routers']); - $client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']); - Mikrotik::removePpoePlan($client, $d['name_plan']); + try{ + $mikrotik = Mikrotik::info($d['routers']); + $client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']); + Mikrotik::removePpoePlan($client, $d['name_plan']); + }catch(Exception $e){ + //ignore exception, it means router has already deleted + } } $d->delete();