First Commit
This commit is contained in:
1 parent
5eb9dd037d
commit
2e62c0e60b
11877 files changed
+2035312
No files matched your search
@@ -0,0 +1,244 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
|
||||
require_once("include/globals.php");
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
header("Location: /");
|
||||
exit();
|
||||
}
|
||||
|
||||
// startLog("hotlunch_menu_items_details.csv.php");
|
||||
|
||||
$action = "menu-details";
|
||||
|
||||
// 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) {
|
||||
header("Location: /?action=$action&error_code=NOACCESS");
|
||||
return;
|
||||
}
|
||||
|
||||
// if ($_SESSION['UserInfo']['type'] == 'SuperUser') startLog("hotlunch_menu_items_details.csv.php");
|
||||
|
||||
|
||||
|
||||
// Get parameters
|
||||
$mode = 'All';
|
||||
if (array_key_exists('schedule_num',$_REQUEST)) $schedule_num = intval($_REQUEST['schedule_num']);
|
||||
if (array_key_exists('menu_num',$_REQUEST)) $selected_menu_num = intval($_REQUEST['menu_num']);
|
||||
if (array_key_exists('mode',$_REQUEST)) $mode = db_escape_string($_REQUEST['mode']);
|
||||
|
||||
|
||||
writeLog("schedule_num: $schedule_num");
|
||||
writeLog("selected_menu_num: $selected_menu_num");
|
||||
|
||||
|
||||
if (!isset($schedule_num)) {
|
||||
$action = "";
|
||||
header("Location: /?action=$action&error_code=NOSCHED");
|
||||
exit();
|
||||
}
|
||||
|
||||
if (!isset($selected_menu_num)) {
|
||||
$action = "";
|
||||
header("Location: /?action=$action&error_code=NOMENUS");
|
||||
exit();
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Check if this is a valid schedule
|
||||
$swhere = "";
|
||||
if ($_SESSION['UserInfo']['type'] == 'Supplier') $swhere = " and supplier_num = " . $_SESSION['UserInfo']['supplier_num'];
|
||||
$query = "select * from hotlunch_schedules " .
|
||||
"where record_num = $schedule_num " .
|
||||
"and school_num = $school_num $swhere";
|
||||
$results = db_query($query);
|
||||
|
||||
if (db_num_rows($results) == 0) {
|
||||
header("Location: /?action=$action&error_code=INVALIDSCHED");
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$document_name = "menu-items-details-spreadsheet.csv";
|
||||
$selectedMenuDates = array();
|
||||
|
||||
if ($selected_menu_num == 0) {
|
||||
$query = "SELECT record_num FROM hotlunch_menu_dates WHERE school_num = $school_num AND schedule_num = $schedule_num ORDER BY sequence";
|
||||
$results = db_query($query);
|
||||
while ($row = db_fetch_assoc($results)) {
|
||||
$selectedMenuDates[] = $row['record_num'];
|
||||
}
|
||||
$document_name = "schedule-items-details-spreadsheet.csv";
|
||||
}
|
||||
else {
|
||||
$selectedMenuDates[] = $selected_menu_num;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Initialize the spreadsheet document type
|
||||
header('Pragma: public');
|
||||
header('Expires: 0');
|
||||
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
|
||||
header('Cache-Control: private',false);
|
||||
header("Content-type: application/octet-stream; charset=utf-8");
|
||||
header("Content-Disposition: attachment; filename=$document_name");
|
||||
header('Content-Transfer-Encoding: text');
|
||||
|
||||
echo("\xEF\xBB\xBF");
|
||||
|
||||
|
||||
echo($hotlunch_schedule['schedule_name']);
|
||||
echo("\n");
|
||||
echo("\n");
|
||||
|
||||
|
||||
|
||||
for ($m = 0; $m < count($selectedMenuDates); $m++) {
|
||||
$selected_menu_num = $selectedMenuDates[$m];
|
||||
|
||||
// Get menu date info
|
||||
$query = "SELECT * FROM hotlunch_menu_dates WHERE school_num = $school_num AND record_num = $selected_menu_num";
|
||||
writeLog($query);
|
||||
$results = db_query($query);
|
||||
$menu_date = db_fetch_assoc($results);
|
||||
writeLog($menu_date['menu_title']);
|
||||
|
||||
|
||||
|
||||
// Get set of menu items for this date
|
||||
$query = "SELECT * " .
|
||||
"FROM hotlunch_menu_items " .
|
||||
"WHERE school_num = $school_num " .
|
||||
"AND menu_num = $selected_menu_num " .
|
||||
"ORDER BY sequence";
|
||||
writeLog($query);
|
||||
$results = db_query($query);
|
||||
|
||||
if (db_num_rows($results) == 0) continue;
|
||||
|
||||
$menu_items = array();
|
||||
$count = 0;
|
||||
while ($row = db_fetch_array($results)) {
|
||||
extract($row);
|
||||
if ($item_type == 'Heading') continue;
|
||||
else {
|
||||
|
||||
$entry = array();
|
||||
$entry['item_num'] = $record_num;
|
||||
$entry['item_title'] = $item_title;
|
||||
$entry['label_title'] = $label_title;
|
||||
$entry['oprice'] = $online_price;
|
||||
$entry['pprice'] = $offline_price;
|
||||
$entry['price1'] = $special_price1;
|
||||
$entry['price2'] = $special_price2;
|
||||
$entry['price3'] = $special_price3;
|
||||
|
||||
$menu_items[] = $entry;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Output the menu title and dates
|
||||
//
|
||||
echo($menu_date['menu_title']);
|
||||
echo("\n");
|
||||
|
||||
echo($menu_date['menu_date']);
|
||||
echo("\n");
|
||||
echo("\n");
|
||||
|
||||
|
||||
//
|
||||
// Output the menu items titles
|
||||
//
|
||||
for ($i = 0; $i < count($menu_items); $i++) {
|
||||
$entry = $menu_items[$i];
|
||||
|
||||
$item_num = $entry['item_num'];
|
||||
$title = $entry['item_title'];
|
||||
if (strlen($entry['label_title'])) $title = $entry['label_title'];
|
||||
|
||||
$pwhere = "";
|
||||
if ($mode == 'Variations') $pwhere = "AND menu_item_price != ".$entry['oprice']." ";
|
||||
|
||||
$query = "SELECT first_name, last_name, people_type, menu_item_price, extended_price, qty " .
|
||||
"FROM people, hotlunch_order_items " .
|
||||
"WHERE people.school_num = $school_num " .
|
||||
"AND hotlunch_order_items.school_num = $school_num " .
|
||||
"AND hotlunch_order_items.ordered_by_num = people.record_num " .
|
||||
"AND hotlunch_order_items.menu_item_num = $item_num " .
|
||||
$pwhere .
|
||||
"ORDER BY people_type, last_name, first_name";
|
||||
$results = db_query($query);
|
||||
|
||||
echo($title.',,,');
|
||||
|
||||
if (db_num_rows($results)) {
|
||||
echo(getLanguageText('TEXT-QUANTITY').',');
|
||||
echo(getLanguageText('TEXT-PAID').',');
|
||||
echo(getLanguageText('TEXT-ON-LINE-PRICE').',');
|
||||
echo(getLanguageText('TEXT-EXTENDED-PRICE').',');
|
||||
echo(getLanguageText('TEXT-DIFFERENCE').',');
|
||||
echo("\n");
|
||||
|
||||
$diff_total = 0;
|
||||
$extended_total = 0;
|
||||
|
||||
while ($row = db_fetch_assoc($results)) {
|
||||
extract($row);
|
||||
echo($first_name.',');
|
||||
echo($last_name.',');
|
||||
echo($people_type.',');
|
||||
echo($qty.',');
|
||||
echo('$'.$menu_item_price.',');
|
||||
echo('$'.$entry['oprice'].',');
|
||||
echo('$'.$extended_price.',');
|
||||
if ($menu_item_price != $entry['oprice']) {
|
||||
$diff = $qty * ($entry['oprice'] - $menu_item_price);
|
||||
$diff_total += $diff;
|
||||
echo('$'.number_format($diff,2).',');
|
||||
echo("***".',');
|
||||
}
|
||||
$extended_total += $extended_price;
|
||||
echo("\n");
|
||||
}
|
||||
|
||||
echo(",,,,,,".getLanguageText('TEXT-DIFFERENCE').','.'$'.number_format($diff_total,2));
|
||||
echo("\n");
|
||||
}
|
||||
else {
|
||||
echo("\n");
|
||||
echo('*** '.getLanguageText('TEXT-NO-ORDER-FOR-STUDENT'));
|
||||
echo("\n");
|
||||
}
|
||||
|
||||
echo("\n");
|
||||
}
|
||||
echo("\n");
|
||||
echo("\n");
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
Reference in new issue
Block a user