refactor CSV output code

This commit is contained in:
2016-05-17 20:31:15 +10:00
parent 94bc8bbf2e
commit bcd2b83e90

View File

@@ -43,22 +43,34 @@ function booking_studygroups_csv_report($group_id) {
// @todo // @todo
// get a listing of all the registrations so we can lookup people's names based on their node id // get a listing of all the registrations so we can lookup people's names based on their node id
//get the list of study group sessions //get the list of study group sessions IDs
/*
$studygroup_sessions_query = db_query("SELECT distinct booking_session_id FROM {booking_studygroup_mapping} " .
"WHERE booking_eventid = :eid AND booking_studygroup_id = :sid " .
"ORDER BY booking_session_id",
array(':eid' => $event->eid, ':sid' => $group_id));
$studygroup_sessions = $studygroup_sessions_query->fetchAll();
*/
/*
$studygroups_query = db_query("SELECT * FROM {booking_studygroup_list} WHERE booking_eventid = :eid and sid = :sid", $studygroups_query = db_query("SELECT * FROM {booking_studygroup_list} WHERE booking_eventid = :eid and sid = :sid",
array(':eid' => $event->eid, ':sid' => $group_id)); array(':eid' => $event->eid, ':sid' => $group_id));
$studygroups = $studygroups_query->fetchAllAssoc('sid'); $studygroups = $studygroups_query->fetchAllAssoc('sid');
*/
//get the list of study group session memberships /*
$session_members_query = db_query("SELECT * FROM {booking_studygroup_mapping} WHERE booking_studygroup_id = :sid",
array(':sid' => $group_id));
$session_members = $session_members_query->fetchAll();
//set up the column headings //set up the column headings
foreach ($studygroups as $studygroup) { foreach ($studygroups as $studygroup) {
$header_array[] = $studygroup->sid; $header_array[] = $studygroup->sid;
} }
$header = implode( $delimiter, $header_array ); $header = implode( $delimiter, $header_array );
$csv .= $header . "\n"; $csv .= $header . "\n";
*/
//get the list of study group session memberships
$session_members_query = db_query("SELECT * FROM {booking_studygroup_mapping} WHERE booking_studygroup_id = :sid",
array(':sid' => $group_id));
$session_members = $session_members_query->fetchAll();
//calculate the row data //calculate the row data
foreach ($session_members as $member) { foreach ($session_members as $member) {
@@ -72,10 +84,14 @@ function booking_studygroups_csv_report($group_id) {
} }
watchdog('booking_debug', "<pre>Study Group CSV Report\n@info</pre>", array('@info' => print_r( $data_array, true))); watchdog('booking_debug', "<pre>Study Group CSV Report\n@info</pre>", array('@info' => print_r( $data_array, true)));
$out = fopen('php://output', 'w'); $out = fopen('php://output', 'w');
fputcsv2($out, $header_array); //create the CSV header using just the array keys
fputcsv2($out, array_keys($data_array));
//output each subsequent of the multi-dimensional array
foreach ($data_array as $fields) { foreach ($data_array as $fields) {
fputcsv2($out, $fields); fputcsv2($out, $fields);
} }
//close the output
fclose($out); fclose($out);
} }