diff --git a/app/xml_cdr/xml_cdr.php b/app/xml_cdr/xml_cdr.php index 02a932b935..b7cba86612 100644 --- a/app/xml_cdr/xml_cdr.php +++ b/app/xml_cdr/xml_cdr.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-2023 + Portions created by the Initial Developer are Copyright (C) 2008-2024 the Initial Developer. All Rights Reserved. Contributor(s): @@ -40,6 +40,58 @@ exit; } +//set permissions + $permission = array(); + $permission['xml_cdr_view'] = permission_exists('xml_cdr_view'); + $permission['xml_cdr_search_extension'] = permission_exists('xml_cdr_search_extension'); + $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_statistics'] = permission_exists('xml_cdr_statistics'); + $permission['xml_cdr_archive'] = permission_exists('xml_cdr_archive'); + $permission['xml_cdr_all'] = permission_exists('xml_cdr_all'); + $permission['xml_cdr_export'] = permission_exists('xml_cdr_export'); + $permission['xml_cdr_export_csv'] = permission_exists('xml_cdr_export_csv'); + $permission['xml_cdr_export_pdf'] = permission_exists('xml_cdr_export_pdf'); + $permission['xml_cdr_search'] = permission_exists('xml_cdr_search'); + $permission['xml_cdr_search_direction'] = permission_exists('xml_cdr_search_direction'); + $permission['xml_cdr_b_leg'] = permission_exists('xml_cdr_b_leg'); + $permission['xml_cdr_search_status'] = permission_exists('xml_cdr_search_status'); + $permission['xml_cdr_search_caller_id'] = permission_exists('xml_cdr_search_caller_id'); + $permission['xml_cdr_search_start_range'] = permission_exists('xml_cdr_search_start_range'); + $permission['xml_cdr_search_duration'] = permission_exists('xml_cdr_search_duration'); + $permission['xml_cdr_search_caller_destination'] = permission_exists('xml_cdr_search_caller_destination'); + $permission['xml_cdr_search_destination'] = permission_exists('xml_cdr_search_destination'); + $permission['xml_cdr_codecs'] = permission_exists('xml_cdr_codecs'); + $permission['xml_cdr_search_tta'] = permission_exists('xml_cdr_search_tta'); + $permission['xml_cdr_search_hangup_cause'] = permission_exists('xml_cdr_search_hangup_cause'); + $permission['xml_cdr_search_recording'] = permission_exists('xml_cdr_search_recording'); + $permission['xml_cdr_search_order'] = permission_exists('xml_cdr_search_order'); + $permission['xml_cdr_extension'] = permission_exists('xml_cdr_extension'); + $permission['xml_cdr_caller_id_name'] = permission_exists('xml_cdr_caller_id_name'); + $permission['xml_cdr_caller_id_number'] = permission_exists('xml_cdr_caller_id_number'); + $permission['xml_cdr_caller_destination'] = permission_exists('xml_cdr_caller_destination'); + $permission['xml_cdr_destination'] = permission_exists('xml_cdr_destination'); + $permission['xml_cdr_start'] = permission_exists('xml_cdr_start'); + $permission['xml_cdr_tta'] = permission_exists('xml_cdr_tta'); + $permission['xml_cdr_duration'] = permission_exists('xml_cdr_duration'); + $permission['xml_cdr_pdd'] = permission_exists('xml_cdr_pdd'); + $permission['xml_cdr_mos'] = permission_exists('xml_cdr_mos'); + $permission['xml_cdr_hangup_cause'] = permission_exists('xml_cdr_hangup_cause'); + $permission['xml_cdr_custom_fields'] = permission_exists('xml_cdr_custom_fields'); + $permission['xml_cdr_search_advanced'] = permission_exists('xml_cdr_search_advanced'); + $permission['xml_cdr_direction'] = permission_exists('xml_cdr_direction'); + $permission['xml_cdr_recording'] = permission_exists('xml_cdr_recording'); + $permission['xml_cdr_recording_play'] = permission_exists('xml_cdr_recording_play'); + $permission['xml_cdr_recording_download'] = permission_exists('xml_cdr_recording_download'); + $permission['xml_cdr_account_code'] = permission_exists('xml_cdr_account_code'); + $permission['xml_cdr_status'] = permission_exists('xml_cdr_status'); + $permission['xml_cdr_details'] = permission_exists('xml_cdr_details'); + $permission['xml_cdr_lose_race'] = permission_exists('xml_cdr_lose_race'); + $permission['xml_cdr_cc_agent_leg'] = permission_exists('xml_cdr_cc_agent_leg'); + $permission['xml_cdr_cc_side'] = permission_exists('xml_cdr_cc_side'); + $permission['xml_cdr_call_center_queues'] = permission_exists('xml_cdr_call_center_queues'); + //add multi-lingual support $language = new text; $text = $language->get(); @@ -53,7 +105,7 @@ $order_by = ""; $read_codec = ''; $write_codec = ''; - if(!isset($_REQUEST['show'])) { + if (!isset($_REQUEST['show'])) { //set to show only this domain $_REQUEST['show'] = 'domain'; } @@ -68,7 +120,7 @@ if (!$archive_request && $action != '' && count($xml_cdrs) > 0) { switch ($action) { case 'delete': - if (permission_exists('xml_cdr_delete')) { + if ($permission['xml_cdr_delete']) { $obj = new xml_cdr; $obj->delete($xml_cdrs); } @@ -84,10 +136,10 @@ $token = $object->create($_SERVER['PHP_SELF']); //get the extensions - if (permission_exists('xml_cdr_search_extension')) { + if ($permission['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)) { + if (!$permission['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 "; @@ -97,7 +149,7 @@ } //get the call center queues - if (permission_exists('xml_cdr_search_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 "; $sql .= "where domain_uuid = :domain_uuid "; $sql .= "order by queue_extension asc "; @@ -157,10 +209,10 @@ echo "\n"; echo "
\n"; if (!$archive_request) { - if (permission_exists('xml_cdr_statistics')) { + if ($permission['xml_cdr_statistics']) { echo button::create(['type'=>'button','label'=>$text['button-statistics'],'icon'=>'chart-area','link'=>'xml_cdr_statistics.php']); } - if (permission_exists('xml_cdr_archive')) { + if ($permission['xml_cdr_archive']) { echo button::create(['type'=>'button','label'=>$text['button-archive'],'icon'=>'archive','link'=>'xml_cdr_archive.php'.($_REQUEST['show'] == 'all' ? '?show=all' : null)]); } } @@ -201,7 +253,7 @@ echo " \n"; echo " \n"; echo " \n"; - if (permission_exists('xml_cdr_all') && $_REQUEST['show'] == 'all') { + if ($permission['xml_cdr_all'] && $_REQUEST['show'] == 'all') { echo " \n"; } if (isset($_SESSION['cdr']['field']) && is_array($_SESSION['cdr']['field'])) { @@ -225,22 +277,22 @@ echo button::create(['type'=>'button','label'=>$text['button-missed'],'icon'=>'phone-slash','link'=>'?status=missed']); } - if (permission_exists('xml_cdr_export')) { + if ($permission['xml_cdr_export']) { echo button::create(['type'=>'button','label'=>$text['button-export'],'icon'=>$_SESSION['theme']['button_icon_export'],'onclick'=>"toggle_select('export_format'); this.blur();"]); echo ""; } - if (!$archive_request && permission_exists('xml_cdr_delete')) { + if (!$archive_request && $permission['xml_cdr_delete']) { echo button::create(['type'=>'button','label'=>$text['button-delete'],'icon'=>$_SESSION['theme']['button_icon_delete'],'id'=>'btn_delete','name'=>'btn_delete','style'=>'display: none;','onclick'=>"modal_open('modal-delete','btn_delete');"]); } - if (permission_exists('xml_cdr_all') && $_REQUEST['show'] !== 'all') { + if ($permission['xml_cdr_all'] && $_REQUEST['show'] !== 'all') { echo button::create(['type'=>'button','label'=>$text['button-show_all'],'icon'=>$_SESSION['theme']['button_icon_all'],'link'=>'?show=all']); } if ($paging_controls_mini != '') { @@ -251,7 +303,7 @@ echo "
\n"; echo "
\n"; - if (!$archive_request && permission_exists('xml_cdr_delete')) { + if (!$archive_request && $permission['xml_cdr_delete']) { echo modal::create(['id'=>'modal-delete','type'=>'delete','actions'=>button::create(['type'=>'button','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_delete','style'=>'float: right; margin-left: 15px;','collapse'=>'never','onclick'=>"modal_close(); list_action_set('delete'); list_form_submit('form_list');"])]); } @@ -259,12 +311,12 @@ echo "

