"); buildOrderMenus($schedule_num, $source, $ordered_by_num, $order_num); echo(""); } function initializeOrderForm($schedule_num) { global $school_num, $school_record, $CurrentScheduleRecord, $OrderingCutOffTime; if (!isset($schedule_num) || intval($schedule_num) == 0) { return(-1); } $schedule_num = intval($schedule_num); // Validate the schedule $query = "SELECT * FROM hotlunch_schedules WHERE school_num = $school_num AND record_num = $schedule_num"; writeLog($query); $results = db_query($query); if (db_num_rows($results) != 1) { return(-1); } $schedule_record = db_fetch_assoc($results); $CurrentScheduleRecord = $schedule_record; writeLog("Current Schedule: ".$CurrentScheduleRecord['schedule_name']); // Check for menu dates in the schedule $numMenus = db_getVal("SELECT count(*) FROM hotlunch_menu_dates WHERE school_num = $school_num AND schedule_num = $schedule_num"); if ($numMenus == 0) return(-2); // Check for menu items in the schedule $query = "SELECT count(*) FROM hotlunch_menu_items " . "WHERE school_num = $school_num " . "AND menu_num IN (SELECT record_num FROM hotlunch_menu_dates WHERE school_num = $school_num AND schedule_num = $schedule_num)"; $numItems = db_getVal($query); if ($numItems == 0) return(-3); // Check if access to schedule is permitted if (($_SESSION['UserInfo']['type'] == 'Parent' || $_SESSION['UserInfo']['type'] == 'Staff')) { $ret = checkScheduleAccess($schedule_num, $ordered_by_num); if ($ret != 1) return($ret); } // Determine ordering cutoff date $today = date("Y-m-d",time()); $schedule_type = $schedule_record['schedule_type']; writeLog("schedule_type: $schedule_type"); // Get first menu date if ($schedule_type == 'Hot Lunch' || $schedule_type == 'Date Sensitive') { $query = "SELECT min(menu_date) FROM hotlunch_menu_dates WHERE school_num = $school_num AND schedule_num = $schedule_num AND menu_type = 'Regular'"; $first_menu_date = db_getVal($query); $days_prior = $schedule_record['days_prior_to_order_date']; if ($days_prior == 0 && date("H",time()) >= $schedule_record['order_until_hour']) $days_prior = 1; $menu_date_cutoff = date("Y-m-d",time() + $days_prior * 60 * 60 * 24 - 60); if ($schedule_record['end_order_datetime'] < $first_menu_date) $menu_date_cutoff = $today; if ($schedule_record['menu_cutoff_date'] > $today) $menu_date_cutoff = $schedule_record['menu_cutoff_date']; $CurrentScheduleRecord['schedule_type_flag'] = 'Date Sensitive'; } else { $menu_date_cutoff = date("Y-m-d H:i:s",time() + 24 * 60 * 60); $CurrentScheduleRecord['schedule_type_flag'] = 'Not Date Sensitive'; } $OrderingCutOffTime = $menu_date_cutoff; writeLog("OrderingCutOffTime: $OrderingCutOffTime"); } function buildStudentFields() { return; } function buildOrderMenus($schedule_num, $source, $ordered_by_num, $order_num) { global $school_num, $school_record, $CurrentScheduleRecord, $OrderingCutOffTime, $CurrentMenuActive; if (!isset($schedule_num) || intval($schedule_num) == 0) { return(-1); } $schedule_num = intval($schedule_num); $schedule_record = $CurrentScheduleRecord; $dateNow = date("Y-m-d H:i:00",time()); $query = "SELECT * FROM hotlunch_menu_dates WHERE school_num = $school_num AND schedule_num = $schedule_num"; writeLog($query); $menuDates = db_query($query); if (db_num_rows($menuDates) == 0) return(-1); while ($mdate = db_fetch_assoc($menuDates)) { $CurrentScheduleMenus[] = $mdate; $menu_num = $mdate['record_num']; $menu_title = $mdate['menu_title']; $menu_date = $mdate['menu_date']; $tclass = 'menudate-header'; if (($_SESSION['UserInfo']['type'] == 'Parent' || $_SESSION['UserInfo']['type'] == 'Staff')) { $ret = checkMenuAccess($menu_num, $ordered_by_num); if ($ret != 1) continue; } $menuDateActive = "Y"; $menu_available = $mdate['available']; if ($CurrentScheduleRecord['schedule_type_flag'] == 'Date Sensitive') { if ($mdate['menu_date'] < $OrderingCutOffTime) $menuDateActive = 'N'; if ($schedule_record['custom_menu_end_dates'] == 'Y' && $mdate['menu_end_order_datetime'] < $dateNow) $menuDateActive = 'N'; if ($menuDateActive == 'N' || $menu_available == 'N') { $tclass = 'menudate-past'; if ($_SESSION['UserInfo']['type'] == 'Parent' || $_SESSION['UserInfo']['type'] == 'Staff' || $_SESSION['UserInfo']['type'] == 'Guest') { $menu_title .= " - " . getLanguageText('TEXT-NOT-AVAILABLE-AT-THIS-TIME'); //MWFMWF if ($hide_unavailable_dates == 'Y') $rowStyle = " style='display: none;'"; } } } $menu_date = ""; writeLog("menuDateActive: $menuDateActive"); if ($schedule_record['display_menu_date'] == 'Y' && $mdate['menu_type'] != 'Footer') { $menu_date = date("l F jS, Y",strtotime($mdate['menu_date'])); writeLog("menu_date: $menu_date"); } $CurrentMenuActive = $menuDateActive; if ($CurrentScheduleRecord['schedule_type_flag'] == 'Date Sensitive') writeLog(" - Menu: $menu_title - $menu_date ($menu_num)"); else writeLog(" - Menu: $menu_title ($menu_num)"); displayMenuTitle($menu_title, $menu_num, $menu_date, $tclass); buildMenu($schedule_num, $source, $menu_num, $menuDateActive, $tclass); } } function checkScheduleAccess($schedule_num, $ordered_by_num) { return(1); } function checkMenuAccess($menu_num, $ordered_by_num) { return(1); } function displayMenuTitle($menu_title, $menu_num, $menu_date, $tclass) { global $school_num, $school_record, $CurrentScheduleRecord, $OrderingCutOffTime, $CurrentMenuActive; $tableClass = "menu-active-$CurrentMenuActive"; echo("\n"); echo("\n"); echo(""); echo("\n"); echo("\n"); } function buildMenu($schedule_num, $source, $menu_num, $menuDateActive, $tclass) { global $school_num, $school_record, $CurrentScheduleRecord, $OrderingCutOffTime; if (!isset($schedule_num) || intval($schedule_num) == 0) { return(-1); } $schedule_num = intval($schedule_num); $menu_num = intval($menu_num); $query = "SELECT * FROM hotlunch_menu_items " . "WHERE school_num = $school_num " . "AND menu_num = $menu_num " . "AND active != 'N' " . "ORDER BY sequence"; writeLog($query); $menuItems = db_query($query); echo(""); } function displayMenuHeading($schedule_num, $source, $menu_num, $row, $menuDateActive, $tclass) { global $school_num, $school_record, $CurrentScheduleRecord, $OrderingCutOffTime, $CurrentMenuActive; extract($row); $tableClass = "menu-active-$CurrentMenuActive"; echo("\n"); echo("\n"); echo(""); echo("\n"); echo("\n"); } function displayMenuItem($schedule_num, $source, $menu_num, $row, $menuDateActive, $tclass) { global $school_num, $school_record, $CurrentScheduleRecord, $OrderingCutOffTime, $CurrentMenuActive, $menu_price_category, $currencySymbol; extract($row); $tableClass = "menu-active-$CurrentMenuActive"; if (!isset($currencySymbol)) $currencySymbol = $school_record['currency_symbol']; $display_price = $CurrentScheduleRecord['display_item_price']; $display_price = $CurrentScheduleRecord['schedule_prices']; writeLog("display_price: $display_price"); $item_price = ""; $itemPrice = 0; $alt_flag = "alt-prices='N'"; if ($display_price == 'Y') { switch ($source) { case 'On-Line': $itemPrice = $online_price; $item_price = $currencySymbol . number_format($itemPrice,2); $multiple = false; if ($school_record['implement_multiple_item_prices'] == 'Y') { if ($number_of_alternate_prices > 0 && $menu_price_category == 'Regular') { $multiple = true; $alt_flag = "alt-prices='Y'"; $item_price_d = ""; $item_price = $item_price_d; } } break; case 'Paper': $itemPrice = $offline_price; $item_price = $currencySymbol . number_format($itemPrice,2); break; } } $qtyfield = ""; $pricefield = ""; $extendedpricefield = ""; echo("\n"); echo("\n"); echo(""); echo("\n"); echo("\n"); } ?>