diff --git a/resources/install/scripts/app/hangup/index.lua b/resources/install/scripts/app/hangup/index.lua index 78622055fc..670ac19448 100644 --- a/resources/install/scripts/app/hangup/index.lua +++ b/resources/install/scripts/app/hangup/index.lua @@ -49,13 +49,21 @@ if (not default_dialect) then default_dialect = 'us'; end if (not default_voice) then default_voice = 'callie'; end - --prepare the files - file_subject = scripts_dir.."/app/missed_calls/resources/templates/"..default_language.."/"..default_dialect.."/email_subject.tpl"; - file_body = scripts_dir.."/app/missed_calls/resources/templates/"..default_language.."/"..default_dialect.."/email_body.tpl"; - if (not file_exists(file_subject)) then - file_subject = scripts_dir.."/app/missed_calls/resources/templates/en/us/email_subject.tpl"; - file_body = scripts_dir.."/app/missed_calls/resources/templates/en/us/email_body.tpl"; + --get the templates + local sql = "SELECT * FROM v_email_templates "; + sql = sql .. "WHERE (domain_uuid = :domain_uuid or domain_uuid is null) "; + sql = sql .. "AND template_language = :template_language "; + sql = sql .. "AND template_category = 'missed' " + sql = sql .. "AND template_enabled = 'true' " + sql = sql .. "ORDER BY domain_uuid DESC " + local params = {domain_uuid = domain_uuid, template_language = default_language.."-"..default_dialect}; + if (debug["sql"]) then + freeswitch.consoleLog("notice", "[voicemail] SQL: " .. sql .. "; params:" .. json.encode(params) .. "\n"); end + dbh:query(sql, params, function(row) + subject = row["template_subject"]; + body = row["template_body"]; + end); --prepare the headers local headers = {} @@ -65,9 +73,6 @@ headers["X-FusionPBX-Email-Type"] = 'missed'; --prepare the subject - local f = io.open(file_subject, "r"); - local subject = f:read("*all"); - f:close(); subject = subject:gsub("${caller_id_name}", caller_id_name); subject = subject:gsub("${caller_id_number}", caller_id_number); subject = subject:gsub("${sip_to_user}", sip_to_user); @@ -76,9 +81,6 @@ subject = '=?utf-8?B?'..base64.encode(subject)..'?='; --prepare the body - local f = io.open(file_body, "r"); - local body = f:read("*all"); - f:close(); body = body:gsub("${caller_id_name}", caller_id_name); body = body:gsub("${caller_id_number}", caller_id_number); body = body:gsub("${sip_to_user}", sip_to_user);