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");