Files
HotLunches/ajax.DataSet.Fetch.php
T
2026-10-19 15:22:52 -07:00

179 lines
6.0 KiB
PHP

<?php
$ValidAccess = 2010;
include "include/globals.php";
if (SessionActive() != 1 || ! UserLoggedIn()) {
header("Location: /?error_message=" . urlencode(getLanguageText('ERRORMSG-SESSION-EXPIRED')));
exit();
}
$return_data = array();
$moduleName = "ajax.DataSet.Fetch.php";
// startLog($moduleName);
// CSRF token validation
include "include/ajax.csrfToken.php";
// Get parameters
if (array_key_exists('dataset',$_GET)) $dataset = db_escape_string($_GET['dataset']);
// Validate parameters
if (!isset($dataset) || strlen($dataset) == 0) logExit("Invalid Access\n");
// Error logging
writeLog("school_num: $school_num\n");
writeLog("dataset: $dataset\n");
// Initialize return data array
$return_data = array();
$return_data['ajax_return_code'] = 0;
//
// Process requested dataset
//
switch ($dataset) {
case 'reseller-menu-dates':
// Get application parameter
if (array_key_exists('school_num',$_GET)) $school_num = intval($_GET['school_num']);
$selected_date = 'N';
$cutoff = date("Y-m-d",time() - 60 * 60 * 7);
// Get menu dates
$query = "SELECT hlmd.*,hls.display_menu_date,hls.sequence AS schedule_sequence FROM hotlunch_menu_dates AS hlmd, hotlunch_schedules AS hls " .
"WHERE hlmd.school_num = $school_num " .
"AND hls.school_num = $school_num " .
"AND menu_date >= '$cutoff' " .
"AND hlmd.schedule_num = hls.record_num " .
"AND hls.status = 'Active' " .
"ORDER BY schedule_sequence, sequence";
writeLog("query: $query\n");
$results = db_query($query);
$data = array();
$iTitle = getLanguageText('TEXT-ITEMS-ORDERED');
$oText = getLanguageText('TEXT-ORDERS');
if (db_num_rows($results)) {
$pschedule = 0;
while ($row = db_fetch_assoc($results)) {
extract($row);
writeLog("$schedule_num, $menu_title - $menu_date - $record_num");
if ($schedule_num != $pschedule) {
$pschedule = $schedule_num;
$schedule_title = db_getVal("SELECT schedule_name FROM hotlunch_schedules WHERE school_num = $school_num AND record_num = $schedule_num");
writeLog($schedule_title);
$numOrders = db_getVal("SELECT count(*) FROM hotlunch_order_header WHERE school_num = $school_num AND schedule_num = $schedule_num");
$data[] = array("value" => 0, "text" => "$schedule_title ($numOrders $oText)");
}
$text = $menu_title;
if ($display_menu_date == 'Y') {
$text .= " - " . date($school_record['date_format'],strtotime($menu_date));
}
$numItems = db_getVal("SELECT count(*) FROM hotlunch_order_items WHERE school_num = $school_num AND schedule_num = $schedule_num AND menu_num = $record_num");
$text .= " ($iTitle: $numItems)";
writeLog($text);
if ($numItems == 0) $record_num = -1;
$data[] = array("value" => $record_num, "text" => $text);
}
$return_data['ajax_return_code'] = 1;
}
$return_data['data'] = $data;
break;
case 'reseller-schedules':
// Get application parameter
if (array_key_exists('school_num',$_GET)) $school_num = intval($_GET['school_num']);
$selected_date = 'N';
$cutoff = date("Y-m-d",time() - 60 * 60 * 7);
// Get menu dates
$query = "SELECT distinct schedule_num,schedule_name,hls.sequence AS schedule_sequence,hlmd.sequence AS hlmd_sequence FROM hotlunch_menu_dates AS hlmd, hotlunch_schedules AS hls " .
"WHERE hlmd.school_num = $school_num " .
"AND hls.school_num = $school_num " .
"AND menu_date >= '$cutoff' " .
"AND hlmd.schedule_num = hls.record_num " .
"AND hls.status = 'Active' " .
"ORDER BY schedule_sequence, hlmd_sequence";
writeLog("query: $query\n");
$results = db_query($query);
$data = array();
$return_data['count'] = 0;
$return_data['schedule_num'] = 0;
if (db_num_rows($results)) {
$pschedule = 0;
while ($row = db_fetch_assoc($results)) {
extract($row);
if ($pschedule == $schedule_num) continue;
$pschedule = $schedule_num;
$return_data['count']++;
if ($return_data['schedule_num'] == 0) $return_data['schedule_num'] = $schedule_num;
$text = $schedule_name;
writeLog($text);
$data[] = array("value" => $schedule_num, "text" => $text);
}
$return_data['ajax_return_code'] = 1;
}
$return_data['data'] = $data;
break;
case 'schedule-menus':
// Get application parameter
if (array_key_exists('schedule_num',$_GET)) $schedule_num = intval($_GET['schedule_num']);
writeLog("schedule_num: $schedule_num");
$query = "SELECT menu_title,record_num FROM hotlunch_menu_dates " .
"WHERE school_num = $school_num " .
"AND schedule_num = $schedule_num " .
"AND menu_link = 'No' " .
"ORDER BY sequence";
writeLog($query);
$menus = db_query($query);
$numMenus = db_num_rows($menus);
writeLog("numMenus: $numMenus");
$data = array();
if ($numMenus > 0) {
writeLog("numMenus: $numMenus");
while ($row = db_fetch_assoc($menus)) {
extract($row);
$query = "SELECT count(*) FROM hotlunch_menu_items WHERE school_num = $school_num AND menu_num = $record_num";
writeLog($query);
$numItems = intval(db_getVal($query));
writeLog("numItems: $numItems");
if ($numItems == 0) continue;
$menu_title .= " ($numItems)";
writeLog("$record_num - $menu_title");
$data[] = array("value" => $record_num, "text" => $menu_title);
}
}
$return_data['num_menus'] = $numMenus;
$return_data['data'] = $data;
break;
}
echo(json_encode($return_data));
writeLog("complete\n\n");
?>