diff --git a/app/extensions/app_config.php b/app/extensions/app_config.php index f3a8483ae7..c95d88ca06 100644 --- a/app/extensions/app_config.php +++ b/app/extensions/app_config.php @@ -374,6 +374,22 @@ $apps[$x]['default_settings'][$y]['default_setting_value'] = "5"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the maximum number of concurrent outbound calls allowed"; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "3a4a14e4-8937-4a02-8038-ea5afb1d842f"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "extension"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "icon_registered_color"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "#12d600"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the color of the status icon when the extension is registered."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "10e5288b-9ac7-40c9-b5e7-c99be78a6b02"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "extension"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "icon_unregistered_color"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "#e21b1b"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the color of the status icon when the extension is unregistered."; //cache details $apps[$x]['cache']['key'] = "directory.\${extension}@\${domain_name}"; diff --git a/app/extensions/app_languages.php b/app/extensions/app_languages.php index aa9dbd5bd3..e4ce5e63ca 100644 --- a/app/extensions/app_languages.php +++ b/app/extensions/app_languages.php @@ -2132,31 +2132,83 @@ $text['label-accountcode']['zh-cn'] = "帐户代码"; $text['label-accountcode']['ja-jp'] = "口座番号"; $text['label-accountcode']['ko-kr'] = "계정 코드"; -$text['label-is_registered']['en-us'] = "Registered"; -$text['label-is_registered']['en-gb'] = "Registered"; -$text['label-is_registered']['ar-eg'] = "المسجلة"; -$text['label-is_registered']['de-at'] = "Registriert"; -$text['label-is_registered']['de-ch'] = "Registriert"; -$text['label-is_registered']['de-de'] = "Registriert"; -$text['label-is_registered']['el-gr'] = "Εγγεγραμμένος"; -$text['label-is_registered']['es-cl'] = "Registrado"; -$text['label-is_registered']['es-mx'] = "Registrado"; -$text['label-is_registered']['fr-ca'] = "Inscrit"; -$text['label-is_registered']['fr-fr'] = "Inscrit"; -$text['label-is_registered']['he-il'] = "רשום"; -$text['label-is_registered']['it-it'] = "Registrato"; -$text['label-is_registered']['nl-nl'] = "Geregistreerd"; -$text['label-is_registered']['pl-pl'] = "Rejestrować"; -$text['label-is_registered']['pt-br'] = "Registrado"; -$text['label-is_registered']['pt-pt'] = "Registado"; -$text['label-is_registered']['ro-ro'] = "Înregistrat"; -$text['label-is_registered']['ru-ru'] = "Зарегистрировано"; -$text['label-is_registered']['sv-se'] = "Registrerad"; -$text['label-is_registered']['uk-ua'] = "Реєстрація"; -$text['label-is_registered']['tr-tr'] = "Kayıtlı"; -$text['label-is_registered']['zh-cn'] = "挂号的"; -$text['label-is_registered']['ja-jp'] = "登録済み"; -$text['label-is_registered']['ko-kr'] = "등기"; +$text['label-registered']['en-us'] = "Registered"; +$text['label-registered']['en-gb'] = "Registered"; +$text['label-registered']['ar-eg'] = "المسجلة"; +$text['label-registered']['de-at'] = "Registriert"; +$text['label-registered']['de-ch'] = "Registriert"; +$text['label-registered']['de-de'] = "Registriert"; +$text['label-registered']['el-gr'] = "Εγγεγραμμένος"; +$text['label-registered']['es-cl'] = "Registrado"; +$text['label-registered']['es-mx'] = "Registrado"; +$text['label-registered']['fr-ca'] = "Inscrit"; +$text['label-registered']['fr-fr'] = "Inscrit"; +$text['label-registered']['he-il'] = "רשום"; +$text['label-registered']['it-it'] = "Registrato"; +$text['label-registered']['nl-nl'] = "Geregistreerd"; +$text['label-registered']['pl-pl'] = "Rejestrować"; +$text['label-registered']['pt-br'] = "Registrado"; +$text['label-registered']['pt-pt'] = "Registado"; +$text['label-registered']['ro-ro'] = "Înregistrat"; +$text['label-registered']['ru-ru'] = "Зарегистрировано"; +$text['label-registered']['sv-se'] = "Registrerad"; +$text['label-registered']['uk-ua'] = "Реєстрація"; +$text['label-registered']['tr-tr'] = "Kayıtlı"; +$text['label-registered']['zh-cn'] = "挂号的"; +$text['label-registered']['ja-jp'] = "登録済み"; +$text['label-registered']['ko-kr'] = "등기"; + +$text['label-unregistered']['en-us'] = "Unregistered"; +$text['label-unregistered']['en-gb'] = "Unregistered"; +$text['label-unregistered']['ar-eg'] = "غير مسجل"; +$text['label-unregistered']['de-at'] = "Nicht registriert"; +$text['label-unregistered']['de-ch'] = "Nicht registriert"; +$text['label-unregistered']['de-de'] = "Nicht registriert"; +$text['label-unregistered']['el-gr'] = "Αδήλωτος"; +$text['label-unregistered']['es-cl'] = "No registrado"; +$text['label-unregistered']['es-mx'] = "No registrado"; +$text['label-unregistered']['fr-ca'] = "Non enregistré"; +$text['label-unregistered']['fr-fr'] = "Non enregistré"; +$text['label-unregistered']['he-il'] = "לא רשום"; +$text['label-unregistered']['it-it'] = "Non registrato"; +$text['label-unregistered']['nl-nl'] = "Niet geregistreerd"; +$text['label-unregistered']['pl-pl'] = "Niezarejestrowany"; +$text['label-unregistered']['pt-br'] = "Não registrado"; +$text['label-unregistered']['pt-pt'] = "Não registado"; +$text['label-unregistered']['ro-ro'] = "Neînregistrat"; +$text['label-unregistered']['ru-ru'] = "Незарегистрированный"; +$text['label-unregistered']['sv-se'] = "Oregistrerad"; +$text['label-unregistered']['uk-ua'] = "Незареєстрований"; +$text['label-unregistered']['tr-tr'] = "Kayıtlı değil"; +$text['label-unregistered']['zh-cn'] = "未註冊"; +$text['label-unregistered']['ja-jp'] = "未登録"; +$text['label-unregistered']['ko-kr'] = "미등록"; + +$text['label-registrations']['en-us'] = "Registrations"; +$text['label-registrations']['en-gb'] = "Registrations"; +$text['label-registrations']['ar-eg'] = "التسجيلات"; +$text['label-registrations']['de-at'] = "Registrierungen"; +$text['label-registrations']['de-ch'] = "Registrierungen"; +$text['label-registrations']['de-de'] = "Registrierungen"; +$text['label-registrations']['el-gr'] = "Συνδέσεις"; +$text['label-registrations']['es-cl'] = "Inscripciones"; +$text['label-registrations']['es-mx'] = "Inscripciones"; +$text['label-registrations']['fr-ca'] = "Enregistrements SIP"; +$text['label-registrations']['fr-fr'] = "Enregistrements SIP"; +$text['label-registrations']['he-il'] = "רישומים"; +$text['label-registrations']['it-it'] = "Registrazioni"; +$text['label-registrations']['nl-nl'] = "Registraties"; +$text['label-registrations']['pl-pl'] = "Rejestracje"; +$text['label-registrations']['pt-br'] = "Registros"; +$text['label-registrations']['pt-pt'] = "Inscrições"; +$text['label-registrations']['ro-ro'] = "Înregistrări"; +$text['label-registrations']['ru-ru'] = "Регистрации SIP"; +$text['label-registrations']['sv-se'] = "Registreringar"; +$text['label-registrations']['uk-ua'] = "Реєстрації"; +$text['label-registrations']['tr-tr'] = "Kayıtlar"; +$text['label-registrations']['zh-cn'] = "登记"; +$text['label-registrations']['ja-jp'] = "登録"; +$text['label-registrations']['ko-kr'] = "등록"; $text['label-column_name']['en-us'] = "Column Name"; $text['label-column_name']['en-gb'] = "Column Name"; diff --git a/app/extensions/extensions.php b/app/extensions/extensions.php index 81d0d5e15a..838da93b2d 100644 --- a/app/extensions/extensions.php +++ b/app/extensions/extensions.php @@ -17,7 +17,7 @@ The Initial Developer of the Original Code is Mark J Crane - Portions created by the Initial Developer are Copyright (C) 2008-2020 + Portions created by the Initial Developer are Copyright (C) 2008-2024 the Initial Developer. All Rights Reserved. Contributor(s): @@ -305,6 +305,9 @@ echo "".$text['label-domain']."\n"; //echo th_order_by('domain_name', $text['label-domain'], $order_by, $order); } + if (permission_exists('extension_registered')) { + echo " \n"; + } echo th_order_by('extension', $text['label-extension'], $order_by, $order); echo th_order_by('effective_caller_id_name', $text['label-effective_cid_name'], $order_by, $order, null, "class='hide-xs'"); if (permission_exists("outbound_caller_id_name")) { @@ -325,9 +328,6 @@ if (permission_exists("extension_user_context")) { echo th_order_by('user_context', $text['label-user_context'], $order_by, $order); } - if (permission_exists('extension_registered')) { - echo "".$text['label-is_registered']."\n"; - } echo th_order_by('enabled', $text['label-enabled'], $order_by, $order, null, "class='center'"); echo th_order_by('description', $text['label-description'], $order_by, $order, null, "class='hide-sm-dn'"); if (permission_exists('extension_edit') && !empty($_SESSION['theme']['list_row_edit_button']['boolean']) && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') { @@ -351,6 +351,37 @@ if (!empty($_GET['show']) && $_GET['show'] == "all" && permission_exists('extension_all')) { echo " ".escape($_SESSION['domains'][$row['domain_uuid']]['domain_name'])."\n"; } + if (permission_exists('extension_registered')) { + $icon_registered_color = $_SESSION['extension']['icon_registered_color']['text'] ?? '#12d600'; + $icon_unregistered_color = $_SESSION['extension']['icon_unregistered_color']['text'] ?? '#e21b1b'; + + $extension_number = $row['extension'].'@'.$_SESSION['domains'][$row['domain_uuid']]['domain_name']; + $extension_number_alias = $row['number_alias']; + if (!empty($extension_number_alias)) { + $extension_number_alias .= '@'.$_SESSION['domains'][$row['domain_uuid']]['domain_name']; + } + $found_count = 0; + if (is_array($registrations)) { + foreach ($registrations as $array) { + if ($extension_number == $array['user'] || ($extension_number_alias != '' && $extension_number_alias == $array['user'])) { + $found_count++; + } + } + } + if ($found_count > 0) { + echo " 1 ? $found_count.' '.$text['label-registrations'] : $text['label-registered'])."\">"; + if ($found_count > 1) { + echo "
\n"; + } + echo "
\n"; + } + else { + echo " "; + echo "
\n"; + } + unset($extension_number, $extension_number_alias, $found_count, $array); + echo "\n"; + } echo " "; if (permission_exists('extension_edit')) { echo "".escape($row['extension']).""; @@ -379,30 +410,6 @@ if (permission_exists("extension_user_context")) { echo " ".escape($row['user_context'])."\n"; } - if (permission_exists('extension_registered')) { - echo " "; - $extension_number = $row['extension'].'@'.$_SESSION['domains'][$row['domain_uuid']]['domain_name']; - $extension_number_alias = $row['number_alias']; - if (!empty($extension_number_alias)) { - $extension_number_alias .= '@'.$_SESSION['domains'][$row['domain_uuid']]['domain_name']; - } - $found_count = 0; - if (is_array($registrations)) { - foreach ($registrations as $array) { - if ($extension_number == $array['user'] || ($extension_number_alias != '' && $extension_number_alias == $array['user'])) { - $found_count++; - } - } - } - if ($found_count > 0) { - echo $text['label-true']." (".$found_count.")"; - } - else { - echo $text['label-false']; - } - unset($extension_number, $extension_number_alias, $found_count, $array); - echo " \n"; - } if (permission_exists('extension_enabled')) { echo " "; echo button::create(['type'=>'submit','class'=>'link','label'=>$text['label-'.$row['enabled']],'title'=>$text['button-toggle'],'onclick'=>"list_self_check('checkbox_".$x."'); list_action_set('toggle'); list_form_submit('form_list')"]);