Auth direct email or email queue (#6617)
* Auth direct email or email_queue Authentication email plugin improvement * Update email.php
This commit is contained in:
parent
65ec8133df
commit
21be0125b5
|
|
@ -59,5 +59,14 @@
|
|||
$apps[$x]['default_settings'][$y]['default_setting_order'] = "30";
|
||||
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
|
||||
$apps[$x]['default_settings'][$y]['default_setting_description'] = "";
|
||||
$y++;
|
||||
$apps[$x]['default_settings'][$y]['default_setting_uuid'] = "11bed598-e461-11ed-9417-005056a27559";
|
||||
$apps[$x]['default_settings'][$y]['default_setting_category'] = "authentication";
|
||||
$apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "email_queue";
|
||||
$apps[$x]['default_settings'][$y]['default_setting_name'] = "boolean";
|
||||
$apps[$x]['default_settings'][$y]['default_setting_value'] = "false";
|
||||
$apps[$x]['default_settings'][$y]['default_setting_order'] = "40";
|
||||
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
|
||||
$apps[$x]['default_settings'][$y]['default_setting_description'] = "send direct email or email queue";
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -220,7 +220,7 @@ class plugin_email {
|
|||
|
||||
//get the language code
|
||||
$language_code = $_SESSION['domain']['language']['code'];
|
||||
|
||||
|
||||
//get the email template from the database
|
||||
$sql = "select template_subject, template_body ";
|
||||
$sql .= "from v_email_templates ";
|
||||
|
|
@ -252,17 +252,72 @@ class plugin_email {
|
|||
$email_from_address = $_SESSION['email']['smtp_from']['text'];
|
||||
$email_from_name = $_SESSION['email']['smtp_from_name']['text'];
|
||||
|
||||
//send email - direct
|
||||
$email = new email;
|
||||
$email->recipients = $_SESSION["user_email"];
|
||||
$email->subject = $email_subject;
|
||||
$email->body = $email_body;
|
||||
$email->from_address = $email_from_address;
|
||||
$email->from_name = $email_from_name;
|
||||
//$email->attachments = $email_attachments;
|
||||
$email->debug_level = 0;
|
||||
$email->method = 'direct';
|
||||
$sent = $email->send();
|
||||
// Direct or email_queue
|
||||
$sql = "select * ";
|
||||
$sql .= "from v_default_settings ";
|
||||
$sql .= "where default_setting_category = :authentication ";
|
||||
$sql .= "and default_setting_subcategory = :email_queue";
|
||||
$parameters['authentication'] = 'authentication';
|
||||
$parameters['email_queue'] = 'email_queue';
|
||||
$database = new database;
|
||||
$row = $database->select($sql, $parameters, 'row');
|
||||
unset($sql, $parameters);
|
||||
if (is_array($row) && @sizeof($row) != 0) {
|
||||
foreach ($row as $record => $value) {
|
||||
if ($row['default_setting_subcategory'] == 'email_queue' && $row['default_setting_value'] == "true" && $row['default_setting_enabled'] == "1" ) {
|
||||
$email_queue = $row['default_setting_value'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( $email_queue == 'true' ) {
|
||||
// Array vars
|
||||
$email_queue_uuid = uuid();
|
||||
$email_uuid = uuid();
|
||||
$hostname = gethostname();
|
||||
|
||||
//add the temporary permissions
|
||||
$p = new permissions;
|
||||
$p->add("email_queue_add", 'temp');
|
||||
$p->add("email_queue_edit", 'temp');
|
||||
|
||||
$array['email_queue'][0]["email_queue_uuid"] = $email_queue_uuid;
|
||||
$array['email_queue'][0]["domain_uuid"] = $_SESSION["domain_uuid"];
|
||||
$array['email_queue'][0]["hostname"] = $hostname;
|
||||
$array['email_queue'][0]["email_date"] = 'now()';
|
||||
$array['email_queue'][0]["email_from"] = $email_from_address;
|
||||
$array['email_queue'][0]["email_to"] = $_SESSION["user_email"];
|
||||
$array['email_queue'][0]["email_subject"] = $email_subject;
|
||||
$array['email_queue'][0]["email_body"] = $email_body;
|
||||
$array['email_queue'][0]["email_status"] = 'waiting';
|
||||
$array['email_queue'][0]["email_retry_count"] = 3;
|
||||
$array['email_queue'][0]["email_uuid"] = $email_uuid;
|
||||
$array['email_queue'][0]["email_action_before"] = null;
|
||||
$array['email_queue'][0]["email_action_after"] = null;
|
||||
$database = new database;
|
||||
$database->app_name = 'email queue';
|
||||
$database->app_uuid = '5befdf60-a242-445f-91b3-2e9ee3e0ddf7';
|
||||
$database->save($array);
|
||||
$err = $database->message;
|
||||
unset($array);
|
||||
|
||||
//remove the temporary permission
|
||||
$p->delete("email_queue_add", 'temp');
|
||||
$p->delete("email_queue_edit", 'temp');
|
||||
}
|
||||
else {
|
||||
//send email - direct
|
||||
$email = new email;
|
||||
$email->recipients = $_SESSION["user_email"];
|
||||
$email->subject = $email_subject;
|
||||
$email->body = $email_body;
|
||||
$email->from_address = $email_from_address;
|
||||
$email->from_name = $email_from_name;
|
||||
//$email->attachments = $email_attachments;
|
||||
$email->debug_level = 0;
|
||||
$email->method = 'direct';
|
||||
$sent = $email->send();
|
||||
}
|
||||
|
||||
//debug informations
|
||||
//$email_response = $email->response;
|
||||
|
|
|
|||
Loading…
Reference in New Issue