Update CDR new call center search

This commit is contained in:
FusionPBX
2024-01-13 17:07:11 -07:00
committed by GitHub
parent 69fc0c8378
commit 4ebdcdf4b2
5 changed files with 92 additions and 79 deletions

View File

@@ -112,6 +112,15 @@
$apps[$x]['permissions'][$y]['name'] = "xml_cdr_search_advanced";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$y++;
$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_cc_side";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$y++;
$apps[$x]['permissions'][$y]['name'] = "xml_cdr_call_center_queues";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$y++;
$apps[$x]['permissions'][$y]['name'] = "xml_cdr_direction";
$apps[$x]['permissions'][$y]['groups'][] = "user";
$apps[$x]['permissions'][$y]['groups'][] = "admin";
@@ -238,16 +247,6 @@
$apps[$x]['permissions'][$y]['name'] = "xml_cdr_extension_summary_all";
$y++;
$apps[$x]['permissions'][$y]['name'] = "xml_cdr_account_code";
$y++;
$apps[$x]['permissions'][$y]['name'] = "xml_cdr_cc_side";
$apps[$x]['permissions'][$y]['groups'][] = "user";
$apps[$x]['permissions'][$y]['groups'][] = "admin";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$y++;
$apps[$x]['permissions'][$y]['name'] = "xml_cdr_call_center_queue_uuid";
$apps[$x]['permissions'][$y]['groups'][] = "user";
$apps[$x]['permissions'][$y]['groups'][] = "admin";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
//default settings
$y=0;

View File

@@ -3048,29 +3048,29 @@ $text['label-format']['zh-cn'] = "格式";
$text['label-format']['ja-jp'] = "フォーマット";
$text['label-format']['ko-kr'] = "체재";
$text['label-cc-queue']['en-us'] = "Call Center Queue";
$text['label-cc-queue']['en-gb'] = "Call Centre Queue";
$text['label-cc-queue']['ar-eg'] = "قائمة انتظار مركز الاتصال";
$text['label-cc-queue']['de-at'] = "Callcenter-Warteschlange";
$text['label-cc-queue']['de-ch'] = "Callcenter-Warteschlange";
$text['label-cc-queue']['de-de'] = "Callcenter-Warteschlange";
$text['label-cc-queue']['es-cl'] = "Cola del centro de llamadas";
$text['label-cc-queue']['es-mx'] = "Cola del centro de llamadas";
$text['label-cc-queue']['fr-ca'] = "File d'attente du centre d'appels";
$text['label-cc-queue']['fr-fr'] = "File d'attente du centre d'appels";
$text['label-cc-queue']['he-il'] = "תור למוקד טלפוני";
$text['label-cc-queue']['it-it'] = "Coda del call center";
$text['label-cc-queue']['nl-nl'] = "Callcenter-wachtrij";
$text['label-cc-queue']['pl-pl'] = "Kolejka do call center";
$text['label-cc-queue']['pt-br'] = "Fila da central de atendimento";
$text['label-cc-queue']['pt-pt'] = "Fila da central de atendimento";
$text['label-cc-queue']['ro-ro'] = "Coada centrului de apeluri";
$text['label-cc-queue']['ru-ru'] = "Очередь в колл-центр";
$text['label-cc-queue']['sv-se'] = "Call Center-kö";
$text['label-cc-queue']['uk-ua'] = "Черга кол-центру";
$text['label-cc-queue']['zh-cn'] = "呼叫中心队列";
$text['label-cc-queue']['ja-jp'] = "コールセンターのキュー";
$text['label-cc-queue']['ko-kr'] = "콜센터 대기열";
$text['label-call_center_queue']['en-us'] = "Call Center Queue";
$text['label-call_center_queue']['en-gb'] = "Call Centre Queue";
$text['label-call_center_queue']['ar-eg'] = "قائمة انتظار مركز الاتصال";
$text['label-call_center_queue']['de-at'] = "Callcenter-Warteschlange";
$text['label-call_center_queue']['de-ch'] = "Callcenter-Warteschlange";
$text['label-call_center_queue']['de-de'] = "Callcenter-Warteschlange";
$text['label-call_center_queue']['es-cl'] = "Cola del centro de llamadas";
$text['label-call_center_queue']['es-mx'] = "Cola del centro de llamadas";
$text['label-call_center_queue']['fr-ca'] = "File d'attente du centre d'appels";
$text['label-call_center_queue']['fr-fr'] = "File d'attente du centre d'appels";
$text['label-call_center_queue']['he-il'] = "תור למוקד טלפוני";
$text['label-call_center_queue']['it-it'] = "Coda del call center";
$text['label-call_center_queue']['nl-nl'] = "Callcenter-wachtrij";
$text['label-call_center_queue']['pl-pl'] = "Kolejka do call center";
$text['label-call_center_queue']['pt-br'] = "Fila da central de atendimento";
$text['label-call_center_queue']['pt-pt'] = "Fila da central de atendimento";
$text['label-call_center_queue']['ro-ro'] = "Coada centrului de apeluri";
$text['label-call_center_queue']['ru-ru'] = "Очередь в колл-центр";
$text['label-call_center_queue']['sv-se'] = "Call Center-kö";
$text['label-call_center_queue']['uk-ua'] = "Черга кол-центру";
$text['label-call_center_queue']['zh-cn'] = "呼叫中心队列";
$text['label-call_center_queue']['ja-jp'] = "コールセンターのキュー";
$text['label-call_center_queue']['ko-kr'] = "콜센터 대기열";
$text['description_search']['en-us'] = "<u>Note</u>: Destination and Caller ID (CID) Name fields support the use of an <i>asterisk</i> ('*') as a wildcard character.";
$text['description_search']['en-gb'] = "<u>Note</u>: Destination and Caller ID (CID) Name fields support the use of an <i>asterisk</i> ('*') as a wildcard character.";

