Voicemail Greeting save the greeting_voice

- Add the select_group_option
This commit is contained in:
FusionPBX
2026-01-26 20:04:20 -07:00
committed by GitHub
parent 22e5f77e31
commit 5d00d0b91f
2 changed files with 51 additions and 7 deletions

View File

@@ -102,6 +102,11 @@
$apps[$x]['db'][$y]['fields'][$z]['type'] = "text";
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "";
$z++;
$apps[$x]['db'][$y]['fields'][$z]['name'] = "greeting_voice";
$apps[$x]['db'][$y]['fields'][$z]['type'] = "text";
$apps[$x]['db'][$y]['fields'][$z]['search'] = 'true';
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "";
$z++;
$apps[$x]['db'][$y]['fields'][$z]['name'] = "greeting_message";
$apps[$x]['db'][$y]['fields'][$z]['type'] = "text";
$apps[$x]['db'][$y]['fields'][$z]['search'] = 'true';
@@ -142,5 +147,3 @@
$apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = "text";
$apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = "char(36)";
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "";
?>

View File

@@ -65,6 +65,14 @@
//$translate_enabled = $speech->get_translate_enabled();
//$language_enabled = $speech->get_language_enabled();
//$languages = $speech->get_languages();
// Determine the aray type single, or multi
$voices_array_type = array_type($voices);
// Sort the array by language code keys alphabetically
if ($voices_array_type == 'multi') {
ksort($voices);
}
}
//add the transcribe object and get the languages arrays
@@ -234,6 +242,7 @@ if (!empty($_POST) && empty($_POST["persistformvar"])) {
$array['voicemail_greetings'][0]['voicemail_id'] = $voicemail_id;
$array['voicemail_greetings'][0]['greeting_id'] = $greeting_id;
$array['voicemail_greetings'][0]['greeting_name'] = $greeting_name;
$array['voicemail_greetings'][0]['greeting_voice'] = $greeting_voice;
$array['voicemail_greetings'][0]['greeting_message'] = $greeting_message;
$array['voicemail_greetings'][0]['greeting_filename'] = $greeting_filename;
$array['voicemail_greetings'][0]['greeting_base64'] = $greeting_base64;
@@ -268,6 +277,7 @@ if (!empty($_POST) && empty($_POST["persistformvar"])) {
if (is_array($row) && @sizeof($row) != 0) {
$greeting_id = $row["greeting_id"];
$greeting_name = $row["greeting_name"];
$greeting_voice = $row["greeting_voice"];
$greeting_message = $row["greeting_message"];
$greeting_description = $row["greeting_description"];
}
@@ -345,12 +355,43 @@ if (!empty($_POST) && empty($_POST["persistformvar"])) {
echo "</td>\n";
echo "<td class='vtable' align='left'>\n";
if (!empty($voices) && is_array($voices)) {
echo " <select class='formfld' name='greeting_voice'>\n";
echo " <option value=''></option>\n";
foreach ($voices as $key => $voice) {
echo " <option value='".escape(gettype($key) === "integer" ? $voice : $key)."' ".(!empty($greeting_voice) && $voice == $greeting_voice ? "selected='selected'" : null).">".escape(ucwords($voice))."</option>\n";
if ($voices_array_type == 'single') {
echo " <select class='formfld' name='greeting_voice' style='width: 200px;'>\n";
echo " <option value=''></option>\n";
foreach ($voices as $key => $voice) {
$greeting_voice_selected = (!empty($greeting_voice) && $key == $greeting_voice) ? "selected='selected'" : null;
echo " <option value='".escape($key)."' $greeting_voice_selected>".escape(ucwords($voice))."</option>\n";
}
echo " </select>\n";
}
if ($voices_array_type == 'multi') {
echo " <select class='formfld' id='greeting_voice_source' name='greeting_voice_source' style='display: none;'>\n";
echo " <option value=''></option>\n";
foreach ($voices as $category => $sub_array) {
$category = $text['label-'.$category] ?? $category;
echo "<optgroup label='".$category."' data-type='".$category."'>\n";
foreach ($sub_array as $key => $voice) {
$greeting_voice_selected = (!empty($greeting_voice) && $key == $greeting_voice) ? "selected='selected'" : null;
echo " <option value='".escape($key)."' $greeting_voice_selected>".escape(ucwords($voice))."</option>\n";
}
echo "</optgroup>\n";
}
echo " </select>\n";
// Select showing only optgroup labels
echo " <select class='formfld' id='greeting_voice_group_select' style='width: 100px;' >\n";
echo " <option value='' disabled='disabled' selected='selected'></option>\n";
echo " </select>\n";
// Select showing only options from selected group\n";
echo " <select class='formfld' id='greeting_voice_option_select' name='greeting_voice' style='width: 195px;' disabled='disabled'>\n";
echo " <option value='' disabled='disabled' selected='selected'></option>\n";
echo " </select>\n";
echo "<script>\n";
echo " select_group_option('greeting_voice_source', 'greeting_voice_group_select', 'greeting_voice_option_select');\n";
echo "</script>\n";
}
echo " </select>\n";
}
else {
echo " <input class='formfld' type='text' name='greeting_voice' maxlength='255' value=\"".escape($greeting_voice ?? '')."\">\n";