149 lines
6.1 KiB
PHP
149 lines
6.1 KiB
PHP
<?php
|
|
$BASEDIR = "/m/data1/app.hotlunches.net";
|
|
chdir($BASEDIR);
|
|
|
|
include "db.php";
|
|
include "include/school-functions.php";
|
|
include "include/queuemail.php";
|
|
|
|
$mode = "log-only";
|
|
$mode = "";
|
|
|
|
|
|
// Get text for email message
|
|
$orderNum = getLanguageText('TEXT-ORDER-NUMBER');
|
|
$orderedFor = getLanguageText('TEXT-ORDERED-FOR');
|
|
$scheduleTitle = getLanguageText('TEXT-SCHEDULE-TITLE');
|
|
$orderTotal = getLanguageText('TEXT-ORDER-TOTAL');
|
|
$orderDate = getLanguageText('TEXT-ORDER-DATE');
|
|
|
|
// Get set of schools to process
|
|
$query = "SELECT * FROM schools WHERE status IN ('Active','Linked') AND delete_inactive_orders_hours > 0 ORDER BY school_name";
|
|
$schools = db_query($query);
|
|
|
|
$time = time();
|
|
$cutoff_time = $time - 60 * 60 * 24 * 60;
|
|
$deleted_datetime = date("Y-m-d H:i:s",$time);
|
|
|
|
$deleteLog = "$deleted_datetime\n";
|
|
|
|
// Process each school
|
|
while ($row = db_fetch_assoc($schools)) {
|
|
extract($row);
|
|
$GLOBALS['school_record'] = $row;
|
|
$school_num = $record_num;
|
|
|
|
$base_school_num = $school_num;
|
|
$base_school_record = $row;
|
|
if ($status == 'Linked') {
|
|
$base_school_num = $linked_site;
|
|
$results = db_query("SELECT * FROM schools WHERE record_num = $base_school_num");
|
|
$base_school_record = db_fetch_array($results);
|
|
}
|
|
|
|
$emailFrom = setReplyAddress($support_email);
|
|
$fromName = $school_name . " - " . getLanguageText('TEXT-ORDER-DELETED');
|
|
$emailSubject = $delete_inactive_orders_email_subject;
|
|
$emailMessage = $delete_inactive_orders_email;
|
|
|
|
date_default_timezone_set($timezone);
|
|
$deleteLog .= "\n$delete_inactive_orders_hours - $school_name ($timezone)\n";
|
|
|
|
if (strlen($emailSubject) == 0) $emailSubject = getLanguageText('TEXT-ORDERS-DELETED-SUBJECT');
|
|
if (strlen($emailMessage) == 0) $emailMessage = getLanguageText('TEXT-ORDERS-DELETED-EMAIL');
|
|
|
|
$delete_time = $time - 60 * 60 * $delete_inactive_orders_hours;
|
|
|
|
// Get set of orders to delete
|
|
$query = "SELECT * FROM hotlunch_order_header WHERE school_num = $school_num AND status = 'Inactive' AND added_time BETWEEN $cutoff_time AND $delete_time";
|
|
$orders = db_query($query);
|
|
|
|
if (db_num_rows($orders)) {
|
|
$now = date($date_format.' '.$time_format,$time);
|
|
$msgLog = "$school_name\nOrders Deleted @ $now:\n";
|
|
$msgLog .= " - Delete Time: " . date("Y-m-d H:i",$delete_time) . "\n";
|
|
if ($mode == 'log-only') $msgLog .= " - $query\n";
|
|
|
|
// Process each order
|
|
while ($order = db_fetch_assoc($orders)) {
|
|
$order_num = $order['record_num'];
|
|
$ordered_by_num = $order['ordered_by_num'];
|
|
$schedule_num = $order['schedule_num'];
|
|
$added_time = $order['added_time'];
|
|
$order_total = $currency_symbol . $order['order_total'];
|
|
|
|
$added_datetime = date($date_format.' '.$time_format,$added_time);
|
|
|
|
$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'];
|
|
$status = $row['status'];
|
|
if ($status != 'Active') continue;
|
|
|
|
$results = db_query("SELECT * FROM people WHERE school_num = $base_school_num AND record_num = $ordered_by_num");
|
|
$row = db_fetch_assoc($results);
|
|
$ordered_by = $row['first_name'] . ' ' . $row['last_name'];
|
|
$user_num = $row['user_num'];
|
|
|
|
if ($user_num > 0) {
|
|
$results = db_query("SELECT * FROM users WHERE school_num = $base_school_num AND record_num = $user_num");
|
|
$row = db_fetch_assoc($results);
|
|
$emailTo = $row['email'];
|
|
$emailRecipient = $row['first_name'] . ' ' . $row['last_name'];
|
|
$emailMessage = $delete_inactive_orders_email . "\n\n";
|
|
|
|
$emailMessage .= sprintf("%30s: %s\n",$orderNum, "#$order_num") .
|
|
sprintf("%30s: %s\n",$orderedFor, $ordered_by) .
|
|
sprintf("%30s: %s\n",$scheduleTitle, $schedule_name) .
|
|
sprintf("%30s: %s\n",$orderTotal, $order_total) .
|
|
sprintf("%30s: %s\n",$orderDate, $added_datetime);
|
|
|
|
if ($mode != 'log-only') QueueEmail($emailTo, $emailFrom, $emailSubject, $emailMessage, $fromName, $emailRecipient);
|
|
|
|
$added = date("Y-m-d H:i",$added_time);
|
|
|
|
$msgLog .= sprintf(" %12s %10s - %s - %s (%s)\n","#$order_num:", $order_total, $schedule_name, $ordered_by, $added_datetime);
|
|
|
|
// Update order to deleted status
|
|
if ($mode != 'log-only') {
|
|
logOrderChange($order_num, "INACTIVE ORDER AUTOMATICALLY DELETED", "delete-orders.php");
|
|
db_query("DELETE FROM hotlunch_order_header WHERE school_num = $school_num AND record_num = $order_num");
|
|
db_query("DELETE FROM hotlunch_order_items WHERE school_num = $school_num AND order_num = $order_num");
|
|
|
|
// Update user account to delete line items
|
|
db_query("DELETE FROM user_account " .
|
|
"WHERE school_num = $school_num " .
|
|
"AND user_num = $user_num " .
|
|
"AND order_num = $order_num");
|
|
|
|
$GLOBALS['school_num'] = $school_num;
|
|
calcMultiOrderDiscounts($user_num,$schedule_num,$school_num);
|
|
}
|
|
}
|
|
}
|
|
|
|
$emailTo = $emailFrom;
|
|
$emailRecipient = $fromName;
|
|
$emailSubject = $school_name . ' - ' . getLanguageText('TEXT-ORDERS-DELETED');
|
|
$emailFrom = "support@hotlunches.net";
|
|
$fromName = getLanguageText('TEXT-ORDERS-DELETED');
|
|
$emailMessage = $msgLog;
|
|
if ($mode != 'log-only') QueueEmail($emailTo, $emailFrom, $emailSubject, $emailMessage, $fromName);
|
|
|
|
$emailTo = "support@hotlunches.net";
|
|
if ($mode != 'log-only') QueueEmail($emailTo, $emailFrom, $emailSubject, $emailMessage, $fromName);
|
|
|
|
$deleteLog .= $msgLog;
|
|
}
|
|
}
|
|
|
|
$emailTo = "support@hotlunches.net";
|
|
$emailRecipient = "Support";
|
|
$emailFrom = "support@hotlunches.net";
|
|
$fromName = "Support";
|
|
$emailSubject = getLanguageText('TEXT-ORDERS-DELETED');
|
|
$emailMessage = $deleteLog;
|
|
QueueEmail($emailTo, $emailFrom, $emailSubject, $emailMessage, $fromName);
|
|
|
|
?>
|