View File

@@ -81,6 +81,29 @@
$object = new token;
$token = $object->create($_SERVER['PHP_SELF']);
//get the extensions
if (permission_exists('xml_cdr_search_extension')) {
$sql = "select extension_uuid, extension, number_alias from v_extensions ";
$sql .= "where domain_uuid = :domain_uuid ";
if (!permission_exists('xml_cdr_domain') && is_array($extension_uuids) && @sizeof($extension_uuids != 0)) {
$sql .= "and extension_uuid in ('".implode("','",$extension_uuids)."') "; //only show the user their extensions
}
$sql .= "order by extension asc, number_alias asc ";
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
$database = new database;
$extensions = $database->select($sql, $parameters, 'all');
}
//get the call center queues
if (permission_exists('xml_cdr_search_call_center_queues')) {
$sql = "select call_center_queue_uuid, queue_name, queue_extension from v_call_center_queues ";
$sql .= "where domain_uuid = :domain_uuid ";
$sql .= "order by queue_extension asc ";
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
$database = new database;
$call_center_queues = $database->select($sql, $parameters, 'all');
}
//include the header
if ($archive_request) {
$document['title'] = $text['title-call_detail_records_archive'];
@@ -281,15 +304,6 @@
echo " </div>\n";
}
if (permission_exists('xml_cdr_search_extension')) {
$sql = "select extension_uuid, extension, number_alias from v_extensions ";
$sql .= "where domain_uuid = :domain_uuid ";
if (!permission_exists('xml_cdr_domain') && is_array($extension_uuids) && @sizeof($extension_uuids != 0)) {
$sql .= "and extension_uuid in ('".implode("','",$extension_uuids)."') "; //only show the user their extensions
}
$sql .= "order by extension asc, number_alias asc ";
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
$database = new database;
$result_e = $database->select($sql, $parameters, 'all');
echo " <div class='form_set'>\n";
echo " <div class='label'>\n";
echo " ".$text['label-extension']."\n";
@@ -297,8 +311,8 @@
echo " <div class='field'>\n";
echo " <select class='formfld' name='extension_uuid' id='extension_uuid'>\n";
echo " <option value=''></option>";
if (is_array($result_e) && @sizeof($result_e) != 0) {
foreach ($result_e as &$row) {
if (is_array($extensions) && @sizeof($extensions) != 0) {
foreach ($extensions as &$row) {
$selected = ($row['extension_uuid'] == $extension_uuid) ? "selected" : null;
echo " <option value='".escape($row['extension_uuid'])."' ".escape($selected).">".((is_numeric($row['extension'])) ? escape($row['extension']) : escape($row['number_alias'])." (".escape($row['extension']).")")."</option>";
}
@@ -306,7 +320,7 @@
echo " </select>\n";
echo " </div>\n";
echo " </div>\n";
unset($sql, $parameters, $result_e, $row, $selected);
unset($sql, $parameters, $extensions, $row, $selected);
}
if (permission_exists('xml_cdr_search_caller_id')) {
echo " <div class='form_set'>\n";
@@ -504,22 +518,16 @@
echo " </div>\n";
echo " </div>\n";
if (permission_exists('xml_cdr_call_center_queue_uuid')) {
$sql = "select call_center_queue_uuid, queue_name, queue_extension from v_call_center_queues ";
$sql .= "where domain_uuid = :domain_uuid ";
$sql .= "order by queue_extension asc ";
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
$database = new database;
$result_cc = $database->select($sql, $parameters, 'all');
if (permission_exists('xml_cdr_search_call_center_queues')) {
echo " <div class='form_set'>\n";
echo " <div class='label'>\n";
echo " ".$text['label-cc-queue']."\n";
echo " ".$text['label-call_center_queue']."\n";
echo " </div>\n";
echo " <div class='field'>\n";
echo " <select class='formfld' name='call_center_queue_uuid' id='call_center_queue_uuid'>\n";
echo " <option value=''></option>";
if (is_array($result_cc) && @sizeof($result_cc) != 0) {
foreach ($result_cc as &$row) {
if (is_array($call_center_queues) && @sizeof($call_center_queues) != 0) {
foreach ($call_center_queues as &$row) {
$selected = ($row['call_center_queue_uuid'] == $call_center_queue_uuid) ? "selected" : null;
echo " <option value='".escape($row['call_center_queue_uuid'])."' ".escape($selected).">".((is_numeric($row['queue_extension'])) ? escape($row['queue_extension']." (".$row['queue_name'].")") : escape($row['queue_extension'])." (".escape($row['queue_extension']).")")."</option>";
}
@@ -527,7 +535,7 @@
echo " </select>\n";
echo " </div>\n";
echo " </div>\n";
unset($sql, $parameters, $result_cc, $row, $selected);
unset($sql, $parameters, $call_center_queues, $row, $selected);
}
}

View File

@@ -542,7 +542,7 @@
$parameters['cc_side'] = $cc_side;
}
//show specific call center queue
if (!empty($call_center_queue_uuid) && permission_exists('xml_cdr_call_center_queue_uuid')) {
if (!empty($call_center_queue_uuid) && permission_exists('xml_cdr_call_center_queues')) {
$sql .= "and call_center_queue_uuid = :call_center_queue_uuid \n";
$parameters['call_center_queue_uuid'] = $call_center_queue_uuid;
}

View File

@@ -67,6 +67,24 @@
$network_addr = "";
$mos_score = "";
//get the list of extensions
$sql = "select extension_uuid, extension, number_alias from v_extensions ";
$sql .= "where domain_uuid = :domain_uuid ";
$sql .= "order by extension asc, number_alias asc ";
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
$database = new database;
$extensions = $database->select($sql, $parameters, 'all');
//get the list of call center queues
if (permission_exists('xml_cdr_call_center_queue')) {
$sql = "select call_center_queue_uuid, queue_name, queue_extension from v_call_center_queues ";
$sql .= "where domain_uuid = :domain_uuid ";
$sql .= "order by queue_extension asc ";
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
$database = new database;
$call_center_queues = $database->select($sql, $parameters, 'all');
}
//send the header
$document['title'] = $text['title-advanced_search'];
require_once "resources/header.php";
@@ -91,7 +109,7 @@
else {
echo "<form method='get' action='xml_cdr.php'>\n";
}
echo "<div class='action_bar' id='action_bar'>\n";
echo " <div class='heading'><b>".$text['title-advanced_search']."</b></div>\n";
echo " <div class='actions'>\n";
@@ -104,7 +122,7 @@
echo "<table cellpadding='0' cellspacing='0' border='0' width='100%'>\n";
echo " <tr>\n";
echo " <td width='50%' style='vertical-align: top;'>\n";
echo "<table width='100%' cellpadding='0' cellspacing='0'>\n";
echo " <tr>\n";
echo " <td width='30%' class='vncell' valign='top' nowrap='nowrap'>\n";
@@ -153,19 +171,13 @@
echo " <td class='vtable'>";
echo " <select class='formfld' name='extension_uuid' id='extension_uuid'>\n";
echo " <option value=''></option>";
$sql = "select extension_uuid, extension, number_alias from v_extensions ";
$sql .= "where domain_uuid = :domain_uuid ";
$sql .= "order by extension asc, number_alias asc ";
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
$database = new database;
$result_e = $database->select($sql, $parameters, 'all');
if (is_array($result_e) && @sizeof($result_e) != 0) {
foreach ($result_e as &$row) {
if (is_array($extensions) && @sizeof($extensions) != 0) {
foreach ($extensions as &$row) {
$selected = (!empty($caller_extension_uuid) && $row['extension_uuid'] == $caller_extension_uuid) ? "selected" : null;
echo " <option value='".escape($row['extension_uuid'])."' ".escape($selected).">".((is_numeric($row['extension'])) ? escape($row['extension']) : escape($row['number_alias'])." (".escape($row['extension']).")")."</option>";
}
}
unset($sql, $parameters, $result_e, $row, $selected);
unset($sql, $parameters, $extensions, $row, $selected);
echo " </select>\n";
echo " <input type='text' class='formfld' style='display: none;' name='caller_id_number' id='caller_id_number' value='".escape($caller_id_number)."'>\n";
echo " <input type='button' id='btn_toggle_source' class='btn' name='' alt='".$text['button-back']."' value='&#9665;' onclick=\"toggle('source');\">\n";
@@ -306,20 +318,14 @@
echo " </td>";
echo " </tr>\n";
if (permission_exists('xml_cdr_call_center_queue_uuid')) {
$sql = "select call_center_queue_uuid, queue_name, queue_extension from v_call_center_queues ";
$sql .= "where domain_uuid = :domain_uuid ";
$sql .= "order by queue_extension asc ";
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
$database = new database;
$result_cc = $database->select($sql, $parameters, 'all');
if (permission_exists('xml_cdr_search_call_center_queues')) {
echo " <tr>";
echo " <td class='vncell'>".$text['label-cc-queue']."</td>";
echo " <td class='vncell'>".$text['label-call_center_queue']."</td>";
echo " <td class='vtable'>";
echo " <select class='formfld' name='call_center_queue_uuid' id='call_center_queue_uuid'>\n";
echo " <option value=''></option>";
if (is_array($result_cc) && @sizeof($result_cc) != 0) {
foreach ($result_cc as &$row) {
if (is_array($call_center_queues) && @sizeof($call_center_queues) != 0) {
foreach ($call_center_queues as &$row) {
$selected = ($row['call_center_queue_uuid'] == $call_center_queue_uuid) ? "selected" : null;
echo " <option value='".escape($row['call_center_queue_uuid'])."' ".escape($selected).">".((is_numeric($row['queue_extension'])) ? escape($row['queue_extension']." (".$row['queue_name'].")") : escape($row['queue_extension'])." (".escape($row['queue_extension']).")")."</option>";
}
@@ -327,7 +333,7 @@
echo " </select>\n";
echo " </td>";
echo " </tr>\n";
unset($sql, $parameters, $result_cc, $row, $selected);
unset($sql, $parameters, $call_center_queues, $row, $selected);
}
echo "</table>\n";