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

fixed up wisp user support: select, insert and delete data from multiple tables

parent e756b387
No related branches found
No related tags found
No related merge requests found
...@@ -33,7 +33,7 @@ if (!isset($_POST['frmaction'])) { ...@@ -33,7 +33,7 @@ if (!isset($_POST['frmaction'])) {
?> ?>
<p class="pageheader">Add user</p> <p class="pageheader">Add WiSP User</p>
<!-- Add user input fields --> <!-- Add user input fields -->
<form method="post" action="wisp-user-add.php"> <form method="post" action="wisp-user-add.php">
...@@ -88,13 +88,21 @@ if (!isset($_POST['frmaction'])) { ...@@ -88,13 +88,21 @@ if (!isset($_POST['frmaction'])) {
<td class="entrytitle">IP Address</td> <td class="entrytitle">IP Address</td>
<td><input type="text" name="user_ip_address" /></td> <td><input type="text" name="user_ip_address" /></td>
</tr> </tr>
<tr> <!--<tr>
<td class="entrytitle">Pool Name</td> <td class="entrytitle">Pool Name</td>
<td><input type="text" name="pool_name" /></td> <td><input type="text" name="pool_name" /></td>
</tr> </tr>
<tr> <tr>
<td class="entrytitle">Group Name</td> <td class="entrytitle">Group Name</td>
<td><input type="text" name="group_name" /></td> <td><input type="text" name="group_name" /></td>
</tr>-->
<tr>
<td class="entrytitle">Data Usage Limit (MB)</td>
<td><input type="text" name="user_data_limit" /></td>
</tr>
<tr>
<td class="entrytitle">Time Limit (Min)</td>
<td><input type="text" name="user_time_limit" /></td>
</tr> </tr>
<tr> <tr>
<td class="entrytitle">Address List</td> <td class="entrytitle">Address List</td>
...@@ -136,60 +144,97 @@ if ($_POST['frmaction'] == "insert") { ...@@ -136,60 +144,97 @@ if ($_POST['frmaction'] == "insert") {
} else { } else {
$stmt = $db->prepare(" $db->beginTransaction();
INSERT INTO ${DB_TABLE_PREFIX}wispusers
# Insert into users table
( $usersStatement = $db->prepare("INSERT INTO ${DB_TABLE_PREFIX}users (Username) VALUES (?)");
Username, $userResult = $usersStatement->execute(array(
Password,
FirstName,
LastName,
Location,
Email,
Phone,
IPAddress,
PoolName,
GroupName,
AddressList,
)
VALUES
(?,?,?,?,?,?,?,?,?,?,?)
");
$res = $stmt->execute(array(
$_POST['user_name'], $_POST['user_name'],
$_POST['user_password'],
$_POST['user_first_name'],
$_POST['user_last_name'],
$_POST['user_location'],
$_POST['user_email'],
$_POST['user_phone'],
$_POST['user_ip_address'],
$_POST['pool_name'],
$_POST['group_name'],
$_POST['address_list'],
)); ));
# Get user ID to insert into other tables
$getUserID = $db->query("SELECT ID FROM ${DB_TABLE_PREFIX}users WHERE Username = ".$db->quote($_POST['user_name']));
$resultRow = $getUserID->fetchObject();
$userID = $resultRow->id;
# Insert IP Address
$userIPAddressStatement = $db->prepare("INSERT INTO
${DB_TABLE_PREFIX}user_attributes (UserID,Name,Operator,Value)
VALUES
($userID,'Framed-IP-Address','+=',?)
");
$userIPAddressResult = $userIPAddressStatement->execute(array(
$_POST['user_ip_address'],
));
# Insert data limit
$dataInBytes = $_POST['user_data_limit'] * 1024;
$userDataStatement = $db->prepare(" INSERT INTO
${DB_TABLE_PREFIX}user_attributes (UserID,Name,Operator,Value)
VALUES
($userID,'SMRadius-Capping-Traffic-Limit',':=',?)
");
$userDataResult = $userDataStatement->execute(array(
$dataInBytes,
));
# Insert time limit
$timeInSeconds = $_POST['user_time_limit'] * 60;
$userTimeStatement = $db->prepare(" INSERT INTO
${DB_TABLE_PREFIX}user_attributes (UserID,Name,Operator,Value)
VALUES
($userID,'SMRadius-Capping-Time-Limit',':=',?)
");
$userTimeResult = $userTimeStatement->execute(array(
$timeInSeconds,
));
# Insert user data
$userDataStatement = $db->prepare(" INSERT INTO
${DB_TABLE_PREFIX}userdata (UserID, Password, FirstName, LastName, Location, Email, Phone, AddressList)
VALUES
($userID,?,?,?,?,?,?,?)
");
$userDataResult = $userDataStatement->execute(array(
$_POST['user_password'],
$_POST['user_first_name'],
$_POST['user_last_name'],
$_POST['user_location'],
$_POST['user_email'],
$_POST['user_phone'],
$_POST['address_list'],
));
# Was it successful? # Was it successful?
if ($res) { if ($userDataResult && $userResult && $userIPAddressResult && $userDataResult && $userTimeResult) {
?> ?>
<div class="notice">User added</div> <div class="notice">User added</div>
<?php <?php
$db->commit();
} else { } else {
?> ?>
<div class="warning">Failed to add user</div> <div class="warning">Failed to add user</div>
<div class="warning"><?php print_r($stmt->errorInfo()) ?></div> <div class="warning"><?php print_r($db->errorInfo()) ?></div>
<?php <?php
$db->rollback();
} }
} }
} }
......
...@@ -79,15 +79,47 @@ if ($_POST['frmaction'] == "delete") { ...@@ -79,15 +79,47 @@ if ($_POST['frmaction'] == "delete") {
if (isset($_POST['user_id'])) { if (isset($_POST['user_id'])) {
if ($_POST['confirm'] == "yes") { if ($_POST['confirm'] == "yes") {
$res = $db->exec("DELETE FROM wispusers WHERE ID = ".$_POST['user_id']); $failTotDeleteAll = 0;
if ($res !== FALSE) { $db->beginTransaction();
# Delete user data
$userDataDeleteResult = $db->exec("DELETE FROM userdata WHERE UserID = ".$_POST['user_id']);
if ($userDataDeleteresult !== FALSE) {
# Delete user attributes
$attrDeleteResult = $db->exec("DELETE FROM user_attributes WHERE UserID = ".$_POST['user_id']);
if ($attrDeleteResult !== FALSE) {
# Delete from users
$userDeleteResult = $db->exec("DELETE FROM users WHERE ID = ".$_POST['user_id']);
if ($userDeleteResult !== FALSE) {
?> ?>
<div class="notice">User with ID: <?php print_r($_POST['user_id']);?> deleted</div> <div class="notice">User with ID: <?php print_r($_POST['user_id']);?> deleted</div>
<?php <?php
$db->commit();
} else {
?>
<div class="warning">Error deleting user</div>
<div class="warning"><?php print_r($db->errorInfo()) ?></div>
<?php
$failToDeleteAll = 1;
}
} else {
?>
<div class="warning">Error deleting user</div>
<div class="warning"><?php print_r($db->errorInfo()) ?></div>
<?php
$failToDeleteAll = 1;
}
} else { } else {
?> ?>
...@@ -97,6 +129,11 @@ if ($_POST['frmaction'] == "delete") { ...@@ -97,6 +129,11 @@ if ($_POST['frmaction'] == "delete") {
<?php <?php
$failToDeleteAll = 1;
}
# If we failed at all, rollback
if ($failToDeleteAll == 1) {
$db->rollback();
} }
} else { } else {
...@@ -111,7 +148,7 @@ if ($_POST['frmaction'] == "delete") { ...@@ -111,7 +148,7 @@ if ($_POST['frmaction'] == "delete") {
?> ?>
<div class="warning">Attribute list is not empty!</div> <div class="warning">No user selected</div>
<?php <?php
...@@ -120,7 +157,7 @@ if ($_POST['frmaction'] == "delete") { ...@@ -120,7 +157,7 @@ if ($_POST['frmaction'] == "delete") {
?> ?>
<div class="warning">Invocation error, no user ID selected</div> <div class="warning">Invocation error</div>
<?php <?php
......
...@@ -34,11 +34,76 @@ printHeader(array( ...@@ -34,11 +34,76 @@ printHeader(array(
if ($_POST['frmaction'] == "edit") { if ($_POST['frmaction'] == "edit") {
# Check a user was selected # Check a user was selected
if (isset($_POST['user_id'])) { if (isset($_POST['user_id'])) {
# Prepare statement
# Prepare statements
$userID = $_POST['user_id']; $userID = $_POST['user_id'];
$sql = "SELECT Password, FirstName, LastName, Location, Email, Phone, IPAddress, PoolName, GroupName, AddressList FROM wispusers WHERE ID = $userID"; $sql = "SELECT
$res = $db->query($sql); Password,
$row = $res->fetchObject(); FirstName,
LastName,
Location,
Email,
Phone,
AddressList
FROM
userdata
WHERE
UserID = $userID
";
$userDataResult = $db->query($sql);
$userDataRow = $userDataResult->fetchObject();
$sql = "SELECT
UserID,
Name,
Operator,
Value,
Disabled
FROM
user_attributes
WHERE
UserID = $userID
AND
Name = 'Framed-IP-Address'
";
$framedIPResult = $db->query($sql);
$framedIPRow = $framedIPResult->fetchObject();
$sql = "SELECT
UserID,
Name,
Operator,
Value,
Disabled
FROM
user_attributes
WHERE
UserID = $userID
AND
Name = 'SMRadius-Capping-Traffic-Limit'
";
$dataLimitResult = $db->query($sql);
$dataLimitRow = $dataLimitResult->fetchObject();
$sql = "SELECT
UserID,
Name,
Operator,
Value,
Disabled
FROM
user_attributes
WHERE
UserID = $userID
AND
Name = 'SMRadius-Capping-Time-Limit'
";
$timeLimitResult = $db->query($sql);
$timeLimitRow = $timeLimitResult->fetchObject();
?> ?>
...@@ -49,7 +114,7 @@ if ($_POST['frmaction'] == "edit") { ...@@ -49,7 +114,7 @@ if ($_POST['frmaction'] == "edit") {
<input type="hidden" name="user_id" value="<?php echo $_POST['user_id']; ?>" /> <input type="hidden" name="user_id" value="<?php echo $_POST['user_id']; ?>" />
<table class="entry"> <table class="entry">
<tr> <tr>
<td class="entrytitle textcenter" colspan="3">Account Information</td> <td class="entrytitle" colspan="3">Account Information</td>
</tr> </tr>
<tr> <tr>
<td><div></div></td> <td><div></div></td>
...@@ -58,11 +123,26 @@ if ($_POST['frmaction'] == "edit") { ...@@ -58,11 +123,26 @@ if ($_POST['frmaction'] == "edit") {
</tr> </tr>
<tr> <tr>
<td class="entrytitle texttop">Password</td> <td class="entrytitle texttop">Password</td>
<td class="oldval texttop"><?php echo $row->password ?></td> <td class="oldval texttop"><?php echo $userDataRow->password ?></td>
<td><input type="password" name="new_password" /></td> <td><input type="password" name="new_password" /></td>
</tr> </tr>
<tr> <tr>
<td class="entrytitle textcenter" colspan="3">Private Information</td> <td class="entrytitle texttop">Data Limit</td>
<td class="oldval texttop"><?php echo $dataLimitRow->value ?></td>
<td><input type="text" name="new_data_limit" /></td>
</tr>
<tr>
<td class="entrytitle texttop">Time Limit</td>
<td class="oldval texttop"><?php echo $timeLimitRow->value ?></td>
<td><input type="text" name="new_time_limit" /></td>
</tr>
<tr>
<td class="entrytitle texttop">IP Address</td>
<td class="oldval texttop"><?php echo $framedIPRow->value ?></td>
<td><input type="text" name="new_ip_address" /></td>
</tr>
<tr>
<td class="entrytitle" colspan="3">Private Information</td>
</tr> </tr>
<tr> <tr>
<td><div></div></td> <td><div></div></td>
...@@ -71,47 +151,32 @@ if ($_POST['frmaction'] == "edit") { ...@@ -71,47 +151,32 @@ if ($_POST['frmaction'] == "edit") {
</tr> </tr>
<tr> <tr>
<td class="entrytitle texttop">First Name</td> <td class="entrytitle texttop">First Name</td>
<td class="oldval texttop"><?php echo $row->firstname ?></td> <td class="oldval texttop"><?php echo $userDataRow->firstname ?></td>
<td><input type="text" name="new_firstname" /></td> <td><input type="text" name="new_firstname" /></td>
</tr> </tr>
<tr> <tr>
<td class="entrytitle texttop">Last Name</td> <td class="entrytitle texttop">Last Name</td>
<td class="oldval texttop"><?php echo $row->lastname ?></td> <td class="oldval texttop"><?php echo $userDataRow->lastname ?></td>
<td><input type="text" name="new_lastname" /></td> <td><input type="text" name="new_lastname" /></td>
</tr> </tr>
<tr> <tr>
<td class="entrytitle texttop">Location</td> <td class="entrytitle texttop">Location</td>
<td class="oldval texttop"><?php echo $row->location ?></td> <td class="oldval texttop"><?php echo $userDataRow->location ?></td>
<td><input type="text" name="new_location" /></td> <td><input type="text" name="new_location" /></td>
</tr> </tr>
<tr> <tr>
<td class="entrytitle texttop">Email</td> <td class="entrytitle texttop">Email</td>
<td class="oldval texttop"><?php echo $row->email ?></td> <td class="oldval texttop"><?php echo $userDataRow->email ?></td>
<td><input type="text" name="new_email" /></td> <td><input type="text" name="new_email" /></td>
</tr> </tr>
<tr> <tr>
<td class="entrytitle texttop">Phone</td> <td class="entrytitle texttop">Phone</td>
<td class="oldval texttop"><?php echo $row->phone ?></td> <td class="oldval texttop"><?php echo $userDataRow->phone ?></td>
<td><input type="text" name="new_phone" /></td> <td><input type="text" name="new_phone" /></td>
</tr> </tr>
<tr>
<td class="entrytitle texttop">IPAddress</td>
<td class="oldval texttop"><?php echo $row->ipaddress ?></td>
<td><input type="text" name="new_ipaddress" /></td>
</tr>
<tr>
<td class="entrytitle texttop">Pool Name</td>
<td class="oldval texttop"><?php echo $row->poolname ?></td>
<td><input type="text" name="new_poolname" /></td>
</tr>
<tr>
<td class="entrytitle texttop">Group Name</td>
<td class="oldval texttop"><?php echo $row->groupname ?></td>
<td><input type="text" name="new_groupname" /></td>
</tr>
<tr> <tr>
<td class="entrytitle texttop">Address List</td> <td class="entrytitle texttop">Address List</td>
<td class="oldval texttop"><?php echo $row->addresslist ?></td> <td class="oldval texttop"><?php echo $userDataRow->addresslist ?></td>
<td><input type="text" name="new_addresslist" /></td> <td><input type="text" name="new_addresslist" /></td>
</tr> </tr>
</table> </table>
...@@ -125,7 +190,6 @@ if ($_POST['frmaction'] == "edit") { ...@@ -125,7 +190,6 @@ if ($_POST['frmaction'] == "edit") {
<?php <?php
$res->closeCursor();
} else { } else {
?> ?>
...@@ -135,6 +199,12 @@ if ($_POST['frmaction'] == "edit") { ...@@ -135,6 +199,12 @@ if ($_POST['frmaction'] == "edit") {
<?php <?php
} }
$userDataResult->closeCursor();
$framedIPResult->closeCursor();
$dataLimitResult->closeCursor();
$timeLimitResult->closeCursor();
# SQL Updates # SQL Updates
} elseif ($_POST['frmaction'] == "edit2") { } elseif ($_POST['frmaction'] == "edit2") {
...@@ -147,49 +217,72 @@ if ($_POST['frmaction'] == "edit") { ...@@ -147,49 +217,72 @@ if ($_POST['frmaction'] == "edit") {
# Check a user was selected # Check a user was selected
if (isset($_POST['user_id'])) { if (isset($_POST['user_id'])) {
$updates = array(); $userDataUpdates = array();
if (!empty($_POST['new_password'])) { if (!empty($_POST['new_password'])) {
array_push($updates,"Password = ".$db->quote($_POST['new_password'])); array_push($userDataUpdates,"Password = ".$db->quote($_POST['new_password']));
} }
if (!empty($_POST['new_firstname'])) { if (!empty($_POST['new_firstname'])) {
array_push($updates,"FirstName = ".$db->quote($_POST['new_firstname'])); array_push($userDataUpdates,"FirstName = ".$db->quote($_POST['new_firstname']));
} }
if (!empty($_POST['new_lastname'])) { if (!empty($_POST['new_lastname'])) {
array_push($updates,"LastName = ".$db->quote($_POST['new_lastname'])); array_push($userDataUpdates,"LastName = ".$db->quote($_POST['new_lastname']));
} }
if (!empty($_POST['new_location'])) { if (!empty($_POST['new_location'])) {
array_push($updates,"Location = ".$db->quote($_POST['new_location'])); array_push($userDataUpdates,"Location = ".$db->quote($_POST['new_location']));
} }
if (!empty($_POST['new_email'])) { if (!empty($_POST['new_email'])) {
array_push($updates,"Email = ".$db->quote($_POST['new_email'])); array_push($userDataUpdates,"Email = ".$db->quote($_POST['new_email']));
} }
if (!empty($_POST['new_phone'])) { if (!empty($_POST['new_phone'])) {
array_push($updates,"Phone = ".$db->quote($_POST['new_phone'])); array_push($userDataUpdates,"Phone = ".$db->quote($_POST['new_phone']));
} }
if (!empty($_POST['new_ipaddress'])) { if (!empty($_POST['new_addresslist'])) {
array_push($updates,"IPAddress = ".$db->quote($_POST['new_ipaddress'])); array_push($userDataUpdates,"AddressList = ".$db->quote($_POST['new_addresslist']));
} }
if (!empty($_POST['new_poolname'])) {
array_push($updates,"PoolName = ".$db->quote($_POST['new_poolname'])); $numUserAttributesUpdates = 0;
if (!empty($_POST['new_data_limit'])) {
$dataLimitResult = $db->exec(" UPDATE
user_attributes
SET
SMRadius-Capping-Traffic-Limit = ".$db->quote($_POST['new_data_limit'])."
WHERE
UserID = ".$db->quote($_POST['user_id'])
);
$numUserAttributesUpdates++;
} }
if (!empty($_POST['new_groupname'])) { if (!empty($_POST['new_time_limit'])) {
array_push($updates,"GroupName = ".$db->quote($_POST['new_groupname'])); $timeLimitResult = $db->exec(" UPDATE
user_attributes
SET
SMRadius-Capping-Traffic-Limit = ".$db->quote($_POST['new_time_limit'])."
WHERE
UserID = ".$db->quote($_POST['user_id'])
);
$numUserAttributesUpdates++;
} }
if (!empty($_POST['new_addresslist'])) { if (!empty($_POST['new_ip_address'])) {
array_push($updates,"AddressList = ".$db->quote($_POST['new_addresslist'])); $ipAddressResult = $db->exec(" UPDATE
user_attributes
SET
Framed-IP-Address = ".$db->quote($_POST['new_ip_address'])."
WHERE
UserID = ".$db->quote($_POST['user_id'])
);
$numUserAttributesUpdates++;
} }
# Check if we have updates # Check if we have userdata table updates
if (sizeof($updates) > 0) { if (sizeof($userDataUpdates) > 0) {
$updateStr = implode(', ',$updates); $userDataUpdateString = implode(', ',$userDataUpdates);
$res = $db->exec("UPDATE wispusers SET $updateStr WHERE ID = ".$db->quote($_POST['user_id'])); $res = $db->exec("UPDATE userdata SET $userDataUpdateString WHERE UserID = ".$db->quote($_POST['user_id']));
if ($res) { if ($res) {
?> ?>
<div class="notice">User updated</div> <div class="notice">User private data updated</div>
<?php <?php
...@@ -197,7 +290,7 @@ if ($_POST['frmaction'] == "edit") { ...@@ -197,7 +290,7 @@ if ($_POST['frmaction'] == "edit") {
?> ?>
<div class="warning">Error updating user</div> <div class="warning">Error updating user private data</div>
<div class="warning"><?php print_r($db->errorInfo()) ?></div> <div class="warning"><?php print_r($db->errorInfo()) ?></div>
<?php <?php
...@@ -209,7 +302,23 @@ if ($_POST['frmaction'] == "edit") { ...@@ -209,7 +302,23 @@ if ($_POST['frmaction'] == "edit") {
?> ?>
<div class="warning">No user updates</div> <div class="warning">User private data not updated</div>
<?php
}
if ($numUserAttributesUpdates > 0) {
?>
<div class="notice">User account data updated</div>
<?php
} else {
?>
<div class="warning"><?php print_r($db->errorInfo()) ?></div>
<?php <?php
......
...@@ -109,16 +109,18 @@ if ($_POST['frmaction'] == "dofilter") { ...@@ -109,16 +109,18 @@ if ($_POST['frmaction'] == "dofilter") {
<p /> <p />
<table class="results" style="width: 75%;"> <table class="results">
<tr class="resultstitle"> <tr class="resultstitle">
<td class="textcenter">ID</td> <td class="textcenter">ID</td>
<td class="textcenter">Username</td> <td class="textcenter">Username</td>
<td class="textcenter">FirstName</td> <td class="textcenter">FirstName</td>
<td class="textcenter">LastName</td> <td class="textcenter">LastName</td>
<td class="textcenter">Data</td>
<td class="textcenter">Time</td>
<td class="textcenter">Email</td> <td class="textcenter">Email</td>
<td class="textcenter">Phone</td> <td class="textcenter">Phone</td>
<td class="textcenter">Location</td>
<td class="textcenter">Data Cap</td>
<td class="textcenter">Time Cap</td>
<td class="textcenter">IP Address</td>
</tr> </tr>
<?php <?php
...@@ -130,69 +132,61 @@ if ($_POST['frmaction'] == "dofilter") { ...@@ -130,69 +132,61 @@ if ($_POST['frmaction'] == "dofilter") {
# What searches are we going to do? # What searches are we going to do?
if ($_POST['username']) { if ($_POST['username']) {
$extraSQL = " AND Username LIKE ?"; $extraSQL = " AND users.Username LIKE ?";
array_push($extraSQLVals,"%".$_POST['username']."%"); array_push($extraSQLVals,"%".$_POST['username']."%");
} }
if ($_POST['firstname']) { if ($_POST['firstname']) {
$extraSQL = " AND FirstName LIKE ?"; $extraSQL = " AND userdata.FirstName LIKE ?";
array_push($extraSQLVals,"%".$_POST['firstname']."%"); array_push($extraSQLVals,"%".$_POST['firstname']."%");
} }
if ($_POST['lastname']) { if ($_POST['lastname']) {
$extraSQL = " AND LastName LIKE ?"; $extraSQL = " AND userdata.LastName LIKE ?";
array_push($extraSQLVals,"%".$_POST['lastname']."%"); array_push($extraSQLVals,"%".$_POST['lastname']."%");
} }
if ($_POST['phone']) { if ($_POST['phone']) {
$extraSQL = " AND Phone LIKE ?"; $extraSQL = " AND userdata.Phone LIKE ?";
array_push($extraSQLVals,"%".$_POST['phone']."%"); array_push($extraSQLVals,"%".$_POST['phone']."%");
} }
if ($_POST['location']) { if ($_POST['location']) {
$extraSQL = " AND Location LIKE ?"; $extraSQL = " AND userdata.Location LIKE ?";
array_push($extraSQLVals,"%".$_POST['location']."%"); array_push($extraSQLVals,"%".$_POST['location']."%");
} }
if ($_POST['email']) { if ($_POST['email']) {
$extraSQL = " AND Email LIKE ?"; $extraSQL = " AND userdata.Email LIKE ?";
array_push($extraSQLVals,"%".$_POST['email']."%"); array_push($extraSQLVals,"%".$_POST['email']."%");
} }
if ($_POST['poolname']) {
$extraSQL = " AND PoolName LIKE ?";
array_push($extraSQLVals,"%".$_POST['poolname']."%");
}
if ($_POST['group']) {
$extraSQL = " AND GroupName LIKE ?";
array_push($extraSQLVals,"%".$_POST['group']."%");
}
# How are we sorting the results? # How are we sorting the results?
switch ($_POST['sortby']) { switch ($_POST['sortby']) {
case "id": case "id":
$sortSQL = " ORDER BY ID"; $sortSQL = " ORDER BY users.ID";
break; break;
case "fname": case "fname":
$sortSQL = " ORDER BY FirstName"; $sortSQL = " ORDER BY userdata.FirstName";
break; break;
case "lname": case "lname":
$sortSQL = " ORDER BY LastName"; $sortSQL = " ORDER BY userdata.LastName";
break; break;
case "uname": case "uname":
$sortSQL = " ORDER BY Username"; $sortSQL = " ORDER BY users.Username";
break; break;
} }
# Query based on user input # Query based on user input
$sql = " $sql = "
SELECT SELECT
ID, users.ID,
Username, users.Username,
FirstName, userdata.UserID,
LastName, userdata.FirstName,
Data, userdata.LastName,
Time, userdata.Email,
Email, userdata.Phone,
Phone userdata.Location
FROM FROM
wispusers users, userdata
WHERE WHERE
1 = 1 users.ID = userdata.UserID
$extraSQL $extraSQL
$sortSQL $sortSQL
"; ";
...@@ -200,14 +194,10 @@ if ($_POST['frmaction'] == "dofilter") { ...@@ -200,14 +194,10 @@ if ($_POST['frmaction'] == "dofilter") {
$res = $db->prepare($sql); $res = $db->prepare($sql);
$res->execute($extraSQLVals); $res->execute($extraSQLVals);
#$totalInputData = 0;
#$totalOutputData = 0;
#$totalSessionTime = 0;
# List users # List users
$rownums = 0; $rownums = 0;
while ($row = $res->fetchObject()) { while ($row = $res->fetchObject()) {
# If there was nothing returned we want to know about it # If there was nothing returned we want to know about it
if ($row->id != NULL) { if ($row->id != NULL) {
$rownums = $rownums + 1; $rownums = $rownums + 1;
...@@ -215,51 +205,38 @@ if ($_POST['frmaction'] == "dofilter") { ...@@ -215,51 +205,38 @@ if ($_POST['frmaction'] == "dofilter") {
$rownums = $rownums - 1; $rownums = $rownums - 1;
} }
# Data usage
# ========== # Second dirty query to get user's attributes
$tempUserID = $row->id;
# Input $attrQuery = "
#$inputDataItem = 0; SELECT
# Name,
#if (!empty($row->acctinputoctets) && $row->acctinputoctets > 0) { Value
# $inputDataItem = ($row->accinputoctets / 1024 / 1024); FROM
#} user_attributes
#if (!empty($row->acctinputgigawords) && $row->inputgigawords > 0) { WHERE
# $inputDataItem = ($row->acctinputgigawords * 4096); UserID = $tempUserID
#} ";
#if ($inputDataItem != 0) {
# $inputDataItemDisplay = ceil($inputDataItem * 100)/100; $dataCap = NULL;
#} else { $timeCap = NULL;
# $inputDataItemDisplay = 0; $userIP = NULL;
#} $attrResult = $db->query($attrQuery);
# while ($attrRow = $attrResult->fetchObject()) {
#$totalInputData = $totalInputData + $inputDataItem; # Is it the data cap attribute
# if ($attrRow->name == "SMRadius-Capping-Traffic-Limit") {
# Output $dataCap = $attrRow->value;
#$outputDataItem = 0; }
# # Or the time cap attribute
#if (!empty($row->acctoutputoctets) && $row->acctoutputoctets > 0) { if ($attrRow->name == "SMRadius-Capping-Time-Limit") {
# $outputDataItem = ($row->acctoutputoctets / 1024 / 1024); $timeCap = $attrRow->value;
#} }
#if (!empty($row->acctoutputgigawords) && $row->acctoutputgigawords > 0) { # Or the user IP attribute
# $outputDataItem = ($row->acctoutputgigawords * 4096); if ($attrRow->name == "Framed-IP-Address") {
#} $userIP = $attrRow->value;
#if ($outputDataItem != 0) { }
# $outputDataItem = ceil($outputDataItem * 100)/100; }
#} else { $attrResult->closeCursor();
# $outputDataItem = 0;
#}
#
#$totalOutputData = $totalOutputData + $outputDataItem;
#
# Add up time
#if (!empty($row->acctsessiontime) && $row->acctsessiontime > 0) {
# $sessionTimeItem = $row->acctsessiontime / 60;
# $sessionTimeItem = ceil($sessionTimeItem * 100)/100;
#}
#
#$totalSessionTime = $totalSessionTime + $sessionTimeItem;
#$totalSessionTime = ceil($totalSessionTime * 100)/100;
?> ?>
...@@ -268,10 +245,12 @@ if ($_POST['frmaction'] == "dofilter") { ...@@ -268,10 +245,12 @@ if ($_POST['frmaction'] == "dofilter") {
<td><?php echo $row->username ?></td> <td><?php echo $row->username ?></td>
<td><?php echo $row->firstname ?></td> <td><?php echo $row->firstname ?></td>
<td><?php echo $row->lastname ?></td> <td><?php echo $row->lastname ?></td>
<td><?php echo $row->data ?></td>
<td><?php echo $row->time ?></td>
<td><?php echo $row->email ?></td> <td><?php echo $row->email ?></td>
<td><?php echo $row->phone ?></td> <td><?php echo $row->phone ?></td>
<td><?php echo $row->location ?></td>
<td><?php echo $dataCap ?></td>
<td><?php echo $timeCap ?></td>
<td><?php echo $userIP ?></td>
</tr> </tr>
<?php <?php
......
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