Portions created by the Initial Developer are Copyright (C) 2008-2023 the Initial Developer. All Rights Reserved. Contributor(s): Mark J Crane */ //includes files require_once dirname(__DIR__, 2) . "/resources/require.php"; require_once "resources/check_auth.php"; require_once "xml_cdr_statistics_inc.php"; //check permissions if (permission_exists('xml_cdr_statistics')) { //access granted } else { echo "access denied"; exit; } //add multi-lingual support $language = new text; $text = $language->get(); //set default showall $show_all = false; //additional includes $document['title'] = $text['title-call-statistics']; require_once "resources/header.php"; //search url $search_url = ''; if (permission_exists('xml_cdr_search_advanced')) { $search_url .= '&redirect=xml_cdr_statistics'; } if(permission_exists('xml_cdr_all') && (isset($_GET['showall']) && $_GET['showall'] === 'true')){ $search_url .= '&showall=true'; $show_all = true; } if (!empty($_GET['direction'])) { $search_url .= '&direction='.urlencode($_GET['direction']); } if (!empty($_GET['leg'])) { $search_url .= '&leg='.urlencode($_GET['leg']); } if (!empty($_GET['caller_id_name'])) { $search_url .= '&caller_id_name='.urlencode($_GET['caller_id_name']); } if (!empty($_GET['caller_extension_uuid'])) { $search_url .= '&caller_extension_uuid='.urlencode($_GET['caller_extension_uuid']); } if (!empty($_GET['caller_id_number'])) { $search_url .= '&caller_id_number='.urlencode($_GET['caller_id_number']); } if (!empty($_GET['destination_number'])) { $search_url .= '&destination_number='.urlencode($_GET['destination_number']); } if (!empty($_GET['context'])) { $search_url .= '&context='.urlencode($_GET['context']); } if (!empty($_GET['start_stamp_begin'])) { $search_url .= '&start_stamp_begin='.urlencode($_GET['start_stamp_begin']); } if (!empty($_GET['start_stamp_end'])) { $search_url .= '&start_stamp_end='.urlencode($_GET['start_stamp_end']); } if (!empty($_GET['answer_stamp_begin'])) { $search_url .= '&answer_stamp_begin='.urlencode($_GET['answer_stamp_begin']); } if (!empty($_GET['answer_stamp_end'])) { $search_url .= '&answer_stamp_end='.urlencode($_GET['answer_stamp_end']); } if (!empty($_GET['end_stamp_begin'])) { $search_url .= '&end_stamp_begin='.urlencode($_GET['end_stamp_begin']); } if (!empty($_GET['end_stamp_end'])) { $search_url .= '&end_stamp_end='.urlencode($_GET['end_stamp_end']); } if (!empty($_GET['duration'])) { $search_url .= '&duration='.urlencode($_GET['duration']); } if (!empty($_GET['billsec'])) { $search_url .= '&billsec='.urlencode($_GET['billsec']); } if (!empty($_GET['hangup_cause'])) { $search_url .= '&hangup_cause='.urlencode($_GET['hangup_cause']); } if (!empty($_GET['uuid'])) { $search_url .= '&uuid='.urlencode($_GET['uuid']); } if (!empty($_GET['bleg_uuid'])) { $search_url .= '&bleg_uuid='.urlencode($_GET['bleg_uuid']); } if (!empty($_GET['accountcode'])) { $search_url .= '&accountcode='.urlencode($_GET['accountcode']); } if (!empty($_GET['read_codec'])) { $search_url .= '&read_codec='.urlencode($_GET['read_codec']); } if (!empty($_GET['write_codec'])) { $search_url .= '&write_codec='.urlencode($_GET['write_codec']); } if (!empty($_GET['remote_media_ip'])) { $search_url .= '&remote_media_ip='.urlencode($_GET['remote_media_ip']); } if (!empty($_GET['network_addr'])) { $search_url .= '&network_addr='.urlencode($_GET['network_addr']); } if (!empty($_GET['mos_comparison'])) { $search_url .= '&mos_comparison='.urlencode($_GET['mos_comparison']); } if (!empty($_GET['mos_score'])) { $search_url .= '&mos_score='.urlencode($_GET['mos_score']); } //show the content echo "
\n"; echo "
".$text['title-call-statistics']."
\n"; echo "
\n"; if (substr_count($_SERVER['HTTP_REFERER'], 'app/xml_cdr/xml_cdr.php') != 0) { echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'id'=>'btn_back','style'=>'margin-right: 15px;','link'=>'xml_cdr.php']); } if (permission_exists('xml_cdr_search_advanced')) { echo button::create(['type'=>'button','label'=>$text['button-advanced_search'],'icon'=>'tools','link'=>'xml_cdr_search.php?type=advanced'.$search_url]); } if (permission_exists('xml_cdr_all') && !$show_all) { echo button::create(['type'=>'button','label'=>$text['button-show_all'],'icon'=>$_SESSION['theme']['button_icon_all'],'link'=>'xml_cdr_statistics.php?showall=true'.$search_url]); } echo button::create(['type'=>'button','label'=>$text['button-extension_summary'],'icon'=>'list','link'=>'xml_cdr_extension_summary.php']); echo button::create(['type'=>'button','label'=>$text['button-download_csv'],'icon'=>$_SESSION['theme']['button_icon_download'],'link'=>'xml_cdr_statistics_csv.php?type=csv'.$search_url]); echo "
\n"; echo "
\n"; echo "
\n"; echo $text['label-call-statistics-description']."\n"; echo "

\n"; ?>
\n"; echo "\n"; echo " ".$text['label-hours']."\n"; echo " ".$text['label-date']."\n"; echo " ".$text['label-time']."\n"; echo " Volume\n"; echo " ".$text['label-minutes']."\n"; echo " ".$text['label-calls-per-minute']."\n"; echo " ".$text['label-missed']."\n"; echo " ASR\n"; echo " ".$text['label-aloc']."\n"; echo "\n"; $i = 0; foreach ($stats as $row) { echo "\n"; if ($i <= $hours) { echo " ".$row['hours']."\n"; } else if ($i == $hours+1) { echo "

\n"; echo "\n"; echo "\n"; echo " \n"; echo "

\n"; echo " \n"; echo "\n"; echo "\n"; echo " ".$text['label-days']."\n"; echo " ".$text['label-date']."\n"; echo " ".$text['label-time']."\n"; echo " Volume\n"; echo " ".$text['label-minutes']."\n"; echo " ".$text['label-calls-per-minute']."\n"; echo " ".$text['label-missed']."\n"; echo " ASR\n"; echo " ALOC\n"; echo "\n"; echo "\n"; } if ($i > $hours) { echo " " . floor(escape($row['s_hour'])/24) . "\n"; } if ($i <= $hours) { echo " ".$row['date']."\n"; echo " ".$row['time']." \n"; } else { echo " ".$row['date']."\n"; echo " ".$row['time']." \n"; } echo " ".escape($row['volume'])." \n"; echo " ".escape(round($row['minutes'] ?? 0, 2))." \n"; echo " ".escape(round($row['avg_min'] ?? 0, 2))." / ".escape(round($row['cpm_ans'] ?? 0, 2))." \n"; echo " ".escape($row['missed'] ?? '')." \n"; echo " ".escape(round($row['asr'] ?? 0, 2))." \n"; echo " ".escape(round($row['aloc'] ?? 0, 2))." \n"; echo "\n"; $i++; } echo "\n"; echo "

"; //include the footer require_once "resources/footer.php"; ?>