\n"); $error_message = "Invalid Access"; include "form.messages.php"; exit(); } $school_name = $school_record['school_name']; // Set parameters for this document $max_rows = 235; $title_col = 20; $item_col = 25; $qty_col = 125; $price_col = 138; $extended_col = 152; $total_col = 172; $extended_width = 15; $total_width = 18; $start_row = 8; $curr_row = $start_row; $incr = 3.8; $pdf->SetFillColor(hexdec("cc"),hexdec("cc"),hexdec("cc")); $pdf->SetFont($document_font,"B",10); if ($_SESSION['UserInfo']['type'] == 'Parent') $name .= ' (' . $_SESSION['UserInfo']['first_name'] . ' ' . $_SESSION['UserInfo']['last_name'] . ' - ' . $_SESSION['UserInfo']['userid'] . ')'; if ($_SESSION['UserInfo']['type'] == 'Staff') $name = $_SESSION['UserInfo']['first_name'] . ' ' . $_SESSION['UserInfo']['last_name']; $name .= " - $status"; $pdf->SetXY($title_col,$curr_row); $pdf->Cell(80,$incr + 1,getLanguageText('TEXT-NAME') . ': '. $name,'0',1,'L',false,'',1); if (isset($teacher_info)) { $pdf->SetFont($document_font,"B",9); $pdf->SetXY($qty_col,$curr_row); $pdf->Cell(64,$incr + 1,$teacher_info,'0',1,'R',false,'',1); $pdf->SetFont($document_font,"B",10); } $curr_row += $incr; $pdf->SetXY($title_col,$curr_row); $pdf->Cell(80,$incr + 1,$schedule['schedule_name'],'0',1,'L',false,'',1); if (isset($class_info)) { $pdf->SetFont($document_font,"B",9); $pdf->SetXY($qty_col,$curr_row); $pdf->Cell(64,$incr + 1,$class_info,'0',1,'R',false,'',1); $pdf->SetFont($document_font,"B",10); } $curr_row += $incr + 2; $pdf->SetFont($document_font,"",9); // Get menu dates for this schedule $query = "select * from hotlunch_menu_dates " . "where school_num = $school_num " . "and schedule_num = $schedule_num " . "order by sequence,menu_date"; $menu_dates = db_query($query); $order_total = 0; $page = 1; while ($menu_date = db_fetch_array($menu_dates)) { $menu_num = $menu_date['record_num']; $menu_title = $menu_date['menu_title']; if ($schedule['schedule_type'] == 'Hot Lunch' || $schedule['schedule_type'] == 'Date Sensitive' || $schedule['display_menu_date'] == 'Y') $menu_title .= " - " . date("l F jS, Y",strtotime($menu_date['menu_date'])); // Skip menu date if print format is set to "With Items" and no items have been ordered if ($schedule['schedule_print_format'] == "With Items") { $numItems = db_getVal("SELECT count(*) FROM hotlunch_order_items " . "WHERE school_num = $school_num " . "AND ordered_by_num = $ordered_by_num " . "AND schedule_num = $schedule_num " . "AND menu_num = $menu_num " . "AND active != 'N'"); if ($numItems == 0) continue; } // Get menu items for this menu date $query = "select * from hotlunch_menu_items " . "where school_num = $school_num " . "and menu_num = $menu_num " . "order by sequence"; $menu_items = db_query($query); $num_items = db_num_rows($menu_items); // Print menu header if required if (($curr_row + $incr * 3) >= $max_rows) { $pdf->addPage(); $page++; $curr_row = $start_row; $pdf->SetFont($document_font,"B",10); $pdf->SetXY($title_col,$curr_row); $pdf->Cell(80,$incr + 1,$name,'0',1,'L',false,'',1); if (isset($teacher_info)) { $pdf->SetXY($qty_col,$curr_row); $pdf->Cell(64,$incr + 1,"Page :: $page",'0',1,'R',false,'',1); } $curr_row += $incr; $pdf->SetXY($title_col,$curr_row); $pdf->Cell(80,$incr + 1,$schedule['schedule_name'],'0',1,'L',false,'',1); $curr_row += $incr + 2; } $pdf->SetFont($document_font,"B",9); $curr_row += 1; $pdf->SetXY($title_col,$curr_row); $pdf->Cell(170,$incr,$menu_title,'0',1,'L',true,'',1); $pdf->SetFont($document_font,"",9); $curr_row += $incr; $menu_total = 0; $menu_count = 0; $item_count = 0; while ($menu_item = db_fetch_array($menu_items)) { extract($menu_item); // Get student order entry if there is one $query = "select * from hotlunch_order_items " . "where school_num = $school_num " . "and ordered_by_num = $ordered_by_num " . "and schedule_num = $schedule_num " . "and menu_num = $menu_num " . "and menu_item_num = $record_num " . "and active != 'N'"; $orders = db_query($query); $order = db_fetch_array($orders); if (is_array($order)) { $qtyvalue = $order['qty']; $options_ordered = $order['options_ordered']; $options2_ordered = $order['options2_ordered']; $options3_ordered = $order['options3_ordered']; $item_price = $online_price; if ($order_header['price_category'] == 'Regular') { if ($source == 'On-Line') $item_price = $online_price; else $item_price = $offline_price; } else { if ($order_header['price_category'] == 'Special 1') $item_price = $special_price1; if ($order_header['price_category'] == 'Special 2') $item_price = $special_price2; if ($order_header['price_category'] == 'Special 3') $item_price = $special_price3; } $item_price = $order['menu_item_price']; $ltotal = $qtyvalue * $item_price; $line_total = number_format($ltotal,2); $menu_total += $ltotal; $order_total += $ltotal; $menu_count++; if (db_num_rows($orders) == 0) continue; $item_count++; $pdf->SetXY($item_col,$curr_row); $pdf->Cell(95,$incr,$item_title,'0',1,'L',false,'',1); if ($display_price == 'Y') { $pdf->SetXY($qty_col,$curr_row); $pdf->Cell(5,$incr,"$qtyvalue x",'0',1,'R'); $pdf->SetXY($price_col,$curr_row); $pdf->Cell(12,$incr,$currencySymbol . number_format($item_price,2) . " =",'0',1,'R'); $pdf->SetXY($extended_col,$curr_row); $pdf->Cell($extended_width,$incr,$school_record['currency_symbol'] . $line_total,'0',1,'R'); } else { if ($qtyvalue > 1) { $pdf->SetXY($qty_col,$curr_row); $pdf->Cell(5,$incr,"x $qtyvalue",'0',1,'R'); } } $curr_row += $incr; // Display item options $options_ordered = trim($options_ordered); $options2_ordered = trim($options2_ordered); $options3_ordered = trim($options3_ordered); if (strlen($options2_ordered)) $options_ordered .= "\n$options2_ordered"; if (strlen($options3_ordered)) $options_ordered .= "\n$options3_ordered"; if (strlen($options_ordered) > 0) { $pdf->SetFont($document_font,"",8); $options = str_replace("\n",", ",trim($options_ordered)); $pdf->SetXY($item_col + 5,$curr_row); $pdf->Cell(80,$incr,"($options)",'0',1,'L',false,'',1); $curr_row += $incr; $pdf->SetFont($document_font,"",9); } } } if ($menu_total > 0) { $pdf->SetFont($document_font,"B",9); $pdf->SetXY($total_col,$curr_row - $incr); $pdf->Cell($total_width,$incr,$currencySymbol . number_format($menu_total,2),'1',1,'R'); $pdf->SetFont($document_font,"",9); } // If no items were ordered if ($item_count == 0) { if ($menu_count > 0) { $pdf->SetXY($item_col,$curr_row); $pdf->Cell(80,$incr,"--- " . getLanguageText('TEXT-NO-ITEMS-ORDERED') . " ---",'0',1,'L'); } $curr_row += $incr; } if ($menu_count > 0) $curr_row += 1; } $curr_row += 1; if (($curr_row + $incr * 4) > $max_rows) { $pdf->addPage(); $page++; $curr_row = $start_row; $pdf->SetFont($document_font,"B",10); $pdf->SetXY($title_col,$curr_row); $pdf->Cell(80,$incr + 1,$name,'0',1,'L',false,'',1); if (isset($teacher_info)) { $pdf->SetXY($qty_col,$curr_row); $pdf->Cell(64,$incr + 1,"Page :: $page",'0',1,'R'); } $curr_row += $incr; $pdf->SetXY($title_col,$curr_row); $pdf->Cell(80,$incr + 1,$schedule['schedule_name'],'0',1,'L',false,'',1); $curr_row += $incr + 2; } // Print order total line if ($order_total > 0) { $pdf->SetXY($title_col,$curr_row); $pdf->Cell(170,$incr," ",'0',1,'R',true); $pdf->SetFont($document_font,"B",9); $pdf->SetXY($extended_col - 60,$curr_row); $pdf->Cell(50,$incr,"ORDER TOTAL ::",'0',1,'R',true); $pdf->SetXY($extended_col,$curr_row); $pdf->Cell($extended_width,$incr,$currencySymbol . number_format($order_total,2),'0',1,'R',true); $curr_row += $incr + 1; if ($order_header['discount_amount'] != 0) { $pdf->SetXY($title_col,$curr_row); $pdf->Cell(170,$incr," ",'0',1,'R',true); $pdf->SetFont($document_font,"B",9); $pdf->SetXY($extended_col - 60,$curr_row); $pdf->Cell(50,$incr,"DISCOUNT ::",'0',1,'R',true); $pdf->SetXY($extended_col,$curr_row); $pdf->Cell($extended_width,$incr,$currencySymbol . number_format($order_header['discount_amount'],2),'0',1,'R',true); $curr_row += $incr + 1; $pdf->SetXY($title_col,$curr_row); $pdf->Cell(170,$incr," ",'0',1,'R',true); $pdf->SetFont($document_font,"B",9); $pdf->SetXY($extended_col - 60,$curr_row); $pdf->Cell(50,$incr,"NET TOTAL ::",'0',1,'R',true); $pdf->SetXY($extended_col,$curr_row); $pdf->Cell($extended_width,$incr,$currencySymbol . number_format($order_header['order_total'],2),'0',1,'R',true); $curr_row += $incr + 1; } // Calculate taxes on the order if ($schedule['tax_rate'] > 0) { $tax_amount = $order_header['order_total'] * $schedule['tax_rate'] / 100; $grand_total = $order_header['order_total'] + $tax_amount; $pdf->SetXY($title_col,$curr_row); $pdf->Cell(170,$incr," ",'0',1,'R',true); $pdf->SetFont($document_font,"B",9); $pdf->SetXY($extended_col - 60,$curr_row); $pdf->Cell(50,$incr,$schedule['tax_description'] . " ::",'0',1,'R',true,'',1); $pdf->SetXY($extended_col,$curr_row); $pdf->Cell($extended_width,$incr,$currencySymbol . number_format($tax_amount,2),'0',1,'R',true); $curr_row += $incr + 1; $pdf->SetXY($title_col,$curr_row); $pdf->Cell(170,$incr," ",'0',1,'R',true); $pdf->SetFont($document_font,"B",9); $pdf->SetXY($extended_col - 60,$curr_row); $pdf->Cell(50,$incr,"TOTAL ::",'0',1,'R',true); $pdf->SetXY($extended_col,$curr_row); $pdf->Cell($extended_width,$incr,$currencySymbol . number_format($grand_total,2),'0',1,'R',true); $curr_row += $incr + 1; } } ?>