179 lines
6.0 KiB
PHP
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");
|
|
|
|
?>
|