Update email_queue to use settings class

This commit is contained in:
FusionPBX 2023-09-14 16:10:13 -06:00 committed by GitHub
parent 741f2a160e
commit 5afce93f03
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 43 additions and 34 deletions

View File

@ -3,14 +3,17 @@
if (!function_exists('transcribe')) { if (!function_exists('transcribe')) {
function transcribe ($file_path, $file_name, $file_extension) { function transcribe ($file_path, $file_name, $file_extension) {
//get the email queue settings
$setting = new settings(['category' => 'voicemail']);
//transcription variables //transcription variables
$transcribe_provider = $_SESSION['voicemail']['transcribe_provider']['text']; $transcribe_provider = $setting->get('voicemail', 'transcribe_provider');
$transcribe_language = $_SESSION['voicemail']['transcribe_language']['text']; $transcribe_language = $setting->get('voicemail', 'transcribe_language');
//transcribe - watson //transcribe - watson
if ($transcribe_provider == 'watson') { if ($transcribe_provider == 'watson') {
$api_key = $_SESSION['voicemail']['watson_key']['text']; $api_key = $setting->get('voicemail', 'watson_key');
$api_url = $_SESSION['voicemail']['watson_url']['text']; $api_url = $setting->get('voicemail', 'watson_url');
if ($file_extension == "mp3") { if ($file_extension == "mp3") {
$content_type = 'audio/mp3'; $content_type = 'audio/mp3';
@ -117,11 +120,10 @@ if (!function_exists('transcribe')) {
//transcribe - google //transcribe - google
if ($transcribe_provider == 'google') { if ($transcribe_provider == 'google') {
$api_key = $_SESSION['voicemail']['google_key']['text']; $api_key = $setting->get('voicemail', 'google_key');
$api_url = $_SESSION['voicemail']['google_url']['text']; $api_url = $setting->get('voicemail', 'google_url');
$transcribe_language = $_SESSION['voicemail']['transcribe_language']['text']; $transcribe_language = $setting->get('voicemail', 'transcribe_language');
$transcribe_alternate_language = $_SESSION['voicemail']['transcribe_alternate_language']['text']; $transcribe_alternate_language = $setting->get('voicemail', 'transcribe_alternate_language');
if (!isset($transcribe_language) && empty($transcribe_language)) { if (!isset($transcribe_language) && empty($transcribe_language)) {
$transcribe_language = 'en-US'; $transcribe_language = 'en-US';
@ -191,8 +193,8 @@ if (!function_exists('transcribe')) {
//transcribe - azure //transcribe - azure
if ($transcribe_provider == 'azure') { if ($transcribe_provider == 'azure') {
$api_key = $_SESSION['voicemail']['azure_key']['text']; $api_key = $setting->get('voicemail', 'azure_key');
$api_url = $_SESSION['voicemail']['azure_server_region']['text']; $api_url = $setting->get('voicemail', 'azure_server_region');
if (empty($transcribe_language)) { if (empty($transcribe_language)) {
$transcribe_language = 'en-US'; $transcribe_language = 'en-US';
@ -237,8 +239,8 @@ if (!function_exists('transcribe')) {
// transcribe - custom // transcribe - custom
// Works with self-hostable transcription service at https://github.com/AccelerateNetworks/an-transcriptions // Works with self-hostable transcription service at https://github.com/AccelerateNetworks/an-transcriptions
if ($transcribe_provider == 'custom') { if ($transcribe_provider == 'custom') {
$api_key = $_SESSION['voicemail']['api_key']['text']; $api_key = $setting->get('voicemail', 'api_key');
$api_url = $_SESSION['voicemail']['transcription_server']['text']; $api_url = $setting->get('voicemail', 'transcription_server');
if (empty($transcribe_language)) { if (empty($transcribe_language)) {
$transcribe_language = 'en-US'; $transcribe_language = 'en-US';

View File

@ -70,8 +70,11 @@
exit; exit;
} }
//get the email queue settings
$setting = new settings(["category" => "email_queue"]);
//email queue enabled //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"; echo "Email Queue is disabled in Default Settings\n";
exit; exit;
} }
@ -100,20 +103,20 @@
} }
//get the call center settings //get the call center settings
$interval = $_SESSION['email_queue']['interval']['numeric']; $interval = $setting->get('email_queue', 'interval');
//set the defaults //set the defaults
if (!is_numeric($interval)) { $interval = 30; } if (!is_numeric($interval)) { $interval = 30; }
//set the email queue limit //set the email queue limit
if (isset($_SESSION['email_queue']['limit']['numeric'])) { if (!empty($setting->get('email_queue', 'limit'))) {
$email_queue_limit = $_SESSION['email_queue']['limit']['numeric']; $email_queue_limit = $setting->get('email_queue', 'limit');
} }
else { else {
$email_queue_limit = '30'; $email_queue_limit = '30';
} }
if (isset($_SESSION['email_queue']['debug']['boolean'])) { if (!empty($setting->get('email_queue', 'debug'))) {
$debug = $_SESSION['email_queue']['debug']['boolean']; $debug = $setting->get('email_queue', 'debug');
} }
//get the messages waiting in the email queue //get the messages waiting in the email queue

View File

@ -143,9 +143,11 @@
} }
unset($parameters); unset($parameters);
//get the email queue settings
$setting = new settings(["domain_uuid" => $domain_uuid]);
//get the call center settings //get the call center settings
$retry_limit = $_SESSION['email_queue']['retry_limit']['numeric']; $retry_limit = $setting->get('email_queue', 'retry_limit');
//$retry_interval = $_SESSION['email_queue']['retry_interval']['numeric'];
//set defaults //set defaults
if (empty($email_retry_count)) { if (empty($email_retry_count)) {
@ -285,10 +287,10 @@
//add email settings //add email settings
$email_settings = ''; $email_settings = '';
ksort($_SESSION['email']); $email_setting_array = $setting->get('email');
foreach ($_SESSION['email'] as $name => $setting) { ksort($email_setting_array);
foreach ($email_setting_array as $name => $setting) {
foreach ($setting as $type => $value) { foreach ($setting as $type => $value) {
if ($type == 'uuid') { $uuid = $value; continue; }
if ($name == 'smtp_password') { $value = '[REDACTED]'; } if ($name == 'smtp_password') { $value = '[REDACTED]'; }
$email_settings .= $name.': '.$value."\n"; $email_settings .= $name.': '.$value."\n";
} }
@ -383,7 +385,11 @@
$domain_name = $database->select($sql, $parameters, 'column'); $domain_name = $database->select($sql, $parameters, 'column');
//send the message waiting status //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) { if ($fp) {
//$switch_cmd .= "luarun app.lua voicemail mwi ".$voicemail_id."@".$domain_name; //$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"; $switch_cmd .= "luarun app/voicemail/resources/scripts/mwi_notify.lua ".$voicemail_id." ".$domain_name." 0 0";

View File

@ -10,7 +10,6 @@
} }
//include files //include files
require_once "resources/require.php";
include "resources/classes/permissions.php"; include "resources/classes/permissions.php";
require "app/email_queue/resources/functions/transcribe.php"; require "app/email_queue/resources/functions/transcribe.php";
@ -88,11 +87,10 @@
} }
//get the email queue settings //get the email queue settings
$setting = new settings(); $setting = new settings(["category" => "email_queue"]);
$settings = $setting->default_settings('email_queue');
//email queue enabled //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"; echo "Email Queue is disabled in Default Settings\n";
exit; exit;
} }
@ -121,20 +119,20 @@
} }
//get the call center settings //get the call center settings
$interval = $settings['email_queue']['interval']['numeric']; $interval = $setting->get('email_queue', 'interval');
//set the defaults //set the defaults
if (!is_numeric($interval)) { $interval = 30; } if (!is_numeric($interval)) { $interval = 30; }
//set the email queue limit //set the email queue limit
if (isset($settings['email_queue']['limit']['numeric'])) { if (!empty($setting->get('email_queue', 'limit'))) {
$email_queue_limit = $settings['email_queue']['limit']['numeric']; $email_queue_limit = $setting->get('email_queue', 'limit');
} }
else { else {
$email_queue_limit = '30'; $email_queue_limit = '30';
} }
if (isset($settings['email_queue']['debug']['boolean'])) { if (!empty($setting->get('email_queue', 'debug'))) {
$debug = $settings['email_queue']['debug']['boolean']; $debug = $setting->get('email_queue', 'debug');
} }
//get the messages waiting in the email queue //get the messages waiting in the email queue