Files
HotLunches/menu-order-check.csv.php
2026-10-19 15:22:52 -07:00

144 lines
4.3 KiB
PHP

<?php
$ValidAccess = 2010;
include "include/globals.php";
// startLog("menu-order-check.csv");
$schedule_num = 0;
$mode = '';
if (array_key_exists('schedule_num', $_GET)) $schedule_num = intval($_GET['schedule_num']);
if (array_key_exists('mode', $_GET)) $mode = db_escape_string($_GET['mode']);
if ($schedule_num <= 0) {
header("Location: ?action=schedule-reports&schedule_num=$schedule_num&error_code=INVALIDSCHED");
exit();
}
writeLog("schedule_num: $schedule_num");
$results = db_query("SELECT * FROM hotlunch_schedules WHERE school_num = $school_num AND record_num = $schedule_num");
if (db_num_rows($results) == 0) {
header("Location: ?action=schedule-reports&schedule_num=$schedule_num&error_code=INVALIDSCHED");
exit();
}
$schedule = db_fetch_assoc($results);
writeLog("schedule_name: ".$schedule['schedule_name']);
$menu_dates = db_query("SELECT * FROM hotlunch_menu_dates WHERE school_num = $school_num AND schedule_num = $schedule_num ORDER BY sequence");
if (db_num_rows($menu_dates) == 0) {
$error_message = getLanguageText('ERRORMSG-NO-MENU-DATES');
header("Location: ?action=schedule-reports&schedule_num=$schedule_num&error_message=".urlencode($error_message));
exit();
}
$data = array();
$errors = array();
$data[] = array($schedule['schedule_name']);
$data[] = array();
$n = 0;
while ($row = db_fetch_assoc($menu_dates)) {
extract($row);
$menu_num = $record_num;
$data[] = array($menu_title, $menu_date);
$menuItems = array();
$query = "SELECT * FROM hotlunch_menu_items WHERE school_num = $school_num AND menu_num = $menu_num ORDER BY sequence";
$items = db_query($query);
if (db_num_rows($items) == 0) {
$data[] = array(getLanguageText('ERRORMSG-NO-MENU-ITEMS'));
$data[] = array();
continue;
}
while ($row = db_fetch_assoc($items)) {
$menuItems[$row['record_num']] = array($row['item_title'], $row['sequence']);
}
$query = "SELECT ordered_by_type, ordered_by_num, menu_item_num, qty FROM hotlunch_order_items " .
"WHERE school_num = $school_num " .
"AND menu_num = $menu_num";
$items_ordered = db_query($query);
$Students = array();
while ($row = db_fetch_assoc($items_ordered)) {
extract($row);
$results = db_query("SELECT * FROM people WHERE school_num = $base_school_num AND record_num = $ordered_by_num");
if (db_num_rows($results) == 0) {
$Students["zz $n"] = array($ordered_by_num, getLanguageText('ERRORMSG-STUDENT-NOT-FOUND'), '', $menu_item_num, $qty);
}
else {
$student = db_fetch_assoc($results);
extract($student, EXTR_PREFIX_ALL, 's');
$name = $s_first_name.' '.$s_last_name;
writeLog("$s_first_name $s_last_name");
$class_info = getClassInfo($s_class_num, 'internal');
writeLog("$ordered_by_num, $name, $class_info, $menu_item_num, $qty");
if (array_key_exists($menu_item_num, $menuItems)) {
$menu_item = $menuItems[$menu_item_num][0];
$sequence = $menuItems[$menu_item_num][1];
}
else {
$menu_item = getLanguageText('ERRORMSG-MENU-ITEM-NOT-FOUND');
$sequence = $n;
}
if ($mode == 'class') {
$Students["$class_info $s_last_name $s_first_name $sequence $menu_item_num"] = array($ordered_by_num, $name, $class_info, $menu_item, $qty);
}
else {
$Students["$s_last_name $s_first_name $sequence $menu_item_num"] = array($ordered_by_num, $name, $class_info, $menu_item, $qty);
}
}
}
ksort($Students);
$i = 1;
foreach ($Students AS $idx => $sdata) {
$entry = array();
$entry[] = $i;
$entry[] = $sdata[0];
$entry[] = $sdata[1];
$entry[] = $sdata[2];
$entry[] = $sdata[3];
$entry[] = $sdata[4];
$data[] = $entry;
$i++;
}
$data[] = array();
$data[] = array("---------------------------------------");
$n++;
}
$fname = genFileName("menu-order-summary.csv");
$columnHeaders = array(
'',
'',
getLanguageText('TEXT-NAME'),
getLanguageText('TEXT-CLASS'),
getLanguageText('TEXT-MENU-ITEM'),
getLanguageText('TEXT-QUANTITY'),
);
xlsData($data,$columnHeaders,$fname);
?>