diff --git a/app/xml_cdr/app_config.php b/app/xml_cdr/app_config.php index 0385e13593..a15d65479a 100644 --- a/app/xml_cdr/app_config.php +++ b/app/xml_cdr/app_config.php @@ -129,6 +129,9 @@ $apps[$x]['permissions'][$y]['name'] = "xml_cdr_search_call_center_queues"; $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; $y++; + $apps[$x]['permissions'][$y]['name'] = "xml_cdr_search_ring_groups"; + $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; + $y++; $apps[$x]['permissions'][$y]['name'] = "xml_cdr_cc_side"; $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; $y++; @@ -848,6 +851,12 @@ $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'] = ""; + $z++; + $apps[$x]['db'][$y]['fields'][$z]['name'] = "ring_group_uuid"; + $apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = "uuid"; + $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'] = ""; //schema details $y++; diff --git a/app/xml_cdr/app_languages.php b/app/xml_cdr/app_languages.php index 680e31807b..a293590e66 100644 --- a/app/xml_cdr/app_languages.php +++ b/app/xml_cdr/app_languages.php @@ -3992,4 +3992,31 @@ $text['label-text']['zh-cn'] = "文本"; $text['label-text']['ja-jp'] = "文章"; $text['label-text']['ko-kr'] = "텍스트"; +$text['label-ring_group']['en-us'] = "Ring Group"; +$text['label-ring_group']['en-gb'] = "Ring Group"; +$text['label-ring_group']['ar-eg'] = "فريق الاعتماد"; +$text['label-ring_group']['de-at'] = "Rufgruppen"; +$text['label-ring_group']['de-ch'] = "Rufgruppen"; +$text['label-ring_group']['de-de'] = "Rufgruppen"; +$text['label-ring_group']['el-gr'] = "Ομάδα δαχτυλιδιών"; +$text['label-ring_group']['es-cl'] = "Grupo de llamado"; +$text['label-ring_group']['es-mx'] = "Grupo de llamado"; +$text['label-ring_group']['fr-ca'] = "Groupes de Sonnerie"; +$text['label-ring_group']['fr-fr'] = "Groupes de Sonnerie"; +$text['label-ring_group']['he-il'] = "קבוצות חיוג"; +$text['label-ring_group']['it-it'] = "Gruppi di Squillo"; +$text['label-ring_group']['ka-ge'] = "ზარის ჯგუფი"; +$text['label-ring_group']['nl-nl'] = "Bel groepen"; +$text['label-ring_group']['pl-pl'] = "Grupy odbiorców rozmów"; +$text['label-ring_group']['pt-br'] = "Configurações da Conta"; +$text['label-ring_group']['pt-pt'] = "Grupos"; +$text['label-ring_group']['ro-ro'] = "Grup de apeluri"; +$text['label-ring_group']['ru-ru'] = "Группа вызовов"; +$text['label-ring_group']['sv-se'] = "Ringgrupper"; +$text['label-ring_group']['uk-ua'] = "Групи"; +$text['label-ring_group']['tr-tr'] = "Yüzük Grubu"; +$text['label-ring_group']['zh-cn'] = "环组"; +$text['label-ring_group']['ja-jp'] = "リンググループ"; +$text['label-ring_group']['ko-kr'] = "링 그룹"; + ?> diff --git a/app/xml_cdr/resources/classes/xml_cdr.php b/app/xml_cdr/resources/classes/xml_cdr.php index 553638dd3b..5459950448 100644 --- a/app/xml_cdr/resources/classes/xml_cdr.php +++ b/app/xml_cdr/resources/classes/xml_cdr.php @@ -614,6 +614,7 @@ if (!class_exists('xml_cdr')) { $domain_uuid = urldecode($xml->variables->domain_uuid); //misc + $this->array[$key][0]['ring_group_uuid'] = urldecode($xml->variables->ring_group_uuid); $this->array[$key][0]['xml_cdr_uuid'] = $uuid; $this->array[$key][0]['destination_number'] = $destination_number; $this->array[$key][0]['sip_call_id'] = urldecode($xml->variables->sip_call_id); diff --git a/app/xml_cdr/xml_cdr.php b/app/xml_cdr/xml_cdr.php index edd32b76c0..7a38a156d5 100644 --- a/app/xml_cdr/xml_cdr.php +++ b/app/xml_cdr/xml_cdr.php @@ -47,6 +47,7 @@ $permission['xml_cdr_delete'] = permission_exists('xml_cdr_delete'); $permission['xml_cdr_domain'] = permission_exists('xml_cdr_domain'); $permission['xml_cdr_search_call_center_queues'] = permission_exists('xml_cdr_search_call_center_queues'); + $permission['xml_cdr_search_ring_groups'] = permission_exists('xml_cdr_search_ring_groups'); $permission['xml_cdr_statistics'] = permission_exists('xml_cdr_statistics'); $permission['xml_cdr_archive'] = permission_exists('xml_cdr_archive'); $permission['xml_cdr_all'] = permission_exists('xml_cdr_all'); @@ -148,6 +149,16 @@ $extensions = $database->select($sql, $parameters, 'all'); } +//get the ring groups + if ($permission['xml_cdr_search_ring_groups']) { + $sql = "select ring_group_uuid, ring_group_name, ring_group_extension from v_ring_groups "; + $sql .= "where domain_uuid = :domain_uuid "; + $sql .= "order by ring_group_extension asc "; + $parameters['domain_uuid'] = $_SESSION['domain_uuid']; + $database = new database; + $ring_groups = $database->select($sql, $parameters, 'all'); + } + //get the call center queues if ($permission['xml_cdr_search_call_center_queues']) { $sql = "select call_center_queue_uuid, queue_name, queue_extension from v_call_center_queues "; @@ -603,6 +614,26 @@ echo " \n"; unset($sql, $parameters, $call_center_queues, $row, $selected); } + + if ($permission['xml_cdr_search_ring_groups']) { + echo "
\n"; + echo "
\n"; + echo " ".$text['label-ring_group']."\n"; + echo "
\n"; + echo "
\n"; + echo " \n"; + echo "
\n"; + echo "
\n"; + unset($sql, $parameters, $ring_groups, $row, $selected); + } } echo "\n"; diff --git a/app/xml_cdr/xml_cdr_inc.php b/app/xml_cdr/xml_cdr_inc.php index adda5d2a2c..58f59e540e 100644 --- a/app/xml_cdr/xml_cdr_inc.php +++ b/app/xml_cdr/xml_cdr_inc.php @@ -46,6 +46,7 @@ $permission['xml_cdr_delete'] = permission_exists('xml_cdr_delete'); $permission['xml_cdr_domain'] = permission_exists('xml_cdr_domain'); $permission['xml_cdr_search_call_center_queues'] = permission_exists('xml_cdr_search_call_center_queues'); + $permission['xml_cdr_search_ring_groups'] = permission_exists('xml_cdr_search_ring_groups'); $permission['xml_cdr_statistics'] = permission_exists('xml_cdr_statistics'); $permission['xml_cdr_archive'] = permission_exists('xml_cdr_archive'); $permission['xml_cdr_all'] = permission_exists('xml_cdr_all'); @@ -140,6 +141,7 @@ $order = $_REQUEST["order"] ?? ''; $cc_side = $_REQUEST["cc_side"] ?? ''; $call_center_queue_uuid = $_REQUEST["call_center_queue_uuid"] ?? ''; + $ring_group_uuid = $_REQUEST["ring_group_uuid"] ?? ''; if (isset($_SESSION['cdr']['field']) && is_array($_SESSION['cdr']['field'])) { foreach ($_SESSION['cdr']['field'] as $field) { $array = explode(",", $field); @@ -610,6 +612,11 @@ $sql .= "and call_center_queue_uuid = :call_center_queue_uuid \n"; $parameters['call_center_queue_uuid'] = $call_center_queue_uuid; } + //show specific ring groups + if (!empty($ring_group_uuid)) { + $sql .= "and ring_group_uuid = :ring_group_uuid \n"; + $parameters['ring_group_uuid'] = $ring_group_uuid; + } //end where if (!empty($order_by)) { $sql .= order_by($order_by, $order); diff --git a/app/xml_cdr/xml_cdr_search.php b/app/xml_cdr/xml_cdr_search.php index fb214280ed..339aeb8a31 100644 --- a/app/xml_cdr/xml_cdr_search.php +++ b/app/xml_cdr/xml_cdr_search.php @@ -337,6 +337,24 @@ unset($sql, $parameters, $call_center_queues, $row, $selected); } + if (permission_exists('xml_cdr_search_ring_groups')) { + echo " "; + echo " ".$text['label-ring_group'].""; + echo " "; + echo " \n"; + echo " "; + echo " \n"; + unset($sql, $parameters, $ring_groups, $row, $selected); + } + echo "\n"; echo " ";