add radius expiration

This commit is contained in:
Ibnu Maksum 2023-10-12 13:42:52 +07:00
parent 77f21ece61
commit e19423471f
No known key found for this signature in database
GPG key ID: 7FC82848810579E5
3 changed files with 15 additions and 10 deletions

View file

@ -78,7 +78,7 @@ class Mikrotik
$profileID = $client->sendSync($printRequest)->getProperty('.id');
if (empty($profileID)) {
Mikrotik::addHotspotPlan($client, $name, $sharedusers, $rate);
}else{
} else {
$setRequest = new RouterOS\Request('/ip/hotspot/user/profile/set');
$client(
$setRequest
@ -105,7 +105,7 @@ class Mikrotik
->setArgument('address-pool', $pool)
->setArgument('rate-limit', '512K/512K')
);
}else{
} else {
$setRequest = new RouterOS\Request('/ip/hotspot/user/profile/set');
$client(
$setRequest

View file

@ -99,7 +99,7 @@ class Package
if ($p['type'] == 'Hotspot') {
if ($b) {
if ($p['is_radius']) {
Radius::customerAddPlan($c, $p);
Radius::customerAddPlan($c, $p, "$date_exp $time");
}else{
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
Mikrotik::removeHotspotUser($client, $c['username']);
@ -158,7 +158,7 @@ class Package
$t->save();
} else {
if ($p['is_radius']) {
Radius::customerAddPlan($c, $p);
Radius::customerAddPlan($c, $p, "$date_exp $time");
}else{
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
Mikrotik::removeHotspotUser($client, $c['username']);
@ -207,7 +207,7 @@ class Package
if ($b) {
if ($p['is_radius']) {
Radius::customerAddPlan($c, $p);
Radius::customerAddPlan($c, $p, "$date_exp $time");
}else{
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
Mikrotik::removeHotspotUser($client, $c['username']);
@ -267,7 +267,7 @@ class Package
$t->save();
} else {
if ($p['is_radius']) {
Radius::customerAddPlan($c, $p);
Radius::customerAddPlan($c, $p, "$date_exp $time");
}else{
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
Mikrotik::removeHotspotUser($client, $c['username']);
@ -351,7 +351,7 @@ class Package
if ($p['type'] == 'Hotspot') {
if ($b) {
if ($p['is_radius']) {
Radius::customerAddPlan($c, $p);
Radius::customerAddPlan($c, $p, $b['expiration'].''.$b['time']);
}else{
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
Mikrotik::removeHotspotUser($client, $c['username']);
@ -362,7 +362,7 @@ class Package
}
} else {
if ($p['is_radius']) {
Radius::customerAddPlan($c, $p);
Radius::customerAddPlan($c, $p, $b['expiration'].''.$b['time']);
}else{
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);
Mikrotik::removeHotspotUser($client, $c['username']);

View file

@ -132,7 +132,7 @@ class Radius
/**
* When add a plan to Customer, use this
*/
public static function customerAddPlan($customer, $plan)
public static function customerAddPlan($customer, $plan, $expired = null, $quota = null)
{
if (Radius::customerUpsert($customer, $plan)) {
$p = Radius::getTableUserPackage()->where_equal('username', $customer['username'])->findOne();
@ -147,6 +147,11 @@ class Radius
$p->priority = 1;
return $p->save();
}
//expired
if ($plan['type'] == 'HOTSPOT') {
}
Radius::upsertCustomer($customer['username'], 'expiration', date('d M Y H:i:s', strtotime($expired)));
}
return false;
}
@ -158,7 +163,7 @@ class Radius
} else {
Radius::upsertCustomer($customer['username'], 'Cleartext-Password', $customer['password']);
}
Radius::upsertCustomer($customer['username'], 'Simultaneous-Use', ($plan['type'] == 'PPPOE')? 1: $plan['shared_users'] );
Radius::upsertCustomer($customer['username'], 'Simultaneous-Use', ($plan['type'] == 'PPPOE') ? 1 : $plan['shared_users']);
return false;
}