\n");
$error_message = getLanguageText('ERRORMSG-ACCESS-DENIED');
include "form.messages.php";
return;
}
//
// Process all actions to list and edit records
//
$CurrentTable = "event_calendar";
$DeleteField = "title,date_and_time";
$dSeparator = "
";
$FormFile = "event_calendar.form.php";
$TitleText = getLanguageText('TEXT-EVENT');
$OrderBy = "start_date,end_date,title";
$Sequence = 'N';
// Start the template and output buffering
startTemplate();
$templatePageTitle = getLanguageText('TEXT-EVENTS-ADMINISTRATION');
$headerArgs = "";
$naction = 'list';
if (array_key_exists('naction',$_GET)) $naction = $_GET['naction'];
if (array_key_exists('naction',$_POST)) $naction = $_POST['naction'];
unset($event_view);
if (array_key_exists('event_view',$_GET)) $event_view = $_GET['event_view'];
if (array_key_exists('event_view',$_POST)) $event_view = $_POST['event_view'];
// writeLog("naction: ".$naction);
switch (strtolower($naction)) {
case "add":
$next_naction = "insert";
$active = 'Y';
$dow = "All";
include $FormFile;
break;
case "insert":
extract($_POST);
if (strlen($start_date) == 0 || strlen($end_date) == 0 || $end_date < $start_date) {
$error_message = getLanguageText('ERRORMSG-INVALID-DATE-RANGE');
$naction = "list";
header("Location: /?action=$action&naction=$naction&error_message=".urlencode($error_message));
exit();
}
if (!isset($dow) || !is_array($dow) || count($dow) == 0) {
$error_message = getLanguageText('ERRORMSG-MISSING-DATA');
$naction = "list";
header("Location: /?action=$action&naction=$naction&error_message=".urlencode($error_message));
exit();
}
if (strlen($title) == 0) {
$error_message = getLanguageText('ERRORMSG-MISSING-DATA');
$naction = "list";
header("Location: /?action=$action&naction=$naction&error_message=".urlencode($error_message));
exit();
}
$dow = implode(',',$dow);
// Get new sequence number
if ($Sequence == 'Y') {
$query = "select max(sequence) sequence from $CurrentTable";
$results = db_query($query);
$row = db_fetch_array($results);
$sequence = intval($row['sequence']) + 1;
}
// Insert primary record
$table = new Table("$CurrentTable");
$query = $table->BuildInsert();
db_query($query);
$form_message = "$TitleText Has Been Inserted";
$naction = "list";
header("Location: /?action=$action&naction=$naction&form_message=".urlencode($form_message));
exit();
case "edit":
$next_naction = "update";
// Get current record
$record_num = intval($_GET['record_num']);
$query = "select * from $CurrentTable where record_num = $record_num";
$results = db_query($query);
if (db_num_rows($results) == 1) {
$row = db_fetch_array($results);
extract($row);
$schedule_num = $record_num;
include $FormFile;
}
else {
$error_message = getLanguageText('RECORD-NOT-FOUND-MSG');
}
break;
case "update":
extract($_POST);
if (strlen($start_date) == 0 || strlen($end_date) == 0 || $end_date < $start_date) {
$error_message = getLanguageText('ERRORMSG-INVALID-DATE-RANGE');
$naction = "list";
header("Location: /?action=$action&naction=$naction&error_message=".urlencode($error_message));
exit();
}
if (!is_array($dow) || count($dow) == 0) {
$error_message = getLanguageText('ERRORMSG-MISSING-DATA');
$naction = "list";
header("Location: /?action=$action&naction=$naction&error_message=".urlencode($error_message));
exit();
}
if (strlen($title) == 0) {
$error_message = getLanguageText('ERRORMSG-MISSING-DATA');
$naction = "list";
header("Location: /?action=$action&naction=$naction&error_message=".urlencode($error_message));
exit();
}
$dow = implode(',',$dow);
$table = new Table("$CurrentTable");
$query = $table->BuildUpdate();
db_query($query);
$form_message = "$TitleText Has Been Updated";
$action = "events-admin";
$naction = "list";
header("Location: /?action=$action&naction=$naction&form_message=".urlencode($form_message));
exit();
case "upload":
extract($_POST);
$temp_name = $_FILES['filename']['tmp_name'];
$file_name = str_replace(' ','_',$_FILES['filename']['name']);
$error_message = '';
// Ensure a file has been uploaded
if (strlen($file_name) == 0) {
$error_message = getLanguageText('MSG-NO-SOURCE-DATA-FILE');
$new_naction = "upload-form";
break;
}
// Check if a file with this name already exists
if (is_file("$uploaddir/$file_name")) {
unlink("$uploaddir/$file_name");
}
// Validate the file type
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$ftype = finfo_file($finfo,$temp_name);
if ($ftype != "text/plain") {
$error_message = getLanguageText('ERRORMSG-INVALID-FILE-FORMAT');
$new_naction = "upload-form";
break;
}
// Move file to documents folder
if (!move_uploaded_file($temp_name,"$uploaddir/$file_name")) {
$error_message = getLanguageText('ERRORMSG-UNABLE-TO-COPY-UPLOADED')." - $uploaddir/$file_name";
break;
}
// Open and check file format
$fp = fopen("$uploaddir/$file_name","r");
$events = new Table("event_calendar");
$posted_by = $_SESSION['UserInfo']['record_num'];
if ($_SESSION['UserInfo']['userid'] == 'superuser') $posted_by = db_getVal("SELECT record_num FROM users WHERE school_num = $base_school_num AND userid = 'admin'");
$posted_date = date("Y-m-d",time());
$status = "Approved";
$display = "Active";
$dow = 'All';
while (($data = fgetcsv($fp,10000,",")) !== FALSE) {
$fields = count($data);
if ($fields == 0) continue;
if (strlen($data[0]) == 0 && strlen($data[1]) == 0) continue;
$event_type = trim($data[0]);
$start_date = date("Y-m-d",strtotime(trim($data[1])));
$end_date = date("Y-m-d",strtotime(trim($data[2])));
$title = trim($data[3]);
$date_and_time = trim($data[4]);
$location = trim($data[5]);
$description = trim($data[6]);
if (strlen($event_type) == 0 || strtolower($event_type) == "type") continue;
$query = $events->BuildInsert();
db_query($query);
}
$form_message = getLanguageText('TEXT-DATA-FILE-UPLOADED');
$naction = "list";
header("Location: /?action=$action&naction=$naction&form_message=".urlencode($form_message));
exit();
case "delete":
$record_num = intval($_GET['record_num']);
$query = "select * from $CurrentTable where record_num = $record_num";
$results = db_query($query);
if (db_num_rows($results) == 1) {
$row = db_fetch_array($results);
extract($row);
$dFields = explode(",",$DeleteField);
$dTitle = "$TitleText ";
for ($i = 0; $i < count($dFields); $i++) {
$dTitle .= $row[$dFields[$i]] . $dSeparator;
}
include "delete.form.php";
}
else {
$error_message = "Error: Record Not Found";
}
break;
case "delete-confirmed":
$record_num = intval($_GET['record_num']);
// Delete the current record
$query = "delete from $CurrentTable where record_num = $record_num";
db_query($query);
$form_message = "$TitleText Has Been Deleted";
$naction = "list";
header("Location: /?action=$action&naction=$naction&form_message=".urlencode($form_message));
exit();
case "up":
case "down":
// Get current record
$record_num = intval($_GET['record_num']);
$query = "select * from $CurrentTable where record_num = $record_num";
$results = db_query($query);
$row = db_fetch_array($results);
$sequence = $row['sequence'];
if ($naction == 'up') $nsequence = $sequence - 1;
if ($naction == 'down') $nsequence = $sequence + 1;
// Update other record
$query = "update $CurrentTable set sequence = $sequence where sequence = $nsequence";
db_query($query);
// Update current record
$query = "update $CurrentTable set sequence = $nsequence where record_num = $record_num";
db_query($query);
$naction = "list";
break;
default:
$naction = "list";
break;
}
//
// List all records if naction is "list"
//
if ($naction == "list" || $naction == 'list-all') {
$scriptName = str_replace("/m/data1/app.hotlunches.net/","",__FILE__);
include "help.docs.php";
// Get records to display
$columnHeaders = array(getLanguageText('TEXT-EVENT-TITLE'),
getLanguageText('TEXT-START-DATE'),
getLanguageText('TEXT-END-DATE'),
getLanguageText('TEXT-EVENT-DATE-TIME'),
getLanguageText('TEXT-TYPE'),
getLanguageText('TEXT-STATUS'),
getLanguageText('TEXT-DISPLAY')
);
$columnAlign = array('left','center','center','left','left','center','center');
$statusSet = "'Entered','Approved'";
if (array_key_exists('show', $_GET)) $show = db_escape_string($_GET['show']);
if (isset($show) && $show == 'All') $statusSet = "'Entered','Approved','Rejected'";
$cuttoff_date = date("Y-m-d",time() - 60 * 60 * 24 * 60);
if (isset($event_view) && $event_view == 'all') $today = "2000-01-01";
$query = "select * from event_calendar " .
"where school_num = $school_num " .
"and status in ($statusSet) " .
"and end_date >= '$cuttoff_date' " .
"order by start_date,end_date,title";
echo("\n\n");
$results = db_query($query);
$otipSpans = "";
$data = array();
while ($row = db_fetch_array($results)) {
extract($row);
$span_id = "event_$record_num";
$otipSpans .= "" . $otipTABLE .
sprintf($otipROW2,'