From baeb2fbae9977a2962888429f03dc9d0b99138a2 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Mon, 16 Jan 2017 18:27:25 -0700 Subject: [PATCH] Update email_cron.php --- app/emails/email_cron.php | 77 +++++++++++++++++++++++---------------- 1 file changed, 46 insertions(+), 31 deletions(-) diff --git a/app/emails/email_cron.php b/app/emails/email_cron.php index ffa6a55a5e..452eabeaf6 100644 --- a/app/emails/email_cron.php +++ b/app/emails/email_cron.php @@ -1,39 +1,54 @@ 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); - } - } +//restrict to command line only + if(defined('STDIN')) { + $document_root = str_replace("\\", "/", $_SERVER["PHP_SELF"]); + preg_match("/^(.*)\/app\/.*$/", $document_root, $matches); + $document_root = $matches[1]; + set_include_path($document_root); + include "root.php"; + require_once "resources/require.php"; + require_once "resources/classes/text.php"; + $_SERVER["DOCUMENT_ROOT"] = $document_root; + $format = 'text'; //html, text + + //add multi-lingual support + $language = new text; + $text = $language->get(); + } + else { + die('access denied'); } -} -unset ($prep_statement, $sql, $result, $result_count); +//get the failed emails + $sql = "select email_uuid, email from v_emails"; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $emails = $prep_statement->fetchAll(PDO::FETCH_NAMED); +//process the emails + if (is_array($emails)) { + foreach($emails as $row) { + $email_uuid = $row['email_uuid']; + $msg = $row['email']; + require_once "secure/v_mailto.php"; + if ($mailer_error == '') { + //get the message + $_SESSION["message"] = $text['message-message_resent']; -exit; + //delete the email + $sql = "delete from v_emails "; + $sql .= "where email_uuid = '".$email_uuid."' "; + echo $sql; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + unset($sql, $prep_statement); + } + unset($mailer_error); + break; + } + } + unset ($prep_statement, $sql, $emails); -?> \ No newline at end of file +?>