diff --git a/app/ivr_menus/ivr_menu_edit.php b/app/ivr_menus/ivr_menu_edit.php index 7182fe6a2..3dbd752cd 100644 --- a/app/ivr_menus/ivr_menu_edit.php +++ b/app/ivr_menus/ivr_menu_edit.php @@ -63,10 +63,8 @@ //set the variables $domain_uuid = $_SESSION['domain_uuid']; $domain_name = $_SESSION['domain_name']; - $user_uuid = $_SESSION['user_uuid']; -//add the settings object - $settings = new settings(["domain_uuid" => $domain_uuid, "user_uuid" => $user_uuid]); +//set speech enabled and engine variables $speech_enabled = class_exists('speech') && $settings->get('speech', 'enabled', false); $speech_engine = $settings->get('speech', 'engine', ''); @@ -472,21 +470,20 @@ } //build the recording array - $greeting_types = ['long', 'short']; + $recording_types = ['greet_long', 'greet_short']; - foreach ($greeting_types as $x => $type) { - $greeting_type = 'greeting_'.$type; - $recording_name = $_POST[$greeting_type]['recording_name'] ?? ''; - $recording_voice = $_POST[$greeting_type]['recording_voice'] ?? ''; - $recording_speed = $_POST[$greeting_type]['recording_speed'] ?? '1.0'; - $recording_message = $_POST[$greeting_type]['recording_message'] ?? ''; - $recording_desc = $_POST[$greeting_type]['recording_description'] ?? ''; + foreach ($recording_types as $x => $type) { + $recording_name = $_POST[$type]['recording_name'] ?? ''; + $recording_voice = $_POST[$type]['recording_voice'] ?? ''; + $recording_speed = $_POST[$type]['recording_speed'] ?? '1.0'; + $recording_message = $_POST[$type]['recording_message'] ?? ''; + $recording_desc = $_POST[$type]['recording_description'] ?? ''; if (permission_exists('recording_edit') && !empty($recording_message)) { $recording_uuid = uuid(); if (empty($recording_name)) { - $recording_name = 'recording'.$ivr_menu_extension.($type == 'short' ? '-'.$type : null).'-'.str_pad(random_int(0, 9999), 4, '0', STR_PAD_LEFT); + $recording_name = 'recording'.$ivr_menu_extension.($type == $recording_types[1] ? '-short' : null).'-'.str_pad(random_int(0, 9999), 4, '0', STR_PAD_LEFT); } //set the recording format for approved types @@ -499,7 +496,7 @@ $recording_path = $settings->get('switch', 'recordings').'/'.$domain_name; //create the file name - $recording_filename = empty($_POST[$greeting_type]['recording_filename'] ?? '') ? preg_replace('#[^a-zA-Z0-9_\-]#', '_', $recording_name) : $_POST[$greeting_type]['recording_filename']; + $recording_filename = empty($_POST[$type]['recording_filename'] ?? '') ? preg_replace('#[^a-zA-Z0-9_\-]#', '_', $recording_name) : $_POST[$type]['recording_filename']; if (!str_ends_with($recording_filename, ".$recording_extension")) { $recording_filename .= ".$recording_extension"; } @@ -537,7 +534,7 @@ $array['recordings'][$x]['recording_description'] = $recording_desc; // Update IVR menu fields directly - $array['ivr_menus'][0]["ivr_menu_greet_{$type}"] = $recording_filename; + $array['ivr_menus'][0]["ivr_menu_{$type}"] = $recording_filename; } } @@ -993,12 +990,12 @@ echo "\n"; echo "\n"; + echo " \n"; echo "

\n"; echo "
\n"; @@ -1087,62 +1084,62 @@ echo "
\n"; if (!empty($voices)) { if ($voices_array_type == 'single') { - echo " \n"; + echo " \n"; foreach ($voices as $key => $voice) { $recording_voice_selected = (!empty($recording_voice) && $key == $recording_voice) ? "selected='selected'" : null; - echo " \n"; + echo " \n"; } - echo " \n"; + echo " \n"; } if ($voices_array_type == 'multi') { - echo " \n"; + echo " \n"; foreach ($voices as $category => $sub_array) { $category = $text['label-'.$category] ?? $category; echo "\n"; foreach ($sub_array as $key => $voice) { $recording_voice_selected = (!empty($recording_voice) && $key == $recording_voice) ? "selected='selected'" : null; - echo " \n"; + echo " \n"; } echo "\n"; } - echo " \n"; + echo " \n"; - echo " \n"; + echo " \n"; - echo " \n"; + echo " \n"; echo "\n"; } } else { - echo " \n"; + echo " \n"; } - echo "
\n"; + echo "
\n"; // Speed if ($speed_enabled) { echo "
\n"; - echo " \n"; foreach ($speed_options as $speed_value => $speed_label) { $selected = (string)$recording_speed === $speed_value ? "selected='selected'" : ''; - echo " \n"; + echo " \n"; } - echo " \n"; - echo "
\n"; + echo " \n"; + echo "
\n"; echo "
\n"; } echo " \n"; echo "
\n"; echo " ".$text['label-message']."
\n"; - echo " \n"; + echo " \n"; echo "\n"; } @@ -1164,8 +1161,8 @@ echo "\n"; + echo " \n"; echo "

\n"; echo "
\n"; @@ -1257,62 +1254,62 @@ echo "
\n"; if (!empty($voices)) { if ($voices_array_type == 'single') { - echo " \n"; + echo " \n"; foreach ($voices as $key => $voice) { $recording_voice_selected = (!empty($recording_voice) && $key == $recording_voice) ? "selected='selected'" : null; - echo " \n"; + echo " \n"; } - echo " \n"; + echo " \n"; } if ($voices_array_type == 'multi') { - echo " \n"; + echo " \n"; foreach ($voices as $category => $sub_array) { $category = $text['label-'.$category] ?? $category; echo "\n"; foreach ($sub_array as $key => $voice) { $recording_voice_selected = (!empty($recording_voice) && $key == $recording_voice) ? "selected='selected'" : null; - echo " \n"; + echo " \n"; } echo "\n"; } - echo " \n"; + echo " \n"; - echo " \n"; + echo " \n"; - echo " \n"; + echo " \n"; echo "\n"; } } else { - echo " \n"; + echo " \n"; } - echo "
\n"; + echo "
\n"; // Speed if ($speed_enabled) { echo "
\n"; - echo " \n"; foreach ($speed_options as $speed_value => $speed_label) { $selected = (string)$recording_speed === $speed_value ? "selected='selected'" : ''; - echo " \n"; + echo " \n"; } - echo " \n"; - echo "
\n"; + echo " \n"; + echo "
\n"; echo "
\n"; } echo " \n"; echo "
\n"; echo " ".$text['label-message']."
\n"; - echo " \n"; + echo " \n"; echo "\n"; }