add limit & quota to voucher activation & refill

This commit is contained in:
Ibnu Maksum 2017-03-24 19:32:18 +07:00
parent 2d82051895
commit 591dec0d46
2 changed files with 204 additions and 20 deletions

View File

@ -684,12 +684,58 @@ switch ($action) {
$client($removeRequest $client($removeRequest
->setArgument('numbers', $userName) ->setArgument('numbers', $userName)
); );
/* iBNuX Added:
* Time limit to Mikrotik
* 'Time_Limit', 'Data_Limit', 'Both_Limit'
*/
$addRequest = new RouterOS\Request('/ip/hotspot/user/add'); $addRequest = new RouterOS\Request('/ip/hotspot/user/add');
$client->sendSync($addRequest if($p['typebp']=="Limited"){
->setArgument('name', $c['username']) if($p['limit_type']=="Time_Limit"){
->setArgument('profile', $p['name_plan']) if($p['time_unit']=='Hrs')
->setArgument('password', $c['password']) $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'])
);
}
$b->customer_id = $user; $b->customer_id = $user;
$b->username = $c['username']; $b->username = $c['username'];
@ -724,12 +770,58 @@ switch ($action) {
} catch (Exception $e) { } catch (Exception $e) {
die('Unable to connect to the router.'); die('Unable to connect to the router.');
} }
/* iBNuX Added:
* Time limit to Mikrotik
* 'Time_Limit', 'Data_Limit', 'Both_Limit'
*/
$addRequest = new RouterOS\Request('/ip/hotspot/user/add'); $addRequest = new RouterOS\Request('/ip/hotspot/user/add');
$client->sendSync($addRequest if($p['typebp']=="Limited"){
->setArgument('name', $c['username']) if($p['limit_type']=="Time_Limit"){
->setArgument('profile', $p['name_plan']) if($p['time_unit']=='Hrs')
->setArgument('password', $c['password']) $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'])
);
}
$d = ORM::for_table('tbl_user_recharges')->create(); $d = ORM::for_table('tbl_user_recharges')->create();
$d->customer_id = $user; $d->customer_id = $user;

View File

@ -57,12 +57,58 @@ switch ($action) {
$setRequest->setArgument('numbers', $id); $setRequest->setArgument('numbers', $id);
$client->sendSync($setRequest); $client->sendSync($setRequest);
/* iBNuX Added:
* Time limit to Mikrotik
* 'Time_Limit', 'Data_Limit', 'Both_Limit'
*/
$addRequest = new RouterOS\Request('/ip/hotspot/user/add'); $addRequest = new RouterOS\Request('/ip/hotspot/user/add');
$client->sendSync($addRequest if($p['typebp']=="Limited"){
->setArgument('name', $c['username']) if($p['limit_type']=="Time_Limit"){
->setArgument('profile', $p['name_plan']) if($p['time_unit']=='Hrs')
->setArgument('password', $c['password']) $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'])
);
}
$b->customer_id = $user['id']; $b->customer_id = $user['id'];
$b->username = $c['username']; $b->username = $c['username'];
@ -97,12 +143,58 @@ switch ($action) {
} catch (Exception $e) { } catch (Exception $e) {
die('Unable to connect to the router.'); die('Unable to connect to the router.');
} }
/* iBNuX Added:
* Time limit to Mikrotik
* 'Time_Limit', 'Data_Limit', 'Both_Limit'
*/
$addRequest = new RouterOS\Request('/ip/hotspot/user/add'); $addRequest = new RouterOS\Request('/ip/hotspot/user/add');
$client->sendSync($addRequest if($p['typebp']=="Limited"){
->setArgument('name', $c['username']) if($p['limit_type']=="Time_Limit"){
->setArgument('profile', $p['name_plan']) if($p['time_unit']=='Hrs')
->setArgument('password', $c['password']) $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'])
);
}
$d = ORM::for_table('tbl_user_recharges')->create(); $d = ORM::for_table('tbl_user_recharges')->create();
$d->customer_id = $user['id']; $d->customer_id = $user['id'];