Call Forward - List: Implement natural sorting of Extension column.
This commit is contained in:
parent
1926e60b6e
commit
a14dd3d71c
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
The Initial Developer of the Original Code is
|
||||||
Mark J Crane <markjcrane@fusionpbx.com>
|
Mark J Crane <markjcrane@fusionpbx.com>
|
||||||
Portions created by the Initial Developer are Copyright (C) 2008-2021
|
Portions created by the Initial Developer are Copyright (C) 2008-2023
|
||||||
the Initial Developer. All Rights Reserved.
|
the Initial Developer. All Rights Reserved.
|
||||||
|
|
||||||
Contributor(s):
|
Contributor(s):
|
||||||
|
|
@ -36,7 +36,8 @@
|
||||||
//check permissions
|
//check permissions
|
||||||
if (permission_exists('follow_me') || permission_exists('call_forward') || permission_exists('do_not_disturb')) {
|
if (permission_exists('follow_me') || permission_exists('call_forward') || permission_exists('do_not_disturb')) {
|
||||||
//access granted
|
//access granted
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
echo "access denied";
|
echo "access denied";
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
@ -78,8 +79,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
//get order and order by
|
//get order and order by
|
||||||
$order_by = $_GET["order_by"] ?? '';
|
$order_by = $_GET["order_by"] ?? 'extension';
|
||||||
$order = $_GET["order"] ?? '';
|
$order = $_GET["order"] ?? 'asc';
|
||||||
|
$sort = $order_by == 'extension' ? 'natural' : null;
|
||||||
|
|
||||||
//get the search
|
//get the search
|
||||||
$search = strtolower($_GET["search"] ?? '');
|
$search = strtolower($_GET["search"] ?? '');
|
||||||
|
|
@ -91,7 +93,8 @@
|
||||||
$sql = "select count(*) from v_extensions ";
|
$sql = "select count(*) from v_extensions ";
|
||||||
if ($show === "all" && permission_exists('call_forward_all')) {
|
if ($show === "all" && permission_exists('call_forward_all')) {
|
||||||
$sql .= "where true ";
|
$sql .= "where true ";
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
$sql .= "where domain_uuid = :domain_uuid ";
|
$sql .= "where domain_uuid = :domain_uuid ";
|
||||||
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||||
}
|
}
|
||||||
|
|
@ -154,7 +157,8 @@
|
||||||
$sql = "select * from v_extensions ";
|
$sql = "select * from v_extensions ";
|
||||||
if ($show == "all" && permission_exists('call_forward_all')) {
|
if ($show == "all" && permission_exists('call_forward_all')) {
|
||||||
$sql .= "where true ";
|
$sql .= "where true ";
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
$sql .= "where domain_uuid = :domain_uuid ";
|
$sql .= "where domain_uuid = :domain_uuid ";
|
||||||
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||||
}
|
}
|
||||||
|
|
@ -178,19 +182,20 @@
|
||||||
$x++;
|
$x++;
|
||||||
}
|
}
|
||||||
$sql .= ")";
|
$sql .= ")";
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
//used to hide any results when a user has not been assigned an extension
|
//used to hide any results when a user has not been assigned an extension
|
||||||
$sql .= "and extension = 'disabled' ";
|
$sql .= "and extension = 'disabled' ";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$sql .= order_by($order_by, $order, 'extension', 'asc');
|
$sql .= order_by($order_by, $order, 'extension', 'asc', $sort);
|
||||||
$sql .= limit_offset($rows_per_page, $offset);
|
$sql .= limit_offset($rows_per_page, $offset);
|
||||||
$database = new database;
|
$database = new database;
|
||||||
$extensions = $database->select($sql, $parameters ?? null, 'all');
|
$extensions = $database->select($sql, $parameters ?? null, 'all');
|
||||||
unset($parameters);
|
unset($parameters);
|
||||||
|
|
||||||
//if there are no extensions then set to empty array
|
//if there are no extensions then set to empty array
|
||||||
if($extensions === false) {
|
if ($extensions === false) {
|
||||||
$extensions = [];
|
$extensions = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -200,7 +205,7 @@
|
||||||
|
|
||||||
//include header
|
//include header
|
||||||
if (!$is_included) {
|
if (!$is_included) {
|
||||||
$document['title'] = $text['title-call_forward'];
|
$document['title'] = $text['title-call_forward'];
|
||||||
}
|
}
|
||||||
require_once "resources/header.php";
|
require_once "resources/header.php";
|
||||||
|
|
||||||
|
|
@ -215,7 +220,8 @@
|
||||||
echo " </div>\n";
|
echo " </div>\n";
|
||||||
echo " <div style='clear: both;'></div>\n";
|
echo " <div style='clear: both;'></div>\n";
|
||||||
echo "</div>\n";
|
echo "</div>\n";
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
echo "<div class='action_bar' id='action_bar'>\n";
|
echo "<div class='action_bar' id='action_bar'>\n";
|
||||||
echo " <div class='heading'><b>" . $text['header-call_forward'] . " (" . $num_rows . ")</b></div>\n";
|
echo " <div class='heading'><b>" . $text['header-call_forward'] . " (" . $num_rows . ")</b></div>\n";
|
||||||
echo " <div class='actions'>\n";
|
echo " <div class='actions'>\n";
|
||||||
|
|
@ -274,7 +280,8 @@
|
||||||
echo "<th>" . $text['label-domain'] . "</th>\n";
|
echo "<th>" . $text['label-domain'] . "</th>\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
echo " <th>" . $text['label-extension'] . "</th>\n";
|
echo th_order_by('extension', $text['label-extension'], $order_by, $order);
|
||||||
|
// echo " <th>" . $text['label-extension'] . "</th>\n";
|
||||||
if (permission_exists('call_forward')) {
|
if (permission_exists('call_forward')) {
|
||||||
echo " <th>" . $text['label-call_forward'] . "</th>\n";
|
echo " <th>" . $text['label-call_forward'] . "</th>\n";
|
||||||
}
|
}
|
||||||
|
|
@ -411,4 +418,4 @@
|
||||||
|
|
||||||
require_once "resources/footer.php";
|
require_once "resources/footer.php";
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
Loading…
Reference in New Issue