Use the new fax fax_extension_view_domain permission.
Also selected specific fields rather than using the * wild card in the select statement.
This commit is contained in:
+82
-24
@@ -17,7 +17,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-2019
|
Portions created by the Initial Developer are Copyright (C) 2008-2021
|
||||||
the Initial Developer. All Rights Reserved.
|
the Initial Developer. All Rights Reserved.
|
||||||
|
|
||||||
Contributor(s):
|
Contributor(s):
|
||||||
@@ -75,37 +75,51 @@
|
|||||||
$order_by = $_GET["order_by"];
|
$order_by = $_GET["order_by"];
|
||||||
$order = $_GET["order"];
|
$order = $_GET["order"];
|
||||||
|
|
||||||
//add the search term
|
//add the search
|
||||||
$search = strtolower($_GET["search"]);
|
if (isset($_GET["search"])) {
|
||||||
if (strlen($search) > 0) {
|
$search = strtolower($_GET["search"]);
|
||||||
$sql_search = "and (";
|
|
||||||
$sql_search .= "lower(fax_name) like :search ";
|
|
||||||
$sql_search .= "or lower(fax_email) like :search ";
|
|
||||||
$sql_search .= "or lower(fax_extension) like :search ";
|
|
||||||
$sql_search .= "or lower(fax_destination_number) like :search ";
|
|
||||||
$sql_search .= "or lower(fax_caller_id_name) like :search ";
|
|
||||||
$sql_search .= "or lower(fax_caller_id_number) like :search ";
|
|
||||||
$sql_search .= "or lower(fax_forward_number) like :search ";
|
|
||||||
$sql_search .= "or lower(fax_description) like :search ";
|
|
||||||
$sql_search .= ") ";
|
|
||||||
$parameters['search'] = '%'.$search.'%';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//get record counts
|
//get record counts
|
||||||
if (if_group("superadmin") || if_group("admin")) {
|
if (permission_exists('fax_extension_view_domain')) {
|
||||||
//show all fax extensions
|
//count the fax extensions
|
||||||
$sql = "select count(*) from v_fax as f ";
|
$sql = "select count(f.fax_uuid) from v_fax as f ";
|
||||||
$sql .= "where f.domain_uuid = :domain_uuid ";
|
$sql .= "where f.domain_uuid = :domain_uuid ";
|
||||||
$sql .= $sql_search;
|
if (isset($search)) {
|
||||||
|
$sql = "and (";
|
||||||
|
$sql .= " lower(fax_name) like :search ";
|
||||||
|
$sql .= " or lower(fax_email) like :search ";
|
||||||
|
$sql .= " or lower(fax_extension) like :search ";
|
||||||
|
$sql .= " or lower(fax_destination_number) like :search ";
|
||||||
|
$sql .= " or lower(fax_caller_id_name) like :search ";
|
||||||
|
$sql .= " or lower(fax_caller_id_number) like :search ";
|
||||||
|
$sql .= " or lower(fax_forward_number) like :search ";
|
||||||
|
$sql .= " or lower(fax_description) like :search ";
|
||||||
|
$sql .= ") ";
|
||||||
|
$parameters['search'] = '%'.$search.'%';
|
||||||
|
}
|
||||||
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
//show only assigned fax extensions
|
//ciount the assigned fax extensions
|
||||||
$sql = "select count(*) from v_fax as f, v_fax_users as u ";
|
$sql = "select count(f.fax_uuid) ";
|
||||||
|
$sql .= "from v_fax as f, v_fax_users as u ";
|
||||||
$sql .= "where f.fax_uuid = u.fax_uuid ";
|
$sql .= "where f.fax_uuid = u.fax_uuid ";
|
||||||
$sql .= "and f.domain_uuid = :domain_uuid ";
|
$sql .= "and f.domain_uuid = :domain_uuid ";
|
||||||
$sql .= "and u.user_uuid = :user_uuid ";
|
$sql .= "and u.user_uuid = :user_uuid ";
|
||||||
$sql .= $sql_search;
|
if (isset($search)) {
|
||||||
|
$sql = "and (";
|
||||||
|
$sql .= " lower(fax_name) like :search ";
|
||||||
|
$sql .= " or lower(fax_email) like :search ";
|
||||||
|
$sql .= " or lower(fax_extension) like :search ";
|
||||||
|
$sql .= " or lower(fax_destination_number) like :search ";
|
||||||
|
$sql .= " or lower(fax_caller_id_name) like :search ";
|
||||||
|
$sql .= " or lower(fax_caller_id_number) like :search ";
|
||||||
|
$sql .= " or lower(fax_forward_number) like :search ";
|
||||||
|
$sql .= " or lower(fax_description) like :search ";
|
||||||
|
$sql .= ") ";
|
||||||
|
$parameters['search'] = '%'.$search.'%';
|
||||||
|
}
|
||||||
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||||
$parameters['user_uuid'] = $_SESSION['user_uuid'];
|
$parameters['user_uuid'] = $_SESSION['user_uuid'];
|
||||||
}
|
}
|
||||||
@@ -120,10 +134,54 @@
|
|||||||
list($paging_controls_mini, $rows_per_page) = paging($num_rows, $param, $rows_per_page, true);
|
list($paging_controls_mini, $rows_per_page) = paging($num_rows, $param, $rows_per_page, true);
|
||||||
$offset = $rows_per_page * $page;
|
$offset = $rows_per_page * $page;
|
||||||
|
|
||||||
//get records
|
//get fax extensions
|
||||||
$sql = str_replace('count(*)', '*', $sql);
|
if (permission_exists('fax_extension_view_domain')) {
|
||||||
|
//show all fax extensions
|
||||||
|
$sql = "select f.fax_uuid, fax_extension, fax_prefix, fax_name, fax_email, fax_description ";
|
||||||
|
$sql .= "from v_fax as f ";
|
||||||
|
$sql .= "where f.domain_uuid = :domain_uuid ";
|
||||||
|
if (isset($search)) {
|
||||||
|
$sql = "and (";
|
||||||
|
$sql .= " lower(fax_name) like :search ";
|
||||||
|
$sql .= " or lower(fax_email) like :search ";
|
||||||
|
$sql .= " or lower(fax_extension) like :search ";
|
||||||
|
$sql .= " or lower(fax_destination_number) like :search ";
|
||||||
|
$sql .= " or lower(fax_caller_id_name) like :search ";
|
||||||
|
$sql .= " or lower(fax_caller_id_number) like :search ";
|
||||||
|
$sql .= " or lower(fax_forward_number) like :search ";
|
||||||
|
$sql .= " or lower(fax_description) like :search ";
|
||||||
|
$sql .= ") ";
|
||||||
|
$parameters['search'] = '%'.$search.'%';
|
||||||
|
}
|
||||||
|
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
//show only assigned fax extensions
|
||||||
|
$sql = "select f.fax_uuid, fax_extension, fax_prefix, fax_name, fax_email, fax_description ";
|
||||||
|
$sql .= "from v_fax as f, v_fax_users as u ";
|
||||||
|
$sql .= "where f.fax_uuid = u.fax_uuid ";
|
||||||
|
$sql .= "and f.domain_uuid = :domain_uuid ";
|
||||||
|
$sql .= "and u.user_uuid = :user_uuid ";
|
||||||
|
if (isset($search)) {
|
||||||
|
$sql = "and (";
|
||||||
|
$sql .= " lower(fax_name) like :search ";
|
||||||
|
$sql .= " or lower(fax_email) like :search ";
|
||||||
|
$sql .= " or lower(fax_extension) like :search ";
|
||||||
|
$sql .= " or lower(fax_destination_number) like :search ";
|
||||||
|
$sql .= " or lower(fax_caller_id_name) like :search ";
|
||||||
|
$sql .= " or lower(fax_caller_id_number) like :search ";
|
||||||
|
$sql .= " or lower(fax_forward_number) like :search ";
|
||||||
|
$sql .= " or lower(fax_description) like :search ";
|
||||||
|
$sql .= ") ";
|
||||||
|
$parameters['search'] = '%'.$search.'%';
|
||||||
|
}
|
||||||
|
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||||
|
$parameters['user_uuid'] = $_SESSION['user_uuid'];
|
||||||
|
}
|
||||||
$sql .= order_by($order_by, $order, 'f.fax_name', 'asc');
|
$sql .= order_by($order_by, $order, 'f.fax_name', 'asc');
|
||||||
$sql .= limit_offset($rows_per_page, $offset);
|
$sql .= limit_offset($rows_per_page, $offset);
|
||||||
|
//echo $sql."\n";
|
||||||
|
//view_array($parameters);
|
||||||
$database = new database;
|
$database = new database;
|
||||||
$result = $database->select($sql, $parameters, 'all');
|
$result = $database->select($sql, $parameters, 'all');
|
||||||
unset($sql, $parameters);
|
unset($sql, $parameters);
|
||||||
|
|||||||
Reference in New Issue
Block a user