diff --git a/app/extensions/extension_edit.php b/app/extensions/extension_edit.php index 0bcf01edb0..238827be20 100644 --- a/app/extensions/extension_edit.php +++ b/app/extensions/extension_edit.php @@ -537,6 +537,55 @@ $device_vendor = device::get_vendor($device_mac_address); } + //determine the name + if (strlen($effective_caller_id_name) > 0) { + $name = $effective_caller_id_name; + } + elseif (strlen($directory_first_name) > 0 && strlen($directory_last_name) > 0) { + $name = $directory_first_name.' '.$directory_last_name; + } + elseif (strlen($directory_first_name) > 0) { + $name = $directory_first_name; + } + elseif (strlen($directory_first_name) > 0) { + $name = $directory_first_name.' '.$directory_last_name; + } + else { + $name = ''; + } + + //get the dislplay label + if ($_SESSION['provision']['line_label']['text'] == 'auto') { + $line_label = $name; + } + else { + $line_label = $_SESSION['provision']['line_label']['text']; + $line_label = str_replace("\${name}", $name, $line_label); + $line_label = str_replace("\${effective_caller_id_name}", $effective_caller_id_name, $line_label); + $line_label = str_replace("\${first_name}", $directory_first_name, $line_label); + $line_label = str_replace("\${last_name}", $directory_last_name, $line_label); + $line_label = str_replace("\${user_id}", $extension, $line_label); + $line_label = str_replace("\${auth_id}", $extension, $line_label); + $line_label = str_replace("\${extension}", $extension, $line_label); + $line_label = str_replace("\${description}", $description, $line_label); + } + + //get the dislplay name + if ($_SESSION['provision']['line_display_name']['text'] == 'auto') { + $line_display_name = $name; + } + else { + $line_display_name = $_SESSION['provision']['line_display_name']['text']; + $line_display_name = str_replace("\${name}", $name, $display_name); + $line_display_name = str_replace("\${effective_caller_id_name}", $effective_caller_id_name, $line_display_name); + $line_display_name = str_replace("\${first_name}", $directory_first_name, $line_display_name); + $line_display_name = str_replace("\${last_name}", $directory_last_name, $line_display_name); + $line_display_name = str_replace("\${user_id}", $extension, $line_display_name); + $line_display_name = str_replace("\${auth_id}", $extension, $line_display_name); + $line_display_name = str_replace("\${extension}", $extension, $line_display_name); + $line_display_name = str_replace("\${description}", $description, $line_display_name); + } + //send a message to the user the device is not unique if (!$device_unique) { $message = $text['message-duplicate'].(if_group("superadmin") && $_SESSION["domain_name"] != $device_domain_name ? ": ".$device_domain_name : null); @@ -562,7 +611,8 @@ $array["devices"][$j]["device_lines"][0]["outbound_proxy_secondary"] = $_SESSION['provision']['outbound_proxy_secondary']['text']; $array["devices"][$j]["device_lines"][0]["server_address_primary"] = $_SESSION['provision']['server_address_primary']['text']; $array["devices"][$j]["device_lines"][0]["server_address_secondary"] = $_SESSION['provision']['server_address_secondary']['text']; - $array["devices"][$j]["device_lines"][0]["display_name"] = strlen($effective_caller_id_name) > 0 ? $effective_caller_id_name : $extension; + $array["devices"][$j]["device_lines"][0]["display_label"] = $line_label; + $array["devices"][$j]["device_lines"][0]["display_name"] = $line_display_name; $array["devices"][$j]["device_lines"][0]["user_id"] = $extension; $array["devices"][$j]["device_lines"][0]["auth_id"] = $extension; $array["devices"][$j]["device_lines"][0]["password"] = $password; diff --git a/app/provision/app_config.php b/app/provision/app_config.php index 248bd849a3..25d4b0015b 100644 --- a/app/provision/app_config.php +++ b/app/provision/app_config.php @@ -151,6 +151,22 @@ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; $apps[$x]['default_settings'][$y]['default_setting_description'] = ""; $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "4e2986cc-de12-49b9-9832-5ca53bb2098a"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "line_label"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "user_id"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = ""; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "97402737-ba86-4d4e-8847-5497d07ef6b5"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "line_display_name"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = ""; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = ""; + $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "a9dc7f4a-0a19-40cb-829a-093bf81d00db"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "line_sip_port";