if (!$db->AutoExecute($tables["audience"], $audience_data, "INSERT")) { $ERROR++; $ERRORSTR[] = "There was an error while trying to attach the selected <strong>Proxy ID</strong> to one of the selected recurring events.<br /><br />The system administrator was informed of this error; please try again later."; application_log("error", "Unable to insert a new event_audience, proxy_id record while adding a new event. Database said: " . $db->ErrorMsg()); } } } break; default: add_error("There was no audience information provided, so this event is without an audience."); break; } /** * Remove attendance records for anyone who is no longer a valid audience member of the course. */ $audience = events_fetch_event_audience_attendance($recurring_event["event_id"]); if ($audience) { $valid_audience = array(); foreach ($audience as $learner) { $valid_audience[] = $learner["id"]; } if (!empty($valid_audience)) { $query = "DELETE FROM `event_attendance` WHERE `event_id` = " . $db->qstr($recurring_event["event_id"]) . " AND `proxy_id` NOT IN (" . implode(",", $valid_audience) . ")"; $db->Execute($query); } } else { $query = "DELETE FROM `event_attendance` WHERE `event_id` = " . $db->qstr($recurring_event["event_id"]); $db->Execute($query); } } else { application_log("error", "Unable to delete audience details from event_audience table during an edit. Database said: " . $db->ErrorMsg());
exit; } else { echo htmlspecialchars(json_encode(array('error' => 'Error occurred updating record.')), ENT_NOQUOTES); exit; } } } else { echo htmlspecialchars(json_encode(array('error' => 'Unable to locate user.')), ENT_NOQUOTES); exit; } exit; break; default: break; } $audience = events_fetch_event_audience_attendance($EVENT_ID); if (isset($_GET["download"]) && trim($_GET["download"]) == "csv") { if ($audience) { ob_clean(); $output = ""; foreach ($audience as $learner) { $output .= $learner["number"] . ',' . $learner["lastname"] . ',' . $learner["firstname"] . ',' . ($learner["has_attendance"] ? 'Present' : 'Absent') . "\n"; } $file_title = "attendance-for-event-" . $event_info["event_id"] . "-" . time() . ".csv"; header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Content-Type: text/csv"); header("Content-Disposition: inline; filename=\"" . $file_title . "\""); header("Content-Length: " . @strlen($output)); header("Content-Transfer-Encoding: binary\n");