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 ## 2023.8.18
- Fix Auto Renewall Cronjob - Fix Auto Renewall Cronjob
- Add comment to Mikrotik User
## 2023.8.16 ## 2023.8.16

View File

@ -4,7 +4,8 @@ use PEAR2\Net\RouterOS;
class Mikrotik class Mikrotik
{ {
public static function info($name){ public static function info($name)
{
$d = ORM::for_table('tbl_routers')->where('name', $name)->find_one(); $d = ORM::for_table('tbl_routers')->where('name', $name)->find_one();
return $d; return $d;
} }
@ -19,7 +20,8 @@ class Mikrotik
} }
} }
public static function isUserLogin($client, $username){ public static function isUserLogin($client, $username)
{
$printRequest = new RouterOS\Request( $printRequest = new RouterOS\Request(
'/ip hotspot active print', '/ip hotspot active print',
RouterOS\Query::where('user', $username) RouterOS\Query::where('user', $username)
@ -27,7 +29,8 @@ class Mikrotik
return $client->sendSync($printRequest)->getProperty('.id'); 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'); $addRequest = new RouterOS\Request('/ip/hotspot/active/login');
$client->sendSync( $client->sendSync(
$addRequest $addRequest
@ -38,7 +41,8 @@ class Mikrotik
); );
} }
public static function logMeOut($client, $user){ public static function logMeOut($client, $user)
{
$printRequest = new RouterOS\Request( $printRequest = new RouterOS\Request(
'/ip hotspot active print', '/ip hotspot active print',
RouterOS\Query::where('user', $user) 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'); $addRequest = new RouterOS\Request('/ip/hotspot/user/profile/add');
$client->sendSync( $client->sendSync(
$addRequest $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( $printRequest = new RouterOS\Request(
'/ip hotspot user profile print .proplist=name', '/ip hotspot user profile print .proplist=name',
RouterOS\Query::where('name', $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( $printRequest = new RouterOS\Request(
'/ip hotspot user profile print .proplist=name', '/ip hotspot user profile print .proplist=name',
RouterOS\Query::where('name', $name) RouterOS\Query::where('name', $name)
@ -119,7 +126,7 @@ class Mikrotik
->setArgument('name', $customer['username']) ->setArgument('name', $customer['username'])
->setArgument('profile', $plan['name_plan']) ->setArgument('profile', $plan['name_plan'])
->setArgument('password', $customer['password']) ->setArgument('password', $customer['password'])
->setArgument('comment', $customer['fullname'] .' | '.$customer['address']) ->setArgument('comment', $customer['fullname'])
->setArgument('email', $customer['email']) ->setArgument('email', $customer['email'])
->setArgument('limit-uptime', $timelimit) ->setArgument('limit-uptime', $timelimit)
); );
@ -133,7 +140,7 @@ class Mikrotik
->setArgument('name', $customer['username']) ->setArgument('name', $customer['username'])
->setArgument('profile', $plan['name_plan']) ->setArgument('profile', $plan['name_plan'])
->setArgument('password', $customer['password']) ->setArgument('password', $customer['password'])
->setArgument('comment', $customer['fullname'] .' | '.$customer['address']) ->setArgument('comment', $customer['fullname'])
->setArgument('email', $customer['email']) ->setArgument('email', $customer['email'])
->setArgument('limit-bytes-total', $datalimit) ->setArgument('limit-bytes-total', $datalimit)
); );
@ -151,7 +158,7 @@ class Mikrotik
->setArgument('name', $customer['username']) ->setArgument('name', $customer['username'])
->setArgument('profile', $plan['name_plan']) ->setArgument('profile', $plan['name_plan'])
->setArgument('password', $customer['password']) ->setArgument('password', $customer['password'])
->setArgument('comment', $customer['fullname'] .' | '.$customer['address']) ->setArgument('comment', $customer['fullname'])
->setArgument('email', $customer['email']) ->setArgument('email', $customer['email'])
->setArgument('limit-uptime', $timelimit) ->setArgument('limit-uptime', $timelimit)
->setArgument('limit-bytes-total', $datalimit) ->setArgument('limit-bytes-total', $datalimit)
@ -162,14 +169,15 @@ class Mikrotik
$addRequest $addRequest
->setArgument('name', $customer['username']) ->setArgument('name', $customer['username'])
->setArgument('profile', $plan['name_plan']) ->setArgument('profile', $plan['name_plan'])
->setArgument('comment', $customer['fullname'] .' | '.$customer['address']) ->setArgument('comment', $customer['fullname'])
->setArgument('email', $customer['email']) ->setArgument('email', $customer['email'])
->setArgument('password', $customer['password']) ->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 = new RouterOS\Request('/ip/hotspot/user/print');
$printRequest->setArgument('.proplist', '.id'); $printRequest->setArgument('.proplist', '.id');
$printRequest->setQuery(RouterOS\Query::where('name', $user)); $printRequest->setQuery(RouterOS\Query::where('name', $user));
@ -234,11 +242,13 @@ class Mikrotik
->setArgument('name', $customer['username']) ->setArgument('name', $customer['username'])
->setArgument('service', 'pppoe') ->setArgument('service', 'pppoe')
->setArgument('profile', $plan['name_plan']) ->setArgument('profile', $plan['name_plan'])
->setArgument('comment', $customer['fullname'] . ' | ' . $customer['email'])
->setArgument('password', $pass) ->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 = new RouterOS\Request('/ppp/secret/print');
$printRequest->setArgument('.proplist', '.id'); $printRequest->setArgument('.proplist', '.id');
$printRequest->setQuery(RouterOS\Query::where('name', $user)); $printRequest->setQuery(RouterOS\Query::where('name', $user));
@ -274,7 +284,8 @@ class Mikrotik
$client->sendSync($removeRequest); $client->sendSync($removeRequest);
} }
public static function removePool($client, $name){ public static function removePool($client, $name)
{
$printRequest = new RouterOS\Request( $printRequest = new RouterOS\Request(
'/ip pool print .proplist=name', '/ip pool print .proplist=name',
RouterOS\Query::where('name', $name) RouterOS\Query::where('name', $name)
@ -282,20 +293,24 @@ class Mikrotik
$poolName = $client->sendSync($printRequest)->getProperty('name'); $poolName = $client->sendSync($printRequest)->getProperty('name');
$removeRequest = new RouterOS\Request('/ip/pool/remove'); $removeRequest = new RouterOS\Request('/ip/pool/remove');
$client($removeRequest $client(
$removeRequest
->setArgument('numbers', $poolName) ->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'); $addRequest = new RouterOS\Request('/ip/pool/add');
$client->sendSync($addRequest $client->sendSync(
$addRequest
->setArgument('name', $name) ->setArgument('name', $name)
->setArgument('ranges', $ip_address) ->setArgument('ranges', $ip_address)
); );
} }
public static function setPool($client, $name, $ip_address){ public static function setPool($client, $name, $ip_address)
{
$printRequest = new RouterOS\Request( $printRequest = new RouterOS\Request(
'/ip pool print .proplist=name', '/ip pool print .proplist=name',
RouterOS\Query::where('name', $name) RouterOS\Query::where('name', $name)
@ -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'); $addRequest = new RouterOS\Request('/ppp/profile/add');
$client->sendSync( $client->sendSync(
$addRequest $addRequest
@ -326,7 +342,8 @@ class Mikrotik
); );
} }
public static function setPpoePlan($client, $name, $pool, $rate){ public static function setPpoePlan($client, $name, $pool, $rate)
{
$printRequest = new RouterOS\Request( $printRequest = new RouterOS\Request(
'/ppp profile print .proplist=name', '/ppp profile print .proplist=name',
RouterOS\Query::where('name', $name) RouterOS\Query::where('name', $name)
@ -346,7 +363,8 @@ class Mikrotik
} }
} }
public static function removePpoePlan($client, $name){ public static function removePpoePlan($client, $name)
{
$printRequest = new RouterOS\Request( $printRequest = new RouterOS\Request(
'/ppp profile print .proplist=name', '/ppp profile print .proplist=name',
RouterOS\Query::where('name', $name) RouterOS\Query::where('name', $name)