From 5afce93f0345b4079536010c72796c1fd5b176a7 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Thu, 14 Sep 2023 16:10:13 -0600 Subject: [PATCH] Update email_queue to use settings class --- .../resources/functions/transcribe.php | 28 ++++++++++--------- .../resources/jobs/email_queue.php | 15 ++++++---- app/email_queue/resources/jobs/email_send.php | 18 ++++++++---- .../resources/service/email_queue.php | 16 +++++------ 4 files changed, 43 insertions(+), 34 deletions(-) diff --git a/app/email_queue/resources/functions/transcribe.php b/app/email_queue/resources/functions/transcribe.php index 16ad016e2c..d5ec1e5f51 100644 --- a/app/email_queue/resources/functions/transcribe.php +++ b/app/email_queue/resources/functions/transcribe.php @@ -3,14 +3,17 @@ if (!function_exists('transcribe')) { function transcribe ($file_path, $file_name, $file_extension) { + //get the email queue settings + $setting = new settings(['category' => 'voicemail']); + //transcription variables - $transcribe_provider = $_SESSION['voicemail']['transcribe_provider']['text']; - $transcribe_language = $_SESSION['voicemail']['transcribe_language']['text']; + $transcribe_provider = $setting->get('voicemail', 'transcribe_provider'); + $transcribe_language = $setting->get('voicemail', 'transcribe_language'); //transcribe - watson if ($transcribe_provider == 'watson') { - $api_key = $_SESSION['voicemail']['watson_key']['text']; - $api_url = $_SESSION['voicemail']['watson_url']['text']; + $api_key = $setting->get('voicemail', 'watson_key'); + $api_url = $setting->get('voicemail', 'watson_url'); if ($file_extension == "mp3") { $content_type = 'audio/mp3'; @@ -117,11 +120,10 @@ if (!function_exists('transcribe')) { //transcribe - google if ($transcribe_provider == 'google') { - $api_key = $_SESSION['voicemail']['google_key']['text']; - $api_url = $_SESSION['voicemail']['google_url']['text']; - $transcribe_language = $_SESSION['voicemail']['transcribe_language']['text']; - $transcribe_alternate_language = $_SESSION['voicemail']['transcribe_alternate_language']['text']; - + $api_key = $setting->get('voicemail', 'google_key'); + $api_url = $setting->get('voicemail', 'google_url'); + $transcribe_language = $setting->get('voicemail', 'transcribe_language'); + $transcribe_alternate_language = $setting->get('voicemail', 'transcribe_alternate_language'); if (!isset($transcribe_language) && empty($transcribe_language)) { $transcribe_language = 'en-US'; @@ -191,8 +193,8 @@ if (!function_exists('transcribe')) { //transcribe - azure if ($transcribe_provider == 'azure') { - $api_key = $_SESSION['voicemail']['azure_key']['text']; - $api_url = $_SESSION['voicemail']['azure_server_region']['text']; + $api_key = $setting->get('voicemail', 'azure_key'); + $api_url = $setting->get('voicemail', 'azure_server_region'); if (empty($transcribe_language)) { $transcribe_language = 'en-US'; @@ -237,8 +239,8 @@ if (!function_exists('transcribe')) { // transcribe - custom // Works with self-hostable transcription service at https://github.com/AccelerateNetworks/an-transcriptions if ($transcribe_provider == 'custom') { - $api_key = $_SESSION['voicemail']['api_key']['text']; - $api_url = $_SESSION['voicemail']['transcription_server']['text']; + $api_key = $setting->get('voicemail', 'api_key'); + $api_url = $setting->get('voicemail', 'transcription_server'); if (empty($transcribe_language)) { $transcribe_language = 'en-US'; diff --git a/app/email_queue/resources/jobs/email_queue.php b/app/email_queue/resources/jobs/email_queue.php index bbbe484919..c80324c362 100644 --- a/app/email_queue/resources/jobs/email_queue.php +++ b/app/email_queue/resources/jobs/email_queue.php @@ -70,8 +70,11 @@ exit; } +//get the email queue settings + $setting = new settings(["category" => "email_queue"]); + //email queue enabled - if ($_SESSION['email_queue']['enabled']['boolean'] != 'true') { + if ($setting->get('email_queue', 'enabled') != 'true') { echo "Email Queue is disabled in Default Settings\n"; exit; } @@ -100,20 +103,20 @@ } //get the call center settings - $interval = $_SESSION['email_queue']['interval']['numeric']; + $interval = $setting->get('email_queue', 'interval'); //set the defaults if (!is_numeric($interval)) { $interval = 30; } //set the email queue limit - if (isset($_SESSION['email_queue']['limit']['numeric'])) { - $email_queue_limit = $_SESSION['email_queue']['limit']['numeric']; + if (!empty($setting->get('email_queue', 'limit'))) { + $email_queue_limit = $setting->get('email_queue', 'limit'); } else { $email_queue_limit = '30'; } - if (isset($_SESSION['email_queue']['debug']['boolean'])) { - $debug = $_SESSION['email_queue']['debug']['boolean']; + if (!empty($setting->get('email_queue', 'debug'))) { + $debug = $setting->get('email_queue', 'debug'); } //get the messages waiting in the email queue diff --git a/app/email_queue/resources/jobs/email_send.php b/app/email_queue/resources/jobs/email_send.php index a24e70f141..0238e124d1 100644 --- a/app/email_queue/resources/jobs/email_send.php +++ b/app/email_queue/resources/jobs/email_send.php @@ -143,9 +143,11 @@ } unset($parameters); +//get the email queue settings + $setting = new settings(["domain_uuid" => $domain_uuid]); + //get the call center settings - $retry_limit = $_SESSION['email_queue']['retry_limit']['numeric']; - //$retry_interval = $_SESSION['email_queue']['retry_interval']['numeric']; + $retry_limit = $setting->get('email_queue', 'retry_limit'); //set defaults if (empty($email_retry_count)) { @@ -285,10 +287,10 @@ //add email settings $email_settings = ''; - ksort($_SESSION['email']); - foreach ($_SESSION['email'] as $name => $setting) { + $email_setting_array = $setting->get('email'); + ksort($email_setting_array); + foreach ($email_setting_array as $name => $setting) { foreach ($setting as $type => $value) { - if ($type == 'uuid') { $uuid = $value; continue; } if ($name == 'smtp_password') { $value = '[REDACTED]'; } $email_settings .= $name.': '.$value."\n"; } @@ -383,7 +385,11 @@ $domain_name = $database->select($sql, $parameters, 'column'); //send the message waiting status - $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); + $fp = event_socket_create( + $setting->get('event_socket','ip_address'), + $setting->get('switch', 'event_socket_port'), + $setting->get('switch', 'event_socket_password') + ); if ($fp) { //$switch_cmd .= "luarun app.lua voicemail mwi ".$voicemail_id."@".$domain_name; $switch_cmd .= "luarun app/voicemail/resources/scripts/mwi_notify.lua ".$voicemail_id." ".$domain_name." 0 0"; diff --git a/app/email_queue/resources/service/email_queue.php b/app/email_queue/resources/service/email_queue.php index 5a3c2cb600..f8d042456a 100644 --- a/app/email_queue/resources/service/email_queue.php +++ b/app/email_queue/resources/service/email_queue.php @@ -10,7 +10,6 @@ } //include files - require_once "resources/require.php"; include "resources/classes/permissions.php"; require "app/email_queue/resources/functions/transcribe.php"; @@ -88,11 +87,10 @@ } //get the email queue settings - $setting = new settings(); - $settings = $setting->default_settings('email_queue'); + $setting = new settings(["category" => "email_queue"]); //email queue enabled - if ($settings['email_queue']['enabled']['boolean'] != 'true') { + if ($setting->get('email_queue', 'enabled') != 'true') { echo "Email Queue is disabled in Default Settings\n"; exit; } @@ -121,20 +119,20 @@ } //get the call center settings - $interval = $settings['email_queue']['interval']['numeric']; + $interval = $setting->get('email_queue', 'interval'); //set the defaults if (!is_numeric($interval)) { $interval = 30; } //set the email queue limit - if (isset($settings['email_queue']['limit']['numeric'])) { - $email_queue_limit = $settings['email_queue']['limit']['numeric']; + if (!empty($setting->get('email_queue', 'limit'))) { + $email_queue_limit = $setting->get('email_queue', 'limit'); } else { $email_queue_limit = '30'; } - if (isset($settings['email_queue']['debug']['boolean'])) { - $debug = $settings['email_queue']['debug']['boolean']; + if (!empty($setting->get('email_queue', 'debug'))) { + $debug = $setting->get('email_queue', 'debug'); } //get the messages waiting in the email queue