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')) {
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';

View File

@ -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

View File

@ -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";

View File

@ -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