fix
This commit is contained in:
@@ -127,5 +127,52 @@ function booking_getToken($length) {
|
|||||||
* Function to generate csv of early access codes for the current event
|
* Function to generate csv of early access codes for the current event
|
||||||
*/
|
*/
|
||||||
function booking_earlyaccess_csv_report() {
|
function booking_earlyaccess_csv_report() {
|
||||||
|
global $event;
|
||||||
|
$data = array();
|
||||||
|
|
||||||
|
//set options for the CSV file
|
||||||
|
$name = 'bookings-earlyaccesscodes-' . format_date(time(), 'custom', 'Y-m-d-His');
|
||||||
|
$filename = file_directory_temp() . '/' . $name;
|
||||||
|
$csv = '';
|
||||||
|
$delimiter = ',';
|
||||||
|
$enclosure = '"';
|
||||||
|
$encloseAll = true;
|
||||||
|
$nullToMysqlNull = true;
|
||||||
|
$delimiter_esc = preg_quote($delimiter, '/');
|
||||||
|
$enclosure_esc = preg_quote($enclosure, '/');
|
||||||
|
|
||||||
|
//get a list of all the early access codes for this event
|
||||||
|
$codelist_query = db_select('booking_regn_earlyaccess_codes', 'c');
|
||||||
|
$codelist_query->condition('c.booking_eventid', $event->eid, '=')
|
||||||
|
->fields('p')
|
||||||
|
->orderBy('cid');
|
||||||
|
$result = $codelist_query->execute();
|
||||||
|
|
||||||
|
//calculate the header row for CSV
|
||||||
|
$header = implode( $delimiter, array_keys($data));
|
||||||
|
$csv .= $header . "\n";
|
||||||
|
|
||||||
|
//add the records
|
||||||
|
foreach ($result as $record) {
|
||||||
|
$output = array();
|
||||||
|
//each keypair in the record
|
||||||
|
foreach ($record as $key => $value) {
|
||||||
|
// Enclose fields containing $delimiter, $enclosure or whitespace
|
||||||
|
if ($encloseAll || preg_match( "/(?:${delimiter_esc}|${enclosure_esc}|\s)/", $value ) ) {
|
||||||
|
$output[] = $enclosure . str_replace($enclosure, $enclosure . $enclosure, $value) . $enclosure;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$output[] = $field;
|
||||||
|
}
|
||||||
|
$row = implode($delimiter, $output) . "\n";
|
||||||
|
$csv .= $row;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//output the CSV to the browser
|
||||||
|
drupal_add_http_header("Content-type", "application/octet-stream; charset=utf-8");
|
||||||
|
drupal_add_http_header("Content-Disposition", "attachment; filename=" . $name . ".csv");
|
||||||
|
print $csv;
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user