From a14dd3d71c496a7e679dfaf0ffe320e970de2a3f Mon Sep 17 00:00:00 2001 From: fusionate Date: Thu, 19 Oct 2023 16:48:45 +0000 Subject: [PATCH] Call Forward - List: Implement natural sorting of Extension column. --- app/call_forward/call_forward.php | 33 +++++++++++++++++++------------ 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/app/call_forward/call_forward.php b/app/call_forward/call_forward.php index 86933466cb..d3543fbb8d 100644 --- a/app/call_forward/call_forward.php +++ b/app/call_forward/call_forward.php @@ -18,7 +18,7 @@ The Initial Developer of the Original Code is Mark J Crane - 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. Contributor(s): @@ -36,7 +36,8 @@ //check permissions if (permission_exists('follow_me') || permission_exists('call_forward') || permission_exists('do_not_disturb')) { //access granted - } else { + } + else { echo "access denied"; exit; } @@ -78,8 +79,9 @@ } //get order and order by - $order_by = $_GET["order_by"] ?? ''; - $order = $_GET["order"] ?? ''; + $order_by = $_GET["order_by"] ?? 'extension'; + $order = $_GET["order"] ?? 'asc'; + $sort = $order_by == 'extension' ? 'natural' : null; //get the search $search = strtolower($_GET["search"] ?? ''); @@ -91,7 +93,8 @@ $sql = "select count(*) from v_extensions "; if ($show === "all" && permission_exists('call_forward_all')) { $sql .= "where true "; - } else { + } + else { $sql .= "where domain_uuid = :domain_uuid "; $parameters['domain_uuid'] = $_SESSION['domain_uuid']; } @@ -154,7 +157,8 @@ $sql = "select * from v_extensions "; if ($show == "all" && permission_exists('call_forward_all')) { $sql .= "where true "; - } else { + } + else { $sql .= "where domain_uuid = :domain_uuid "; $parameters['domain_uuid'] = $_SESSION['domain_uuid']; } @@ -178,19 +182,20 @@ $x++; } $sql .= ")"; - } else { + } + else { //used to hide any results when a user has not been assigned an extension $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); $database = new database; $extensions = $database->select($sql, $parameters ?? null, 'all'); unset($parameters); //if there are no extensions then set to empty array - if($extensions === false) { + if ($extensions === false) { $extensions = []; } @@ -200,7 +205,7 @@ //include header if (!$is_included) { - $document['title'] = $text['title-call_forward']; + $document['title'] = $text['title-call_forward']; } require_once "resources/header.php"; @@ -215,7 +220,8 @@ echo " \n"; echo "
\n"; echo "\n"; - } else { + } + else { echo "
\n"; echo "
" . $text['header-call_forward'] . " (" . $num_rows . ")
\n"; echo "
\n"; @@ -274,7 +280,8 @@ echo "" . $text['label-domain'] . "\n"; } } - echo " " . $text['label-extension'] . "\n"; + echo th_order_by('extension', $text['label-extension'], $order_by, $order); +// echo " " . $text['label-extension'] . "\n"; if (permission_exists('call_forward')) { echo " " . $text['label-call_forward'] . "\n"; } @@ -411,4 +418,4 @@ require_once "resources/footer.php"; } -?> +?> \ No newline at end of file