Files
HotLunches/payment-messages.php
T
2026-10-19 15:22:52 -07:00

185 lines
7.3 KiB
PHP

<?php
// Switch to correct dir
chdir("/m/data1/app.hotlunches.net");
include "db.php";
include "include/functions.php";
include "include/school-functions.php";
include "include/queuemail.php";
$db_uname = "mark";
$db_pass = "hugger1";
// Currently setup for HSS and school Fees
$Schools = array(
array("school_num" => 18529,
"schedule_num" => 32211,
"menu_items" => "11929618")
);
for ($s = 0; $s < count($Schools); $s++) {
$entry = $Schools[$s];
extract($entry);
// Get school info
db_close($_DB);
$_DB = mysql_connect("localhost",$db_uname,$db_pass);
db_query("use hotlunch");
$results = db_query("SELECT * FROM schools WHERE record_num = $school_num");
$school_record = db_fetch_assoc($results);
$school_name = $school_record['school_name'];
$currLanguage = $school_record['default_language'];
$locker_school = intval($school_record['locker_school']);
// echo("$school_name\n");
if ($locker_school == 0) {
$emailMsg = "Locker School Number Error: $school_name\n";
$email_to = "info@schoolappointments.com";
$email_from = "notifications@payschoolfees.net";
$email_subject = "Locker School Number Error";
$email_from_name = $school_name;
$email_to_name = "";
QueueEmail($email_to, $email_from, $email_subject, $emailMsg, $email_from_name, $email_to_name);
continue;
}
$now = time();
$indent = " ";
// Message to be sent
$baseMsg = trim(db_getVal("SELECT text_data FROM text_data WHERE school_num = $school_num AND data_code = 'Locker Email'"));
$query = "SELECT ordered_by_num,paid_date,payment_method,record_num AS order_num FROM hotlunch_order_header WHERE school_num = $school_num AND schedule_num = $schedule_num AND status = 'Paid'";
$orders = db_query($query);
if (db_num_rows($orders)) {
$count = 0;
while ($row = db_fetch_assoc($orders)) {
extract($row);
$results = db_query("SELECT * FROM people WHERE school_num = $base_school_num AND record_num = $ordered_by_num");
$row = db_fetch_assoc($results);
$student_name = $row['first_name'].' '.$row['last_name'];
// Check if an entry exists in the payment_message_queue already
$results = db_query("SELECT * FROM payment_message_queue WHERE school_num = $school_num AND schedule_num = $schedule_num AND ordered_by_num = $ordered_by_num AND sent_flag = 'Y'");
if (db_num_rows($results)) {
$numFlags = db_getVal("SELECT count(*) FROM payment_message_queue WHERE school_num = $school_num AND schedule_num = $schedule_num AND ordered_by_num = $ordered_by_num AND sent_flag = 'N'");
if ($numFlags == 0) continue;
}
// Check that items were paid for
$results = db_query("SELECT * FROM hotlunch_order_items WHERE school_num = $school_num AND schedule_num = $schedule_num AND order_num = $order_num AND menu_item_num IN ($menu_items)");
if (db_num_rows($results) == 0) continue;
// Get student info
$query = "SELECT * FROM people WHERE school_num = $base_school_num AND record_num = $ordered_by_num";
$results = db_query($query);
$person = db_fetch_assoc($results);
extract($person);
if (strlen($student_number) == 0) {
// echo("$first_name $last_name - Error: missing student number\n");
continue;
}
// Get parent info
$query = "SELECT * FROM users WHERE school_num = $base_school_num AND record_num = $user_num";
$results = db_query($query);
$user = db_fetch_assoc($results);
if (strlen($user['email']) == 0 || !str_match('@',$user['email'])) {
// echo("$count $first_name $last_name $student_number - " . $user['first_name'] . ' ' . $user['last_name'] . " --- NO EMAIL ADDRESS --\n");
continue;
}
$emailMsg = $baseMsg;
$lockerMsg = "";
// Get locker access information
db_close($_DB);
$_DB = mysql_connect("web3-db",$db_uname,$db_pass);
db_query("use locker_assignment");
$results = db_query("SELECT * FROM users WHERE school_num = $locker_school AND student_number = '$student_number'");
if (db_num_rows($results) == 0) {
db_close($_DB);
$_DB = mysql_connect("localhost",$db_uname,$db_pass);
db_query("use hotlunch");
continue;
}
$row = db_fetch_assoc($results);
$locker_userid = $row['userid'];
$locker_password = $row['password'];
$locker_user_num = $row['record_num'];
$lockerMsg .= $indent . getLanguageText('TEXT-NAME') . ": $student_name\n";
$lockerMsg .= $indent . getLanguageText('TEXT-USER-ID') . ": $locker_userid\n";
$lockerMsg .= $indent . getLanguageText('TEXT-PASSWORD') . ": $locker_password\n";
// Check for locker assignments
$results = db_query("SELECT * FROM locker_assignments WHERE school_num = $locker_school AND user_num = $locker_user_num");
if (db_num_rows($results)) {
$row = db_fetch_assoc($results);
$locker_num = $row['locker_num'];
// Get locker info
$query = "SELECT l.*,lz.zone,lz.description FROM lockers AS l, locker_zones AS lz " .
"WHERE l.school_num = $locker_school " .
"AND l.record_num = $locker_num " .
"AND lz.school_num = $locker_school " .
"AND lz.record_num = l.zone_num";
$row = db_fetch_assoc($results);
$lnum = $row['locker_number'];
$zone = $row['zone'];
if (strlen($row['description'])) $zone .= " - " . $row['description'];
$lockerMsg .= $indent . getLanguageText('TEXT-LOCKER-NUMBER') . ": $lnum\n";
$lockerMsg .= $indent . getLanguageText('TEXT-ZONE') . ": $zone\n";
}
$emailMsg = str_replace("{LOCKER-CONTENT}",$lockerMsg,$emailMsg);
$emailMsg = str_replace("LOCKER-CONTENT",$lockerMsg,$emailMsg);
db_close($_DB);
$_DB = mysql_connect("localhost",$db_uname,$db_pass);
db_query("use hotlunch");
$count++;
echo("$count $first_name $last_name $student_number - " . $user['first_name'] . ' ' . $user['last_name'] . ' ' . $user['email'] . "\n");
// Queue the message for sending
$email_to = $user['email'];
$email_from = "notifications@payschoolfees.net";
$email_subject = getLanguageText('TEXT-THANK-YOU-FOR-PAYMENT');
$email_from_name = $school_name;
$email_to_name = $user['first_name'] . ' ' . $user['last_name'];
QueueEmail($email_to, $email_from, $email_subject, $emailMsg, $email_from_name, $email_to_name);
// $email_to = "mark@fester.ca";
// QueueEmail($email_to, $email_from, $email_subject, $emailMsg, $email_from_name, $email_to_name);
// Save the entry in the payment_message_queue table
$query = "INSERT INTO payment_message_queue (school_num,schedule_num,ordered_by_num,email_recipient,sent_flag,sent_time) VALUES($school_num,$schedule_num,$ordered_by_num,'$email_to','Y',$now)";
db_query($query);
db_query("UPDATE payment_message_queue SET sent_flag = 'Y' WHERE school_num = $school_num AND email_recipient = '$email_to'");
}
}
}
?>