Fix call block search and search by more fields.

Search by new fields.
- call_block_direction
- call_block_app
- call_block_data

Remove search by country code as its type numeric and casting it to text is likely to lower performance.
This commit is contained in:
FusionPBX
2023-01-27 13:08:22 -07:00
committed by GitHub
parent a3811128af
commit 02a9372634

View File

@@ -17,7 +17,7 @@
The Initial Developer of the Original Code is
Mark J Crane <markjcrane@fusionpbx.com>
Portions created by the Initial Developer are Copyright (C) 2008-2019
Portions created by the Initial Developer are Copyright (C) 2008-2023
the Initial Developer. All Rights Reserved.
Contributor(s):
@@ -84,15 +84,8 @@
$order = $_GET["order"];
//add the search term
$search = strtolower($_GET["search"]);
if (strlen($search) > 0) {
$sql_search = " (";
$sql_search .= "lower(call_block_name) like :search ";
$sql_search .= "or call_block_country_code like :search ";
$sql_search .= "or lower(call_block_number) like :search ";
$sql_search .= "or lower(call_block_description) like :search ";
$sql_search .= ") ";
$parameters['search'] = '%'.$search.'%';
if (isset($_GET["search"])) {
$search = strtolower($_GET["search"]);
}
//prepare to page the results
@@ -117,8 +110,16 @@
}
$sql .= ") ";
}
if (isset($sql_search)) {
$sql .= "and ".$sql_search;
if (isset($search)) {
$sql .= "and (";
$sql .= " lower(call_block_name) like :search ";
$sql .= " or lower(call_block_direction) like :search ";
$sql .= " or lower(call_block_number) like :search ";
$sql .= " or lower(call_block_app) like :search ";
$sql .= " or lower(call_block_data) like :search ";
$sql .= " or lower(call_block_description) like :search ";
$sql .= ") ";
$parameters['search'] = '%'.$search.'%';
}
$database = new database;
$num_rows = $database->select($sql, $parameters, 'column');
@@ -158,8 +159,16 @@
}
$sql .= ") ";
}
if (isset($sql_search)) {
$sql .= "and ".$sql_search;
if (isset($search)) {
$sql .= "and (";
$sql .= " lower(call_block_name) like :search ";
$sql .= " or lower(call_block_direction) like :search ";
$sql .= " or lower(call_block_number) like :search ";
$sql .= " or lower(call_block_app) like :search ";
$sql .= " or lower(call_block_data) like :search ";
$sql .= " or lower(call_block_description) like :search ";
$sql .= ") ";
$parameters['search'] = '%'.$search.'%';
}
$sql .= order_by($order_by, $order, ['call_block_country_code','call_block_number']);
$sql .= limit_offset($rows_per_page, $offset);