From 9441a238e77673d923251c16760ee4ee7dfa335d Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Mon, 24 Jan 2022 09:14:42 -0700 Subject: [PATCH] Fix the email_log_all permission. --- app/email_logs/email_logs.php | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/app/email_logs/email_logs.php b/app/email_logs/email_logs.php index 6489d9715c..e3bbbfe0b6 100644 --- a/app/email_logs/email_logs.php +++ b/app/email_logs/email_logs.php @@ -75,22 +75,21 @@ //add the search term $search = strtolower($_GET["search"]); - if (strlen($search) > 0) { - $sql_search = "and ("; - $sql_search .= "lower(type) like :search "; - $sql_search .= "or lower(email) like :search "; - $sql_search .= ") "; - $parameters['search'] = '%'.$search.'%'; - } //prepare to page the results $sql = "select count(*) from v_email_logs "; $sql .= "where true "; - if (permission_exists('email_log_all') && $_REQUEST['show'] != 'all') { + if ($_REQUEST['show'] != 'all' && !permission_exists('email_log_all')) { $sql .= "and domain_uuid = :domain_uuid "; $parameters['domain_uuid'] = $domain_uuid; } - $sql .= $sql_search; + if (strlen($search) > 0) { + $sql = "and ("; + $sql .= "lower(type) like :search "; + $sql .= "or lower(email) like :search "; + $sql .= ") "; + $parameters['search'] = '%'.$search.'%'; + } $database = new database; $num_rows = $database->select($sql, $parameters, 'column'); @@ -107,7 +106,19 @@ $offset = $rows_per_page * $page; //get the list - $sql = str_replace('count(*)', '*', $sql); + $sql = "select count(*) from v_email_logs "; + $sql .= "where true "; + if ($_REQUEST['show'] != 'all' && !permission_exists('email_log_all')) { + $sql .= "and domain_uuid = :domain_uuid "; + $parameters['domain_uuid'] = $domain_uuid; + } + if (strlen($search) > 0) { + $sql = "and ("; + $sql .= "lower(type) like :search "; + $sql .= "or lower(email) like :search "; + $sql .= ") "; + $parameters['search'] = '%'.$search.'%'; + } $sql .= order_by($order_by, $order, 'sent_date', 'desc'); $sql .= limit_offset($rows_per_page, $offset); $database = new database;