Files
HotLunches/hotlunch_menu_items.php.bak
T
2026-10-19 15:22:52 -07:00

846 lines
36 KiB
Plaintext

<?php
require_once("include/globals.php");
if (SessionActive() != 1 || ! UserLoggedIn()) {
header("Location: /");
exit();
}
//
// Process all actions to list and edit records
//
$naction = "";
$CurrentTable = "hotlunch_menu_items";
$DeleteField = "item_title,online_price,offline_price";
$dSeparator = "<br>";
$FormFile = "hotlunch_menu_items.form.php";
$TitleText = getLanguageText('TEXT-MENU-ITEM');
$OrderBy = "sequence, menu_date asc";
$Sequence = 'Y';
// Start the template and output buffering
startTemplate();
$templatePageTitle = "$TitleText " . getLanguageText('TEXT-ADMINISTRATION');
// 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');
if (checkPermission($AllowedUserTypes) != 1) {
$error_message = getLanguageText('ERRORMSG-ACCESS-DENIED');
include "form.messages.php";
include "hotlunch_reports.menu.php";
endTemplate();
exit();
}
if (array_key_exists('menu_num',$_GET)) $menu_num = intval($_GET['menu_num']);
if (array_key_exists('menu_num',$_POST)) $menu_num = intval($_POST['menu_num']);
if (!isset($menu_num)) {
$error_message = getLanguageText('ERRORMSG-NO-MENU-NUM');
include "form.messages.php";
include "hotlunch_reports.menu.php";
endTemplate();
exit();
}
$current_menu_num = $menu_num;
// Get menu date information
$query = "select * from hotlunch_menu_dates " .
"where school_num = $school_num " .
"and record_num = $menu_num";
$results = db_query($query);
$hotlunch_menu_date = db_fetch_array($results);
$menu_date_title = $hotlunch_menu_date['menu_title'];
$menu_date = $hotlunch_menu_date['menu_date'];
$schedule_num = $hotlunch_menu_date['schedule_num'];
$results = db_query("SELECT * FROM hotlunch_schedules WHERE school_num = $school_num AND record_num = $schedule_num");
$row = db_fetch_assoc($results);
$schedule_name = $row['schedule_name'];
$schedule_type = $row['schedule_type'];
if ($schedule_type == 'Hot Lunch' || $schedule_type == 'Date Sensitive') $templatePageTitle .= " - $menu_date_title - $menu_date<br>\n$schedule_name";
else $templatePageTitle .= " - $menu_date_title<br>\n$schedule_name";
// 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) {
$error_message = getLanguageText('ERRORMSG-NO-SCHEDULE-ACCESS');
include "form.messages.php";
include "hotlunch_reports.menu.php";
endTemplate();
exit();
}
}
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 "hotlunch_reports.menu.php";
switch (strtolower($naction)) {
case "add":
$next_naction = "insert";
$active = 'Y';
$item_type = 'Item';
include $FormFile;
break;
case "add-heading":
$TitleText = getLanguageText('TEXT-HEADING');
$PageTitle = getLanguageText('TEXT-HEADING');
$ButtonText = getLanguageText('TEXT-INSERT-NEW');
$next_naction = "insert";
$active = 'Y';
$item_type = 'Heading';
include $FormFile;
break;
case "insert":
extract($_POST);
$options = trim($options);
// Use product name if no title is specified
if (strlen($item_title) == 0 && strlen($product0)) {
$query = "select product_name from supplier_products " .
"where school_num = $supplier_school_num " .
"and record_num = $product0";
$item_title = db_getVal($query);
}
// Use product label if no label is specified
if (strlen($label_title) == 0 && strlen($product0)) {
$query = "select label_name from supplier_products " .
"where school_num = $supplier_school_num " .
"and record_num = $product0";
$label_title = db_getVal($query);
}
// Get new sequence number
if ($Sequence == 'Y') {
$query = "select max(sequence) sequence from $CurrentTable " .
"where school_num = $school_num " .
"and menu_num = $menu_num";
$results = db_query($query);
$row = db_fetch_array($results);
$sequence = intval($row['sequence']) + 1;
}
// Strip the '$' from prices
$online_price = str_replace('$','',$online_price);
$offline_price = str_replace('$','',$offline_price);
if (strlen($online_price) == 0) $online_price = '0';
if (strlen($offline_price) == 0) $offline_price = '0';
if ($online_price > 0 && $offline_price == 0) $offline_price = $online_price;
$source_item = 0;
if ($item_type != 'Heading') $item_type = 'Item';
if (!isset($number_of_labels)) $number_of_labels = 1;
// Insert primary record
$hotlunch_menu_items = new Table("hotlunch_menu_items");
$query = $hotlunch_menu_items->BuildInsert();
db_query($query);
// Save processing values
$menu_item_num = db_insert_id();
$source_item = $menu_item_num;
$original_menu_num = $menu_num;
if ($select_classes == 'Selected Classes' && isset($selected_classes) && is_array($selected_classes) && count($selected_classes)) {
for ($i = 0; $i < count($selected_classes); $i++) {
$class_num = $selected_classes[$i];
$query = "INSERT INTO hotlunch_menu_items_classes (school_num,schedule_num,menu_num,menu_item_num,class_num) " .
"VALUES($school_num,$schedule_num,$menu_num,$menu_item_num,$class_num)";
db_query($query);
}
}
// Handle any linked menu dates
$linked_dates = db_query("select * from hotlunch_menu_dates where school_num = $school_num AND source_menu = $menu_num");
$linked_items = array();
if (db_num_rows($linked_dates) > 0) {
while ($row = db_fetch_array($linked_dates)) {
$menu_num = $row['record_num'];
$query = $hotlunch_menu_items->BuildInsert();
db_query($query);
$item_num = db_insert_id();
$linked_items[] = $item_num;
if ($select_classes == 'Selected Classes' && isset($selected_classes) && is_array($selected_classes) && count($selected_classes)) {
for ($i = 0; $i < count($selected_classes); $i++) {
$class_num = $selected_classes[$i];
$query = "INSERT INTO hotlunch_menu_items_classes (school_num,schedule_num,menu_num,menu_item_num,class_num) " .
"VALUES($school_num,$schedule_num,$menu_num,$item_num,$class_num)";
db_query($query);
}
}
}
}
// Process supplier items
$menu_products = new Table('hotlunch_menu_products');
for ($i = 0; $i < 50; $i++) {
unset($supplier_product_qty);
if (isset($_POST["product$i"])) $supplier_product_num = intval($_POST["product$i"]);
if (isset($_POST["qty$i"]) && $_POST["qty$i"] > 0) $supplier_product_qty = intval($_POST["qty$i"]);
if (isset($supplier_product_qty) && $supplier_product_qty > 0 && isset($supplier_product_num) && $supplier_product_num > 0) {
$menu_item_num = $source_item;
$product_sequence = $i + 1;
$query = $menu_products->BuildInsert();
db_query($query);
// Insert hotlunch_menu_products for linked items
if (count($linked_items) > 0) {
for ($j = 0; $j < count($linked_items); $j++) {
$menu_item_num = $linked_items[$j];
$query = $menu_products->BuildInsert();
db_query($query);
}
}
}
}
$menu_num = $original_menu_num;
$form_message = getLanguageText('RECORD-INSERTED-MSG');
$action = "$action&menu_num=$menu_num";
$naction = 'list';
header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_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);
if ($item_type == 'Heading') {
$TitleText = getLanguageText('TEXT-HEADING');
}
include $FormFile;
}
else {
$error_message = getLanguageText('ERRORMSG-NOT-FOUND');
$action = "$action&menu_num=$menu_num";
$naction = 'list';
header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message));
exit();
}
break;
case "update":
extract($_POST);
$options = trim($options);
// Use product name if no title is specified
if (strlen($item_title) == 0 && strlen($product0)) {
$query = "select product_name from supplier_products " .
"where school_num = $supplier_school_num " .
"and record_num = $product0";
$item_title = db_getVal($query);
}
// Strip the '$' from prices
$online_price = str_replace('$','',$online_price);
$offline_price = str_replace('$','',$offline_price);
if (strlen($online_price) == 0) $online_price = '0';
if (strlen($offline_price) == 0) $offline_price = '0';
if ($online_price > 0 && $offline_price == 0) $offline_price = $online_price;
if (!isset($number_of_labels)) $number_of_labels = 1;
// Update the menu item record
$hotlunch_menu_items = new Table("hotlunch_menu_items");
$query = $hotlunch_menu_items->BuildUpdate();
db_query($query);
// Delete selected classes
db_query("DELETE FROM hotlunch_menu_items_classes WHERE school_num = $school_num AND schedule_num = $schedule_num AND menu_num = $menu_num AND menu_item_num = $record_num");
if ($select_classes == 'Selected Classes' && isset($selected_classes) && is_array($selected_classes) && count($selected_classes)) {
for ($i = 0; $i < count($selected_classes); $i++) {
$class_num = $selected_classes[$i];
db_query("INSERT INTO hotlunch_menu_items_classes (school_num,schedule_num,menu_num,menu_item_num,class_num) VALUES($school_num,$schedule_num,$menu_num,$record_num,$class_num)");
}
}
// Process supplier items by first deleting the current items
$menu_item_num = $record_num;
$menu_products = new Table('hotlunch_menu_products');
$query = "delete from hotlunch_menu_products " .
"where school_num = $school_num " .
"and menu_item_num = $menu_item_num";
db_query($query);
// Insert new items if the quantity is greater than zero
for ($i = 0; $i < 50; $i++) {
unset($supplier_product_qty);
if (isset($_POST["product$i"])) $supplier_product_num = intval($_POST["product$i"]);
if (isset($_POST["qty$i"]) && $_POST["qty$i"] > 0) $supplier_product_qty = intval($_POST["qty$i"]);
if (isset($supplier_product_qty) && $supplier_product_qty > 0 && isset($supplier_product_num) && $supplier_product_num > 0) {
$product_sequence = $i + 1;
$query = $menu_products->BuildInsert();
db_query($query);
}
}
// Check if this is a linked item
$linked_items = db_query("select * from hotlunch_menu_items where school_num = $school_num and source_item = $record_num");
if (db_num_rows($linked_items) > 0) {
// Update linked menu items
$item_title = db_escape_string($item_title);
$item_description = db_escape_string($item_description);
$menu_item_format = db_escape_string($menu_item_format);
$label_title = db_escape_string($label_title);
$options = db_escape_string($options);
$options2 = db_escape_string($options2);
$options3 = db_escape_string($options3);
$options_title = db_escape_string($options_title);
$options2_title = db_escape_string($options2_title);
$options3_title = db_escape_string($options3_title);
$nutritional_info = db_escape_string($nutritional_info);
$item_message = db_escape_string($item_message);
$menu_group = db_escape_string($menu_group);
$item_type = db_escape_string($item_type);
$quantity_available = intval($quantity_available);
$min_quantity = intval($min_quantity);
$warn_quantity = intval($warn_quantity);
$max_quantity = intval($max_quantity);
$min_options = intval($min_options);
$max_options = intval($max_options);
$min_options2 = intval($min_options2);
$max_options2 = intval($max_options2);
$min_options3 = intval($min_options3);
$max_options3 = intval($max_options3);
if (!isset($active_until_date)) $active_until_date = "2100-01-01";
if (!isset($special_price1) || $special_price1 = '') $special_price1 = 0.00;
if (!isset($special_price2) || $special_price2 = '') $special_price2 = 0.00;
if (!isset($special_price3) || $special_price3 = '') $special_price3 = 0.00;
$special_price1 = floatval($special_price1);
$special_price2 = floatval($special_price2);
$special_price3 = floatval($special_price3);
$audate = "active_until_date = '$active_until_date', ";
if ($active_until_date == '') $audate = "active_until_date = NULL, ";
$query = "update hotlunch_menu_items " .
"SET item_title = '$item_title', " .
"item_description = '$item_description', " .
"menu_item_format = '$menu_item_format', " .
"label_title = '$label_title', " .
"display_price = '$display_price', " .
"online_price = $online_price, " .
"offline_price = $offline_price, " .
"special_price1 = $special_price1, " .
"special_price2 = $special_price2, " .
"special_price3 = $special_price3, " .
"taxable_item = '$taxable_item', " .
"active = '$active', " .
$audate .
"bc_guideline_rating = '$bc_guideline_rating', " .
"quantity_available = $quantity_available, " .
"min_quantity = $min_quantity, " .
"warn_quantity = $warn_quantity, " .
"max_quantity = $max_quantity, " .
"options = '$options', " .
"options2 = '$options2', " .
"options3 = '$options3', " .
"options_title = '$options_title', " .
"options2_title = '$options2_title', " .
"options3_title = '$options3_title', " .
"min_options = $min_options, " .
"max_options = $max_options, " .
"min_options2 = $min_options2, " .
"max_options2 = $max_options2, " .
"min_options3 = $min_options3, " .
"max_options3 = $max_options3, " .
"nutritional_info = '$nutritional_info', " .
"item_message = '$item_message', " .
"menu_group = '$menu_group', " .
"item_type = '$item_type', " .
"hot_cold_food = '$hot_cold_food', " .
"image = '$image' " .
"where school_num = $school_num " .
"and source_item = $record_num";
db_query($query);
// Process the selected classes and supplier products for the linked menu items
while ($row = db_fetch_array($linked_items)) {
$linked_item_num = $row['record_num'];
// Delete selected classes
db_query("DELETE FROM hotlunch_menu_items_classes WHERE school_num = $school_num AND schedule_num = $schedule_num AND menu_num = $menu_num AND menu_item_num = $linked_item_num");
if ($select_classes == 'Selected Classes' && isset($selected_classes) && is_array($selected_classes) && count($selected_classes)) {
for ($i = 0; $i < count($selected_classes); $i++) {
$class_num = $selected_classes[$i];
db_query("INSERT INTO hotlunch_menu_items_classes (school_num,schedule_num,menu_num,menu_item_num,class_num) VALUES($school_num,$schedule_num,$menu_num,$linked_item_num,$class_num)");
}
}
$query = "delete from hotlunch_menu_products " .
"where school_num = $school_num " .
"and menu_item_num = $linked_item_num";
db_query($query);
// Insert new items if the quantity is greater than zero
for ($i = 0; $i < 50; $i++) {
unset($supplier_product_qty);
if (isset($_POST["product$i"])) $supplier_product_num = intval($_POST["product$i"]);
if (isset($_POST["qty$i"]) && $_POST["qty$i"] > 0) $supplier_product_qty = intval($_POST["qty$i"]);
if (isset($supplier_product_qty) && $supplier_product_qty > 0 && isset($supplier_product_num) && $supplier_product_num > 0) {
$product_sequence = $i + 1;
$query = "insert into hotlunch_menu_products values ($school_num,$linked_item_num,$product_sequence,$supplier_product_num,$supplier_product_qty)";
db_query($query);
}
}
}
}
$form_message = getLanguageText('RECORD-UPDATED-MSG');
$action = "$action&menu_num=$menu_num";
$naction = 'list';
header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message));
exit();
case "copy":
$next_naction = "insert";
$active = 'Y';
$item_type = 'Item';
// Get current record
$menu_item_num = intval($_GET['menu_item_num']);
$query = "select * from $CurrentTable where record_num = $menu_item_num";
$results = db_query($query);
if (db_num_rows($results) == 1) {
$row = db_fetch_array($results);
extract($row);
if (!isset($number_of_labels)) $number_of_labels = 1;
if ($item_type == 'Heading') {
$TitleText = getLanguageText('TEXT-HEADING');
}
include $FormFile;
}
else {
$error_message = getLanguageText('ERRORMSG-NOT-FOUND');
$action = "$action&menu_num=$menu_num";
$naction = 'list';
header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message));
exit();
}
break;
case "delete-confirmed":
$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);
// Check if orders exist for this menu item
$num = db_getVal("select count(*) from hotlunch_order_items where school_num = $school_num and menu_item_num = $record_num");
if (intval($num) > 0) {
$error_message = getLanguageText('ERRORMSG-UNABLE-TO-DELETE-ITEM-ORDERS-EXIST');
$action = "$action&menu_num=$menu_num";
$naction = 'list';
header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message));
exit();
}
// Delete the current record
$query = "DELETE FROM $CurrentTable WHERE record_num = $record_num";
db_query($query);
// Delete menu products for this item
$query = "delete from hotlunch_menu_products " .
"where school_num = $school_num " .
"and menu_item_num = $record_num";
db_query($query);
// Delete inactive ordered items
$query = "delete from hotlunch_order_items " .
"where school_num = $school_num " .
"and schedule_num = $schedule_num " .
"and menu_num = $menu_num " .
"and menu_item_num = $record_num";
db_query($query);
// Delete linked menu items if there are any
$linked_items = db_query("select * from hotlunch_menu_items where school_num = $school_num and source_item = $record_num");
if (db_num_rows($linked_items) > 0) {
// Delete linked menu items
$item_title = db_escape_string($item_title);
if ($row['item_type'] == 'Item') {
$query = "DELETE FROM hotlunch_menu_items " .
"WHERE school_num = $school_num " .
"AND source_item = $record_num";
db_query($query);
}
if ($row['item_type'] == 'Heading') {
$query = "DELETE FROM hotlunch_menu_items " .
"WHERE school_num = $school_num " .
"AND source_item = $record_num";
db_query($query);
}
// Delete the supplier products for the linked menu items
while ($row = db_fetch_array($linked_items)) {
$linked_item_num = $row['record_num'];
$query = "delete from hotlunch_menu_products " .
"where school_num = $school_num " .
"and menu_item_num = $linked_item_num";
db_query($query);
}
}
}
else {
$error_message = getLanguageText('ERRORMSG-NOT-FOUND');
$action = "$action&menu_num=$menu_num";
$naction = 'list';
header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message));
exit();
}
$form_message = getLanguageText('RECORD-DELETED-MSG');
$action = "$action&menu_num=$menu_num";
$naction = 'list';
header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message));
exit();
case "save-sort":
// Parse the hidden fields to update the sort sequence in the database
if (array_key_exists('row_sequence',$_POST) && strlen($_POST['row_sequence']) > 0) {
// Update the sequence to avoid duplicate keys
// db_query("UPDATE $CurrentTable SET sequence = sequence + 1000 WHERE school_num = $school_num AND menu_num = $menu_num");
$row_sequence = db_escape_string(trim($_POST['row_sequence'], ", "));
$item_sequence = explode(',',$row_sequence);
for ($i = 0; $i < count($item_sequence); $i++) {
$rnum = $item_sequence[$i];
if ($rnum) {
$sequence = $i + 1;
$query = "update $CurrentTable set sequence = $sequence where record_num = $rnum";
db_query($query);
// update linked menu items
$query = "update $CurrentTable set sequence = $sequence where school_num = $school_num AND source_item = $rnum";
echo("$query<br>\n");
db_query($query);
}
}
}
exit();
$form_message = getLanguageText('RECORDS-SORTED-MSG');
$action = "$action&menu_num=$menu_num";
$naction = 'list';
header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message));
exit();
case "list":
default:
$naction = "list";
break;
}
//
// List all records if naction is "list"
//
if ($naction == "list") {
$scriptName = str_replace("/m/data1/app.hotlunches.net/","",__FILE__);
include "help.docs.php";
// Determine if groups are in use in this menu
$groupCount = db_getVal("SELECT count(*) FROM hotlunch_menu_items WHERE school_num = $school_num AND menu_num = $menu_num AND menu_group IN ('A','B','C','D','E')");
// Get records to display
if ($groupCount > 0) {
$columnHeaders = array("Title","Label","Prices","On-Line","Paper","Products","Active","Group");
$columnHeadersAlt = array("Title","Label","Prices","On-Line","Paper","Products","Active","Group");
$columnAlign = array('left','left','center','right','right','center','center','center','center');
if ($siteType == 'schoolfees' || $siteType == 'registration') {
$columnHeaders = array("Title","Prices","On-Line","Paper","Group");
$columnHeadersAlt = array("Title","Prices","On-Line","Paper","Group","Products");
$columnAlign = array('left','center','right','right','center','center');
}
$gselect = "hlmi.menu_group,";
}
else {
$columnHeaders = array("Title","Label","Prices","On-Line","Paper","Products","Active");
$columnHeadersAlt = array("Title","Label","Prices","On-Line","Paper","Products","Active");
$columnAlign = array('left','left','center','right','right','center','center','center','center');
if ($siteType == 'schoolfees' || $siteType == 'registration') {
$columnHeaders = array("Title","Prices","On-Line","Paper");
$columnHeadersAlt = array("Title","Prices","On-Line","Paper","Products");
$columnAlign = array('left','center','right','right','center');
}
$gselect = "";
}
$query = "select hlmi.item_title,hlmi.label_title,display_price,concat('$currencySymbol',hlmi.online_price) as online_price,concat('$currencySymbol',hlmi.offline_price) as offline_price," .
"count(hmp.supplier_product_num) as products,hlmi.active,hlmi.menu_group,hlmi.record_num,item_type,options,min_options,max_options,item_description " .
"from hotlunch_menu_items as hlmi left join hotlunch_menu_products as hmp on hmp.school_num = $school_num and hlmi.record_num = hmp.menu_item_num " .
"where hlmi.school_num = $school_num " .
"and hlmi.menu_num = $menu_num " .
"group by 1,2,3,4,5,7,8,9,10,11,12,13 " .
"order by sequence";
$results = db_query($query);
$message_width = $default_data_width;
include "form.messages.php";
// Convert data structure to an array
$data = array();
$otipSpans = "";
while ($row = db_fetch_array($results)) {
$menu_item_num = $row['record_num'];
if ($row['item_type'] == 'Heading') {
$row[0] = "<span class='menu-item-header'>" . $row[0] . "</span><br><span class='small'>" . $row['item_description'] . "</span>";
$row[2] = "";
$row[3] = "";
$row[4] = "";
$row[5] = "";
echo("<input type='hidden' id='ordered_count_$menu_item_num' value='0'>\n");
}
else {
$ordered_item_count = db_getVal("SELECT count(*) FROM hotlunch_order_items WHERE school_num = $school_num AND schedule_num = $schedule_num AND menu_num = $menu_num AND menu_item_num = $menu_item_num AND active = 'Y'");
echo("<input type='hidden' id='ordered_count_$menu_item_num' value='$ordered_item_count'>\n");
$row[0] = "<b>" . $row[0] . "</b>";
if (strlen($row['item_description'])) $row[0] .= "<br><span class='small'>" . $row['item_description'] . "</span>";
$record_num = $row['record_num'];
$menu_item = $row['record_num'];
if ($row[5] > 0) {
// Create product tool tip
$span_id = "products_$record_num";
$query = "SELECT supplier_name,product_name,package_qty,package_cost,product_sequence,supplier_product_qty " .
"FROM suppliers,supplier_products,hotlunch_menu_products " .
"WHERE suppliers.school_num = $supplier_school_num " .
"AND suppliers.status = 'Active' " .
"AND supplier_products.school_num = $supplier_school_num " .
"AND hotlunch_menu_products.school_num = $school_num " .
"AND hotlunch_menu_products.menu_item_num = $record_num " .
"AND hotlunch_menu_products.supplier_product_num = supplier_products.record_num " .
"AND supplier_products.supplier_num = suppliers.record_num " .
"ORDER BY product_sequence";
$products = db_query($query);
if (db_num_rows($products)) {
$count = 0;
$otipSpans .= "<span id='$span_id' class='hidden'>" . $otipTABLE;
while ($prow = db_fetch_array($products)) {
if ($count) $otipSpans .= "<tr><td align='left' colspan='2'><hr></td></tr>\n";
$otipSpans .= sprintf($otipROW2,"Supplier: ",$prow['supplier_name']) .
sprintf($otipROW2,"Product Name: ",$prow['product_name']) .
sprintf($otipROW2,"Quantity: ",$prow['supplier_product_qty']) .
sprintf($otipROW2,"Package Qty: ",$prow['package_qty']) .
sprintf($otipROW2,"Package Cost: ",'$' . sprintf("%0.".$school_record['supplier_costs_decimals']."f",$prow['package_cost']));
$count++;
if (array_key_exists('options', $prow) && strlen($prow['options'])) $otipSpans .= sprintf($otipROW2,"Options:",$prow['options']);
}
$otipSpans .= "</table></span>\n";
$row[5] = "<a href=\"javascript:TagToTip('$span_id')\" onmouseover=\"TagToTip('$span_id')\" onmouseout=\"UnTip()\">" . $row[5] . "</a>";
}
else {
$row[5] = "<span class='warning'>0</span>";
$query = "DELETE FROM hotlunch_menu_products WHERE school_num = $school_num AND menu_item_num = $menu_item";
db_query($query);
}
$columnHeaders = $columnHeadersAlt;
}
else {
$row[5] = "<span class='warning'>0</span>";
}
$row[6] = "<span class='item-active-flag' menu_item_num='$menu_item'>".$row[6]."</span>";
}
switch ($siteType) {
case 'hotlunch':
case 'fundraising':
default:
$data[] = $row;
break;
case 'schoolfees':
case 'registration':
if ($groupCount > 0) $data[] = array($row[0],$row[2],$row[3],$row[4],$row[7],$row[5],"record_num" => $row['record_num']);
else $data[] = array($row[0],$row[2],$row[3],$row[4],$row[5],"record_num" => $row['record_num']);
break;
}
}
$action = "$action&menu_num=$menu_num";
if ($hotlunch_menu_date['source_menu'] > 0 && $hotlunch_menu_date['menu_link'] != 'No') {
$customTableID = "items-table";
$useRowIDS = true;
include "table.dnd.php";
$form_message = getLanguageText('MSG-LINKED-MENU');
include "form.messages.php";
listDataCustom($data,$columnHeaders,"",array(),'N',$columnAlign,array(),'N');
echo("<br>\n");
}
else {
$num_orders = db_getVal("SELECT count(*) FROM hotlunch_order_header WHERE school_num = $school_num AND schedule_num = $schedule_num AND status NOT IN ('Inactive','Deleted','Concession')");
$insert_allowed = 'Y';
$copy_icon = "<img src='images/icons/redo24.png' alt='Copy Menu Item Entry' border='0'>";
$customTableID = "items-table";
$useRowIDS = true;
include "table.dnd.php";
if ($num_orders > 0) {
$commands = array(
"<a href='?action=menu-items&menu_num=$menu_num&naction=edit&record_num=%d' title='Edit Current Entry'>$edit_icon</a>",
"<a href='#' menu_item_num='%d' class='menu-item-delete' title='Delete Current Entry'>$delete_icon</a>",
"<a href='?action=menu-items&naction=copy&schedule_num=$schedule_num&menu_num=$menu_num&menu_item_num=%d' title='Copy Menu Item Entry'>$copy_icon</a>",
);
}
else {
$commands = array(
"<a href='?action=menu-items&menu_num=$menu_num&naction=edit&record_num=%d' title='Edit Current Entry'>$edit_icon</a>",
"<a href='#' menu_item_num='%d' class='menu-item-delete' title='Delete Current Entry'>$delete_icon</a>",
"<a href='?action=menu-items&naction=copy&schedule_num=$schedule_num&menu_num=$menu_num&menu_item_num=%d' title='Copy Menu Item Entry'>$copy_icon</a>",
);
}
listDataCustom($data,$columnHeaders,$action,$commands,'N',$columnAlign);
if ($insert_allowed == 'Y') {
?>
<table cellpadding='5' cellspacing='5' border='0'>
<tr>
<td align='center'><a href='?action=menu-items&menu_num=<?php echo($menu_num) ?>&naction=add' class='largeButton'><?php displayLanguageText('TEXT-INSERT-NEW'); ?></a></td>
<td align='center'><a href='?action=menu-items&menu_num=<?php echo($menu_num) ?>&naction=add-heading' class='largeButton'><?php displayLanguageText('TEXT-INSERT-HEADING'); ?></a></td>
<td align='center'><a href='?action=menu-items&menu_num=<?php echo($menu_num) ?>&naction=list&show_all=Y' class='largeButton'><?php displayLanguageText('TEXT-VIEW-ALL'); ?></a></td>
<?php if ($hotlunch_menu_date['menu_link'] == 'No') { ?>
<td align='center'><a href='?action=menu-price-update&schedule_num=<?php echo($schedule_num) ?>&selected_menu_num=<?php echo($menu_num) ?>' class='largeButton'><?php displayLanguageText('TEXT-UPDATE-MENU-PRICES'); ?></a></td>
<?php } ?>
</tr>
</table>
<?php
}
}
}
?>
<script>
$(document).ready(function() {
<?php include "include/ajax.Setup.php" ?>
$(document).on('click', '.menu-item-delete', function(e) {
e.preventDefault();
var schedule_num = <?php echo($schedule_num) ?>;
var menu_num = <?php echo($menu_num) ?>;
var menu_item_num = $(this).attr('menu_item_num');
var num_ordered = $("#ordered_count_"+menu_item_num).val();
var confirmMsg = "<?php displayLanguageText('TEXT-CONFIRM-ACTION'); ?>";
if (num_ordered == 0) {
var ans = confirm(confirmMsg);
if (ans) {
var URL = "?action=menu-items&menu_num="+menu_num+"&naction=delete-confirmed&schedule_num="+schedule_num+"&record_num="+menu_item_num;
window.location = URL;
return false;
}
}
else {
alert("<?php displayLanguageText('TEXT-UNABLE-TO-DELETE-ENTRY'); ?>");
}
});
$(document).on('click', '.item-active-flag', function(e) {
e.preventDefault();
var schedule_num = <?php echo($schedule_num) ?>;
var menu_num = <?php echo($menu_num) ?>;
var menu_item_num = $(this).attr('menu_item_num');
var spanid = $(this);
$.getJSON("ajax.ToggleActiveFlag.php",
{
table_name: 'hotlunch_menu_items',
rnum: menu_item_num
},
function(results) {
$(spanid).html(results.rval);
}
);
});
});
</script>
<?php
// If the menu_num is set then get the schedule number
if (isset($menu_num)) {
$query = "select schedule_num from hotlunch_menu_dates where record_num = $menu_num";
$schedule_num = db_getVal($query);
}
include "hotlunch_orders.print_buttons.php";
endTemplate();
?>