Files
HotLunches/hotlunch_menu_details.multi-menu.form.php
T
2026-10-19 15:22:52 -07:00

241 lines
8.7 KiB
PHP

<?php
require_once("include/globals.php");
if (SessionActive() != 1 || ! UserLoggedIn()) {
header("Location: /");
exit();
}
// Ensure that only valid user types have access to this module
$AllowedUserTypes = array('SuperUser','System Administrator','Application Administrator','Application Volunteer','Schedule Volunteer','Administration Team','Schedule Team','Supplier','Financial Team');
if (checkPermission($AllowedUserTypes) != 1) {
echo("<br>\n");
$error_message = getLanguageText('ERRORMSG-ACCESS-DENIED');
include "form.messages.php";
return;
}
//
// Process all actions to list and edit records
//
$naction = "";
if (array_key_exists('schedule_num',$_GET)) $schedule_num = intval($_GET['schedule_num']);
if (array_key_exists('schedule_num',$_POST)) $schedule_num = intval($_POST['schedule_num']);
$numMenuDates = db_getVal("SELECT count(*) FROM hotlunch_menu_dates WHERE school_num = $school_num AND schedule_num = $schedule_num");
$numMenuItems = db_getVal("SELECT count(*) FROM hotlunch_menu_items AS hlmi, hotlunch_menu_dates AS hlmd " .
"WHERE hlmd.school_num = $school_num " .
"AND hlmd.schedule_num = $schedule_num " .
"AND hlmi.menu_num = hlmd.record_num " .
"AND item_type = 'Item' " .
"AND hlmi.school_num = $school_num");
// Start the template and output buffering
startTemplate();
$templatePageTitle = getLanguageText('TEXT-MULTI-MENU-DELIVERY-REPORT');
$selectTitle = getLanguageText('TEXT-MENUS');
$selectName = "menu_num";
$selectSize = $numMenuDates;
if ($numMenuDates > 10) $selectSize = 10;
$paction = $action;
if ($action == "multi-item-delivery") {
$templatePageTitle = getLanguageText('TEXT-MULTI-ITEM-DELIVERY-REPORT');
$selectTitle = getLanguageText('TEXT-MENU-ITEMS');
$selectName = "menu_item_num";
$selectSize = $numMenuItems;
if ($numMenuItems > 20) $selectSize = 20;
}
$headerArgs = "";
// Validate the schedule
if (!isset($schedule_num)) {
echo("<br>\n");
$error_message = getLanguageText('ERRORMSG-INVALID-SCHEDULE-NUM');
include "form.messages.php";
return;
}
// Check if this is a valid schedule
$query = "select * from hotlunch_schedules " .
"where school_num = $school_num " .
"and record_num = $schedule_num";
$results = db_query($query);
if (db_num_rows($results) == 0) {
echo("<br>\n");
$error_message = getLanguageText('ERRORMSG-INVALID-SCHEDULE');
include "form.messages.php";
return;
}
$hotlunch_schedule = db_fetch_array($results);
// If this is a ScheduleTeam user check if they have permission to access this schedule
if (in_array($_SESSION['UserInfo']['type'],array('Schedule Team','Schedule Volunteer'))) {
$userNum = $_SESSION['UserInfo']['record_num'];
$access = db_getVal("SELECT count(*) FROM hotlunch_schedules_people WHERE school_num = $school_num AND schedule_num = $schedule_num AND user_num = $userNum");
if (!$access || $access == 0) {
echo("<br>\n");
$error_message = getLanguageText('TEXT-NO-ACCESS-TO-SCHEDULE');
include "form.messages.php";
return;
}
}
include "hotlunch_reports.menu.php";
echo("<br>\n");
if (array_key_exists('naction',$_GET)) $naction = $_GET['naction'];
if (array_key_exists('naction',$_POST)) $naction = $_POST['naction'];
$school_num = $school_record['record_num'];
include "form.messages.php";
//
// Display the menu selection
//
?>
<form method='post' action='/'>
<table width='90%' cellpadding='5' cellspacing='1'>
<tr>
<td width='35%' align='right' valign='top'><?php echo($selectTitle); ?>: </td>
<td align='left'>
<select name='<?php echo($selectName) ?>[]' multiple size='<?php echo($selectSize) ?>' class='select-width500'>
<?php
$query = "select * from hotlunch_menu_dates " .
"where school_num = $school_num " .
"and schedule_num = $schedule_num " .
"order by sequence,menu_date";
$results = db_query($query);
while ($row = db_fetch_array($results)) {
$mtitle = $row['menu_title'];
$mdate = $row['menu_date'];
$record_num = $row['record_num'];
$selected = " selected='selected'";
if ($hotlunch_schedule['display_menu_date'] == 'Y') {
$mtitle .= " - $mdate";
if (isset($menu_num) && $menu_num == $record_num) {
$selected_date = 'Y';
$selected = " selected='selected'";
}
}
$mtitle = str_replace("'","&apos;",$mtitle);
if ($action == "multi-menu-delivery") echo(" <option value='$record_num'$selected>$mtitle</option>\n");
else {
echo(" <optgroup label='$mtitle'>\n");
$query = "SELECT * FROM hotlunch_menu_items " .
"WHERE school_num = $school_num " .
"AND menu_num = $record_num " .
"AND item_type = 'Item' " .
"ORDER BY sequence";
$menu_items = db_query($query);
while ($row = db_fetch_array($menu_items)) {
$record_num = $row['record_num'];
$item_title = $row['item_title'];
echo(" <option value='$record_num'>$item_title</option>\n");
}
echo(" </optgroup>\n");
}
}
?>
</select>
</td>
</tr>
<tr>
<td width='35%' align='right' valign='top'><?php echo($GlobalText['Class']); ?>: </td>
<td align='left'>
<select name='class_num[]' multiple size='6'>
<option value='All' selected='selected'><?php echo($GlobalText['AllClasses']); ?></option>
<?php
// Check for schedule classes
$swhere = "";
$results = db_query("SELECT * FROM hotlunch_schedules_classes WHERE school_num = $school_num AND schedule_num = $schedule_num");
if (db_num_rows($results) > 0) {
$sclasses = "";
while ($row = db_fetch_array($results)) {
if (strlen($sclasses)) $sclasses .= ",";
$sclasses .= $row['class_num'];
}
$swhere = "AND record_num IN ($sclasses) ";
}
// Get set of classes
$query = "select * from classes " .
"where school_num = $school_num " .
$swhere .
"order by sequence";
$results = db_query($query);
while ($row = db_fetch_array($results)) {
$class_num = $row['record_num'];
$class_info = getClassInfo($class_num);
echo(" <option value='$class_num'>$class_info</option>\n");
}
$numStaffOrders = db_getVal("SELECT count(*) FROM hotlunch_order_header WHERE school_num = $school_num AND schedule_num = $schedule_num AND ordered_by_type = 'Staff'");
if ($numStaffOrders > 0) {
?>
<option value='0'><?php echo($GlobalText['Staff']); ?></option>
<?php } ?>
</select>
</td>
</tr>
<tr>
<td align='right' valign='top'><?php displayLanguageText('TEXT-PAPER-SIZE'); ?>: </td>
<td align='left'><?php BuildFileRadio("paper_size.txt","paperSize","Letter") ?></td>
</tr>
<tr>
<td align='right' valign='top'><?php displayLanguageText('TEXT-REPORT-ROW-HEIGHT'); ?>: </td>
<td align='left'><?php BuildFileRadio("delivery_report_row_height.txt","rowHeight",$school_record['delivery_report_row_height']) ?></td>
</tr>
<tr>
<td align='right' valign='top'><?php displayLanguageText('TEXT-REPORT-STUDENTS'); ?>: </td>
<td align='left'><?php BuildFileRadio("delivery_report_students.txt","reportStudents",$school_record['delivery_report_students']) ?></td>
</tr>
<tr>
<td align='right' valign='top'><?php displayLanguageText('TEXT-ORDER-STATUS'); ?>: </td>
<td align='left'><?php BuildFileRadio("delivery_report_order_status.txt","reportOrderStatus",'Active') ?></td>
</tr>
<!--
<tr>
<td align='right' valign='top'><?php displayLanguageText('TEXT-INCLUDE-PARENT-INFORMATION'); ?>: </td>
<td align='left'><?php BuildFileRadio("yn.txt","include_parent_info",'N') ?></td>
</tr>
-->
</table>
<br>
<input type='hidden' name='action' value='delivery-details-print'>
<input type='hidden' name='paction' value='<?php echo($paction) ?>'>
<input type='hidden' name='schedule_num' value='<?php echo($schedule_num) ?>'>
<input type='submit' name='button' class='btn btn--primary' value="<?php displayLanguageText('TEXT-GENERATE-REPORT'); ?>">
</form>
<br>
<?php
include "hotlunch_orders.print_buttons.php";
endTemplate();
?>