Skip to content
Snippets Groups Projects
Commit ffc7f63e authored by Robert Anderson's avatar Robert Anderson
Browse files

List, add, edit and remove group attributes

parent c6b8ef57
No related branches found
No related tags found
No related merge requests found
......@@ -9,6 +9,7 @@
include_once("include/ajax/functions/WiSPUsers.php");
include_once("include/ajax/functions/AdminUserAttributes.php");
include_once("include/ajax/functions/AdminUserGroups.php");
include_once("include/ajax/functions/AdminGroupAttributes.php");
define('RES_OK',0);
define('RES_ERR',-1);
......@@ -150,6 +151,30 @@
switch ($function) {
# getAdminUserLogs.js functions
case "getAdminUserLogs":
$rawData = getAdminUserLogs($soapParams);
$res = new json_response;
$res->setID('ID');
$res->addField('ID','int');
$res->addField('AcctStatusType','int');
$res->addField('ServiceType','int');
$res->addField('FramedProtocol','int');
$res->addField('NASPort','string');
$res->addField('NASPortType','int');
$res->addField('NASPortID','string');
$res->addField('CallingStationID','string');
$res->addField('CalledStationID','string');
$res->addField('AcctSessionID','string');
$res->addField('FramedIPAddress','string');
$res->parseHash($rawData);
echo json_encode($res->export());
break;
# addAdminUserGroup.js functions
case "addAdminUserGroup":
......@@ -185,6 +210,64 @@
break;
# AdminGroupAttributes.js functions
case "addAdminGroupAttribute":
$res = addAdminGroupAttribute($soapParams);
if (isset($res)) {
ajaxException($res);
}
break;
case "updateAdminGroupAttribute":
$res = updateAdminGroupAttribute($soapParams);
if (isset($res)) {
ajaxException($res);
}
break;
case "getAdminGroupAttribute":
$rawData = getAdminGroupAttribute($soapParams);
$res = new json_response;
$res->setID('ID');
$res->addField('ID','int');
$res->addField('Name','string');
$res->parseHash($rawData);
echo json_encode($res->export());
break;
case "getAdminGroupAttributes":
$res = getAdminGroupAttributes($soapParams);
$rawData = $res[0]; $numResults = $res[1];
$res = new json_response;
$res->setID('ID');
$res->addField('ID','int');
$res->addField('Name','string');
$res->addField('Operator','string');
$res->addField('Value','string');
$res->addField('Disabled','boolean');
$res->parseArray($rawData);
$res->setDatasetSize($numResults);
echo json_encode($res->export());
break;
case "removeAdminGroupAttribute":
$res = removeAdminGroupAttribute($soapParams);
if (isset($res)) {
ajaxException($res);
}
break;
# AdminUserAttributes.js functions
case "addAdminUserAttribute":
......
<?php
include_once("include/db.php");
# Add user attribute
function addAdminGroupAttribute($params) {
global $db;
$res = DBDo("INSERT INTO group_attributes (GroupID,Name) VALUES (?,?)",array($params[0]['GroupID'],$params[0]['Name']));
if (!is_numeric($res)) {
return $res;
}
return NULL;
}
# Remove user attribute
function removeAdminGroupAttribute($params) {
global $db;
$res = DBDo("DELETE FROM group_attributes WHERE ID = ?",array($params[0]));
if (!is_numeric($res)) {
return $res;
}
return NULL;
}
# Edit attribute
function updateAdminGroupAttribute($params) {
global $db;
$res = DBDo("UPDATE group_attributes SET Name = ? WHERE ID = ?",array($params[0]['Name'],$params[0]['ID']));
if (!is_numeric($res)) {
return $res;
}
return NULL;
}
# Return specific attribute row
function getAdminGroupAttribute($params) {
global $db;
$res = DBSelect("SELECT ID, Name FROM group_attributes WHERE ID = ?",array($params[0]));
if (!is_object($res)) {
return $res;
}
$resultArray = array();
$row = $res->fetchObject();
$resultArray['ID'] = $row->id;
$resultArray['Name'] = $row->name;
return $resultArray;
}
# Return list of attributes
function getAdminGroupAttributes($params) {
global $db;
# Filters and sorts are the same here
$filtersorts = array(
'ID' => 'group_attributes.ID',
'Name' => 'group_attributes.Name',
'Operator' => 'group_attributes.Operator',
'Value' => 'group_attributes.Value',
'Disabled' => 'group_attributes.Disabled'
);
$res = DBSelectSearch("
SELECT
ID, Name, Operator, Value, Disabled
FROM
group_attributes
WHERE
GroupID = ".DBQuote($params[0])."
",$params[1],$filtersorts,$filtersorts);
$sth = $res[0]; $numResults = $res[1];
# If STH is blank, return the error back to whoever requested the data
if (!isset($sth)) {
return $res;
}
$resultArray = array();
# loop through rows
while ($row = $sth->fetchObject()) {
$item = array();
$item['ID'] = $row->id;
$item['Name'] = $row->name;
$item['Operator'] = $row->operator;
$item['Value'] = $row->value;
$item['Disabled'] = $row->disabled;
# push this row onto array
array_push($resultArray,$item);
}
return array($resultArray,$numResults);
}
?>
......@@ -76,6 +76,7 @@
<script type="text/javascript" src="js/app/windows/WiSPLocations.js"></script>
<script type="text/javascript" src="js/app/windows/AdminUsers.js"></script>
<script type="text/javascript" src="js/app/windows/AdminGroups.js"></script>
<script type="text/javascript" src="js/app/windows/AdminGroupAttributes.js"></script>
<script type="text/javascript" src="js/app/windows/AdminRealms.js"></script>
<script type="text/javascript" src="js/app/windows/AdminUserLogs.js"></script>
<script type="text/javascript" src="js/app/windows/AdminUserAttributes.js"></script>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment