fix some email stuff

This commit is contained in:
blackc2004 2016-03-11 13:03:01 -08:00
parent 6797e7cb7e
commit 4003ba170c
4 changed files with 81 additions and 29 deletions

39
app/emails/email_cron.php Normal file
View File

@ -0,0 +1,39 @@
<?php
if (PHP_SAPI === 'cli') {
$argument1 = $argv[1];
} else {
die();
}
require_once "root.php";
require_once "resources/require.php";
$sql = "select email from v_emails";
$prep_statement = $db->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;
?>

View File

@ -44,7 +44,11 @@ else {
if ($email_uuid != '') { if ($email_uuid != '') {
$sql = "delete from v_emails "; $sql = "delete from v_emails ";
$sql .= "where email_uuid = '".$email_uuid."' "; $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 = $db->prepare(check_sql($sql));
$prep_statement->execute(); $prep_statement->execute();
unset($sql, $prep_statement); unset($sql, $prep_statement);

View File

@ -57,7 +57,8 @@ else {
//resend email //resend email
if ($_REQUEST['a'] == 'resend' && permission_exists('email_resend')) { if ($_REQUEST['a'] == 'resend' && permission_exists('email_resend')) {
$email_uuid = check_str($_REQUEST["id"]); $email_uuid = check_str($_REQUEST["id"]);
$resend = true;
$msg_found = false; $msg_found = false;
if ($email_uuid != '') { if ($email_uuid != '') {
@ -85,7 +86,11 @@ else {
require_once "secure/v_mailto.php"; require_once "secure/v_mailto.php";
if ($mailer_error == '') { if ($mailer_error == '') {
$_SESSION["message"] = $text['message-message_resent']; $_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 { else {
$_SESSION["message_mood"] = 'negative'; $_SESSION["message_mood"] = 'negative';

View File

@ -293,33 +293,37 @@
echo "Mailer Error: ".$mailer_error."\n\n"; echo "Mailer Error: ".$mailer_error."\n\n";
$call_uuid = $headers["X-FusionPBX-Call-UUID"]; $call_uuid = $headers["X-FusionPBX-Call-UUID"];
// log/store message in database for review if ($resend == true) {
$email_uuid = uuid(); echo "Retained in v_emails \n";
$sql = "insert into v_emails ( "; } else {
$sql .= "email_uuid, "; // log/store message in database for review
if ($call_uuid) { $email_uuid = uuid();
$sql .= "call_uuid, "; $sql = "insert into v_emails ( ";
} $sql .= "email_uuid, ";
$sql .= "domain_uuid, "; if ($call_uuid) {
$sql .= "sent_date, "; $sql .= "call_uuid, ";
$sql .= "type, "; }
$sql .= "status, "; $sql .= "domain_uuid, ";
$sql .= "email "; $sql .= "sent_date, ";
$sql .= ") values ( "; $sql .= "type, ";
$sql .= "'".$email_uuid."', "; $sql .= "status, ";
if ($call_uuid) { $sql .= "email ";
$sql .= "'".$call_uuid."', "; $sql .= ") values ( ";
} $sql .= "'".$email_uuid."', ";
$sql .= "'".$headers["X-FusionPBX-Domain-UUID"]."', "; if ($call_uuid) {
$sql .= "now(),"; $sql .= "'".$call_uuid."', ";
$sql .= "'".$headers["X-FusionPBX-Email-Type"]."', "; }
$sql .= "'failed', "; $sql .= "'".$headers["X-FusionPBX-Domain-UUID"]."', ";
$sql .= "'".str_replace("'", "''", $msg)."' "; $sql .= "now(),";
$sql .= ") "; $sql .= "'".$headers["X-FusionPBX-Email-Type"]."', ";
$db->exec(check_sql($sql)); $sql .= "'failed', ";
unset($sql); $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 { else {