diff --git a/system/autoload/Radius.php b/system/autoload/Radius.php
index b7ac259f..60c81c5f 100644
--- a/system/autoload/Radius.php
+++ b/system/autoload/Radius.php
@@ -2,24 +2,24 @@
class Radius {
- public function getTableNas(){
+ public static function getTableNas(){
return ORM::for_table('nas', 'radius');
}
- public function getTableCustomer(){
+ public static function getTableCustomer(){
return ORM::for_table('radcheck', 'radius');
}
- public function getTablePackage(){
+ public static function getTablePackage(){
return ORM::for_table('radgroupreply', 'radius');
}
- public function getTableUserPackage(){
+ public static function getTableUserPackage(){
return ORM::for_table('radusergroup', 'radius');
}
- public function addNas($name, $ip, $ports, $secret, $description = "",$type = 'other', $server= null, $community= null){
- $n = $this->getTableNas()->create();
+ public static function addNas($name, $ip, $ports, $secret, $description = "",$type = 'other', $server= null, $community= null){
+ $n = Radius::getTableNas()->create();
$n->nasname = $ip;
$n->shortname = $name;
$n->type = $type;
@@ -31,8 +31,9 @@ class Radius {
$n->save();
return $n->id();
}
- public function updateNas($id, $name, $ip, $ports, $secret, $description = "",$type = 'other', $server= null, $community= null){
- $n = $this->getTableNas()->find_one($id);
+
+ public static function updateNas($id, $name, $ip, $ports, $secret, $description = "",$type = 'other', $server= null, $community= null){
+ $n = Radius::getTableNas()->find_one($id);
if(empty($n)){
return false;
}
@@ -44,8 +45,7 @@ class Radius {
$n->description = $description;
$n->server = $server;
$n->community = $community;
- $n->save();
- return true;
+ return $n->save();
}
}
diff --git a/system/controllers/radius.php b/system/controllers/radius.php
index 158745aa..2b10b798 100644
--- a/system/controllers/radius.php
+++ b/system/controllers/radius.php
@@ -55,17 +55,7 @@ switch ($action) {
$msg .= 'NAS IP Exists
';
}
if ($msg == '') {
- $b = ORM::for_table('nas', 'radius')->create();
- $b->nasname = $nasname;
- $b->shortname = $shortname;
- $b->secret = $secret;
- $b->ports = $ports;
- $b->type = $type;
- $b->server = $server;
- $b->community = $community;
- $b->description = $description;
- $b->save();
- $id = $b->id();
+ $id = Radius::addNas($shortname, $nasname, $ports, $secret, $description, $type, $server, $community);
if ($id > 0) {
r2(U . 'radius/nas-edit/' . $id, 's', "NAS Added");
} else {
@@ -119,10 +109,6 @@ switch ($action) {
if (empty($type)) {
$type = null;
}
- $d = ORM::for_table('nas', 'radius')->find_one($id);
- if (!$d) {
- $msg .= 'NAS NOT Exists
';
- }
if ($msg == '') {
$d->nasname = $nasname;
$d->shortname = $shortname;
@@ -133,7 +119,11 @@ switch ($action) {
$d->community = $community;
$d->description = $description;
$d->save();
- r2(U . 'radius/nas-edit/' . $id, 's', "NAS Saved");
+ if (Radius::updateNas($id, $shortname, $nasname, $ports, $secret, $description, $type, $server, $community)) {
+ r2(U . 'radius/nas-edit/' . $id, 's', "NAS Saved");
+ } else {
+ r2(U . 'radius/nas-add', 'e', 'NAS NOT Exists');
+ }
} else {
r2(U . 'radius/nas-add', 'e', $msg);
}