First Commit
This commit is contained in:
1 parent
5eb9dd037d
commit
2e62c0e60b
11877 files changed
+2035312
No files matched your search
@@ -0,0 +1,186 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
require_once("include/globals.php");
|
||||
|
||||
$moduleName = "ajax.Menu.Generate.php";
|
||||
// if ($_SESSION['UserInfo']['type'] == 'SuperUser') startLog($moduleName);
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active",$moduleName);
|
||||
exit();
|
||||
}
|
||||
|
||||
// Set userType
|
||||
$userType = "Parent";
|
||||
if (array_key_exists('type', $_SESSION['UserInfo']) && in_array($_SESSION['UserInfo']['type'],$AllAdminUserTypes)) $userType = "Admin";
|
||||
if ($userType != 'Admin') logExit('Invalid access');
|
||||
|
||||
|
||||
// Set default timezone
|
||||
date_default_timezone_set("Canada/Pacific");
|
||||
$now = date("Y-m-d H:i:s",time());
|
||||
|
||||
$return_data = array();
|
||||
|
||||
|
||||
// Get parameters
|
||||
if (array_key_exists('schedule_num', $_GET)) $schedule_num = intval($_GET['schedule_num']);
|
||||
if (array_key_exists('menu_num', $_GET)) $menu_num = intval($_GET['menu_num']);
|
||||
if (array_key_exists('supplier_num', $_GET)) $supplier_num = intval($_GET['supplier_num']);
|
||||
if (array_key_exists('supplier_products', $_GET)) $supplier_products = $_GET['supplier_products'];
|
||||
if (array_key_exists('selected_menu_dates', $_GET)) $menu_dates = $_GET['selected_menu_dates'];
|
||||
|
||||
if (!isset($schedule_num)) logExit("Schedule Num is not set");
|
||||
if (!isset($menu_num)) logExit("Menu Num is not set");
|
||||
if (!isset($supplier_num)) logExit("Supplier Num is not set");
|
||||
if (!isset($supplier_products)) logExit("Supplier Products is not set");
|
||||
|
||||
writeLog("schedule_num: $schedule_num");
|
||||
// writeLog("menu_num: $menu_num");
|
||||
writeLog("supplier_num: $supplier_num");
|
||||
writeLog("supplier_products: ".print_r($supplier_products,true));
|
||||
writeLog("school_num: $school_num");
|
||||
writeLog("supplier_school_num: $supplier_school_num");
|
||||
// writeLog("menu_dates: ".print_r($menu_dates,true));
|
||||
|
||||
|
||||
if (!is_array($supplier_products) || count($supplier_products) == 0) {
|
||||
$return_data['error_message'] = getLanguageText('ERRORMSG-NO-PRODUCTS-SELECTED');
|
||||
$return_data['ajax_return_code'] = -1;
|
||||
echo(json_encode($return_data));
|
||||
logExit($error_message);
|
||||
exit();
|
||||
}
|
||||
|
||||
|
||||
// Check for linked menus
|
||||
if (isset($menu_dates)) $currentMenus = $menu_dates;
|
||||
writeLog("currentMenus: ".print_r($currentMenus, true));
|
||||
$cMenus = implode(",",$currentMenus);
|
||||
$query = "SELECT record_num FROM hotlunch_menu_dates " .
|
||||
"WHERE school_num = $school_num " .
|
||||
"AND schedule_num = $schedule_num " .
|
||||
"AND source_menu = $menu_num " .
|
||||
"AND menu_link != 'No' " .
|
||||
"AND record_num NOT IN ($cMenus)";
|
||||
$linked = db_query($query);
|
||||
while ($row = db_fetch_assoc($linked)) {
|
||||
$currentMenus[] = $row['record_num'];
|
||||
}
|
||||
|
||||
|
||||
// Get selected products data
|
||||
$pwhere = "";
|
||||
$pwhere = "and record_num IN (" . implode(",",$supplier_products) . ") ";
|
||||
writeLog("pwhere: $pwhere");
|
||||
|
||||
$query = "SELECT * FROM supplier_products " .
|
||||
"WHERE school_num = $supplier_school_num " .
|
||||
"AND supplier_num = $supplier_num " .
|
||||
"AND status = 'Active' " .
|
||||
$pwhere .
|
||||
"ORDER BY sequence,product_name";
|
||||
writeLog($query);
|
||||
$products = db_query($query);
|
||||
$num_products = db_num_rows($products);
|
||||
writeLog("num_products: $num_products");
|
||||
|
||||
$sequence = db_getVal("SELECT max(sequence) FROM hotlunch_menu_items WHERE school_num = $school_num AND menu_num = $menu_num");
|
||||
|
||||
if ($num_products > 0) {
|
||||
$hotlunch_menu_items = new Table("hotlunch_menu_items");
|
||||
$count = 0;
|
||||
while ($product = db_fetch_array($products)) {
|
||||
$menu_item = array();
|
||||
$menu_item = initializeTableArray("hotlunch_menu_items");
|
||||
|
||||
$sequence++;
|
||||
|
||||
// Initialize common values
|
||||
$menu_item['school_num'] = $school_num;
|
||||
$menu_item['menu_num'] = $menu_num;
|
||||
$menu_item['source_item'] = 0;
|
||||
$menu_item['current_source_item'] = 0;
|
||||
$menu_item['comment'] = "";
|
||||
$menu_item['warn_quantity'] = 0;
|
||||
$menu_item['sequence'] = $sequence;
|
||||
|
||||
$menu_item['item_title'] = $product['product_name'];
|
||||
$menu_item['item_description'] = $product['product_description'];
|
||||
$menu_item['label_title'] = $product['label_name'];
|
||||
$menu_item['online_price'] = $product['standard_online_price'];
|
||||
$menu_item['offline_price'] = $product['standard_offline_price'];
|
||||
$menu_item['special_price1'] = $product['special_price1'];
|
||||
$menu_item['special_price2'] = $product['special_price2'];
|
||||
$menu_item['special_price3'] = $product['special_price3'];
|
||||
$menu_item['number_of_alternate_prices'] = $product['number_of_alternate_prices'];
|
||||
$menu_item['alternate_price1'] = $product['alternate_price1'];
|
||||
$menu_item['alternate_price2'] = $product['alternate_price2'];
|
||||
$menu_item['alternate_price3'] = $product['alternate_price3'];
|
||||
$menu_item['alternate_price4'] = $product['alternate_price4'];
|
||||
$menu_item['alternate_price5'] = $product['alternate_price5'];
|
||||
$menu_item['alternate_price6'] = $product['alternate_price6'];
|
||||
$menu_item['alternate_price7'] = $product['alternate_price7'];
|
||||
$menu_item['alternate_price8'] = $product['alternate_price8'];
|
||||
$menu_item['alternate_price9'] = $product['alternate_price9'];
|
||||
$menu_item['alternate_price10'] = $product['alternate_price10'];
|
||||
$menu_item['taxable_item'] = $product['taxable_product'];
|
||||
$menu_item['bc_guideline_rating'] = $product['bc_guideline_rating'];
|
||||
$menu_item['quantity_available'] = 0;
|
||||
$menu_item['max_quantity'] = 0;
|
||||
$menu_item['options_title'] = $product['options_title'];
|
||||
$menu_item['options'] = $product['product_options'];
|
||||
$menu_item['default_options'] = $product['default_options'];
|
||||
$menu_item['max_options'] = $product['max_options'];
|
||||
$menu_item['min_options'] = $product['min_options'];
|
||||
$menu_item['options2_title'] = $product['options2_title'];
|
||||
$menu_item['options2'] = $product['product_options2'];
|
||||
$menu_item['default_options2'] = $product['default_options2'];
|
||||
$menu_item['max_options2'] = $product['max_options2'];
|
||||
$menu_item['min_options2'] = $product['min_options2'];
|
||||
$menu_item['options3_title'] = $product['options3_title'];
|
||||
$menu_item['options3'] = $product['product_options3'];
|
||||
$menu_item['default_options3'] = $product['default_options3'];
|
||||
$menu_item['max_options3'] = $product['max_options3'];
|
||||
$menu_item['min_options3'] = $product['min_options3'];
|
||||
$menu_item['nutritional_info'] = $product['nutritional_info'];
|
||||
$menu_item['item_message'] = $product['item_message'];
|
||||
$menu_item['hot_cold_food'] = $product['hot_cold_food'];
|
||||
$menu_item['image'] = $product['image'];
|
||||
$menu_item['item_type'] = 'Item';
|
||||
$menu_item['menu_item_format'] = 'D';
|
||||
$menu_item['active'] = 'Y';
|
||||
$menu_item['display_price'] = 'Y';
|
||||
|
||||
$menu_item['product_type'] = $product['product_type'];
|
||||
|
||||
$menu_item['quantity_available'] = 0;
|
||||
$menu_item['max_quantity'] = 0;
|
||||
|
||||
// Process each menu date
|
||||
for ($i = 0; $i < count($currentMenus); $i++) {
|
||||
$menu_num = $currentMenus[$i];
|
||||
$menu_item['menu_num'] = $menu_num;
|
||||
|
||||
$query = $hotlunch_menu_items->BuildInsert($menu_item);
|
||||
writeLog($query);
|
||||
db_query($query);
|
||||
|
||||
$menu_item_num = db_insert_id();
|
||||
|
||||
// Create the menu item product entry
|
||||
$product_num = $product['record_num'];
|
||||
$query = "INSERT INTO hotlunch_menu_products VALUES ($school_num,$menu_item_num,1,$product_num,1)";
|
||||
writeLog($query);
|
||||
db_query($query);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$return_data['ajax_message'] = sprintf(getLanguageText('MSG-MENU-GENERATED'), $num_products);;
|
||||
echo(json_encode($return_data));
|
||||
writeLog("completed\n");
|
||||
Reference in new issue
Block a user