From 8b2cb82df7852a7fe810cd3d5433ffc623c34729 Mon Sep 17 00:00:00 2001 From: markjcrane Date: Tue, 23 Feb 2016 19:33:16 -0700 Subject: [PATCH] If show all is used on the export then remove the domain name from the file name. --- app/xml_cdr/xml_cdr_export.php | 428 +++++++++++++++++---------------- 1 file changed, 219 insertions(+), 209 deletions(-) diff --git a/app/xml_cdr/xml_cdr_export.php b/app/xml_cdr/xml_cdr_export.php index e8b23e088c..9b403d8655 100644 --- a/app/xml_cdr/xml_cdr_export.php +++ b/app/xml_cdr/xml_cdr_export.php @@ -42,238 +42,248 @@ else { $rows_per_page = 0; require_once "xml_cdr_inc.php"; -$export_format = check_str($_REQUEST['export_format']); +//get the format + $export_format = check_str($_REQUEST['export_format']); -if ($export_format == 'csv') { +//get the format + $showall = check_str($_REQUEST['showall']); - //define file name - $csv_filename = "cdr_".$_SESSION['domain_name']."_".date("Ymd_His").".csv"; +//exprot the csv + if ($export_format == 'csv') { - //set the http headers - header('Content-type: application/octet-binary'); - header('Content-Disposition: attachment; filename='.$csv_filename); - - //set the csv headers - $z = 0; - foreach($result[0] as $key => $val) { - if ($key != "xml" && $key != "json") { - if ($z == 0) { - echo '"'.$key.'"'; - } - else { - echo ',"'.$key.'"'; - } + //define file name + if ($_REQUEST['showall'] == 'true') { + $csv_filename = "cdr_".date("Ymd_His").".csv"; + } + else { + $csv_filename = "cdr_".$_SESSION['domain_name']."_".date("Ymd_His").".csv"; } - $z++; - } - echo "\n"; - //show the csv data - $x=0; - while(true) { + //set the http headers + header('Content-type: application/octet-binary'); + header('Content-Disposition: attachment; filename='.$csv_filename); + + //set the csv headers $z = 0; foreach($result[0] as $key => $val) { if ($key != "xml" && $key != "json") { if ($z == 0) { - echo '"'.$result[$x][$key].'"'; + echo '"'.$key.'"'; } else { - echo ',"'.$result[$x][$key].'"'; + echo ',"'.$key.'"'; } } $z++; } echo "\n"; - ++$x; - if ($x > ($result_count-1)) { - break; - } - //$row++; - } -} -else if ($export_format == 'pdf') { - - //load pdf libraries - require_once("resources/tcpdf/tcpdf.php"); - require_once("resources/fpdi/fpdi.php"); - - //determine page size - switch ($_SESSION['fax']['page_size']['text']) { - case 'a4' : - $page_width = 11.7; //in - $page_height = 8.3; //in - break; - case 'legal' : - $page_width = 14; //in - $page_height = 8.5; //in - break; - case 'letter' : - default : - $page_width = 11; //in - $page_height = 8.5; //in - } - - // initialize pdf - $pdf = new FPDI('L', 'in'); - $pdf -> SetAutoPageBreak(false); - $pdf -> setPrintHeader(false); - $pdf -> setPrintFooter(false); - $pdf -> SetMargins(0.5, 0.5, 0.5, true); - - //set default font - $pdf -> SetFont('helvetica', '', 7); - //add new page - $pdf -> AddPage('L', array($page_width, $page_height)); - - $chunk = 0; - - //write the table column headers - $data_start = ''; - $data_end = '
'; - - $data_head = ''; - $data_head .= ''.$text['label-direction'].''; - $data_head .= ''.$text['label-cid-name'].''; - $data_head .= ''.$text['label-cid-number'].''; - $data_head .= ''.$text['label-destination'].''; - $data_head .= ''.$text['label-start'].''; - $data_head .= ''.$text['label-tta'].''; - $data_head .= ''.$text['label-duration'].''; - $data_head .= ''.$text['label-billsec'].''; - $data_head .= ''."PDD".''; - $data_head .= ''."MOS".''; - $data_head .= ''; - $data_head .= ''.$text['label-hangup_cause'].''; - $data_head .= ''; - $data_head .= '
'; - - //initialize total variables - $total['duration'] = 0; - $total['billmsec'] = 0; - $total['pdd_ms'] = 0; - $total['rtp_audio_in_mos'] = 0; - $total['tta'] = 0; - - //write the row cells - $z = 0; // total counter - $p = 0; // per page counter - if (sizeof($result) > 0) { - foreach($result as $cdr_num => $fields) { - $data_body[$p] .= ''; - $data_body[$p] .= ''.$text['label-'.$fields['direction']].''; - $data_body[$p] .= ''.$fields['caller_id_name'].''; - $data_body[$p] .= ''.$fields['caller_id_number'].''; - $data_body[$p] .= ''.format_phone($fields['destination_number']).''; - $data_body[$p] .= ''.$fields['start_stamp'].''; - $total['tta'] += ($fields['tta'] > 0) ? $fields['tta'] : 0; - $data_body[$p] .= ''.(($fields['tta'] > 0) ? $fields['tta'].'s' : null).''; - $seconds = ($fields['hangup_cause'] == "ORIGINATOR_CANCEL") ? $fields['duration'] : round(($fields['billmsec'] / 1000), 0, PHP_ROUND_HALF_UP); - $total['duration'] += $seconds; - $data_body[$p] .= ''.gmdate("G:i:s", $seconds).''; - $total['billmsec'] += $fields['billmsec']; - $data_body[$p] .= ''.number_format(round($fields['billmsec'] / 1000, 2), 2).'s'; - $data_body[$p] .= ''; - if (permission_exists("xml_cdr_pdd")) { - $total['pdd_ms'] += $fields['pdd_ms']; - $data_body[$p] .= number_format(round($fields['pdd_ms'] / 1000, 2), 2).'s'; - } - $data_body[$p] .= ''; - $data_body[$p] .= ''; - if (permission_exists("xml_cdr_mos")) { - $total['rtp_audio_in_mos'] += $fields['rtp_audio_in_mos']; - $data_body[$p] .= (strlen($total['rtp_audio_in_mos']) > 0) ? $fields['rtp_audio_in_mos'] : null; - } - $data_body[$p] .= ''; - $data_body[$p] .= ''; - $data_body[$p] .= ''.ucwords(strtolower(str_replace("_", " ", $fields['hangup_cause']))).''; - $data_body[$p] .= ''; - - $z++; - $p++; - - if ($p == 60) { - //output data - $data_body_chunk = $data_start.$data_head; - foreach ($data_body as $data_body_row) { - $data_body_chunk .= $data_body_row; + //show the csv data + $x=0; + while(true) { + $z = 0; + foreach($result[0] as $key => $val) { + if ($key != "xml" && $key != "json") { + if ($z == 0) { + echo '"'.$result[$x][$key].'"'; + } + else { + echo ',"'.$result[$x][$key].'"'; + } + } + $z++; + } + echo "\n"; + ++$x; + if ($x > ($result_count-1)) { + break; + } + } + } + +//export as a PDF + if ($export_format == 'pdf') { + + //load pdf libraries + require_once("resources/tcpdf/tcpdf.php"); + require_once("resources/fpdi/fpdi.php"); + + //determine page size + switch ($_SESSION['fax']['page_size']['text']) { + case 'a4' : + $page_width = 11.7; //in + $page_height = 8.3; //in + break; + case 'legal' : + $page_width = 14; //in + $page_height = 8.5; //in + break; + case 'letter' : + default : + $page_width = 11; //in + $page_height = 8.5; //in + } + + // initialize pdf + $pdf = new FPDI('L', 'in'); + $pdf -> SetAutoPageBreak(false); + $pdf -> setPrintHeader(false); + $pdf -> setPrintFooter(false); + $pdf -> SetMargins(0.5, 0.5, 0.5, true); + + //set default font + $pdf -> SetFont('helvetica', '', 7); + //add new page + $pdf -> AddPage('L', array($page_width, $page_height)); + + $chunk = 0; + + //write the table column headers + $data_start = ''; + $data_end = '
'; + + $data_head = ''; + $data_head .= ''.$text['label-direction'].''; + $data_head .= ''.$text['label-cid-name'].''; + $data_head .= ''.$text['label-cid-number'].''; + $data_head .= ''.$text['label-destination'].''; + $data_head .= ''.$text['label-start'].''; + $data_head .= ''.$text['label-tta'].''; + $data_head .= ''.$text['label-duration'].''; + $data_head .= ''.$text['label-billsec'].''; + $data_head .= ''."PDD".''; + $data_head .= ''."MOS".''; + $data_head .= ''; + $data_head .= ''.$text['label-hangup_cause'].''; + $data_head .= ''; + $data_head .= '
'; + + //initialize total variables + $total['duration'] = 0; + $total['billmsec'] = 0; + $total['pdd_ms'] = 0; + $total['rtp_audio_in_mos'] = 0; + $total['tta'] = 0; + + //write the row cells + $z = 0; // total counter + $p = 0; // per page counter + if (sizeof($result) > 0) { + foreach($result as $cdr_num => $fields) { + $data_body[$p] .= ''; + $data_body[$p] .= ''.$text['label-'.$fields['direction']].''; + $data_body[$p] .= ''.$fields['caller_id_name'].''; + $data_body[$p] .= ''.$fields['caller_id_number'].''; + $data_body[$p] .= ''.format_phone($fields['destination_number']).''; + $data_body[$p] .= ''.$fields['start_stamp'].''; + $total['tta'] += ($fields['tta'] > 0) ? $fields['tta'] : 0; + $data_body[$p] .= ''.(($fields['tta'] > 0) ? $fields['tta'].'s' : null).''; + $seconds = ($fields['hangup_cause'] == "ORIGINATOR_CANCEL") ? $fields['duration'] : round(($fields['billmsec'] / 1000), 0, PHP_ROUND_HALF_UP); + $total['duration'] += $seconds; + $data_body[$p] .= ''.gmdate("G:i:s", $seconds).''; + $total['billmsec'] += $fields['billmsec']; + $data_body[$p] .= ''.number_format(round($fields['billmsec'] / 1000, 2), 2).'s'; + $data_body[$p] .= ''; + if (permission_exists("xml_cdr_pdd")) { + $total['pdd_ms'] += $fields['pdd_ms']; + $data_body[$p] .= number_format(round($fields['pdd_ms'] / 1000, 2), 2).'s'; + } + $data_body[$p] .= ''; + $data_body[$p] .= ''; + if (permission_exists("xml_cdr_mos")) { + $total['rtp_audio_in_mos'] += $fields['rtp_audio_in_mos']; + $data_body[$p] .= (strlen($total['rtp_audio_in_mos']) > 0) ? $fields['rtp_audio_in_mos'] : null; + } + $data_body[$p] .= ''; + $data_body[$p] .= ''; + $data_body[$p] .= ''.ucwords(strtolower(str_replace("_", " ", $fields['hangup_cause']))).''; + $data_body[$p] .= ''; + + $z++; + $p++; + + if ($p == 60) { + //output data + $data_body_chunk = $data_start.$data_head; + foreach ($data_body as $data_body_row) { + $data_body_chunk .= $data_body_row; + } + $data_body_chunk .= $data_end; + $pdf -> writeHTML($data_body_chunk, true, false, false, false, ''); + unset($data_body_chunk); + unset($data_body); + $p = 0; + + //add new page + $pdf -> AddPage('L', array($page_width, $page_height)); } - $data_body_chunk .= $data_end; - $pdf -> writeHTML($data_body_chunk, true, false, false, false, ''); - unset($data_body_chunk); - unset($data_body); - $p = 0; - //add new page - $pdf -> AddPage('L', array($page_width, $page_height)); } } + //write divider + $data_footer = ''; + + //write totals + $data_footer .= ''; + $data_footer .= ''.$text['label-total'].''; + $data_footer .= ''.$z.''; + $data_footer .= ''; + $data_footer .= ''.number_format(round($total['tta'], 1), 0).'s'; + $data_footer .= ''.gmdate("G:i:s", $total['duration']).''; + $data_footer .= ''.gmdate("G:i:s", round($total['billmsec'] / 1000, 0)).''; + $data_footer .= ''.number_format(round(($total['pdd_ms'] / 1000), 2), 2).'s'; + $data_footer .= ''; + $data_footer .= ''; + + //write divider + $data_footer .= '
'; + + //write averages + $data_footer .= ''; + $data_footer .= ''.$text['label-average'].''; + $data_footer .= ''; + $data_footer .= ''.round(($total['tta'] / $z), 1).''; + $data_footer .= ''.gmdate("G:i:s", ($total['duration'] / $z)).''; + $data_footer .= ''.gmdate("G:i:s", round($total['billmsec'] / $z / 1000, 0)).''; + $data_footer .= ''.number_format(round(($total['pdd_ms'] / $z / 1000), 2), 2).'s'; + $data_footer .= ''.round(($total['rtp_audio_in_mos'] / $z), 2).''; + $data_footer .= ''; + $data_footer .= ''; + + //write divider + $data_footer .= '
'; + + //add last page + if ($p >= 55) { + $pdf -> AddPage('L', array($page_width, $page_height)); + } + //output remaining data + $data_body_chunk = $data_start.$data_head; + foreach ($data_body as $data_body_row) { + $data_body_chunk .= $data_body_row; + } + $data_body_chunk .= $data_footer.$data_end; + $pdf -> writeHTML($data_body_chunk, true, false, false, false, ''); + unset($data_body_chunk); + + //define file name + $pdf_filename = "cdr_".$_SESSION['domain_name']."_".date("Ymd_His").".pdf"; + + header("Content-Type: application/force-download"); + header("Content-Type: application/octet-stream"); + header("Content-Type: application/download"); + header("Content-Description: File Transfer"); + header('Content-Disposition: attachment; filename="'.$pdf_filename.'"'); + header("Content-Type: application/pdf"); + header('Accept-Ranges: bytes'); + header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 + header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // date in the past + + // push pdf download + $pdf -> Output($pdf_filename, 'D'); // Display [I]nline, Save to [F]ile, [D]ownload + } - //write divider - $data_footer = ''; - - //write totals - $data_footer .= ''; - $data_footer .= ''.$text['label-total'].''; - $data_footer .= ''.$z.''; - $data_footer .= ''; - $data_footer .= ''.number_format(round($total['tta'], 1), 0).'s'; - $data_footer .= ''.gmdate("G:i:s", $total['duration']).''; - $data_footer .= ''.gmdate("G:i:s", round($total['billmsec'] / 1000, 0)).''; - $data_footer .= ''.number_format(round(($total['pdd_ms'] / 1000), 2), 2).'s'; - $data_footer .= ''; - $data_footer .= ''; - - //write divider - $data_footer .= '
'; - - //write averages - $data_footer .= ''; - $data_footer .= ''.$text['label-average'].''; - $data_footer .= ''; - $data_footer .= ''.round(($total['tta'] / $z), 1).''; - $data_footer .= ''.gmdate("G:i:s", ($total['duration'] / $z)).''; - $data_footer .= ''.gmdate("G:i:s", round($total['billmsec'] / $z / 1000, 0)).''; - $data_footer .= ''.number_format(round(($total['pdd_ms'] / $z / 1000), 2), 2).'s'; - $data_footer .= ''.round(($total['rtp_audio_in_mos'] / $z), 2).''; - $data_footer .= ''; - $data_footer .= ''; - - //write divider - $data_footer .= '
'; - - //add last page - if ($p >= 55) { - $pdf -> AddPage('L', array($page_width, $page_height)); - } - //output remaining data - $data_body_chunk = $data_start.$data_head; - foreach ($data_body as $data_body_row) { - $data_body_chunk .= $data_body_row; - } - $data_body_chunk .= $data_footer.$data_end; - $pdf -> writeHTML($data_body_chunk, true, false, false, false, ''); - unset($data_body_chunk); - - //define file name - $pdf_filename = "cdr_".$_SESSION['domain_name']."_".date("Ymd_His").".pdf"; - - header("Content-Type: application/force-download"); - header("Content-Type: application/octet-stream"); - header("Content-Type: application/download"); - header("Content-Description: File Transfer"); - header('Content-Disposition: attachment; filename="'.$pdf_filename.'"'); - header("Content-Type: application/pdf"); - header('Accept-Ranges: bytes'); - header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 - header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // date in the past - - // push pdf download - $pdf -> Output($pdf_filename, 'D'); // Display [I]nline, Save to [F]ile, [D]ownload - -} - ?> \ No newline at end of file