diff --git a/system/controllers/accounts.php b/system/controllers/accounts.php index 9316cb71..bb889c4c 100644 --- a/system/controllers/accounts.php +++ b/system/controllers/accounts.php @@ -40,32 +40,33 @@ switch ($action) { if ($c){ $mikrotik = Router::_info($c['routers']); if($c['type'] == 'Hotspot'){ - try { - $iport = explode(":",$mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'],($iport[1])?$iport[1]:null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); - } - $printRequest = new RouterOS\Request('/ip/hotspot/user/print'); - $printRequest->setArgument('.proplist', '.id'); - $printRequest->setQuery(RouterOS\Query::where('name', $user['username'])); - $id = $client->sendSync($printRequest)->getProperty('.id'); + if(!$_c['radius_mode']){ + try { + $iport = explode(":",$mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'],($iport[1])?$iport[1]:null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } + $printRequest = new RouterOS\Request('/ip/hotspot/user/print'); + $printRequest->setArgument('.proplist', '.id'); + $printRequest->setQuery(RouterOS\Query::where('name', $user['username'])); + $id = $client->sendSync($printRequest)->getProperty('.id'); - $setRequest = new RouterOS\Request('/ip/hotspot/user/set'); - $setRequest->setArgument('numbers', $id); - $setRequest->setArgument('password', $npass); - $client->sendSync($setRequest); + $setRequest = new RouterOS\Request('/ip/hotspot/user/set'); + $setRequest->setArgument('numbers', $id); + $setRequest->setArgument('password', $npass); + $client->sendSync($setRequest); - //remove hotspot active - $onlineRequest = new RouterOS\Request('/ip/hotspot/active/print'); - $onlineRequest->setArgument('.proplist', '.id'); - $onlineRequest->setQuery(RouterOS\Query::where('user', $user['username'])); - $id = $client->sendSync($onlineRequest)->getProperty('.id'); - - $removeRequest = new RouterOS\Request('/ip/hotspot/active/remove'); - $removeRequest->setArgument('numbers', $id); - $client->sendSync($removeRequest); + //remove hotspot active + $onlineRequest = new RouterOS\Request('/ip/hotspot/active/print'); + $onlineRequest->setArgument('.proplist', '.id'); + $onlineRequest->setQuery(RouterOS\Query::where('user', $user['username'])); + $id = $client->sendSync($onlineRequest)->getProperty('.id'); + $removeRequest = new RouterOS\Request('/ip/hotspot/active/remove'); + $removeRequest->setArgument('numbers', $id); + $client->sendSync($removeRequest); + } $d->password = $npass; $d->save(); @@ -75,32 +76,33 @@ switch ($action) { r2(U.'login'); }else{ - try { - $iport = explode(":",$mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'],($iport[1])?$iport[1]:null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); - } - $printRequest = new RouterOS\Request('/ppp/secret/print'); - $printRequest->setArgument('.proplist', '.id'); - $printRequest->setQuery(RouterOS\Query::where('name', $user['username'])); - $id = $client->sendSync($printRequest)->getProperty('.id'); + if(!$_c['radius_mode']){ + try { + $iport = explode(":",$mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'],($iport[1])?$iport[1]:null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } + $printRequest = new RouterOS\Request('/ppp/secret/print'); + $printRequest->setArgument('.proplist', '.id'); + $printRequest->setQuery(RouterOS\Query::where('name', $user['username'])); + $id = $client->sendSync($printRequest)->getProperty('.id'); - $setRequest = new RouterOS\Request('/ppp/secret/set'); - $setRequest->setArgument('numbers', $id); - $setRequest->setArgument('password', $npass); - $client->sendSync($setRequest); + $setRequest = new RouterOS\Request('/ppp/secret/set'); + $setRequest->setArgument('numbers', $id); + $setRequest->setArgument('password', $npass); + $client->sendSync($setRequest); - //remove pppoe active - $onlineRequest = new RouterOS\Request('/ppp/active/print'); - $onlineRequest->setArgument('.proplist', '.id'); - $onlineRequest->setQuery(RouterOS\Query::where('name', $user['username'])); - $id = $client->sendSync($onlineRequest)->getProperty('.id'); - - $removeRequest = new RouterOS\Request('/ppp/active/remove'); - $removeRequest->setArgument('numbers', $id); - $client->sendSync($removeRequest); + //remove pppoe active + $onlineRequest = new RouterOS\Request('/ppp/active/print'); + $onlineRequest->setArgument('.proplist', '.id'); + $onlineRequest->setQuery(RouterOS\Query::where('name', $user['username'])); + $id = $client->sendSync($onlineRequest)->getProperty('.id'); + $removeRequest = new RouterOS\Request('/ppp/active/remove'); + $removeRequest->setArgument('numbers', $id); + $client->sendSync($removeRequest); + } $d->password = $npass; $d->save(); diff --git a/system/controllers/customers.php b/system/controllers/customers.php index 68710383..e66b5808 100644 --- a/system/controllers/customers.php +++ b/system/controllers/customers.php @@ -61,56 +61,59 @@ switch ($action) { if ($c) { $mikrotik = Router::_info($c['routers']); if ($c['type'] == 'Hotspot') { - try { - $iport = explode(":", $mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - die("Unable to connect to the router.
" . $e->getMessage()); + if(!$_c['radius_mode']){ + try { + $iport = explode(":", $mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + die("Unable to connect to the router.
" . $e->getMessage()); + } + $printRequest = new RouterOS\Request('/ip/hotspot/user/print'); + $printRequest->setArgument('.proplist', '.id'); + $printRequest->setQuery(RouterOS\Query::where('name', $c['username'])); + $id = $client->sendSync($printRequest)->getProperty('.id'); + + $setRequest = new RouterOS\Request('/ip/hotspot/user/remove'); + $setRequest->setArgument('numbers', $id); + $client->sendSync($setRequest); + + //remove hotspot active + $onlineRequest = new RouterOS\Request('/ip/hotspot/active/print'); + $onlineRequest->setArgument('.proplist', '.id'); + $onlineRequest->setQuery(RouterOS\Query::where('user', $c['username'])); + $id = $client->sendSync($onlineRequest)->getProperty('.id'); + + $removeRequest = new RouterOS\Request('/ip/hotspot/active/remove'); + $removeRequest->setArgument('numbers', $id); + $client->sendSync($removeRequest); } - $printRequest = new RouterOS\Request('/ip/hotspot/user/print'); - $printRequest->setArgument('.proplist', '.id'); - $printRequest->setQuery(RouterOS\Query::where('name', $c['username'])); - $id = $client->sendSync($printRequest)->getProperty('.id'); - - $setRequest = new RouterOS\Request('/ip/hotspot/user/remove'); - $setRequest->setArgument('numbers', $id); - $client->sendSync($setRequest); - - //remove hotspot active - $onlineRequest = new RouterOS\Request('/ip/hotspot/active/print'); - $onlineRequest->setArgument('.proplist', '.id'); - $onlineRequest->setQuery(RouterOS\Query::where('user', $c['username'])); - $id = $client->sendSync($onlineRequest)->getProperty('.id'); - - $removeRequest = new RouterOS\Request('/ip/hotspot/active/remove'); - $removeRequest->setArgument('numbers', $id); - $client->sendSync($removeRequest); } else { + if(!$_c['radius_mode']){ + try { + $iport = explode(":", $mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + die("Unable to connect to the router.
" . $e->getMessage()); + } + $printRequest = new RouterOS\Request('/ppp/secret/print'); + $printRequest->setArgument('.proplist', '.id'); + $printRequest->setQuery(RouterOS\Query::where('name', $c['username'])); + $id = $client->sendSync($printRequest)->getProperty('.id'); - try { - $iport = explode(":", $mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - die("Unable to connect to the router.
" . $e->getMessage()); + $setRequest = new RouterOS\Request('/ppp/secret/remove'); + $setRequest->setArgument('numbers', $id); + $client->sendSync($setRequest); + + //remove pppoe active + $onlineRequest = new RouterOS\Request('/ppp/active/print'); + $onlineRequest->setArgument('.proplist', '.id'); + $onlineRequest->setQuery(RouterOS\Query::where('name', $c['username'])); + $id = $client->sendSync($onlineRequest)->getProperty('.id'); + + $removeRequest = new RouterOS\Request('/ppp/active/remove'); + $removeRequest->setArgument('numbers', $id); + $client->sendSync($removeRequest); } - $printRequest = new RouterOS\Request('/ppp/secret/print'); - $printRequest->setArgument('.proplist', '.id'); - $printRequest->setQuery(RouterOS\Query::where('name', $c['username'])); - $id = $client->sendSync($printRequest)->getProperty('.id'); - - $setRequest = new RouterOS\Request('/ppp/secret/remove'); - $setRequest->setArgument('numbers', $id); - $client->sendSync($setRequest); - - //remove pppoe active - $onlineRequest = new RouterOS\Request('/ppp/active/print'); - $onlineRequest->setArgument('.proplist', '.id'); - $onlineRequest->setQuery(RouterOS\Query::where('name', $c['username'])); - $id = $client->sendSync($onlineRequest)->getProperty('.id'); - - $removeRequest = new RouterOS\Request('/ppp/active/remove'); - $removeRequest->setArgument('numbers', $id); - $client->sendSync($removeRequest); } try { $d->delete(); @@ -218,60 +221,64 @@ switch ($action) { if ($c) { $mikrotik = Router::_info($c['routers']); if ($c['type'] == 'Hotspot') { - try { - $iport = explode(":", $mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - die("Unable to connect to the router.
" . $e->getMessage()); + if(!$_c['radius_mode']){ + try { + $iport = explode(":", $mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + die("Unable to connect to the router.
" . $e->getMessage()); + } + $printRequest = new RouterOS\Request('/ip/hotspot/user/print'); + $printRequest->setArgument('.proplist', '.id'); + $printRequest->setQuery(RouterOS\Query::where('name', $c['username'])); + $id = $client->sendSync($printRequest)->getProperty('.id'); + + $setRequest = new RouterOS\Request('/ip/hotspot/user/set'); + $setRequest->setArgument('numbers', $id); + $setRequest->setArgument('password', $password); + $client->sendSync($setRequest); + + //remove hotspot active + $onlineRequest = new RouterOS\Request('/ip/hotspot/active/print'); + $onlineRequest->setArgument('.proplist', '.id'); + $onlineRequest->setQuery(RouterOS\Query::where('user', $c['username'])); + $id = $client->sendSync($onlineRequest)->getProperty('.id'); + + $removeRequest = new RouterOS\Request('/ip/hotspot/active/remove'); + $removeRequest->setArgument('numbers', $id); + $client->sendSync($removeRequest); } - $printRequest = new RouterOS\Request('/ip/hotspot/user/print'); - $printRequest->setArgument('.proplist', '.id'); - $printRequest->setQuery(RouterOS\Query::where('name', $c['username'])); - $id = $client->sendSync($printRequest)->getProperty('.id'); - - $setRequest = new RouterOS\Request('/ip/hotspot/user/set'); - $setRequest->setArgument('numbers', $id); - $setRequest->setArgument('password', $password); - $client->sendSync($setRequest); - - //remove hotspot active - $onlineRequest = new RouterOS\Request('/ip/hotspot/active/print'); - $onlineRequest->setArgument('.proplist', '.id'); - $onlineRequest->setQuery(RouterOS\Query::where('user', $c['username'])); - $id = $client->sendSync($onlineRequest)->getProperty('.id'); - - $removeRequest = new RouterOS\Request('/ip/hotspot/active/remove'); - $removeRequest->setArgument('numbers', $id); - $client->sendSync($removeRequest); $d->password = $password; $d->save(); } else { - try { - $iport = explode(":", $mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - die("Unable to connect to the router.
" . $e->getMessage()); + if(!$_c['radius_mode']){ + try { + $iport = explode(":", $mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + die("Unable to connect to the router.
" . $e->getMessage()); + } + $printRequest = new RouterOS\Request('/ppp/secret/print'); + $printRequest->setArgument('.proplist', '.id'); + $printRequest->setQuery(RouterOS\Query::where('name', $c['username'])); + $id = $client->sendSync($printRequest)->getProperty('.id'); + + $setRequest = new RouterOS\Request('/ppp/secret/set'); + $setRequest->setArgument('numbers', $id); + $setRequest->setArgument('password', $password); + $client->sendSync($setRequest); + + //remove pppoe active + $onlineRequest = new RouterOS\Request('/ppp/active/print'); + $onlineRequest->setArgument('.proplist', '.id'); + $onlineRequest->setQuery(RouterOS\Query::where('name', $c['username'])); + $id = $client->sendSync($onlineRequest)->getProperty('.id'); + + $removeRequest = new RouterOS\Request('/ppp/active/remove'); + $removeRequest->setArgument('numbers', $id); + $client->sendSync($removeRequest); } - $printRequest = new RouterOS\Request('/ppp/secret/print'); - $printRequest->setArgument('.proplist', '.id'); - $printRequest->setQuery(RouterOS\Query::where('name', $c['username'])); - $id = $client->sendSync($printRequest)->getProperty('.id'); - - $setRequest = new RouterOS\Request('/ppp/secret/set'); - $setRequest->setArgument('numbers', $id); - $setRequest->setArgument('password', $password); - $client->sendSync($setRequest); - - //remove pppoe active - $onlineRequest = new RouterOS\Request('/ppp/active/print'); - $onlineRequest->setArgument('.proplist', '.id'); - $onlineRequest->setQuery(RouterOS\Query::where('name', $c['username'])); - $id = $client->sendSync($onlineRequest)->getProperty('.id'); - - $removeRequest = new RouterOS\Request('/ppp/active/remove'); - $removeRequest->setArgument('numbers', $id); - $client->sendSync($removeRequest); $d->password = $password; $d->save(); diff --git a/system/controllers/pool.php b/system/controllers/pool.php index 2c180ebe..ee2eca28 100644 --- a/system/controllers/pool.php +++ b/system/controllers/pool.php @@ -59,22 +59,24 @@ switch ($action) { $d = ORM::for_table('tbl_pool')->find_one($id); $mikrotik = Router::_info($d['routers']); if($d){ - try { - $iport = explode(":",$mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'],($iport[1])?$iport[1]:null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); - } - $printRequest = new RouterOS\Request( - '/ip pool print .proplist=name', - RouterOS\Query::where('name', $d['pool_name']) - ); - $poolName = $client->sendSync($printRequest)->getProperty('name'); + if(!$_c['radius_mode']){ + try { + $iport = explode(":",$mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'],($iport[1])?$iport[1]:null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } + $printRequest = new RouterOS\Request( + '/ip pool print .proplist=name', + RouterOS\Query::where('name', $d['pool_name']) + ); + $poolName = $client->sendSync($printRequest)->getProperty('name'); - $removeRequest = new RouterOS\Request('/ip/pool/remove'); - $client($removeRequest - ->setArgument('numbers', $poolName) - ); + $removeRequest = new RouterOS\Request('/ip/pool/remove'); + $client($removeRequest + ->setArgument('numbers', $poolName) + ); + } $d->delete(); @@ -101,17 +103,19 @@ switch ($action) { } $mikrotik = Router::_info($routers); if($msg == ''){ - try { - $iport = explode(":",$mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'],($iport[1])?$iport[1]:null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); - } - $addRequest = new RouterOS\Request('/ip/pool/add'); - $client->sendSync($addRequest - ->setArgument('name', $name) - ->setArgument('ranges', $ip_address) - ); + if(!$_c['radius_mode']){ + try { + $iport = explode(":",$mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'],($iport[1])?$iport[1]:null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } + $addRequest = new RouterOS\Request('/ip/pool/add'); + $client->sendSync($addRequest + ->setArgument('name', $name) + ->setArgument('ranges', $ip_address) + ); + } $b = ORM::for_table('tbl_pool')->create(); $b->pool_name = $name; @@ -149,23 +153,25 @@ switch ($action) { $mikrotik = Router::_info($routers); if($msg == ''){ - try { - $iport = explode(":",$mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'],($iport[1])?$iport[1]:null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); - } - $printRequest = new RouterOS\Request( - '/ip pool print .proplist=name', - RouterOS\Query::where('name', $name) - ); - $poolName = $client->sendSync($printRequest)->getProperty('name'); + if(!$_c['radius_mode']){ + try { + $iport = explode(":",$mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'],($iport[1])?$iport[1]:null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } + $printRequest = new RouterOS\Request( + '/ip pool print .proplist=name', + RouterOS\Query::where('name', $name) + ); + $poolName = $client->sendSync($printRequest)->getProperty('name'); - $setRequest = new RouterOS\Request('/ip/pool/set'); - $client($setRequest - ->setArgument('numbers', $poolName) - ->setArgument('ranges', $ip_address) - ); + $setRequest = new RouterOS\Request('/ip/pool/set'); + $client($setRequest + ->setArgument('numbers', $poolName) + ->setArgument('ranges', $ip_address) + ); + } $d->pool_name = $name; $d->range_ip = $ip_address; diff --git a/system/controllers/prepaid.php b/system/controllers/prepaid.php index 34f3aad0..4b93bd6d 100644 --- a/system/controllers/prepaid.php +++ b/system/controllers/prepaid.php @@ -102,78 +102,80 @@ switch ($action) { if ($type == 'Hotspot') { if ($b) { - try { - $iport = explode(":", $mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); - } + if(!$_c['radius_mode']){ + try { + $iport = explode(":", $mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } - $printRequest = new RouterOS\Request( - '/ip hotspot user print .proplist=name', - RouterOS\Query::where('name', $c['username']) - ); - $userName = $client->sendSync($printRequest)->getProperty('name'); - $removeRequest = new RouterOS\Request('/ip/hotspot/user/remove'); - $client( - $removeRequest - ->setArgument('numbers', $userName) - ); - /* iBNuX Added: - * Time limit to Mikrotik - * 'Time_Limit', 'Data_Limit', 'Both_Limit' - */ - $addRequest = new RouterOS\Request('/ip/hotspot/user/add'); - if ($p['typebp'] == "Limited") { - if ($p['limit_type'] == "Time_Limit") { - if ($p['time_unit'] == 'Hrs') - $timelimit = $p['time_limit'] . ":00:00"; - else - $timelimit = "00:" . $p['time_limit'] . ":00"; + $printRequest = new RouterOS\Request( + '/ip hotspot user print .proplist=name', + RouterOS\Query::where('name', $c['username']) + ); + $userName = $client->sendSync($printRequest)->getProperty('name'); + $removeRequest = new RouterOS\Request('/ip/hotspot/user/remove'); + $client( + $removeRequest + ->setArgument('numbers', $userName) + ); + /* iBNuX Added: + * Time limit to Mikrotik + * 'Time_Limit', 'Data_Limit', 'Both_Limit' + */ + $addRequest = new RouterOS\Request('/ip/hotspot/user/add'); + if ($p['typebp'] == "Limited") { + if ($p['limit_type'] == "Time_Limit") { + if ($p['time_unit'] == 'Hrs') + $timelimit = $p['time_limit'] . ":00:00"; + else + $timelimit = "00:" . $p['time_limit'] . ":00"; + $client->sendSync( + $addRequest + ->setArgument('name', $c['username']) + ->setArgument('profile', $p['name_plan']) + ->setArgument('password', $c['password']) + ->setArgument('limit-uptime', $timelimit) + ); + } else if ($p['limit_type'] == "Data_Limit") { + if ($p['data_unit'] == 'GB') + $datalimit = $p['data_limit'] . "000000000"; + else + $datalimit = $p['data_limit'] . "000000"; + $client->sendSync( + $addRequest + ->setArgument('name', $c['username']) + ->setArgument('profile', $p['name_plan']) + ->setArgument('password', $c['password']) + ->setArgument('limit-bytes-total', $datalimit) + ); + } else if ($p['limit_type'] == "Both_Limit") { + if ($p['time_unit'] == 'Hrs') + $timelimit = $p['time_limit'] . ":00:00"; + else + $timelimit = "00:" . $p['time_limit'] . ":00"; + if ($p['data_unit'] == 'GB') + $datalimit = $p['data_limit'] . "000000000"; + else + $datalimit = $p['data_limit'] . "000000"; + $client->sendSync( + $addRequest + ->setArgument('name', $c['username']) + ->setArgument('profile', $p['name_plan']) + ->setArgument('password', $c['password']) + ->setArgument('limit-uptime', $timelimit) + ->setArgument('limit-bytes-total', $datalimit) + ); + } + } else { $client->sendSync( $addRequest ->setArgument('name', $c['username']) ->setArgument('profile', $p['name_plan']) ->setArgument('password', $c['password']) - ->setArgument('limit-uptime', $timelimit) - ); - } else if ($p['limit_type'] == "Data_Limit") { - if ($p['data_unit'] == 'GB') - $datalimit = $p['data_limit'] . "000000000"; - else - $datalimit = $p['data_limit'] . "000000"; - $client->sendSync( - $addRequest - ->setArgument('name', $c['username']) - ->setArgument('profile', $p['name_plan']) - ->setArgument('password', $c['password']) - ->setArgument('limit-bytes-total', $datalimit) - ); - } else if ($p['limit_type'] == "Both_Limit") { - if ($p['time_unit'] == 'Hrs') - $timelimit = $p['time_limit'] . ":00:00"; - else - $timelimit = "00:" . $p['time_limit'] . ":00"; - if ($p['data_unit'] == 'GB') - $datalimit = $p['data_limit'] . "000000000"; - else - $datalimit = $p['data_limit'] . "000000"; - $client->sendSync( - $addRequest - ->setArgument('name', $c['username']) - ->setArgument('profile', $p['name_plan']) - ->setArgument('password', $c['password']) - ->setArgument('limit-uptime', $timelimit) - ->setArgument('limit-bytes-total', $datalimit) ); } - } else { - $client->sendSync( - $addRequest - ->setArgument('name', $c['username']) - ->setArgument('profile', $p['name_plan']) - ->setArgument('password', $c['password']) - ); } $b->customer_id = $id_customer; @@ -203,68 +205,70 @@ switch ($action) { $t->type = "Hotspot"; $t->save(); } else { - try { - $iport = explode(":", $mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); - } + if(!$_c['radius_mode']){ + try { + $iport = explode(":", $mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } - /* iBNuX Added: - * Time limit to Mikrotik - * 'Time_Limit', 'Data_Limit', 'Both_Limit' - */ - $addRequest = new RouterOS\Request('/ip/hotspot/user/add'); - if ($p['typebp'] == "Limited") { - if ($p['limit_type'] == "Time_Limit") { - if ($p['time_unit'] == 'Hrs') - $timelimit = $p['time_limit'] . ":00:00"; - else - $timelimit = "00:" . $p['time_limit'] . ":00"; + /* iBNuX Added: + * Time limit to Mikrotik + * 'Time_Limit', 'Data_Limit', 'Both_Limit' + */ + $addRequest = new RouterOS\Request('/ip/hotspot/user/add'); + if ($p['typebp'] == "Limited") { + if ($p['limit_type'] == "Time_Limit") { + if ($p['time_unit'] == 'Hrs') + $timelimit = $p['time_limit'] . ":00:00"; + else + $timelimit = "00:" . $p['time_limit'] . ":00"; + $client->sendSync( + $addRequest + ->setArgument('name', $c['username']) + ->setArgument('profile', $p['name_plan']) + ->setArgument('password', $c['password']) + ->setArgument('limit-uptime', $timelimit) + ); + } else if ($p['limit_type'] == "Data_Limit") { + if ($p['data_unit'] == 'GB') + $datalimit = $p['data_limit'] . "000000000"; + else + $datalimit = $p['data_limit'] . "000000"; + $client->sendSync( + $addRequest + ->setArgument('name', $c['username']) + ->setArgument('profile', $p['name_plan']) + ->setArgument('password', $c['password']) + ->setArgument('limit-bytes-total', $datalimit) + ); + } else if ($p['limit_type'] == "Both_Limit") { + if ($p['time_unit'] == 'Hrs') + $timelimit = $p['time_limit'] . ":00:00"; + else + $timelimit = "00:" . $p['time_limit'] . ":00"; + if ($p['data_unit'] == 'GB') + $datalimit = $p['data_limit'] . "000000000"; + else + $datalimit = $p['data_limit'] . "000000"; + $client->sendSync( + $addRequest + ->setArgument('name', $c['username']) + ->setArgument('profile', $p['name_plan']) + ->setArgument('password', $c['password']) + ->setArgument('limit-uptime', $timelimit) + ->setArgument('limit-bytes-total', $datalimit) + ); + } + } else { $client->sendSync( $addRequest ->setArgument('name', $c['username']) ->setArgument('profile', $p['name_plan']) ->setArgument('password', $c['password']) - ->setArgument('limit-uptime', $timelimit) - ); - } else if ($p['limit_type'] == "Data_Limit") { - if ($p['data_unit'] == 'GB') - $datalimit = $p['data_limit'] . "000000000"; - else - $datalimit = $p['data_limit'] . "000000"; - $client->sendSync( - $addRequest - ->setArgument('name', $c['username']) - ->setArgument('profile', $p['name_plan']) - ->setArgument('password', $c['password']) - ->setArgument('limit-bytes-total', $datalimit) - ); - } else if ($p['limit_type'] == "Both_Limit") { - if ($p['time_unit'] == 'Hrs') - $timelimit = $p['time_limit'] . ":00:00"; - else - $timelimit = "00:" . $p['time_limit'] . ":00"; - if ($p['data_unit'] == 'GB') - $datalimit = $p['data_limit'] . "000000000"; - else - $datalimit = $p['data_limit'] . "000000"; - $client->sendSync( - $addRequest - ->setArgument('name', $c['username']) - ->setArgument('profile', $p['name_plan']) - ->setArgument('password', $c['password']) - ->setArgument('limit-uptime', $timelimit) - ->setArgument('limit-bytes-total', $datalimit) ); } - } else { - $client->sendSync( - $addRequest - ->setArgument('name', $c['username']) - ->setArgument('profile', $p['name_plan']) - ->setArgument('password', $c['password']) - ); } $d = ORM::for_table('tbl_user_recharges')->create(); @@ -301,32 +305,34 @@ switch ($action) { } else { if ($b) { - try { - $iport = explode(":", $mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); + if(!$_c['radius_mode']){ + try { + $iport = explode(":", $mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } + $printRequest = new RouterOS\Request( + '/ppp secret print .proplist=name', + RouterOS\Query::where('name', $c['username']) + ); + $userName = $client->sendSync($printRequest)->getProperty('name'); + + $removeRequest = new RouterOS\Request('/ppp/secret/remove'); + $client( + $removeRequest + ->setArgument('numbers', $userName) + ); + + $addRequest = new RouterOS\Request('/ppp/secret/add'); + $client->sendSync( + $addRequest + ->setArgument('name', $c['username']) + ->setArgument('service', 'pppoe') + ->setArgument('profile', $p['name_plan']) + ->setArgument('password', $c['password']) + ); } - $printRequest = new RouterOS\Request( - '/ppp secret print .proplist=name', - RouterOS\Query::where('name', $c['username']) - ); - $userName = $client->sendSync($printRequest)->getProperty('name'); - - $removeRequest = new RouterOS\Request('/ppp/secret/remove'); - $client( - $removeRequest - ->setArgument('numbers', $userName) - ); - - $addRequest = new RouterOS\Request('/ppp/secret/add'); - $client->sendSync( - $addRequest - ->setArgument('name', $c['username']) - ->setArgument('service', 'pppoe') - ->setArgument('profile', $p['name_plan']) - ->setArgument('password', $c['password']) - ); $b->customer_id = $id_customer; $b->username = $c['username']; @@ -355,20 +361,22 @@ switch ($action) { $t->type = "PPPOE"; $t->save(); } else { - try { - $iport = explode(":", $mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); + if(!$_c['radius_mode']){ + try { + $iport = explode(":", $mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } + $addRequest = new RouterOS\Request('/ppp/secret/add'); + $client->sendSync( + $addRequest + ->setArgument('name', $c['username']) + ->setArgument('service', 'pppoe') + ->setArgument('profile', $p['name_plan']) + ->setArgument('password', $c['password']) + ); } - $addRequest = new RouterOS\Request('/ppp/secret/add'); - $client->sendSync( - $addRequest - ->setArgument('name', $c['username']) - ->setArgument('service', 'pppoe') - ->setArgument('profile', $p['name_plan']) - ->setArgument('password', $c['password']) - ); $d = ORM::for_table('tbl_user_recharges')->create(); $d->customer_id = $id_customer; @@ -465,42 +473,46 @@ switch ($action) { $mikrotik = Router::_info($d['routers']); if ($d) { if ($d['type'] == 'Hotspot') { - try { - $iport = explode(":", $mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); + if(!$_c['radius_mode']){ + try { + $iport = explode(":", $mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } + $printRequest = new RouterOS\Request( + '/ip hotspot user print .proplist=name', + RouterOS\Query::where('name', $d['username']) + ); + $userName = $client->sendSync($printRequest)->getProperty('name'); + $removeRequest = new RouterOS\Request('/ip/hotspot/user/remove'); + $client( + $removeRequest + ->setArgument('numbers', $userName) + ); } - $printRequest = new RouterOS\Request( - '/ip hotspot user print .proplist=name', - RouterOS\Query::where('name', $d['username']) - ); - $userName = $client->sendSync($printRequest)->getProperty('name'); - $removeRequest = new RouterOS\Request('/ip/hotspot/user/remove'); - $client( - $removeRequest - ->setArgument('numbers', $userName) - ); $d->delete(); } else { - try { - $iport = explode(":", $mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); - } - $printRequest = new RouterOS\Request( - '/ppp secret print .proplist=name', - RouterOS\Query::where('name', $d['username']) - ); - $userName = $client->sendSync($printRequest)->getProperty('name'); + if(!$_c['radius_mode']){ + try { + $iport = explode(":", $mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } + $printRequest = new RouterOS\Request( + '/ppp secret print .proplist=name', + RouterOS\Query::where('name', $d['username']) + ); + $userName = $client->sendSync($printRequest)->getProperty('name'); - $removeRequest = new RouterOS\Request('/ppp/secret/remove'); - $client( - $removeRequest - ->setArgument('numbers', $userName) - ); + $removeRequest = new RouterOS\Request('/ppp/secret/remove'); + $client( + $removeRequest + ->setArgument('numbers', $userName) + ); + } $d->delete(); } r2(U . 'prepaid/list', 's', $_L['Delete_Successfully']); @@ -738,77 +750,79 @@ switch ($action) { if ($v1) { if ($v1['type'] == 'Hotspot') { if ($b) { - try { - $iport = explode(":", $mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); - } - $printRequest = new RouterOS\Request( - '/ip hotspot user print .proplist=name', - RouterOS\Query::where('name', $c['username']) - ); - $userName = $client->sendSync($printRequest)->getProperty('name'); - $removeRequest = new RouterOS\Request('/ip/hotspot/user/remove'); - $client( - $removeRequest - ->setArgument('numbers', $userName) - ); - /* iBNuX Added: - * Time limit to Mikrotik - * 'Time_Limit', 'Data_Limit', 'Both_Limit' - */ - $addRequest = new RouterOS\Request('/ip/hotspot/user/add'); - if ($p['typebp'] == "Limited") { - if ($p['limit_type'] == "Time_Limit") { - if ($p['time_unit'] == 'Hrs') - $timelimit = $p['time_limit'] . ":00:00"; - else - $timelimit = "00:" . $p['time_limit'] . ":00"; + if(!$_c['radius_mode']){ + try { + $iport = explode(":", $mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } + $printRequest = new RouterOS\Request( + '/ip hotspot user print .proplist=name', + RouterOS\Query::where('name', $c['username']) + ); + $userName = $client->sendSync($printRequest)->getProperty('name'); + $removeRequest = new RouterOS\Request('/ip/hotspot/user/remove'); + $client( + $removeRequest + ->setArgument('numbers', $userName) + ); + /* iBNuX Added: + * Time limit to Mikrotik + * 'Time_Limit', 'Data_Limit', 'Both_Limit' + */ + $addRequest = new RouterOS\Request('/ip/hotspot/user/add'); + if ($p['typebp'] == "Limited") { + if ($p['limit_type'] == "Time_Limit") { + if ($p['time_unit'] == 'Hrs') + $timelimit = $p['time_limit'] . ":00:00"; + else + $timelimit = "00:" . $p['time_limit'] . ":00"; + $client->sendSync( + $addRequest + ->setArgument('name', $c['username']) + ->setArgument('profile', $p['name_plan']) + ->setArgument('password', $c['password']) + ->setArgument('limit-uptime', $timelimit) + ); + } else if ($p['limit_type'] == "Data_Limit") { + if ($p['data_unit'] == 'GB') + $datalimit = $p['data_limit'] . "000000000"; + else + $datalimit = $p['data_limit'] . "000000"; + $client->sendSync( + $addRequest + ->setArgument('name', $c['username']) + ->setArgument('profile', $p['name_plan']) + ->setArgument('password', $c['password']) + ->setArgument('limit-bytes-total', $datalimit) + ); + } else if ($p['limit_type'] == "Both_Limit") { + if ($p['time_unit'] == 'Hrs') + $timelimit = $p['time_limit'] . ":00:00"; + else + $timelimit = "00:" . $p['time_limit'] . ":00"; + if ($p['data_unit'] == 'GB') + $datalimit = $p['data_limit'] . "000000000"; + else + $datalimit = $p['data_limit'] . "000000"; + $client->sendSync( + $addRequest + ->setArgument('name', $c['username']) + ->setArgument('profile', $p['name_plan']) + ->setArgument('password', $c['password']) + ->setArgument('limit-uptime', $timelimit) + ->setArgument('limit-bytes-total', $datalimit) + ); + } + } else { $client->sendSync( $addRequest ->setArgument('name', $c['username']) ->setArgument('profile', $p['name_plan']) ->setArgument('password', $c['password']) - ->setArgument('limit-uptime', $timelimit) - ); - } else if ($p['limit_type'] == "Data_Limit") { - if ($p['data_unit'] == 'GB') - $datalimit = $p['data_limit'] . "000000000"; - else - $datalimit = $p['data_limit'] . "000000"; - $client->sendSync( - $addRequest - ->setArgument('name', $c['username']) - ->setArgument('profile', $p['name_plan']) - ->setArgument('password', $c['password']) - ->setArgument('limit-bytes-total', $datalimit) - ); - } else if ($p['limit_type'] == "Both_Limit") { - if ($p['time_unit'] == 'Hrs') - $timelimit = $p['time_limit'] . ":00:00"; - else - $timelimit = "00:" . $p['time_limit'] . ":00"; - if ($p['data_unit'] == 'GB') - $datalimit = $p['data_limit'] . "000000000"; - else - $datalimit = $p['data_limit'] . "000000"; - $client->sendSync( - $addRequest - ->setArgument('name', $c['username']) - ->setArgument('profile', $p['name_plan']) - ->setArgument('password', $c['password']) - ->setArgument('limit-uptime', $timelimit) - ->setArgument('limit-bytes-total', $datalimit) ); } - } else { - $client->sendSync( - $addRequest - ->setArgument('name', $c['username']) - ->setArgument('profile', $p['name_plan']) - ->setArgument('password', $c['password']) - ); } $b->customer_id = $user; @@ -838,67 +852,69 @@ switch ($action) { $t->type = "Hotspot"; $t->save(); } else { - try { - $iport = explode(":", $mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); - } - /* iBNuX Added: - * Time limit to Mikrotik - * 'Time_Limit', 'Data_Limit', 'Both_Limit' - */ - $addRequest = new RouterOS\Request('/ip/hotspot/user/add'); - if ($p['typebp'] == "Limited") { - if ($p['limit_type'] == "Time_Limit") { - if ($p['time_unit'] == 'Hrs') - $timelimit = $p['time_limit'] . ":00:00"; - else - $timelimit = "00:" . $p['time_limit'] . ":00"; + if(!$_c['radius_mode']){ + try { + $iport = explode(":", $mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } + /* iBNuX Added: + * Time limit to Mikrotik + * 'Time_Limit', 'Data_Limit', 'Both_Limit' + */ + $addRequest = new RouterOS\Request('/ip/hotspot/user/add'); + if ($p['typebp'] == "Limited") { + if ($p['limit_type'] == "Time_Limit") { + if ($p['time_unit'] == 'Hrs') + $timelimit = $p['time_limit'] . ":00:00"; + else + $timelimit = "00:" . $p['time_limit'] . ":00"; + $client->sendSync( + $addRequest + ->setArgument('name', $c['username']) + ->setArgument('profile', $p['name_plan']) + ->setArgument('password', $c['password']) + ->setArgument('limit-uptime', $timelimit) + ); + } else if ($p['limit_type'] == "Data_Limit") { + if ($p['data_unit'] == 'GB') + $datalimit = $p['data_limit'] . "000000000"; + else + $datalimit = $p['data_limit'] . "000000"; + $client->sendSync( + $addRequest + ->setArgument('name', $c['username']) + ->setArgument('profile', $p['name_plan']) + ->setArgument('password', $c['password']) + ->setArgument('limit-bytes-total', $datalimit) + ); + } else if ($p['limit_type'] == "Both_Limit") { + if ($p['time_unit'] == 'Hrs') + $timelimit = $p['time_limit'] . ":00:00"; + else + $timelimit = "00:" . $p['time_limit'] . ":00"; + if ($p['data_unit'] == 'GB') + $datalimit = $p['data_limit'] . "000000000"; + else + $datalimit = $p['data_limit'] . "000000"; + $client->sendSync( + $addRequest + ->setArgument('name', $c['username']) + ->setArgument('profile', $p['name_plan']) + ->setArgument('password', $c['password']) + ->setArgument('limit-uptime', $timelimit) + ->setArgument('limit-bytes-total', $datalimit) + ); + } + } else { $client->sendSync( $addRequest ->setArgument('name', $c['username']) ->setArgument('profile', $p['name_plan']) ->setArgument('password', $c['password']) - ->setArgument('limit-uptime', $timelimit) - ); - } else if ($p['limit_type'] == "Data_Limit") { - if ($p['data_unit'] == 'GB') - $datalimit = $p['data_limit'] . "000000000"; - else - $datalimit = $p['data_limit'] . "000000"; - $client->sendSync( - $addRequest - ->setArgument('name', $c['username']) - ->setArgument('profile', $p['name_plan']) - ->setArgument('password', $c['password']) - ->setArgument('limit-bytes-total', $datalimit) - ); - } else if ($p['limit_type'] == "Both_Limit") { - if ($p['time_unit'] == 'Hrs') - $timelimit = $p['time_limit'] . ":00:00"; - else - $timelimit = "00:" . $p['time_limit'] . ":00"; - if ($p['data_unit'] == 'GB') - $datalimit = $p['data_limit'] . "000000000"; - else - $datalimit = $p['data_limit'] . "000000"; - $client->sendSync( - $addRequest - ->setArgument('name', $c['username']) - ->setArgument('profile', $p['name_plan']) - ->setArgument('password', $c['password']) - ->setArgument('limit-uptime', $timelimit) - ->setArgument('limit-bytes-total', $datalimit) ); } - } else { - $client->sendSync( - $addRequest - ->setArgument('name', $c['username']) - ->setArgument('profile', $p['name_plan']) - ->setArgument('password', $c['password']) - ); } $d = ORM::for_table('tbl_user_recharges')->create(); @@ -940,32 +956,34 @@ switch ($action) { "\nPrice: ".$p['price']); } else { if ($b) { - try { - $iport = explode(":", $mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); + if(!$_c['radius_mode']){ + try { + $iport = explode(":", $mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } + $printRequest = new RouterOS\Request( + '/ppp secret print .proplist=name', + RouterOS\Query::where('name', $c['username']) + ); + $userName = $client->sendSync($printRequest)->getProperty('name'); + + $removeRequest = new RouterOS\Request('/ppp/secret/remove'); + $client( + $removeRequest + ->setArgument('numbers', $userName) + ); + + $addRequest = new RouterOS\Request('/ppp/secret/add'); + $client->sendSync( + $addRequest + ->setArgument('name', $c['username']) + ->setArgument('service', 'pppoe') + ->setArgument('profile', $p['name_plan']) + ->setArgument('password', $c['password']) + ); } - $printRequest = new RouterOS\Request( - '/ppp secret print .proplist=name', - RouterOS\Query::where('name', $c['username']) - ); - $userName = $client->sendSync($printRequest)->getProperty('name'); - - $removeRequest = new RouterOS\Request('/ppp/secret/remove'); - $client( - $removeRequest - ->setArgument('numbers', $userName) - ); - - $addRequest = new RouterOS\Request('/ppp/secret/add'); - $client->sendSync( - $addRequest - ->setArgument('name', $c['username']) - ->setArgument('service', 'pppoe') - ->setArgument('profile', $p['name_plan']) - ->setArgument('password', $c['password']) - ); $b->customer_id = $user; $b->username = $c['username']; @@ -994,20 +1012,22 @@ switch ($action) { $t->type = "PPPOE"; $t->save(); } else { - try { - $iport = explode(":", $mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); + if(!$_c['radius_mode']){ + try { + $iport = explode(":", $mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } + $addRequest = new RouterOS\Request('/ppp/secret/add'); + $client->sendSync( + $addRequest + ->setArgument('name', $c['username']) + ->setArgument('service', 'pppoe') + ->setArgument('profile', $p['name_plan']) + ->setArgument('password', $c['password']) + ); } - $addRequest = new RouterOS\Request('/ppp/secret/add'); - $client->sendSync( - $addRequest - ->setArgument('name', $c['username']) - ->setArgument('service', 'pppoe') - ->setArgument('profile', $p['name_plan']) - ->setArgument('password', $c['password']) - ); $d = ORM::for_table('tbl_user_recharges')->create(); $d->customer_id = $user; diff --git a/system/controllers/routers.php b/system/controllers/routers.php index 9acd9adf..45fb59aa 100644 --- a/system/controllers/routers.php +++ b/system/controllers/routers.php @@ -83,11 +83,13 @@ switch ($action) { $msg .= $_L['Router_already_exist']. '
'; } - try { - $iport = explode(":", $ip_address); - $client = new RouterOS\Client($iport[0], $username, $password, ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - $msg .= "Unable to connect to the router.
".$e->getMessage().'
'; + if(!$_c['radius_mode']){ + try { + $iport = explode(":", $ip_address); + $client = new RouterOS\Client($iport[0], $username, $password, ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + $msg .= "Unable to connect to the router.
".$e->getMessage().'
'; + } } if($msg == ''){ @@ -145,11 +147,13 @@ switch ($action) { } - try { - $iport = explode(":", $ip_address); - $client = new RouterOS\Client($iport[0], $username, $password, ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - $msg .= "Unable to connect to the router.
".$e->getMessage().'
'; + if(!$_c['radius_mode']){ + try { + $iport = explode(":", $ip_address); + $client = new RouterOS\Client($iport[0], $username, $password, ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + $msg .= "Unable to connect to the router.
".$e->getMessage().'
'; + } } diff --git a/system/controllers/services.php b/system/controllers/services.php index 4e06c0ba..dc2d8480 100644 --- a/system/controllers/services.php +++ b/system/controllers/services.php @@ -68,24 +68,26 @@ switch ($action) { $d = ORM::for_table('tbl_plans')->find_one($id); if ($d) { - $mikrotik = Router::_info($d['routers']); - try { - $iport = explode(":", $mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); - } - $printRequest = new RouterOS\Request( - '/ip hotspot user profile print .proplist=name', - RouterOS\Query::where('name', $d['name_plan']) - ); - $profileName = $client->sendSync($printRequest)->getProperty('name'); + if(!$_c['radius_mode']){ + $mikrotik = Router::_info($d['routers']); + try { + $iport = explode(":", $mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } + $printRequest = new RouterOS\Request( + '/ip hotspot user profile print .proplist=name', + RouterOS\Query::where('name', $d['name_plan']) + ); + $profileName = $client->sendSync($printRequest)->getProperty('name'); - $removeRequest = new RouterOS\Request('/ip/hotspot/user/profile/remove'); - $client( - $removeRequest - ->setArgument('numbers', $profileName) - ); + $removeRequest = new RouterOS\Request('/ip/hotspot/user/profile/remove'); + $client( + $removeRequest + ->setArgument('numbers', $profileName) + ); + } $d->delete(); @@ -138,20 +140,22 @@ switch ($action) { } $rate = $b['rate_up'] . $unitup . "/" . $b['rate_down'] . $unitdown; - $mikrotik = Router::_info($routers); - try { - $iport = explode(":", $mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); + if(!$_c['radius_mode']){ + $mikrotik = Router::_info($routers); + try { + $iport = explode(":", $mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } + $addRequest = new RouterOS\Request('/ip/hotspot/user/profile/add'); + $client->sendSync( + $addRequest + ->setArgument('name', $name) + ->setArgument('shared-users', $sharedusers) + ->setArgument('rate-limit', $rate) + ); } - $addRequest = new RouterOS\Request('/ip/hotspot/user/profile/add'); - $client->sendSync( - $addRequest - ->setArgument('name', $name) - ->setArgument('shared-users', $sharedusers) - ->setArgument('rate-limit', $rate) - ); $d = ORM::for_table('tbl_plans')->create(); $d->name_plan = $name; @@ -224,26 +228,28 @@ switch ($action) { } $rate = $b['rate_up'] . $unitup . "/" . $b['rate_down'] . $unitdown; - $mikrotik = Router::_info($routers); - try { - $iport = explode(":", $mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); - } - $printRequest = new RouterOS\Request( - '/ip hotspot user profile print .proplist=name', - RouterOS\Query::where('name', $name) - ); - $profileName = $client->sendSync($printRequest)->getProperty('name'); + if(!$_c['radius_mode']){ + $mikrotik = Router::_info($routers); + try { + $iport = explode(":", $mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } + $printRequest = new RouterOS\Request( + '/ip hotspot user profile print .proplist=name', + RouterOS\Query::where('name', $name) + ); + $profileName = $client->sendSync($printRequest)->getProperty('name'); - $setRequest = new RouterOS\Request('/ip/hotspot/user/profile/set'); - $client( - $setRequest - ->setArgument('numbers', $profileName) - ->setArgument('shared-users', $sharedusers) - ->setArgument('rate-limit', $rate) - ); + $setRequest = new RouterOS\Request('/ip/hotspot/user/profile/set'); + $client( + $setRequest + ->setArgument('numbers', $profileName) + ->setArgument('shared-users', $sharedusers) + ->setArgument('rate-limit', $rate) + ); + } $d->name_plan = $name; $d->id_bw = $id_bw; @@ -317,25 +323,26 @@ switch ($action) { $d = ORM::for_table('tbl_plans')->find_one($id); if ($d) { - $mikrotik = Router::_info($d['routers']); - try { - $iport = explode(":", $mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); + if(!$_c['radius_mode']){ + $mikrotik = Router::_info($d['routers']); + try { + $iport = explode(":", $mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } + $printRequest = new RouterOS\Request( + '/ppp profile print .proplist=name', + RouterOS\Query::where('name', $d['name_plan']) + ); + $profileName = $client->sendSync($printRequest)->getProperty('name'); + + $removeRequest = new RouterOS\Request('/ppp/profile/remove'); + $client( + $removeRequest + ->setArgument('numbers', $profileName) + ); } - $printRequest = new RouterOS\Request( - '/ppp profile print .proplist=name', - RouterOS\Query::where('name', $d['name_plan']) - ); - $profileName = $client->sendSync($printRequest)->getProperty('name'); - - $removeRequest = new RouterOS\Request('/ppp/profile/remove'); - $client( - $removeRequest - ->setArgument('numbers', $profileName) - ); - $d->delete(); r2(U . 'services/pppoe', 's', $_L['Delete_Successfully']); @@ -381,21 +388,23 @@ switch ($action) { } $rate = $b['rate_up'] . $unitup . "/" . $b['rate_down'] . $unitdown; - $mikrotik = Router::_info($routers); - try { - $iport = explode(":", $mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); + if(!$_c['radius_mode']){ + $mikrotik = Router::_info($routers); + try { + $iport = explode(":", $mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } + $addRequest = new RouterOS\Request('/ppp/profile/add'); + $client->sendSync( + $addRequest + ->setArgument('name', $name) + ->setArgument('local-address', $pool) + ->setArgument('remote-address', $pool) + ->setArgument('rate-limit', $rate) + ); } - $addRequest = new RouterOS\Request('/ppp/profile/add'); - $client->sendSync( - $addRequest - ->setArgument('name', $name) - ->setArgument('local-address', $pool) - ->setArgument('remote-address', $pool) - ->setArgument('rate-limit', $rate) - ); $d = ORM::for_table('tbl_plans')->create(); $d->type = 'PPPOE'; @@ -455,27 +464,29 @@ switch ($action) { } $rate = $b['rate_up'] . $unitup . "/" . $b['rate_down'] . $unitdown; - $mikrotik = Router::_info($routers); - try { - $iport = explode(":", $mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); - } - $printRequest = new RouterOS\Request( - '/ppp profile print .proplist=name', - RouterOS\Query::where('name', $name) - ); - $profileName = $client->sendSync($printRequest)->getProperty('name'); + if(!$_c['radius_mode']){ + $mikrotik = Router::_info($routers); + try { + $iport = explode(":", $mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } + $printRequest = new RouterOS\Request( + '/ppp profile print .proplist=name', + RouterOS\Query::where('name', $name) + ); + $profileName = $client->sendSync($printRequest)->getProperty('name'); - $setRequest = new RouterOS\Request('/ppp/profile/set'); - $client( - $setRequest - ->setArgument('numbers', $profileName) - ->setArgument('local-address', $pool) - ->setArgument('remote-address', $pool) - ->setArgument('rate-limit', $rate) - ); + $setRequest = new RouterOS\Request('/ppp/profile/set'); + $client( + $setRequest + ->setArgument('numbers', $profileName) + ->setArgument('local-address', $pool) + ->setArgument('remote-address', $pool) + ->setArgument('rate-limit', $rate) + ); + } $d->name_plan = $name; $d->id_bw = $id_bw; diff --git a/system/controllers/settings.php b/system/controllers/settings.php index 7a7de6ac..f51248a0 100644 --- a/system/controllers/settings.php +++ b/system/controllers/settings.php @@ -206,6 +206,7 @@ switch ($action) { $wa_url = _post('wa_url'); $address = _post('address'); $tawkto = _post('tawkto'); + $radius_mode = _post('radius_mode')*1; $payment_gateway = _post('payment_gateway'); if ($company == '') { r2(U . 'settings/app', 'e', $_L['All_field_is_required']); @@ -289,6 +290,17 @@ switch ($action) { $d->save(); } + $d = ORM::for_table('tbl_appconfig')->where('setting', 'radius_mode')->find_one(); + if($d){ + $d->value = $radius_mode; + $d->save(); + }else{ + $d = ORM::for_table('tbl_appconfig')->create(); + $d->setting = 'radius_mode'; + $d->value = $radius_mode; + $d->save(); + } + $note = _post('note'); $d = ORM::for_table('tbl_appconfig')->where('setting', 'note')->find_one(); $d->value = $note; diff --git a/system/controllers/voucher.php b/system/controllers/voucher.php index 9bb87211..cdcae806 100644 --- a/system/controllers/voucher.php +++ b/system/controllers/voucher.php @@ -52,78 +52,79 @@ switch ($action) { if ($v1) { if ($v1['type'] == 'Hotspot') { if ($b) { - try { - $iport = explode(":", $mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); - } - $printRequest = new RouterOS\Request('/ip/hotspot/user/print'); - $printRequest->setArgument('.proplist', '.id'); - $printRequest->setQuery(RouterOS\Query::where('name', $c['username'])); - $id = $client->sendSync($printRequest)->getProperty('.id'); + if(!$_c['radius_mode']){ + try { + $iport = explode(":", $mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } + $printRequest = new RouterOS\Request('/ip/hotspot/user/print'); + $printRequest->setArgument('.proplist', '.id'); + $printRequest->setQuery(RouterOS\Query::where('name', $c['username'])); + $id = $client->sendSync($printRequest)->getProperty('.id'); - $setRequest = new RouterOS\Request('/ip/hotspot/user/remove'); - $setRequest->setArgument('numbers', $id); - $client->sendSync($setRequest); + $setRequest = new RouterOS\Request('/ip/hotspot/user/remove'); + $setRequest->setArgument('numbers', $id); + $client->sendSync($setRequest); - /* iBNuX Added: - * Time limit to Mikrotik - * 'Time_Limit', 'Data_Limit', 'Both_Limit' - */ - $addRequest = new RouterOS\Request('/ip/hotspot/user/add'); - if ($p['typebp'] == "Limited") { - if ($p['limit_type'] == "Time_Limit") { - if ($p['time_unit'] == 'Hrs') - $timelimit = $p['time_limit'] . ":00:00"; - else - $timelimit = "00:" . $p['time_limit'] . ":00"; + /* iBNuX Added: + * Time limit to Mikrotik + * 'Time_Limit', 'Data_Limit', 'Both_Limit' + */ + $addRequest = new RouterOS\Request('/ip/hotspot/user/add'); + if ($p['typebp'] == "Limited") { + if ($p['limit_type'] == "Time_Limit") { + if ($p['time_unit'] == 'Hrs') + $timelimit = $p['time_limit'] . ":00:00"; + else + $timelimit = "00:" . $p['time_limit'] . ":00"; + $client->sendSync( + $addRequest + ->setArgument('name', $c['username']) + ->setArgument('profile', $p['name_plan']) + ->setArgument('password', $c['password']) + ->setArgument('limit-uptime', $timelimit) + ); + } else if ($p['limit_type'] == "Data_Limit") { + if ($p['data_unit'] == 'GB') + $datalimit = $p['data_limit'] . "000000000"; + else + $datalimit = $p['data_limit'] . "000000"; + $client->sendSync( + $addRequest + ->setArgument('name', $c['username']) + ->setArgument('profile', $p['name_plan']) + ->setArgument('password', $c['password']) + ->setArgument('limit-bytes-total', $datalimit) + ); + } else if ($p['limit_type'] == "Both_Limit") { + if ($p['time_unit'] == 'Hrs') + $timelimit = $p['time_limit'] . ":00:00"; + else + $timelimit = "00:" . $p['time_limit'] . ":00"; + if ($p['data_unit'] == 'GB') + $datalimit = $p['data_limit'] . "000000000"; + else + $datalimit = $p['data_limit'] . "000000"; + $client->sendSync( + $addRequest + ->setArgument('name', $c['username']) + ->setArgument('profile', $p['name_plan']) + ->setArgument('password', $c['password']) + ->setArgument('limit-uptime', $timelimit) + ->setArgument('limit-bytes-total', $datalimit) + ); + } + } else { $client->sendSync( $addRequest ->setArgument('name', $c['username']) ->setArgument('profile', $p['name_plan']) ->setArgument('password', $c['password']) - ->setArgument('limit-uptime', $timelimit) - ); - } else if ($p['limit_type'] == "Data_Limit") { - if ($p['data_unit'] == 'GB') - $datalimit = $p['data_limit'] . "000000000"; - else - $datalimit = $p['data_limit'] . "000000"; - $client->sendSync( - $addRequest - ->setArgument('name', $c['username']) - ->setArgument('profile', $p['name_plan']) - ->setArgument('password', $c['password']) - ->setArgument('limit-bytes-total', $datalimit) - ); - } else if ($p['limit_type'] == "Both_Limit") { - if ($p['time_unit'] == 'Hrs') - $timelimit = $p['time_limit'] . ":00:00"; - else - $timelimit = "00:" . $p['time_limit'] . ":00"; - if ($p['data_unit'] == 'GB') - $datalimit = $p['data_limit'] . "000000000"; - else - $datalimit = $p['data_limit'] . "000000"; - $client->sendSync( - $addRequest - ->setArgument('name', $c['username']) - ->setArgument('profile', $p['name_plan']) - ->setArgument('password', $c['password']) - ->setArgument('limit-uptime', $timelimit) - ->setArgument('limit-bytes-total', $datalimit) ); } - } else { - $client->sendSync( - $addRequest - ->setArgument('name', $c['username']) - ->setArgument('profile', $p['name_plan']) - ->setArgument('password', $c['password']) - ); } - $b->customer_id = $user['id']; $b->username = $c['username']; $b->plan_id = $v1['id_plan']; @@ -151,67 +152,69 @@ switch ($action) { $t->type = "Hotspot"; $t->save(); } else { - try { - $iport = explode(":", $mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); - } - /* iBNuX Added: - * Time limit to Mikrotik - * 'Time_Limit', 'Data_Limit', 'Both_Limit' - */ - $addRequest = new RouterOS\Request('/ip/hotspot/user/add'); - if ($p['typebp'] == "Limited") { - if ($p['limit_type'] == "Time_Limit") { - if ($p['time_unit'] == 'Hrs') - $timelimit = $p['time_limit'] . ":00:00"; - else - $timelimit = "00:" . $p['time_limit'] . ":00"; + if(!$_c['radius_mode']){ + try { + $iport = explode(":", $mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } + /* iBNuX Added: + * Time limit to Mikrotik + * 'Time_Limit', 'Data_Limit', 'Both_Limit' + */ + $addRequest = new RouterOS\Request('/ip/hotspot/user/add'); + if ($p['typebp'] == "Limited") { + if ($p['limit_type'] == "Time_Limit") { + if ($p['time_unit'] == 'Hrs') + $timelimit = $p['time_limit'] . ":00:00"; + else + $timelimit = "00:" . $p['time_limit'] . ":00"; + $client->sendSync( + $addRequest + ->setArgument('name', $c['username']) + ->setArgument('profile', $p['name_plan']) + ->setArgument('password', $c['password']) + ->setArgument('limit-uptime', $timelimit) + ); + } else if ($p['limit_type'] == "Data_Limit") { + if ($p['data_unit'] == 'GB') + $datalimit = $p['data_limit'] . "000000000"; + else + $datalimit = $p['data_limit'] . "000000"; + $client->sendSync( + $addRequest + ->setArgument('name', $c['username']) + ->setArgument('profile', $p['name_plan']) + ->setArgument('password', $c['password']) + ->setArgument('limit-bytes-total', $datalimit) + ); + } else if ($p['limit_type'] == "Both_Limit") { + if ($p['time_unit'] == 'Hrs') + $timelimit = $p['time_limit'] . ":00:00"; + else + $timelimit = "00:" . $p['time_limit'] . ":00"; + if ($p['data_unit'] == 'GB') + $datalimit = $p['data_limit'] . "000000000"; + else + $datalimit = $p['data_limit'] . "000000"; + $client->sendSync( + $addRequest + ->setArgument('name', $c['username']) + ->setArgument('profile', $p['name_plan']) + ->setArgument('password', $c['password']) + ->setArgument('limit-uptime', $timelimit) + ->setArgument('limit-bytes-total', $datalimit) + ); + } + } else { $client->sendSync( $addRequest ->setArgument('name', $c['username']) ->setArgument('profile', $p['name_plan']) ->setArgument('password', $c['password']) - ->setArgument('limit-uptime', $timelimit) - ); - } else if ($p['limit_type'] == "Data_Limit") { - if ($p['data_unit'] == 'GB') - $datalimit = $p['data_limit'] . "000000000"; - else - $datalimit = $p['data_limit'] . "000000"; - $client->sendSync( - $addRequest - ->setArgument('name', $c['username']) - ->setArgument('profile', $p['name_plan']) - ->setArgument('password', $c['password']) - ->setArgument('limit-bytes-total', $datalimit) - ); - } else if ($p['limit_type'] == "Both_Limit") { - if ($p['time_unit'] == 'Hrs') - $timelimit = $p['time_limit'] . ":00:00"; - else - $timelimit = "00:" . $p['time_limit'] . ":00"; - if ($p['data_unit'] == 'GB') - $datalimit = $p['data_limit'] . "000000000"; - else - $datalimit = $p['data_limit'] . "000000"; - $client->sendSync( - $addRequest - ->setArgument('name', $c['username']) - ->setArgument('profile', $p['name_plan']) - ->setArgument('password', $c['password']) - ->setArgument('limit-uptime', $timelimit) - ->setArgument('limit-bytes-total', $datalimit) ); } - } else { - $client->sendSync( - $addRequest - ->setArgument('name', $c['username']) - ->setArgument('profile', $p['name_plan']) - ->setArgument('password', $c['password']) - ); } $d = ORM::for_table('tbl_user_recharges')->create(); @@ -253,29 +256,31 @@ switch ($action) { "\nPrice: ".$p['price']); } else { if ($b) { - try { - $iport = explode(":", $mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); + if(!$_c['radius_mode']){ + try { + $iport = explode(":", $mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } + $printRequest = new RouterOS\Request('/ppp/secret/print'); + $printRequest->setArgument('.proplist', '.id'); + $printRequest->setQuery(RouterOS\Query::where('name', $c['username'])); + $id = $client->sendSync($printRequest)->getProperty('.id'); + + $setRequest = new RouterOS\Request('/ppp/secret/remove'); + $setRequest->setArgument('numbers', $id); + $client->sendSync($setRequest); + + $addRequest = new RouterOS\Request('/ppp/secret/add'); + $client->sendSync( + $addRequest + ->setArgument('name', $c['username']) + ->setArgument('service', 'pppoe') + ->setArgument('profile', $p['name_plan']) + ->setArgument('password', $c['password']) + ); } - $printRequest = new RouterOS\Request('/ppp/secret/print'); - $printRequest->setArgument('.proplist', '.id'); - $printRequest->setQuery(RouterOS\Query::where('name', $c['username'])); - $id = $client->sendSync($printRequest)->getProperty('.id'); - - $setRequest = new RouterOS\Request('/ppp/secret/remove'); - $setRequest->setArgument('numbers', $id); - $client->sendSync($setRequest); - - $addRequest = new RouterOS\Request('/ppp/secret/add'); - $client->sendSync( - $addRequest - ->setArgument('name', $c['username']) - ->setArgument('service', 'pppoe') - ->setArgument('profile', $p['name_plan']) - ->setArgument('password', $c['password']) - ); $b->customer_id = $user['id']; $b->username = $c['username']; @@ -304,20 +309,22 @@ switch ($action) { $t->type = "PPPOE"; $t->save(); } else { - try { - $iport = explode(":", $mikrotik['ip_address']); - $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); + if(!$_c['radius_mode']){ + try { + $iport = explode(":", $mikrotik['ip_address']); + $client = new RouterOS\Client($iport[0], $mikrotik['username'], $mikrotik['password'], ($iport[1]) ? $iport[1] : null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } + $addRequest = new RouterOS\Request('/ppp/secret/add'); + $client->sendSync( + $addRequest + ->setArgument('name', $c['username']) + ->setArgument('service', 'pppoe') + ->setArgument('profile', $p['name_plan']) + ->setArgument('password', $c['password']) + ); } - $addRequest = new RouterOS\Request('/ppp/secret/add'); - $client->sendSync( - $addRequest - ->setArgument('name', $c['username']) - ->setArgument('service', 'pppoe') - ->setArgument('profile', $p['name_plan']) - ->setArgument('password', $c['password']) - ); $d = ORM::for_table('tbl_user_recharges')->create(); $d->customer_id = $user['id']; diff --git a/system/cron.php b/system/cron.php index c9da1cc9..65962deb 100644 --- a/system/cron.php +++ b/system/cron.php @@ -34,38 +34,39 @@ foreach ($d as $ds){ $c = ORM::for_table('tbl_customers')->where('id',$ds['customer_id'])->find_one(); $m = ORM::for_table('tbl_routers')->where('name',$ds['routers'])->find_one(); - try { - $iport = explode(":",$m['ip_address']); - $client = new RouterOS\Client($iport[0], $m['username'], $m['password'],($iport[1])?$iport[1]:null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); - } + if(!$_c['radius_mode']){ + try { + $iport = explode(":",$m['ip_address']); + $client = new RouterOS\Client($iport[0], $m['username'], $m['password'],($iport[1])?$iport[1]:null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } - $printRequest = new RouterOS\Request('/ip/hotspot/user/print'); - $printRequest->setArgument('.proplist', '.id'); - $printRequest->setQuery(RouterOS\Query::where('name', $c['username'])); - $id = $client->sendSync($printRequest)->getProperty('.id'); + $printRequest = new RouterOS\Request('/ip/hotspot/user/print'); + $printRequest->setArgument('.proplist', '.id'); + $printRequest->setQuery(RouterOS\Query::where('name', $c['username'])); + $id = $client->sendSync($printRequest)->getProperty('.id'); - $setRequest = new RouterOS\Request('/ip/hotspot/user/set'); - $setRequest->setArgument('numbers', $id); - $setRequest->setArgument('limit-uptime', '00:00:05'); - $client->sendSync($setRequest); + $setRequest = new RouterOS\Request('/ip/hotspot/user/set'); + $setRequest->setArgument('numbers', $id); + $setRequest->setArgument('limit-uptime', '00:00:05'); + $client->sendSync($setRequest); - //remove hotspot active - $onlineRequest = new RouterOS\Request('/ip/hotspot/active/print'); - $onlineRequest->setArgument('.proplist', '.id'); - $onlineRequest->setQuery(RouterOS\Query::where('user', $c['username'])); - $id = $client->sendSync($onlineRequest)->getProperty('.id'); + //remove hotspot active + $onlineRequest = new RouterOS\Request('/ip/hotspot/active/print'); + $onlineRequest->setArgument('.proplist', '.id'); + $onlineRequest->setQuery(RouterOS\Query::where('user', $c['username'])); + $id = $client->sendSync($onlineRequest)->getProperty('.id'); - $removeRequest = new RouterOS\Request('/ip/hotspot/active/remove'); - $removeRequest->setArgument('numbers', $id); - $client->sendSync($removeRequest); + $removeRequest = new RouterOS\Request('/ip/hotspot/active/remove'); + $removeRequest->setArgument('numbers', $id); + $client->sendSync($removeRequest); + } //update database user dengan status off $u->status = 'off'; $u->save(); - }else - echo " : ACTIVE \r\n"; + }else echo " : ACTIVE \r\n"; }else{ $date_now = strtotime(date("Y-m-d H:i:s")); $expiration = strtotime($ds['expiration'].' '.$ds['time']); @@ -76,30 +77,32 @@ foreach ($d as $ds){ $c = ORM::for_table('tbl_customers')->where('id',$ds['customer_id'])->find_one(); $m = ORM::for_table('tbl_routers')->where('name',$ds['routers'])->find_one(); - try { - $iport = explode(":",$m['ip_address']); - $client = new RouterOS\Client($iport[0], $m['username'], $m['password'],($iport[1])?$iport[1]:null); - } catch (Exception $e) { - die("Unable to connect to the router.
".$e->getMessage()); - } - $printRequest = new RouterOS\Request('/ppp/secret/print'); - $printRequest->setArgument('.proplist', '.id'); - $printRequest->setQuery(RouterOS\Query::where('name', $c['username'])); - $id = $client->sendSync($printRequest)->getProperty('.id'); + if(!$_c['radius_mode']){ + try { + $iport = explode(":",$m['ip_address']); + $client = new RouterOS\Client($iport[0], $m['username'], $m['password'],($iport[1])?$iport[1]:null); + } catch (Exception $e) { + die("Unable to connect to the router.
".$e->getMessage()); + } + $printRequest = new RouterOS\Request('/ppp/secret/print'); + $printRequest->setArgument('.proplist', '.id'); + $printRequest->setQuery(RouterOS\Query::where('name', $c['username'])); + $id = $client->sendSync($printRequest)->getProperty('.id'); - $setRequest = new RouterOS\Request('/ppp/secret/disable'); - $setRequest->setArgument('numbers', $id); - $client->sendSync($setRequest); + $setRequest = new RouterOS\Request('/ppp/secret/disable'); + $setRequest->setArgument('numbers', $id); + $client->sendSync($setRequest); - //remove hotspot active - $onlineRequest = new RouterOS\Request('/ppp/active/print'); - $onlineRequest->setArgument('.proplist', '.id'); - $onlineRequest->setQuery(RouterOS\Query::where('name', $c['username'])); - $id = $client->sendSync($onlineRequest)->getProperty('.id'); + //remove hotspot active + $onlineRequest = new RouterOS\Request('/ppp/active/print'); + $onlineRequest->setArgument('.proplist', '.id'); + $onlineRequest->setQuery(RouterOS\Query::where('name', $c['username'])); + $id = $client->sendSync($onlineRequest)->getProperty('.id'); - $removeRequest = new RouterOS\Request('/ppp/active/remove'); - $removeRequest->setArgument('numbers', $id); - $client->sendSync($removeRequest); + $removeRequest = new RouterOS\Request('/ppp/active/remove'); + $removeRequest->setArgument('numbers', $id); + $client->sendSync($removeRequest); + } $u->status = 'off'; $u->save(); diff --git a/ui/ui/app-settings.tpl b/ui/ui/app-settings.tpl index 202eb60e..e7862072 100644 --- a/ui/ui/app-settings.tpl +++ b/ui/ui/app-settings.tpl @@ -33,10 +33,25 @@ + +
+
+ +
+ +

Still on Testing.

+

Changing from Radius will not add existing user to Mikrotik Hotspot.

+

With Radius user can use Hotspot or PPOE.

+
+
+
Telegram Notification