diff --git a/app/emails/email_cron.php b/app/emails/email_cron.php new file mode 100644 index 0000000000..ffa6a55a5e --- /dev/null +++ b/app/emails/email_cron.php @@ -0,0 +1,39 @@ +prepare(check_sql($sql)); +$prep_statement->execute(); +$result = $prep_statement->fetchAll(PDO::FETCH_NAMED); +$result_count = count($result); +if ($result_count > 0) { + foreach($result as $row) { + $msg = $row['email']; + + require_once "secure/v_mailto.php"; + if ($mailer_error == '') { + $_SESSION["message"] = $text['message-message_resent']; + if (permission_exists('emails_all') && $_REQUEST['showall'] == 'true') { + header("Location: email_delete.php?id=".$email_uuid."&showall=true"); + } else { + header("Location: email_delete.php?id=".$email_uuid); + } + } + + } +} +unset ($prep_statement, $sql, $result, $result_count); + + + + +exit; + +?> \ No newline at end of file diff --git a/app/emails/email_delete.php b/app/emails/email_delete.php index 1258100a48..d648b4dbcb 100644 --- a/app/emails/email_delete.php +++ b/app/emails/email_delete.php @@ -44,7 +44,11 @@ else { if ($email_uuid != '') { $sql = "delete from v_emails "; $sql .= "where email_uuid = '".$email_uuid."' "; - $sql .= "and domain_uuid = '".$domain_uuid."' "; + if (permission_exists('emails_all') && $_REQUEST['showall'] == 'true') { + $sql .= ""; + } else { + $sql .= "and domain_uuid = '".$domain_uuid."' "; + } $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); unset($sql, $prep_statement); diff --git a/app/emails/emails.php b/app/emails/emails.php index 0576798f06..f8c4ba29fe 100644 --- a/app/emails/emails.php +++ b/app/emails/emails.php @@ -57,7 +57,8 @@ else { //resend email if ($_REQUEST['a'] == 'resend' && permission_exists('email_resend')) { $email_uuid = check_str($_REQUEST["id"]); - + $resend = true; + $msg_found = false; if ($email_uuid != '') { @@ -85,7 +86,11 @@ else { require_once "secure/v_mailto.php"; if ($mailer_error == '') { $_SESSION["message"] = $text['message-message_resent']; - header("Location: email_delete.php?id=".$email_uuid); + if (permission_exists('emails_all') && $_REQUEST['showall'] == 'true') { + header("Location: email_delete.php?id=".$email_uuid."&showall=true"); + } else { + header("Location: email_delete.php?id=".$email_uuid); + } } else { $_SESSION["message_mood"] = 'negative'; diff --git a/secure/v_mailto.php b/secure/v_mailto.php index baf02743be..07fab4805c 100644 --- a/secure/v_mailto.php +++ b/secure/v_mailto.php @@ -293,33 +293,37 @@ echo "Mailer Error: ".$mailer_error."\n\n"; $call_uuid = $headers["X-FusionPBX-Call-UUID"]; - // log/store message in database for review - $email_uuid = uuid(); - $sql = "insert into v_emails ( "; - $sql .= "email_uuid, "; - if ($call_uuid) { - $sql .= "call_uuid, "; - } - $sql .= "domain_uuid, "; - $sql .= "sent_date, "; - $sql .= "type, "; - $sql .= "status, "; - $sql .= "email "; - $sql .= ") values ( "; - $sql .= "'".$email_uuid."', "; - if ($call_uuid) { - $sql .= "'".$call_uuid."', "; - } - $sql .= "'".$headers["X-FusionPBX-Domain-UUID"]."', "; - $sql .= "now(),"; - $sql .= "'".$headers["X-FusionPBX-Email-Type"]."', "; - $sql .= "'failed', "; - $sql .= "'".str_replace("'", "''", $msg)."' "; - $sql .= ") "; - $db->exec(check_sql($sql)); - unset($sql); + if ($resend == true) { + echo "Retained in v_emails \n"; + } else { + // log/store message in database for review + $email_uuid = uuid(); + $sql = "insert into v_emails ( "; + $sql .= "email_uuid, "; + if ($call_uuid) { + $sql .= "call_uuid, "; + } + $sql .= "domain_uuid, "; + $sql .= "sent_date, "; + $sql .= "type, "; + $sql .= "status, "; + $sql .= "email "; + $sql .= ") values ( "; + $sql .= "'".$email_uuid."', "; + if ($call_uuid) { + $sql .= "'".$call_uuid."', "; + } + $sql .= "'".$headers["X-FusionPBX-Domain-UUID"]."', "; + $sql .= "now(),"; + $sql .= "'".$headers["X-FusionPBX-Email-Type"]."', "; + $sql .= "'failed', "; + $sql .= "'".str_replace("'", "''", $msg)."' "; + $sql .= ") "; + $db->exec(check_sql($sql)); + unset($sql); - echo "Retained in v_emails as email_uuid = ".$email_uuid."\n"; + echo "Retained in v_emails as email_uuid = ".$email_uuid."\n"; + } } else {