From 72ae5998a3f1a07d6a6da906b580f409aa96d2f7 Mon Sep 17 00:00:00 2001 From: Nate Date: Mon, 5 Aug 2019 21:22:26 -0600 Subject: [PATCH] Email Log: Database class integration. --- app/email_logs/email_log_cron.php | 31 +++++++----- app/email_logs/email_log_delete.php | 23 +++++---- app/email_logs/email_log_view.php | 41 ++++++++------- app/email_logs/email_logs.php | 77 +++++++++++++++-------------- 4 files changed, 91 insertions(+), 81 deletions(-) diff --git a/app/email_logs/email_log_cron.php b/app/email_logs/email_log_cron.php index 97a36535ac..759db62fe9 100644 --- a/app/email_logs/email_log_cron.php +++ b/app/email_logs/email_log_cron.php @@ -1,7 +1,7 @@ prepare(check_sql($sql)); - $prep_statement->execute(); - $emails = $prep_statement->fetchAll(PDO::FETCH_NAMED); + $database = new database; + $emails = $database->select($sql, null, 'all'); //process the emails - if (is_array($emails)) { - foreach($emails as $row) { + if (is_array($emails) && @sizeof($emails) != 0) { + foreach($emails as $index => $row) { $email_log_uuid = $row['email_log_uuid']; $msg = $row['email']; @@ -37,15 +36,23 @@ //get the message message::add($text['message-message_resent']); - //delete the email - $sql = "delete from v_email_logs "; - $sql .= "where email_log_uuid = '".$email_log_uuid."' "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - unset($sql, $prep_statement); + //add to array + $array['email_logs'][$index]['email_log_uuid'] = $email_log_uuid; } unset($mailer_error); } + if (is_array($array) && @sizeof($array) != 0) { + $p = new permissions; + $p->add('email_log_delete', 'temp'); + + $database = new database; + $database->app_name = 'email_logs'; + $database->app_uuid = 'bd64f590-9a24-468d-951f-6639ac728694'; + $database->delete($array); + unset($array); + + $p->delete('email_log_delete', 'temp'); + } } unset ($prep_statement, $sql, $emails); diff --git a/app/email_logs/email_log_delete.php b/app/email_logs/email_log_delete.php index c361b4cbac..f88131f093 100644 --- a/app/email_logs/email_log_delete.php +++ b/app/email_logs/email_log_delete.php @@ -44,22 +44,25 @@ //get posted values, if any $email_log_uuid = $_REQUEST["id"]; + $showall = $_REQUEST['showall']; if (is_uuid($email_log_uuid)) { - $sql = "delete from v_email_logs "; - $sql .= "where email_log_uuid = '".$email_log_uuid."' "; - if (permission_exists('email_log_all') && $_REQUEST['showall'] == 'true') { - $sql .= ''; - } else { - $sql .= "and domain_uuid = '".$_SESSION['domain_uuid']."' "; + $array['email_logs'][0]['email_log_uuid'] = $email_log_uuid; + if (!permission_exists('email_log_all') || $_REQUEST['showall'] != 'true') { + $array['email_logs'][0]['domain_uuid'] = $_SESSION['domain_uuid']; } - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - unset($sql, $prep_statement); + + $database = new database; + $database->app_name = 'email_logs'; + $database->app_uuid = 'bd64f590-9a24-468d-951f-6639ac728694'; + $database->delete($array); + unset($array); + message::add($text['message-delete']); } //redirect user - header("Location: email_logs.php"); + header("Location: email_logs.php".($showall == 'true' ? '?showall=true' : null)); + exit; ?> diff --git a/app/email_logs/email_log_view.php b/app/email_logs/email_log_view.php index 4c2a09a56f..2e7120d7e6 100644 --- a/app/email_logs/email_log_view.php +++ b/app/email_logs/email_log_view.php @@ -43,36 +43,35 @@ $text = $language->get(); //get email - $email_log_uuid = check_str($_REQUEST["id"]); - - $msg_found = false; + $email_log_uuid = $_REQUEST["id"]; if (is_uuid($email_log_uuid)) { $sql = "select * from v_email_logs "; - $sql .= "where email_log_uuid = '".$email_log_uuid."' "; - $sql .= "and domain_uuid = '".$domain_uuid."' "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $email_logs = $prep_statement->fetchAll(PDO::FETCH_NAMED); - unset ($prep_statement, $sql); - - if (is_array($email_logs)) { - foreach($email_logs as $row) { - $sent = $row['sent_date']; - $type = $row['type']; - $status = $row['status']; - $email = $row['email']; - $msg_found = true; - } + $sql .= "where email_log_uuid = :email_log_uuid "; + $sql .= "and domain_uuid = :domain_uuid "; + $parameters['email_log_uuid'] = $email_log_uuid; + $parameters['domain_uuid'] = $domain_uuid; + $database = new database; + $row = $database->select($sql, $parameters, 'row'); + if (is_array($row) && @sizeof($row) != 0) { + $sent = $row['sent_date']; + $type = $row['type']; + $status = $row['status']; + $email = $row['email']; } + else { + message::add($text['message-invalid_email']); + header("Location: email_logs.php"); + exit; + } + unset($sql, $parameters, $row); } - - if (!$msg_found) { - message::add($text['message-invalid_email']); + else { header("Location: email_logs.php"); exit; } + //includes require('resources/pop3/mime_parser.php'); require('resources/pop3/rfc822_addresses.php'); diff --git a/app/email_logs/email_logs.php b/app/email_logs/email_logs.php index d28afb98e1..4ed631a3f3 100644 --- a/app/email_logs/email_logs.php +++ b/app/email_logs/email_logs.php @@ -124,23 +124,19 @@ //prepare to page the results require_once "resources/paging.php"; - $sql = "select count(*) as num_rows from v_log_emails "; - if (permission_exists('email_log_all')) { - if ($_REQUEST['showall'] != 'true') { - $sql .= "where domain_uuid = '".$domain_uuid."' "; - } - } - $prep_statement = $db->prepare($sql); - if ($prep_statement) { - $prep_statement->execute(); - $row = $prep_statement->fetch(PDO::FETCH_ASSOC); - $num_rows = ($row['num_rows'] > 0) ? $row['num_rows'] : 0; + $sql = "select count(*) from v_email_logs "; + if (permission_exists('email_log_all') && $_REQUEST['showall'] != 'true') { + $sql .= "where domain_uuid = :domain_uuid "; + $parameters['domain_uuid'] = $domain_uuid; } + $database = new database; + $num_rows = $database->select($sql, $parameters, 'column'); + unset($sql, $parameters); //prepare to page the results $rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50; if (permission_exists('email_log_all') && $_REQUEST['showall'] == 'true') { - $param .= "&showall=true"; + $param .= "&showall=true"; } else { $param = ""; } @@ -152,16 +148,17 @@ //get the list $sql = "select * from v_email_logs "; if (permission_exists('email_log_all') && $_REQUEST['showall'] == 'true') { - $sql .= " join v_domains on v_email_logs.domain_uuid = v_domains.domain_uuid "; - } else { - $sql .= "where domain_uuid = '".$domain_uuid."' "; + $sql .= "join v_domains on v_email_logs.domain_uuid = v_domains.domain_uuid "; } - if (strlen($order_by)> 0) { $sql .= "order by ".$order_by." ".$order." "; } - $sql .= "limit ".$rows_per_page." offset ".$offset." "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - unset ($prep_statement, $sql); + else { + $sql .= "where domain_uuid = :domain_uuid "; + $parameters['domain_uuid'] = $domain_uuid; + } + $sql .= order_by($order_by, $order, 'sent_date', 'desc'); + $sql .= limit_offset($rows_per_page, $offset); + $database = new database; + $result = $database->select($sql, $parameters, 'all'); + unset($sql, $parameters); //set the row style $c = 0; @@ -257,23 +254,26 @@ echo " \n"; echo "\n"; - if (is_array($result)) { + if (is_array($result) && @sizeof($result) != 0) { foreach($result as $row) { //get call details - $sql = "select caller_id_name, caller_id_number, destination_number from v_xml_cdr "; - $sql .= "where domain_uuid = '".$domain_uuid."' "; - $sql .= "and uuid = '".$row['call_uuid']."' "; - //echo "".$sql.""; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result2 = $prep_statement->fetchAll(PDO::FETCH_NAMED); - foreach($result2 as $row2) { - $caller_id_name = ($row2['caller_id_name'] != '') ? $row2['caller_id_name'] : null; - $caller_id_number = ($row2['caller_id_number'] != '') ? $row2['caller_id_number'] : null; - $destination_number = ($row2['destination_number'] != '') ? $row2['destination_number'] : null; + $sql = "select caller_id_name, caller_id_number, destination_number "; + $sql .= "from v_xml_cdr "; + $sql .= "where domain_uuid = :domain_uuid "; + $sql .= "and uuid = :uuid "; + $parameters['domain_uuid'] = $domain_uuid; + $parameters['uuid'] = $row['call_uuid']; + $database = new database; + $result2 = $database->select($sql, $parameters, 'all'); + if (is_array($result2) && @sizeof($result2) != 0) { + foreach($result2 as $row2) { + $caller_id_name = ($row2['caller_id_name'] != '') ? $row2['caller_id_name'] : null; + $caller_id_number = ($row2['caller_id_number'] != '') ? $row2['caller_id_number'] : null; + $destination_number = ($row2['destination_number'] != '') ? $row2['destination_number'] : null; + } } - unset($prep_statement, $sql); + unset($sql, $parameters, $result2, $row2); $tr_link = "href='email_log_view.php?id=".$row['email_log_uuid']."'"; echo "\n"; @@ -308,14 +308,15 @@ echo " "; echo "$v_link_label_view"; if (permission_exists('email_log_delete')) { - echo "$v_link_label_delete"; + echo "$v_link_label_delete"; } echo " \n"; echo "\n"; if ($c==0) { $c=1; } else { $c=0; } - } //end foreach - unset($sql, $result, $row_count); - } //end if results + + } + unset($result, $row); + } echo "\n"; echo "\n";