diff --git a/app/extensions/app_config.php b/app/extensions/app_config.php index 8d29d837be..ce7ee10829 100644 --- a/app/extensions/app_config.php +++ b/app/extensions/app_config.php @@ -642,6 +642,18 @@ $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'] = "extension_language"; + $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'] = "extension_dialect"; + $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'] = "extension_voice"; + $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'] = "extension_type"; $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; diff --git a/app/extensions/app_languages.php b/app/extensions/app_languages.php index 44555f64a4..b79940b3b2 100644 --- a/app/extensions/app_languages.php +++ b/app/extensions/app_languages.php @@ -2314,6 +2314,30 @@ $text['label-extension_only']['zh-cn'] = "仅限分机"; $text['label-extension_only']['ja-jp'] = "内線のみ"; $text['label-extension_only']['ko-kr'] = "내선 전용"; +$text['label-language']['en-us'] = "Language"; +$text['label-language']['en-gb'] = "Language"; +$text['label-language']['ar-eg'] = "اللغة"; +$text['label-language']['de-at'] = "Sprache"; +$text['label-language']['de-ch'] = "Sprache"; +$text['label-language']['de-de'] = "Sprache"; +$text['label-language']['es-cl'] = "Idioma"; +$text['label-language']['es-mx'] = "Idioma"; +$text['label-language']['fr-ca'] = "Langue"; +$text['label-language']['fr-fr'] = "Langue"; +$text['label-language']['he-il'] = "שפה"; +$text['label-language']['it-it'] = "Lingua"; +$text['label-language']['nl-nl'] = "Taal"; +$text['label-language']['pl-pl'] = "Język"; +$text['label-language']['pt-br'] = "Língua"; +$text['label-language']['pt-pt'] = "Língua"; +$text['label-language']['ro-ro'] = "Limba"; +$text['label-language']['ru-ru'] = "Язык"; +$text['label-language']['sv-se'] = "Språk"; +$text['label-language']['uk-ua'] = "Українська"; +$text['label-language']['zh-cn'] = "语言"; +$text['label-language']['ja-jp'] = "言語"; +$text['label-language']['ko-kr'] = "언어"; + $text['label-extension_type']['en-us'] = "Type"; $text['label-extension_type']['ar-eg'] = "النوع"; $text['label-extension_type']['de-at'] = "Art"; @@ -3846,5 +3870,4 @@ $text['button-call_forward']['zh-cn'] = "呼叫转移"; $text['button-call_forward']['ja-jp'] = "電話転送"; $text['button-call_forward']['ko-kr'] = "착신 전환"; -?> - +?> \ No newline at end of file diff --git a/app/extensions/extension_edit.php b/app/extensions/extension_edit.php index bf2e85017e..a2a72b5af7 100644 --- a/app/extensions/extension_edit.php +++ b/app/extensions/extension_edit.php @@ -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 "
\n"; echo " ".$text['description-accountcode']."\n"; echo "\n"; - echo "\n"; + echo "\n"; } if (permission_exists('device_edit') && (empty($extension_type) || $extension_type != 'virtual')) { @@ -1974,6 +1989,35 @@ echo "\n"; } + if (permission_exists('extension_language')) { + echo "\n"; + echo "\n"; + echo " ".$text['label-language']."\n"; + echo "\n"; + echo "\n"; + echo "