\n"; //basic search of call detail records - if (permission_exists('xml_cdr_search')) { + if ($permission['xml_cdr_search']) { echo "
\n"; echo "
\n"; - if (permission_exists('xml_cdr_search_direction')) { + if ($permission['xml_cdr_search_direction']) { echo "
\n"; echo "
\n"; echo " ".$text['label-direction']."\n"; @@ -276,7 +328,7 @@ echo " \n"; echo " \n"; echo " \n"; - if (permission_exists('xml_cdr_b_leg')){ + if ($permission['xml_cdr_b_leg']){ echo " \n"; - if (permission_exists('xml_cdr_extension')) { + if ($permission['xml_cdr_extension']) { echo " \n"; } - if (permission_exists('xml_cdr_all')) { + if ($permission['xml_cdr_all']) { echo " \n"; } - if (permission_exists('xml_cdr_caller_id_name')) { + if ($permission['xml_cdr_caller_id_name']) { echo " \n"; } - if (permission_exists('xml_cdr_caller_id_number')) { + if ($permission['xml_cdr_caller_id_number']) { echo " \n"; } - if (permission_exists('xml_cdr_caller_destination')) { + if ($permission['xml_cdr_caller_destination']) { echo " \n"; } - if (permission_exists('xml_cdr_destination')) { + if ($permission['xml_cdr_destination']) { echo " \n"; } - if (permission_exists('xml_cdr_start')) { + if ($permission['xml_cdr_start']) { echo " \n"; } - if (permission_exists('xml_cdr_tta')) { + if ($permission['xml_cdr_tta']) { echo " \n"; } - if (permission_exists('xml_cdr_duration')) { + if ($permission['xml_cdr_duration']) { echo " \n"; } - if (permission_exists('xml_cdr_pdd')) { + if ($permission['xml_cdr_pdd']) { echo " \n"; } - if (permission_exists('xml_cdr_mos')) { + if ($permission['xml_cdr_mos']) { echo " \n"; } - if (permission_exists('xml_cdr_hangup_cause')) { + if ($permission['xml_cdr_hangup_cause']) { echo " \n"; } - if (permission_exists('xml_cdr_custom_fields')) { + if ($permission['xml_cdr_custom_fields']) { if (!empty($_SESSION['cdr']['field']) && is_array($_SESSION['cdr']['field'])) { echo " \n"; echo " \n"; @@ -531,7 +583,7 @@ echo "
\n"; echo "
\n"; - if (permission_exists('xml_cdr_search_call_center_queues')) { + if ($permission['xml_cdr_search_call_center_queues']) { echo "
\n"; echo "
\n"; echo " ".$text['label-call_center_queue']."\n"; @@ -556,10 +608,10 @@ button::$collapse = false; echo "
"; - if (permission_exists('xml_cdr_all') && $_REQUEST['show'] == 'all') { + if ($permission['xml_cdr_all'] && $_REQUEST['show'] == 'all') { echo "\n"; } - if (!$archive_request && permission_exists('xml_cdr_search_advanced')) { + if (!$archive_request && $permission['xml_cdr_search_advanced']) { echo button::create(['type'=>'button','label'=>$text['button-advanced_search'],'icon'=>'tools','link'=>"xml_cdr_search.php".($_REQUEST['show'] == 'all' ? '?show=all' : null),'style'=>'margin-right: 15px;']); } echo button::create(['label'=>$text['button-reset'],'icon'=>$_SESSION['theme']['button_icon_reset'],'type'=>'button','link'=>($archive_request ? 'xml_cdr_archive.php' : 'xml_cdr.php')]); @@ -581,7 +633,7 @@ echo "\n"; echo "\n"; $col_count = 0; - if (!$archive_request && permission_exists('xml_cdr_delete')) { + if (!$archive_request && $permission['xml_cdr_delete']) { echo " \n"; @@ -589,43 +641,43 @@ } //column headings - if (permission_exists('xml_cdr_direction')) { + if ($permission['xml_cdr_direction']) { echo "\n"; $col_count++; } - if (permission_exists('xml_cdr_extension')) { + if ($permission['xml_cdr_extension']) { echo "\n"; $col_count++; } - if (permission_exists('xml_cdr_all') && $_REQUEST['show'] == "all") { + if ($permission['xml_cdr_all'] && $_REQUEST['show'] == "all") { echo "\n"; $col_count++; } - if (permission_exists('xml_cdr_caller_id_name')) { + if ($permission['xml_cdr_caller_id_name']) { echo "\n"; $col_count++; } - if (permission_exists('xml_cdr_caller_id_number')) { + if ($permission['xml_cdr_caller_id_number']) { echo "\n"; $col_count++; } - if (permission_exists('xml_cdr_caller_destination')) { + if ($permission['xml_cdr_caller_destination']) { echo "\n"; $col_count++; } - if (permission_exists('xml_cdr_destination')) { + if ($permission['xml_cdr_destination']) { echo "\n"; $col_count++; } - if (permission_exists('xml_cdr_recording') && (permission_exists('xml_cdr_recording_play') || permission_exists('xml_cdr_recording_download'))) { + if ($permission['xml_cdr_recording'] && ($permission['xml_cdr_recording_play'] || $permission['xml_cdr_recording_download'])) { echo "\n"; $col_count++; } - if (permission_exists('xml_cdr_account_code')) { + if ($permission['xml_cdr_account_code']) { echo "\n"; $col_count++; } - if (permission_exists('xml_cdr_custom_fields')) { + if ($permission['xml_cdr_custom_fields']) { if (isset($_SESSION['cdr']['field']) && is_array($_SESSION['cdr']['field']) && @sizeof($_SESSION['cdr']['field'])) { foreach ($_SESSION['cdr']['field'] as $field) { $array = explode(",", $field); @@ -639,40 +691,40 @@ } } } - if (permission_exists('xml_cdr_start')) { + if ($permission['xml_cdr_start']) { echo "\n"; echo "\n"; $col_count += 2; } - if (permission_exists('xml_cdr_codecs')) { + if ($permission['xml_cdr_codecs']) { echo "\n"; $col_count++; } - if (permission_exists('xml_cdr_tta')) { + if ($permission['xml_cdr_tta']) { echo "\n"; $col_count++; } - if (permission_exists('xml_cdr_pdd')) { + if ($permission['xml_cdr_pdd']) { echo "\n"; $col_count++; } - if (permission_exists('xml_cdr_mos')) { + if ($permission['xml_cdr_mos']) { echo "\n"; $col_count++; } - if (permission_exists('xml_cdr_duration')) { + if ($permission['xml_cdr_duration']) { echo "\n"; $col_count++; } - if (permission_exists('xml_cdr_status')) { + if ($permission['xml_cdr_status']) { echo "\n"; $col_count++; } - if (permission_exists('xml_cdr_hangup_cause')) { + if ($permission['xml_cdr_hangup_cause']) { echo "\n"; $col_count++; } - if (permission_exists('xml_cdr_details')) { + if ($permission['xml_cdr_details']) { echo "\n"; } echo "\n"; @@ -772,7 +824,7 @@ $duration = $row['duration'] ?? 0; //determine recording properties - if (!empty($row['record_path']) && !empty($row['record_name']) && permission_exists('xml_cdr_recording') && (permission_exists('xml_cdr_recording_play') || permission_exists('xml_cdr_recording_download'))) { + if (!empty($row['record_path']) && !empty($row['record_name']) && $permission['xml_cdr_recording'] && ($permission['xml_cdr_recording_play'] || $permission['xml_cdr_recording_download'])) { $record_path = $row['record_path']; $record_name = $row['record_name']; //$record_name = strtolower(pathinfo($tmp_name, PATHINFO_BASENAME)); @@ -788,15 +840,15 @@ $content = ''; //recording playback - if (permission_exists('xml_cdr_recording_play')) { + if ($permission['xml_cdr_recording_play']) { $content .= "\n"; $content .= "\n"; // dummy row to maintain alternating background color } - if (permission_exists('xml_cdr_details')) { + if ($permission['xml_cdr_details']) { $list_row_url = "xml_cdr_details.php?id=".urlencode($row['xml_cdr_uuid']).($_REQUEST['show'] ? "&show=all" : null); } $content .= "\n"; - if (!$archive_request && permission_exists('xml_cdr_delete')) { + if (!$archive_request && $permission['xml_cdr_delete']) { $content .= " \n"; } //extension - if (permission_exists('xml_cdr_extension')) { + if ($permission['xml_cdr_extension']) { $content .= " \n"; } //domain name - if (permission_exists('xml_cdr_all') && $_REQUEST['show'] == "all") { + if ($permission['xml_cdr_all'] && $_REQUEST['show'] == "all") { $content .= " \n"; } //caller id name - if (permission_exists('xml_cdr_caller_id_name')) { + if ($permission['xml_cdr_caller_id_name']) { $content .= " \n"; } //source - if (permission_exists('xml_cdr_caller_id_number')) { + if ($permission['xml_cdr_caller_id_number']) { $content .= " \n"; } //caller destination - if (permission_exists('xml_cdr_caller_destination')) { + if ($permission['xml_cdr_caller_destination']) { $content .= " \n"; } //destination - if (permission_exists('xml_cdr_destination')) { + if ($permission['xml_cdr_destination']) { $content .= " \n"; } //recording - if (permission_exists('xml_cdr_recording') && (permission_exists('xml_cdr_recording_play') || permission_exists('xml_cdr_recording_download'))) { + if ($permission['xml_cdr_recording'] && ($permission['xml_cdr_recording_play'] || $permission['xml_cdr_recording_download'])) { if (!empty($record_path) || !empty($record_name)) { $content .= " \n"; @@ -891,13 +943,13 @@ } } //account code - if (permission_exists('xml_cdr_account_code')) { + if ($permission['xml_cdr_account_code']) { $content .= " \n"; } //custom cdr fields - if (permission_exists('xml_cdr_custom_fields')) { + if ($permission['xml_cdr_custom_fields']) { if (!empty($_SESSION['cdr']['field']) && is_array($_SESSION['cdr']['field'])) { foreach ($_SESSION['cdr']['field'] as $field) { $array = explode(",", $field); @@ -909,24 +961,24 @@ } } //start - if (permission_exists('xml_cdr_start')) { + if ($permission['xml_cdr_start']) { $content .= " \n"; $content .= " \n"; } //codec - if (permission_exists('xml_cdr_codecs')) { + if ($permission['xml_cdr_codecs']) { $content .= " \n"; } //tta (time to answer) - if (permission_exists('xml_cdr_tta')) { + if ($permission['xml_cdr_tta']) { $content .= " \n"; } //pdd (post dial delay) - if (permission_exists("xml_cdr_pdd")) { + if ($permission['xml_cdr_pdd']) { $content .= " \n"; } //mos (mean opinion score) - if (permission_exists("xml_cdr_mos")) { + if ($permission['xml_cdr_mos']) { if(!empty($row['rtp_audio_in_mos']) && is_numeric($row['rtp_audio_in_mos'])) { $title = " title='".$text['label-mos_score-'.round($row['rtp_audio_in_mos'])]."'"; $value = $row['rtp_audio_in_mos']; @@ -934,15 +986,15 @@ $content .= " \n"; } //duration - if (permission_exists('xml_cdr_duration')) { + if ($permission['xml_cdr_duration']) { $content .= " \n"; } //call result/status - if (permission_exists("xml_cdr_status")) { + if ($permission['xml_cdr_status']) { $content .= " \n"; } //hangup cause - if (permission_exists('xml_cdr_hangup_cause')) { + if ($permission['xml_cdr_hangup_cause']) { $content .= " \n"; } $content .= "\n"; @@ -950,7 +1002,7 @@ if ($row['leg'] == 'a') { echo $content; } - else if ($row['leg'] == 'b' && permission_exists('xml_cdr_b_leg')) { + else if ($row['leg'] == 'b' && $permission['xml_cdr_b_leg']) { echo $content; } unset($content); diff --git a/app/xml_cdr/xml_cdr_inc.php b/app/xml_cdr/xml_cdr_inc.php index 804813942b..4439cd7ee2 100644 --- a/app/xml_cdr/xml_cdr_inc.php +++ b/app/xml_cdr/xml_cdr_inc.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-2023 + Portions created by the Initial Developer are Copyright (C) 2008-2024 the Initial Developer. All Rights Reserved. Contributor(s): @@ -31,7 +31,7 @@ require_once "resources/paging.php"; //check permissions - if (permission_exists('xml_cdr_view')) { + if ($permission['xml_cdr_view']) { //access granted } else { @@ -116,7 +116,7 @@ } //check to see if permission does not exist - if (!permission_exists('xml_cdr_b_leg')) { + if (!$permission['xml_cdr_b_leg']) { $leg = 'a'; } @@ -139,7 +139,7 @@ } //set the assigned extensions - if (!permission_exists('xml_cdr_domain') && isset($_SESSION['user']['extension']) && is_array($_SESSION['user']['extension'])) { + if (!$permission['xml_cdr_domain'] && isset($_SESSION['user']['extension']) && is_array($_SESSION['user']['extension'])) { foreach ($_SESSION['user']['extension'] as $row) { if (is_uuid($row['extension_uuid'])) { $extension_uuids[] = $row['extension_uuid']; @@ -195,7 +195,7 @@ } } } - if ($_GET['show'] == 'all' && permission_exists('xml_cdr_all')) { + if ($_GET['show'] == 'all' && $permission['xml_cdr_all']) { $param .= "&show=all"; } if (!empty($order_by)) { @@ -298,33 +298,33 @@ $sql .= $field.", \n"; } } - if (permission_exists('xml_cdr_account_code')) { + if ($permission['xml_cdr_account_code']) { $sql .= "c.accountcode, \n"; } $sql .= "c.answer_stamp, \n"; $sql .= "c.status, \n"; $sql .= "c.sip_hangup_disposition, \n"; - if (permission_exists("xml_cdr_pdd")) { + if ($permission['xml_cdr_pdd']) { $sql .= "c.pdd_ms, \n"; } - if (permission_exists("xml_cdr_mos")) { + if ($permission['xml_cdr_mos']) { $sql .= "c.rtp_audio_in_mos, \n"; } $sql .= "(c.answer_epoch - c.start_epoch) as tta "; - if (!empty($_REQUEST['show']) && $_REQUEST['show'] == "all" && permission_exists('xml_cdr_all')) { + if (!empty($_REQUEST['show']) && $_REQUEST['show'] == "all" && $permission['xml_cdr_all']) { $sql .= ", c.domain_name \n"; } $sql .= "from v_xml_cdr as c \n"; $sql .= "left join v_extensions as e on e.extension_uuid = c.extension_uuid \n"; $sql .= "inner join v_domains as d on d.domain_uuid = c.domain_uuid \n"; - if (!empty($_REQUEST['show']) && $_REQUEST['show'] == "all" && permission_exists('xml_cdr_all')) { + if (!empty($_REQUEST['show']) && $_REQUEST['show'] == "all" && $permission['xml_cdr_all']) { $sql .= "where true \n"; } else { $sql .= "where c.domain_uuid = :domain_uuid \n"; $parameters['domain_uuid'] = $domain_uuid; } - if (!permission_exists('xml_cdr_domain')) { //only show the user their calls + if (!$permission['xml_cdr_domain']) { //only show the user their calls if (isset($extension_uuids) && is_array($extension_uuids) && @sizeof($extension_uuids)) { $sql .= "and (c.extension_uuid = '".implode("' or c.extension_uuid = '", $extension_uuids)."') \n"; } @@ -484,7 +484,7 @@ } //exclude ring group legs that were not answered - if (!permission_exists('xml_cdr_lose_race')) { + if (!$permission['xml_cdr_lose_race']) { $sql .= "and hangup_cause != 'LOSE_RACE' \n"; } if (!empty($status)) { @@ -499,7 +499,7 @@ $sql .= "and bleg_uuid = :bleg_uuid \n"; $parameters['bleg_uuid'] = $bleg_uuid; } - if (permission_exists('xml_cdr_account_code') && !empty($accountcode)) { + if ($permission['xml_cdr_account_code'] && !empty($accountcode)) { $sql .= "and c.accountcode = :accountcode \n"; $parameters['accountcode'] = $accountcode; } @@ -545,16 +545,16 @@ } } //show agent originated legs only to those with the permission - if (!permission_exists('xml_cdr_cc_agent_leg')) { + if (!$permission['xml_cdr_cc_agent_leg']) { $sql .= "and (cc_side is null or cc_side != 'agent') \n"; } //call center queue search for member or agent - if (!empty($cc_side) && permission_exists('xml_cdr_cc_side')) { + if (!empty($cc_side) && $permission['xml_cdr_cc_side']) { $sql .= "and cc_side = :cc_side \n"; $parameters['cc_side'] = $cc_side; } //show specific call center queue - if (!empty($call_center_queue_uuid) && permission_exists('xml_cdr_call_center_queues')) { + if (!empty($call_center_queue_uuid) && $permission['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; }
\n"; echo " \n"; echo "  ".$text['label-extension']."".$text['label-domain']."".$text['label-caller_id_name']."".$text['label-caller_id_number']."".$text['label-caller_destination']."".$text['label-destination']."".$text['label-recording']."".$text['label-accountcode']."".$text['label-date']."".$text['label-time']."".$text['label-codecs']."".$text['label-tta']."".$text['label-pdd']."".$text['label-mos']."".$text['label-duration']."".$text['label-status']."".$text['label-hangup_cause']." 
\n"; $content .= " \n"; $content .= " \n"; @@ -804,7 +856,7 @@ } //determine call result and appropriate icon - if (permission_exists('xml_cdr_direction')) { + if ($permission['xml_cdr_direction']) { $content .= "\n"; if ($theme_cdr_images_exist) { if (!empty($row['direction'])) { @@ -823,19 +875,19 @@ $content .= "".$row['extension']." ".escape($row['extension_name'])."".$row['domain_name']."".escape($row['caller_id_name'])."".$row['start_date_formatted']."".$row['start_time_formatted']."".($row['read_codec'] ?? '').' / '.($row['write_codec'] ?? '')."".(!empty($row['tta']) && $row['tta'] >= 0 ? $row['tta']."s" : " ")."".number_format(escape($row['pdd_ms'])/1000,2)."s".($value ?? '')."".gmdate("G:i:s", $duration)."".escape($text['label-'.$status] ?? '')."".escape($hangup_cause)."