Set expired plan
This commit is contained in:
parent
5c9a0d8ea6
commit
b912dd05d0
@ -17,7 +17,7 @@ class Mikrotik
|
|||||||
$iport = explode(":", $ip);
|
$iport = explode(":", $ip);
|
||||||
return new RouterOS\Client($iport[0], $user, $pass, ($iport[1]) ? $iport[1] : null);
|
return new RouterOS\Client($iport[0], $user, $pass, ($iport[1]) ? $iport[1] : null);
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
$ui->assign("error_meesage","Unable to connect to the router.<br>" . $e->getMessage());
|
$ui->assign("error_meesage", "Unable to connect to the router.<br>" . $e->getMessage());
|
||||||
$ui->display('router-error.tpl');
|
$ui->display('router-error.tpl');
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
@ -75,16 +75,47 @@ class Mikrotik
|
|||||||
'/ip hotspot user profile print .proplist=name',
|
'/ip hotspot user profile print .proplist=name',
|
||||||
RouterOS\Query::where('name', $name)
|
RouterOS\Query::where('name', $name)
|
||||||
);
|
);
|
||||||
$profileName = $client->sendSync($printRequest)->getProperty('name');
|
$profileID = $client->sendSync($printRequest)->getProperty('.id');
|
||||||
|
if (empty($profileID)) {
|
||||||
|
Mikrotik::addHotspotPlan($client, $name, $sharedusers, $rate);
|
||||||
|
}else{
|
||||||
$setRequest = new RouterOS\Request('/ip/hotspot/user/profile/set');
|
$setRequest = new RouterOS\Request('/ip/hotspot/user/profile/set');
|
||||||
$client(
|
$client(
|
||||||
$setRequest
|
$setRequest
|
||||||
->setArgument('numbers', $profileName)
|
->setArgument('numbers', $profileID)
|
||||||
->setArgument('shared-users', $sharedusers)
|
->setArgument('shared-users', $sharedusers)
|
||||||
->setArgument('rate-limit', $rate)
|
->setArgument('rate-limit', $rate)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function setHotspotExpiredPlan($client, $name, $pool)
|
||||||
|
{
|
||||||
|
$printRequest = new RouterOS\Request(
|
||||||
|
'/ip hotspot user profile print .proplist=name',
|
||||||
|
RouterOS\Query::where('name', $name)
|
||||||
|
);
|
||||||
|
$profileID = $client->sendSync($printRequest)->getProperty('.id');
|
||||||
|
if (empty($profileID)) {
|
||||||
|
$addRequest = new RouterOS\Request('/ip/hotspot/user/profile/add');
|
||||||
|
$client->sendSync(
|
||||||
|
$addRequest
|
||||||
|
->setArgument('name', $name)
|
||||||
|
->setArgument('shared-users', 3)
|
||||||
|
->setArgument('address-pool', $pool)
|
||||||
|
->setArgument('rate-limit', '512K/512K')
|
||||||
|
);
|
||||||
|
}else{
|
||||||
|
$setRequest = new RouterOS\Request('/ip/hotspot/user/profile/set');
|
||||||
|
$client(
|
||||||
|
$setRequest
|
||||||
|
->setArgument('numbers', $profileID)
|
||||||
|
->setArgument('shared-users', 3)
|
||||||
|
->setArgument('address-pool', $pool)
|
||||||
|
->setArgument('rate-limit', '512K/512K')
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static function removeHotspotPlan($client, $name)
|
public static function removeHotspotPlan($client, $name)
|
||||||
{
|
{
|
||||||
@ -92,12 +123,12 @@ class Mikrotik
|
|||||||
'/ip hotspot user profile print .proplist=name',
|
'/ip hotspot user profile print .proplist=name',
|
||||||
RouterOS\Query::where('name', $name)
|
RouterOS\Query::where('name', $name)
|
||||||
);
|
);
|
||||||
$profileName = $client->sendSync($printRequest)->getProperty('name');
|
$profileID = $client->sendSync($printRequest)->getProperty('.id');
|
||||||
|
|
||||||
$removeRequest = new RouterOS\Request('/ip/hotspot/user/profile/remove');
|
$removeRequest = new RouterOS\Request('/ip/hotspot/user/profile/remove');
|
||||||
$client(
|
$client(
|
||||||
$removeRequest
|
$removeRequest
|
||||||
->setArgument('numbers', $profileName)
|
->setArgument('numbers', $profileID)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -107,11 +138,11 @@ class Mikrotik
|
|||||||
'/ip hotspot user print .proplist=name',
|
'/ip hotspot user print .proplist=name',
|
||||||
RouterOS\Query::where('name', $username)
|
RouterOS\Query::where('name', $username)
|
||||||
);
|
);
|
||||||
$userName = $client->sendSync($printRequest)->getProperty('name');
|
$userID = $client->sendSync($printRequest)->getProperty('.id');
|
||||||
$removeRequest = new RouterOS\Request('/ip/hotspot/user/remove');
|
$removeRequest = new RouterOS\Request('/ip/hotspot/user/remove');
|
||||||
$client(
|
$client(
|
||||||
$removeRequest
|
$removeRequest
|
||||||
->setArgument('numbers', $userName)
|
->setArgument('numbers', $userID)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -293,12 +324,12 @@ class Mikrotik
|
|||||||
'/ip pool print .proplist=name',
|
'/ip pool print .proplist=name',
|
||||||
RouterOS\Query::where('name', $name)
|
RouterOS\Query::where('name', $name)
|
||||||
);
|
);
|
||||||
$poolName = $client->sendSync($printRequest)->getProperty('name');
|
$poolID = $client->sendSync($printRequest)->getProperty('.id');
|
||||||
|
|
||||||
$removeRequest = new RouterOS\Request('/ip/pool/remove');
|
$removeRequest = new RouterOS\Request('/ip/pool/remove');
|
||||||
$client(
|
$client(
|
||||||
$removeRequest
|
$removeRequest
|
||||||
->setArgument('numbers', $poolName)
|
->setArgument('numbers', $poolID)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -318,15 +349,15 @@ class Mikrotik
|
|||||||
'/ip pool print .proplist=name',
|
'/ip pool print .proplist=name',
|
||||||
RouterOS\Query::where('name', $name)
|
RouterOS\Query::where('name', $name)
|
||||||
);
|
);
|
||||||
$poolName = $client->sendSync($printRequest)->getProperty('name');
|
$poolID = $client->sendSync($printRequest)->getProperty('id');
|
||||||
|
|
||||||
if (empty($poolName)) {
|
if (empty($poolID)) {
|
||||||
self::addPool($client, $name, $ip_address);
|
self::addPool($client, $name, $ip_address);
|
||||||
} else {
|
} else {
|
||||||
$setRequest = new RouterOS\Request('/ip/pool/set');
|
$setRequest = new RouterOS\Request('/ip/pool/set');
|
||||||
$client(
|
$client(
|
||||||
$setRequest
|
$setRequest
|
||||||
->setArgument('numbers', $poolName)
|
->setArgument('numbers', $poolID)
|
||||||
->setArgument('ranges', $ip_address)
|
->setArgument('ranges', $ip_address)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -351,14 +382,14 @@ class Mikrotik
|
|||||||
'/ppp profile print .proplist=name',
|
'/ppp profile print .proplist=name',
|
||||||
RouterOS\Query::where('name', $name)
|
RouterOS\Query::where('name', $name)
|
||||||
);
|
);
|
||||||
$profileName = $client->sendSync($printRequest)->getProperty('name');
|
$profileID = $client->sendSync($printRequest)->getProperty('.id');
|
||||||
if (empty($profileName)) {
|
if (empty($profileID)) {
|
||||||
self::addPpoePlan($client, $name, $pool, $rate);
|
self::addPpoePlan($client, $name, $pool, $rate);
|
||||||
} else {
|
} else {
|
||||||
$setRequest = new RouterOS\Request('/ppp/profile/set');
|
$setRequest = new RouterOS\Request('/ppp/profile/set');
|
||||||
$client(
|
$client(
|
||||||
$setRequest
|
$setRequest
|
||||||
->setArgument('numbers', $profileName)
|
->setArgument('numbers', $profileID)
|
||||||
->setArgument('local-address', $pool)
|
->setArgument('local-address', $pool)
|
||||||
->setArgument('remote-address', $pool)
|
->setArgument('remote-address', $pool)
|
||||||
->setArgument('rate-limit', $rate)
|
->setArgument('rate-limit', $rate)
|
||||||
@ -372,12 +403,12 @@ class Mikrotik
|
|||||||
'/ppp profile print .proplist=name',
|
'/ppp profile print .proplist=name',
|
||||||
RouterOS\Query::where('name', $name)
|
RouterOS\Query::where('name', $name)
|
||||||
);
|
);
|
||||||
$profileName = $client->sendSync($printRequest)->getProperty('name');
|
$profileID = $client->sendSync($printRequest)->getProperty('.id');
|
||||||
|
|
||||||
$removeRequest = new RouterOS\Request('/ppp/profile/remove');
|
$removeRequest = new RouterOS\Request('/ppp/profile/remove');
|
||||||
$client(
|
$client(
|
||||||
$removeRequest
|
$removeRequest
|
||||||
->setArgument('numbers', $profileName)
|
->setArgument('numbers', $profileID)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -135,7 +135,11 @@ switch ($action) {
|
|||||||
$mikrotik = Mikrotik::info($routers);
|
$mikrotik = Mikrotik::info($routers);
|
||||||
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
|
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
|
||||||
Mikrotik::addHotspotPlan($client, $name, $sharedusers, $rate);
|
Mikrotik::addHotspotPlan($client, $name, $sharedusers, $rate);
|
||||||
|
if(!empty($pool_expired)){
|
||||||
|
Mikrotik::setHotspotExpiredPlan($client, 'EXPIRED NUXBILL '.$pool_expired, $pool_expired);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
$d = ORM::for_table('tbl_plans')->create();
|
$d = ORM::for_table('tbl_plans')->create();
|
||||||
$d->name_plan = $name;
|
$d->name_plan = $name;
|
||||||
@ -216,6 +220,9 @@ switch ($action) {
|
|||||||
$mikrotik = Mikrotik::info($routers);
|
$mikrotik = Mikrotik::info($routers);
|
||||||
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
|
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
|
||||||
Mikrotik::setHotspotPlan($client, $name, $sharedusers, $rate);
|
Mikrotik::setHotspotPlan($client, $name, $sharedusers, $rate);
|
||||||
|
if(!empty($pool_expired)){
|
||||||
|
Mikrotik::setHotspotExpiredPlan($client, 'EXPIRED NUXBILL '.$pool_expired, $pool_expired);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$d->name_plan = $name;
|
$d->name_plan = $name;
|
||||||
@ -351,6 +358,9 @@ switch ($action) {
|
|||||||
$mikrotik = Mikrotik::info($routers);
|
$mikrotik = Mikrotik::info($routers);
|
||||||
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
|
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
|
||||||
Mikrotik::addPpoePlan($client, $name, $pool, $rate);
|
Mikrotik::addPpoePlan($client, $name, $pool, $rate);
|
||||||
|
if(!empty($pool_expired)){
|
||||||
|
Mikrotik::setPpoePlan($client, 'EXPIRED NUXBILL '.$pool_expired, $pool_expired, '512K/512K');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$d = ORM::for_table('tbl_plans')->create();
|
$d = ORM::for_table('tbl_plans')->create();
|
||||||
@ -419,6 +429,9 @@ switch ($action) {
|
|||||||
$mikrotik = Mikrotik::info($routers);
|
$mikrotik = Mikrotik::info($routers);
|
||||||
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
|
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
|
||||||
Mikrotik::setPpoePlan($client, $name, $pool, $rate);
|
Mikrotik::setPpoePlan($client, $name, $pool, $rate);
|
||||||
|
if(!empty($pool_expired)){
|
||||||
|
Mikrotik::setPpoePlan($client, 'EXPIRED NUXBILL '.$pool_expired, $pool_expired, '512K/512K');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$d->name_plan = $name;
|
$d->name_plan = $name;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user