diff --git a/app/call_centers/call_center_queues.php b/app/call_centers/call_center_queues.php
index 2b822c006f..b24e041bff 100644
--- a/app/call_centers/call_center_queues.php
+++ b/app/call_centers/call_center_queues.php
@@ -51,6 +51,21 @@
$order_by = $_GET["order_by"];
$order = $_GET["order"];
+//validate order by
+ if (strlen($order_by) > 0) {
+ $order_by = preg_replace('#[^a-zA-Z0-9_\-]#', '', $order_by);
+ }
+
+//validate the order
+ switch ($order) {
+ case 'asc':
+ break;
+ case 'desc':
+ break;
+ default:
+ $order = '';
+ }
+
//show the content
echo "
\n";
echo "\n";
@@ -70,14 +85,11 @@
echo "
\n";
//get total call center queues count from the database
- $sql = "select count(*) as num_rows from v_call_center_queues where domain_uuid = '".$_SESSION['domain_uuid']."' ";
- $prep_statement = $db->prepare($sql);
- if ($prep_statement) {
- $prep_statement->execute();
- $row = $prep_statement->fetch(PDO::FETCH_ASSOC);
- $total_call_center_queues = $row['num_rows'];
- }
- unset($prep_statement, $row);
+ $sql = "select count(*) as num_rows from v_call_center_queues where domain_uuid = :domain_uuid ";
+ $database = new database;
+ $parameters['domain_uuid'] = $_SESSION['domain_uuid'];
+ $row = $database->select($sql, $parameters, 'all');
+ $total_call_center_queues = $row['num_rows'];
//prepare to page the results (reuse $sql from above)
if (strlen($order_by) == 0) {
@@ -87,12 +99,10 @@
else {
$sql .= "order by $order_by $order ";
}
- $prep_statement = $db->prepare(check_sql($sql));
- $prep_statement->execute();
- $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
- $num_rows = count($result);
- unset ($prep_statement, $result, $sql);
-
+ $database = new database;
+ $result = $database->select($sql, $parameters, 'all');
+ $num_rows = $database->select($sql, $parameters, 'column');
+
$rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50;
$param = "";
$page = $_GET['page'];
@@ -101,7 +111,7 @@
$offset = $rows_per_page * $page;
$sql = "select * from v_call_center_queues ";
- $sql .= "where domain_uuid = '$domain_uuid' ";
+ $sql .= "where domain_uuid = :domain_uuid ";
if (strlen($order_by) == 0) {
$order_by = 'queue_name';
$order = 'asc';
@@ -109,13 +119,12 @@
else {
$sql .= "order by $order_by $order ";
}
- $sql .= " limit $rows_per_page offset $offset ";
- $prep_statement = $db->prepare(check_sql($sql));
- $prep_statement->execute();
- $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
- $result_count = count($result);
- unset ($prep_statement, $sql);
-
+ $sql .= " limit :rows_per_page offset :offset ";
+ $database = new database;
+ $parameters['rows_per_page'] = $rows_per_page;
+ $parameters['offset'] = $offset;
+ $result = $database->select($sql, $parameters, 'all');
+
$c = 0;
$row_style["0"] = "row_style0";
$row_style["1"] = "row_style1";
@@ -146,7 +155,7 @@
echo "\n";
echo "\n";
- if ($result_count > 0) {
+ if (is_array($result)) {
foreach($result as $row) {
$tr_link = (permission_exists('call_center_queue_edit')) ? "href='call_center_queue_edit.php?id=".escape($row[call_center_queue_uuid])."'" : null;
echo "\n";