PPP Comment

This commit is contained in:
Ibnu Maksum 2023-08-18 13:37:07 +07:00
parent 4c8f0b27a1
commit 2c7d0a321e
No known key found for this signature in database
GPG Key ID: 7FC82848810579E5
2 changed files with 50 additions and 31 deletions

View File

@ -5,6 +5,7 @@
## 2023.8.18
- Fix Auto Renewall Cronjob
- Add comment to Mikrotik User
## 2023.8.16

View File

@ -4,8 +4,9 @@ use PEAR2\Net\RouterOS;
class Mikrotik
{
public static function info($name){
$d = ORM::for_table('tbl_routers')->where('name',$name)->find_one();
public static function info($name)
{
$d = ORM::for_table('tbl_routers')->where('name', $name)->find_one();
return $d;
}
@ -19,7 +20,8 @@ class Mikrotik
}
}
public static function isUserLogin($client, $username){
public static function isUserLogin($client, $username)
{
$printRequest = new RouterOS\Request(
'/ip hotspot active print',
RouterOS\Query::where('user', $username)
@ -27,7 +29,8 @@ class Mikrotik
return $client->sendSync($printRequest)->getProperty('.id');
}
public static function logMeIn($client, $user, $pass, $ip, $mac){
public static function logMeIn($client, $user, $pass, $ip, $mac)
{
$addRequest = new RouterOS\Request('/ip/hotspot/active/login');
$client->sendSync(
$addRequest
@ -38,7 +41,8 @@ class Mikrotik
);
}
public static function logMeOut($client, $user){
public static function logMeOut($client, $user)
{
$printRequest = new RouterOS\Request(
'/ip hotspot active print',
RouterOS\Query::where('user', $user)
@ -51,7 +55,8 @@ class Mikrotik
);
}
public static function addHotspotPlan($client, $name, $sharedusers, $rate){
public static function addHotspotPlan($client, $name, $sharedusers, $rate)
{
$addRequest = new RouterOS\Request('/ip/hotspot/user/profile/add');
$client->sendSync(
$addRequest
@ -61,7 +66,8 @@ class Mikrotik
);
}
public static function setHotspotPlan($client, $name, $sharedusers, $rate){
public static function setHotspotPlan($client, $name, $sharedusers, $rate)
{
$printRequest = new RouterOS\Request(
'/ip hotspot user profile print .proplist=name',
RouterOS\Query::where('name', $name)
@ -77,7 +83,8 @@ class Mikrotik
);
}
public static function removeHotspotPlan($client, $name){
public static function removeHotspotPlan($client, $name)
{
$printRequest = new RouterOS\Request(
'/ip hotspot user profile print .proplist=name',
RouterOS\Query::where('name', $name)
@ -119,7 +126,7 @@ class Mikrotik
->setArgument('name', $customer['username'])
->setArgument('profile', $plan['name_plan'])
->setArgument('password', $customer['password'])
->setArgument('comment', $customer['fullname'] .' | '.$customer['address'])
->setArgument('comment', $customer['fullname'])
->setArgument('email', $customer['email'])
->setArgument('limit-uptime', $timelimit)
);
@ -133,7 +140,7 @@ class Mikrotik
->setArgument('name', $customer['username'])
->setArgument('profile', $plan['name_plan'])
->setArgument('password', $customer['password'])
->setArgument('comment', $customer['fullname'] .' | '.$customer['address'])
->setArgument('comment', $customer['fullname'])
->setArgument('email', $customer['email'])
->setArgument('limit-bytes-total', $datalimit)
);
@ -151,7 +158,7 @@ class Mikrotik
->setArgument('name', $customer['username'])
->setArgument('profile', $plan['name_plan'])
->setArgument('password', $customer['password'])
->setArgument('comment', $customer['fullname'] .' | '.$customer['address'])
->setArgument('comment', $customer['fullname'])
->setArgument('email', $customer['email'])
->setArgument('limit-uptime', $timelimit)
->setArgument('limit-bytes-total', $datalimit)
@ -162,14 +169,15 @@ class Mikrotik
$addRequest
->setArgument('name', $customer['username'])
->setArgument('profile', $plan['name_plan'])
->setArgument('comment', $customer['fullname'] .' | '.$customer['address'])
->setArgument('comment', $customer['fullname'])
->setArgument('email', $customer['email'])
->setArgument('password', $customer['password'])
);
}
}
public static function setHotspotUser($client, $user, $pass, $nuser= null){
public static function setHotspotUser($client, $user, $pass, $nuser = null)
{
$printRequest = new RouterOS\Request('/ip/hotspot/user/print');
$printRequest->setArgument('.proplist', '.id');
$printRequest->setQuery(RouterOS\Query::where('name', $user));
@ -224,9 +232,9 @@ class Mikrotik
public static function addPpoeUser($client, $plan, $customer)
{
$addRequest = new RouterOS\Request('/ppp/secret/add');
if(!empty($customer['pppoe_password'])){
if (!empty($customer['pppoe_password'])) {
$pass = $customer['pppoe_password'];
}else{
} else {
$pass = $customer['password'];
}
$client->sendSync(
@ -234,11 +242,13 @@ class Mikrotik
->setArgument('name', $customer['username'])
->setArgument('service', 'pppoe')
->setArgument('profile', $plan['name_plan'])
->setArgument('comment', $customer['fullname'] . ' | ' . $customer['email'])
->setArgument('password', $pass)
);
}
public static function setPpoeUser($client, $user, $pass, $nuser= null){
public static function setPpoeUser($client, $user, $pass, $nuser = null)
{
$printRequest = new RouterOS\Request('/ppp/secret/print');
$printRequest->setArgument('.proplist', '.id');
$printRequest->setQuery(RouterOS\Query::where('name', $user));
@ -274,7 +284,8 @@ class Mikrotik
$client->sendSync($removeRequest);
}
public static function removePool($client, $name){
public static function removePool($client, $name)
{
$printRequest = new RouterOS\Request(
'/ip pool print .proplist=name',
RouterOS\Query::where('name', $name)
@ -282,29 +293,33 @@ class Mikrotik
$poolName = $client->sendSync($printRequest)->getProperty('name');
$removeRequest = new RouterOS\Request('/ip/pool/remove');
$client($removeRequest
->setArgument('numbers', $poolName)
$client(
$removeRequest
->setArgument('numbers', $poolName)
);
}
public static function addPool($client, $name, $ip_address){
public static function addPool($client, $name, $ip_address)
{
$addRequest = new RouterOS\Request('/ip/pool/add');
$client->sendSync($addRequest
->setArgument('name', $name)
->setArgument('ranges', $ip_address)
$client->sendSync(
$addRequest
->setArgument('name', $name)
->setArgument('ranges', $ip_address)
);
}
public static function setPool($client, $name, $ip_address){
public static function setPool($client, $name, $ip_address)
{
$printRequest = new RouterOS\Request(
'/ip pool print .proplist=name',
RouterOS\Query::where('name', $name)
);
$poolName = $client->sendSync($printRequest)->getProperty('name');
if(empty($poolName)){
if (empty($poolName)) {
self::addPool($client, $name, $ip_address);
}else{
} else {
$setRequest = new RouterOS\Request('/ip/pool/set');
$client(
$setRequest
@ -315,7 +330,8 @@ class Mikrotik
}
public static function addPpoePlan($client, $name, $pool, $rate){
public static function addPpoePlan($client, $name, $pool, $rate)
{
$addRequest = new RouterOS\Request('/ppp/profile/add');
$client->sendSync(
$addRequest
@ -326,15 +342,16 @@ class Mikrotik
);
}
public static function setPpoePlan($client, $name, $pool, $rate){
public static function setPpoePlan($client, $name, $pool, $rate)
{
$printRequest = new RouterOS\Request(
'/ppp profile print .proplist=name',
RouterOS\Query::where('name', $name)
);
$profileName = $client->sendSync($printRequest)->getProperty('name');
if(empty($profileName)){
if (empty($profileName)) {
self::addPpoePlan($client, $name, $pool, $rate);
}else{
} else {
$setRequest = new RouterOS\Request('/ppp/profile/set');
$client(
$setRequest
@ -346,7 +363,8 @@ class Mikrotik
}
}
public static function removePpoePlan($client, $name){
public static function removePpoePlan($client, $name)
{
$printRequest = new RouterOS\Request(
'/ppp profile print .proplist=name',
RouterOS\Query::where('name', $name)