mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2025-12-30 00:53:50 +00:00
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:
106
app/fax/fax.php
106
app/fax/fax.php
@@ -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-2021
|
||||
the Initial Developer. All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
@@ -75,37 +75,51 @@
|
||||
$order_by = $_GET["order_by"];
|
||||
$order = $_GET["order"];
|
||||
|
||||
//add the search term
|
||||
$search = strtolower($_GET["search"]);
|
||||
if (strlen($search) > 0) {
|
||||
$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.'%';
|
||||
//add the search
|
||||
if (isset($_GET["search"])) {
|
||||
$search = strtolower($_GET["search"]);
|
||||
}
|
||||
|
||||
//get record counts
|
||||
if (if_group("superadmin") || if_group("admin")) {
|
||||
//show all fax extensions
|
||||
$sql = "select count(*) from v_fax as f ";
|
||||
if (permission_exists('fax_extension_view_domain')) {
|
||||
//count the fax extensions
|
||||
$sql = "select count(f.fax_uuid) from v_fax as f ";
|
||||
$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'];
|
||||
}
|
||||
else {
|
||||
//show only assigned fax extensions
|
||||
$sql = "select count(*) from v_fax as f, v_fax_users as u ";
|
||||
//ciount the assigned fax extensions
|
||||
$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 .= "and f.domain_uuid = :domain_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['user_uuid'] = $_SESSION['user_uuid'];
|
||||
}
|
||||
@@ -120,10 +134,54 @@
|
||||
list($paging_controls_mini, $rows_per_page) = paging($num_rows, $param, $rows_per_page, true);
|
||||
$offset = $rows_per_page * $page;
|
||||
|
||||
//get records
|
||||
$sql = str_replace('count(*)', '*', $sql);
|
||||
//get fax extensions
|
||||
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 .= limit_offset($rows_per_page, $offset);
|
||||
//echo $sql."\n";
|
||||
//view_array($parameters);
|
||||
$database = new database;
|
||||
$result = $database->select($sql, $parameters, 'all');
|
||||
unset($sql, $parameters);
|
||||
|
||||
Reference in New Issue
Block a user