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;