Add an option for extension language

This commit is contained in:
FusionPBX
2024-01-10 15:55:00 -07:00
committed by GitHub
parent ad86456b33
commit 0ea2d00289
4 changed files with 83 additions and 28 deletions

View File

@@ -132,10 +132,14 @@
$absolute_codec_string = $_POST["absolute_codec_string"];
$force_ping = $_POST["force_ping"];
$dial_string = $_POST["dial_string"];
$extension_language = $_POST["extension_language"];
$extension_type = $_POST["extension_type"];
$enabled = $_POST["enabled"] ?? 'false';
$description = $_POST["description"];
//set defaults
$extension_language = $extension_language ?? '';
//outbound caller id number - only allow numeric and +
if (!empty($outbound_caller_id_number)) {
$outbound_caller_id_number = preg_replace('#[^\+0-9]#', '', $outbound_caller_id_number);
@@ -157,7 +161,7 @@
else{
$subnet = 32;
}
if(($addr = inet_pton($ipaddr)) !== false){
$ips[] = $ipaddr.'/'.$subnet;
}
@@ -425,6 +429,12 @@
$password = generate_password($password_length, $password_strength);
}
//seperate the language components into language, dialect and voice
$language_array = explode("/",$ivr_menu_language);
$ivr_menu_language = $language_array[0] ?? 'en';
$ivr_menu_dialect = $language_array[1] ?? 'us';
$ivr_menu_voice = $language_array[2] ?? 'callie';
//create the data array
$array["extensions"][$i]["domain_uuid"] = $domain_uuid;
$array["extensions"][$i]["extension_uuid"] = $extension_uuid;
@@ -531,6 +541,11 @@
$array["extensions"][$i]["dial_string"] = $dial_string;
}
}
if (permission_exists('extension_language')) {
$array['ivr_menus'][0]["extension_language"] = $extension_language;
$array['ivr_menus'][0]["extension_dialect"] = $extension_dialect;
$array['ivr_menus'][0]["extension_voice"] = $extension_voice;
}
if (permission_exists('extension_type')) {
$array["extensions"][$i]["extension_type"] = $extension_type;
}
@@ -1273,7 +1288,7 @@
echo " <br />\n";
echo " ".$text['description-accountcode']."\n";
echo "</td>\n";
echo "</tr>\n";
echo "</tr>\n";
}
if (permission_exists('device_edit') && (empty($extension_type) || $extension_type != 'virtual')) {
@@ -1974,6 +1989,35 @@
echo "</tr>\n";
}
if (permission_exists('extension_language')) {
echo "<tr>\n";
echo "<td class='vncell' valign='top' align='left' nowrap>\n";
echo " ".$text['label-language']."\n";
echo "</td>\n";
echo "<td class='vtable' align='left'>\n";
echo " <select class='formfld' type='text' name='extension_language'>\n";
echo " <option></option>\n";
if (!empty($extension_language) && !empty($extension_dialect) && !empty($extension_voice)) {
$language_formatted = $extension_language."-".$extension_dialect." ".$extension_voice;
echo " <option value='".escape($extension_language.'/'.$extension_dialect.'/'.$extension_voice)."' selected='selected'>".escape($language_formatted)."</option>\n";
}
if (!empty($language_paths)) {
foreach ($language_paths as $key => $language_variables) {
$language_variables = explode('/',$language_paths[$key]);
$language = $language_variables[0];
$dialect = $language_variables[1];
$voice = $language_variables[2];
if (empty($language_formatted) || $language_formatted != $language.'-'.$dialect.' '.$voice) {
echo " <option value='".$language."/".$dialect."/".$voice."'>".$language."-".$dialect." ".$voice."</option>\n";
}
}
}
echo "<br />\n";
//echo $text['description-language']."\n";
echo "</td>\n";
echo "</tr>\n";
}
if (permission_exists('extension_type')) {
echo "<tr>\n";
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>\n";