Database class integration. Create order_by() and limit_offset() functions.

This commit is contained in:
Nate
2019-07-01 17:30:03 -06:00
parent 9b57165ed3
commit 506332c95f
11 changed files with 232 additions and 387 deletions

View File

@@ -25,12 +25,8 @@
require_once "resources/check_auth.php";
//check permissions
if (permission_exists('access_control_node_view')) {
//access granted
}
else {
echo "access denied";
exit;
if (!permission_exists('access_control_node_view')) {
echo "access denied"; exit;
}
//add multi-lingual support
@@ -38,32 +34,8 @@
$text = $language->get();
//get variables used to control the order
$order_by = check_str($_GET["order_by"]);
$order = check_str($_GET["order"]);
//validate the order
switch ($order) {
case 'asc':
break;
case 'desc':
break;
default:
$order = '';
}
//validate the order by
switch ($order_by) {
case 'node_type':
break;
case 'node_cidr':
break;
case 'node_domain':
break;
case 'node_description':
break;
default:
$order_by = '';
}
$order_by = $_GET["order_by"];
$order = $_GET["order"];
//additional includes
require_once "resources/header.php";
@@ -78,9 +50,8 @@
echo "</table>\n";
//prepare to page the results
$sql = "select count(*) as num_rows from v_access_control_nodes ";
$sql = "select count(*) from v_access_control_nodes ";
$sql .= "where access_control_uuid = :access_control_uuid ";
if (strlen($order_by) > 0) { $sql .= "order by $order_by $order "; }
$parameters['access_control_uuid'] = $access_control_uuid;
$database = new database;
$num_rows = $database->select($sql, $parameters, 'column');
@@ -96,13 +67,11 @@
//get the list
$sql = "select * from v_access_control_nodes ";
$sql .= "where access_control_uuid = :access_control_uuid ";
if (strlen($order_by) > 0) { $sql .= "order by $order_by $order "; }
$sql .= "limit :rows_per_page offset :offset ";
$database = new database;
$parameters['rows_per_page'] = $rows_per_page;
$parameters['offset'] = $offset;
$sql .= order_by($order_by, $order);
$sql .= limit_offset($rows_per_page, $offset);
$parameters['access_control_uuid'] = $access_control_uuid;
$access_control_nodes = $database->execute($sql, $parameters);
$database = new database;
$access_control_nodes = $database->select($sql, $parameters);
//set the row styles
$c = 0;
@@ -133,7 +102,7 @@
}
echo "<tr ".$tr_link.">\n";
echo " <td valign='top' class='".$row_style[$c]."'>".escape($row['node_type'])."&nbsp;</td>\n";
echo " <td valign='top' class='".$row_style[$c]."'>".escape($row['node_cidr'])."&nbsp;</td>\n";
echo " <td valign='top' class='".$row_style[$c]."'><a ".$tr_link.">".escape($row['node_cidr'])."</a></td>\n";
echo " <td valign='top' class='".$row_style[$c]."'>".escape($row['node_domain'])."&nbsp;</td>\n";
echo " <td valign='top' class='".$row_style[$c]."'>".escape($row['node_description'])."&nbsp;</td>\n";
echo " <td class='list_control_icons'>";
@@ -145,32 +114,20 @@
}
echo " </td>\n";
echo "</tr>\n";
if ($c==0) { $c=1; } else { $c=0; }
$c = $c == 1 ? 0 : 1;
} //end foreach
unset($sql, $result, $row_count);
} //end if results
echo "<tr>\n";
echo "<td colspan='5' align='left'>\n";
echo " <table width='100%' cellpadding='0' cellspacing='0'>\n";
echo " <tr>\n";
echo " <td width='33.3%' nowrap='nowrap'>&nbsp;</td>\n";
echo " <td width='33.3%' align='center' nowrap='nowrap'>$paging_controls</td>\n";
echo " <td class='list_control_icons'>";
echo "</table>\n";
if (permission_exists('access_control_node_add')) {
echo "<a href='access_control_node_edit.php?access_control_uuid=".$_GET['id']."' alt='".$text['button-add']."'>$v_link_label_add</a>";
echo "<div style='float: right;'>\n";
echo " <a href='access_control_node_edit.php?access_control_uuid=".$_GET['id']."' alt='".$text['button-add']."'>$v_link_label_add</a>";
echo "</div>\n";
}
else {
echo "&nbsp;";
}
echo " </td>\n";
echo " </tr>\n";
echo " </table>\n";
echo "</td>\n";
echo "</tr>\n";
echo "</table>";
echo "<br /><br />";
echo "<br />\n";
echo "<div align='center'>".$paging_controls."</div>\n";
//include the footer
require_once "resources/footer.php";