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_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_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