diff --git a/app/calls/calls.php b/app/calls/calls.php index 26d6f14102..cbfe56b6df 100644 --- a/app/calls/calls.php +++ b/app/calls/calls.php @@ -81,19 +81,25 @@ $order_by = $_GET["order_by"]; $order = $_GET["order"]; -//handle search term +//get the search $search = strtolower($_GET["search"]); - if (strlen($search) > 0) { - $sql_search = "and ( "; - $sql_search .= "extension like :search "; - $sql_search .= "or lower(description) like :search "; - $sql_search .= ") "; - $parameters['search'] = '%'.$search.'%'; - } //define select count query $sql = "select count(*) from v_extensions "; - $sql .= "where domain_uuid = :domain_uuid "; + if ($_GET['show'] == "all" && permission_exists('call_forward_all')) { + $sql .= "where true "; + } + else { + $sql .= "where domain_uuid = :domain_uuid "; + $parameters['domain_uuid'] = $_SESSION['domain_uuid']; + } + if (strlen($search) > 0) { + $sql .= "and ( "; + $sql .= "extension like :search "; + $sql .= "or lower(description) like :search "; + $sql .= ") "; + $parameters['search'] = '%'.$search.'%'; + } $sql .= "and enabled = 'true' "; if (!permission_exists('extension_edit')) { if (is_array($_SESSION['user']['extension']) && count($_SESSION['user']['extension']) > 0) { @@ -112,18 +118,26 @@ } } $sql .= $sql_search; - $parameters['domain_uuid'] = $_SESSION['domain_uuid']; $database = new database; $num_rows = $database->select($sql, $parameters, 'column'); + unset($parameters); -//prepare to page the results +//prepare the paging if ($is_included) { $rows_per_page = 10; } else { $rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50; } - $param = "&search=".$search; + $params[] = "app_uuid=".$app_uuid; + if ($search) { $params[] = "search=".$search; } + if ($order_by) { $params[] = "order_by=".$order_by; } + if ($order) { $params[] = "order=".$order; } + if ($_GET['show'] == "all" && permission_exists('call_forward_all')) { + $params[] .= "show=all"; + } + $param = $params ? implode('&', $params) : null; + unset($params); $page = $_GET['page']; if (strlen($page) == 0) { $page = 0; $_GET['page'] = 0; } list($paging_controls, $rows_per_page) = paging($num_rows, $param, $rows_per_page); @@ -132,7 +146,20 @@ //get the list $sql = "select * from v_extensions "; - $sql .= "where domain_uuid = :domain_uuid "; + if ($_GET['show'] == "all" && permission_exists('call_forward_all')) { + $sql .= "where true "; + } + else { + $sql .= "where domain_uuid = :domain_uuid "; + $parameters['domain_uuid'] = $_SESSION['domain_uuid']; + } + if (strlen($search) > 0) { + $sql .= "and ( "; + $sql .= "extension like :search "; + $sql .= "or lower(description) like :search "; + $sql .= ") "; + $parameters['search'] = '%'.$search.'%'; + } $sql .= "and enabled = 'true' "; if (!permission_exists('extension_edit')) { if (is_array($_SESSION['user']['extension']) && count($_SESSION['user']['extension']) > 0) { @@ -163,7 +190,7 @@ //include header if (!$is_included) { - $document['title'] = $text['title-call_routing']; + $document['title'] = $text['title-call_forward']; } require_once "resources/header.php"; @@ -180,7 +207,7 @@ //show the content if ($is_included) { echo "