function _uc_csv_prepare_report in Ubercart CSV 7.2
Prepare the report
Prepare the report regardless if we're preparing a csv or XLS report
1 call to _uc_csv_prepare_report()
- uc_csv_select_report_to_export_submit in ./
uc_csv.module - Put together an export based on the report id
File
- ./
uc_csv.module, line 323
Code
function _uc_csv_prepare_report($report, $order) {
if ($report->file_type == 'csv') {
$headers = implode(',', $order['headers']) . "\n";
$source = NULL;
foreach ($order['order_data'] as $order) {
$csv_array = array();
foreach ($order as $cell) {
$csv_array[] = $cell;
}
// We need to make sure the lines are properly escaped.
// from comments at: http://php.net/manual/en/function.fputcsv.php
$csv = fopen('php://temp/maxmemory:' . 1 * 1024 * 1024, 'r+');
fputcsv($csv, $csv_array);
rewind($csv);
$source = stream_get_contents($csv);
fclose($csv);
$source .= "\n";
}
return $headers . $source;
}
elseif ($report->file_type == 'xls') {
module_load_include('inc', 'uc_csv', 'inc/excel-export');
// generate file (constructor parameters are optional)
$xls = new Excel_XML('UTF-8', FALSE, $report->report_name);
$data = array(
$order['headers'],
);
foreach ($order['order_data'] as $line) {
$set = array();
foreach ($line as $key => $value) {
$set[] = $value;
}
$data[] = $set;
}
$xls
->addArray($data);
$contents = $xls->generateXML;
return $contents;
}
return FALSE;
}