First Commit
This commit is contained in:
1 parent
5eb9dd037d
commit
2e62c0e60b
11877 files changed
+2035312
No files matched your search
@@ -0,0 +1,185 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
|
||||
// Set default timezone
|
||||
date_default_timezone_set("Canada/Pacific");
|
||||
$now = date("Y-m-d H:i:s",time());
|
||||
|
||||
$return_data = array();
|
||||
$sequence_flag = 'N';
|
||||
|
||||
$moduleName = "ajax.ApplyCredit.php";
|
||||
// startLog($moduleName);
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active\n");
|
||||
exit;
|
||||
}
|
||||
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
// Get parameters
|
||||
extract($_REQUEST);
|
||||
|
||||
|
||||
// Validate parameters
|
||||
|
||||
|
||||
// Ensure numeric parameters are numeric
|
||||
if (!is_numeric($payment_trx)) logExit("Payment TRX num is not numeric\n");
|
||||
if (!is_numeric($trx_num)) logExit("Charge TRX num is not numeric\n");
|
||||
if (!is_numeric($user_num)) logExit("User num is not numeric\n");
|
||||
$payment_trx = intval($payment_trx);
|
||||
$trx_num = intval($trx_num);
|
||||
$user_num = intval($user_num);
|
||||
|
||||
$school_num = $school_record['record_num'];
|
||||
|
||||
|
||||
// Error logging
|
||||
writeLog("payment_trx: $payment_trx\n");
|
||||
writeLog("trx_num: $trx_num\n");
|
||||
writeLog("user_num: $user_num\n");
|
||||
|
||||
|
||||
// Get unallocated payment entry
|
||||
$query = "SELECT * FROM user_account_detail " .
|
||||
"WHERE school_num = $school_num " .
|
||||
"AND user_num = $user_num " .
|
||||
"AND posted_to_transaction = 0 " .
|
||||
"AND posted_amount > 0 " .
|
||||
"AND deleted != 'Y' " .
|
||||
"AND transaction_num = $payment_trx " .
|
||||
"ORDER BY record_num LIMIT 0,1";
|
||||
writeLog("query: $query\n");
|
||||
$results = db_query($query);
|
||||
$row = db_fetch_assoc($results);
|
||||
$unallocated_amount = $row['posted_amount'];
|
||||
$unallocated_trx = $row['transaction_num'];
|
||||
$unallocated_rnum = $row['record_num'];
|
||||
writeLog("unallocated_amount: $unallocated_amount\n");
|
||||
writeLog("unallocated_trx: $unallocated_trx\n");
|
||||
writeLog("unallocated_rnum: $unallocated_rnum\n");
|
||||
|
||||
|
||||
// Get payment transaction
|
||||
$query = "SELECT * FROM user_account " .
|
||||
"WHERE school_num = $school_num " .
|
||||
"AND user_num = $user_num " .
|
||||
"AND record_num = $payment_trx";
|
||||
writeLog("query: $query\n");
|
||||
$results = db_query($query);
|
||||
$row = db_fetch_assoc($results);
|
||||
$transaction_type = $row['transaction_type'];
|
||||
$payment_method = $row['payment_method'];
|
||||
if ($transaction_type != 'Payment') $payment_method = $transaction_type;
|
||||
|
||||
|
||||
// Get the transaction to post to
|
||||
$query = "SELECT * FROM user_account " .
|
||||
"WHERE school_num = $school_num " .
|
||||
"AND user_num = $user_num " .
|
||||
"AND record_num = $trx_num";
|
||||
writeLog("query: $query\n");
|
||||
$results = db_query($query);
|
||||
$row = db_fetch_assoc($results);
|
||||
$transaction_amount = $row['transaction_amount'];
|
||||
$amount_paid = $row['amount_paid'];
|
||||
$transaction_type = $row['transaction_type'];
|
||||
$order_num = $row['order_num'];
|
||||
|
||||
$owing = $transaction_amount - $amount_paid;
|
||||
|
||||
writeLog("transaction_amount: $transaction_amount\n");
|
||||
writeLog("amount_paid: $amount_paid\n");
|
||||
writeLog("owing: $owing\n");
|
||||
|
||||
$now = time();
|
||||
|
||||
if ($owing > $unallocated_amount) {
|
||||
// Update existing detail transaction
|
||||
$query = "UPDATE user_account_detail " .
|
||||
"SET posted_to_transaction = $trx_num, " .
|
||||
"entered_time = $now " .
|
||||
"WHERE school_num = $school_num " .
|
||||
"AND record_num = $unallocated_rnum";
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
|
||||
// Update user account transaction
|
||||
$query = "UPDATE user_account " .
|
||||
"SET amount_paid = amount_paid + $unallocated_amount " .
|
||||
"WHERE school_num = $school_num " .
|
||||
"AND record_num = $trx_num";
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
|
||||
// Update order header
|
||||
if ($transaction_type == 'Order' && $order_num > 0) {
|
||||
$today = date("Y-m-d",$now);
|
||||
$query = "UPDATE hotlunch_order_header " .
|
||||
"SET paid_date = '$today', " .
|
||||
"payment_method = '$payment_method', " .
|
||||
"amount_paid = amount_paid + $unallocated_amount " .
|
||||
"WHERE school_num = $school_num " .
|
||||
"AND record_num = $order_num";
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
}
|
||||
|
||||
$return_data["account_balance"] = 0;
|
||||
}
|
||||
else {
|
||||
// Update existing detail transaction
|
||||
$query = "UPDATE user_account_detail " .
|
||||
"SET posted_to_transaction = $trx_num, " .
|
||||
"posted_amount = $owing, " .
|
||||
"entered_time = $now " .
|
||||
"WHERE school_num = $school_num " .
|
||||
"AND record_num = $unallocated_rnum";
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
|
||||
// Save remaining balance
|
||||
$balance = $unallocated_amount - $owing;
|
||||
$query = "INSERT INTO user_account_detail (school_num,user_num,transaction_num,posted_to_transaction,posted_amount,posted_schedule,entered_time,deleted) " .
|
||||
"VALUES ($school_num, $user_num, $trx_num, 0, $balance, 0, $now, 'N')";
|
||||
|
||||
// Close the transaction
|
||||
$query = "UPDATE user_account " .
|
||||
"SET amount_paid = amount_paid + $owing, " .
|
||||
"transaction_status = 'Closed' " .
|
||||
"WHERE school_num = $school_num " .
|
||||
"AND record_num = $trx_num";
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
|
||||
// Update order header
|
||||
if ($transaction_type == 'Order' && $order_num > 0) {
|
||||
$today = date("Y-m-d",$now);
|
||||
$query = "UPDATE hotlunch_order_header " .
|
||||
"SET paid_date = '$today', " .
|
||||
"payment_method = '$payment_method', " .
|
||||
"amount_paid = order_total, " .
|
||||
"status = 'Paid' " .
|
||||
"WHERE school_num = $school_num " .
|
||||
"AND record_num = $order_num";
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
}
|
||||
|
||||
$return_data["account_balance"] = $balance;
|
||||
}
|
||||
|
||||
writeLog("complete\n");
|
||||
echo(json_encode($return_data));
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,123 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
include_once("include/queuemail.php");
|
||||
|
||||
|
||||
// Set default timezone
|
||||
date_default_timezone_set($school_record['timezone']);
|
||||
$now = date("Y-m-d H:i:s",time());
|
||||
|
||||
$return_data = array();
|
||||
|
||||
$moduleName = "ajax.ChargeAccount.php";
|
||||
// startLog($moduleName);
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active\n");
|
||||
exit;
|
||||
}
|
||||
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
// Get parameters
|
||||
$user_num = $_GET['user_num'];
|
||||
$balance = $_GET['balance'];
|
||||
$school_num = $school_record['record_num'];
|
||||
|
||||
// Ensure parameters are valid
|
||||
|
||||
writeLog("school_num: $school_num\n");
|
||||
writeLog("user_num: $user_num\n");
|
||||
writeLog("balance: $balance\n");
|
||||
|
||||
|
||||
// Get account info
|
||||
$results = db_query("SELECT * FROM users WHERE school_num = $school_num AND record_num = $user_num");
|
||||
$user = db_fetch_assoc($results);
|
||||
$user_email = $user['email'];
|
||||
writeLog("user_email: $user_email\n");
|
||||
|
||||
|
||||
// Get students in account
|
||||
$results = db_query("SELECT * FROM people WHERE school_num = $school_num AND user_num = $user_num ORDER BY last_name,first_name");
|
||||
$students = "";
|
||||
while ($row = db_fetch_assoc($results)) {
|
||||
$name = $row['first_name'] . ' ' . $row['last_name'];
|
||||
if (strlen($students)) $students .= ", ";
|
||||
$students .= $name;
|
||||
}
|
||||
|
||||
|
||||
// Get set of Unpaid Orders
|
||||
$query = "SELECT hloh.* FROM hotlunch_order_header as hloh, people as p " .
|
||||
"WHERE hloh.school_num = $school_num " .
|
||||
"AND ordered_by_num = p.record_num " .
|
||||
"AND p.user_num = $user_num " .
|
||||
"AND hloh.status NOT IN ('Paid','Complimentary','Concession') " .
|
||||
"ORDER BY record_num";
|
||||
$orders = db_query($query);
|
||||
writeLog("orders found: " . db_num_rows($orders) . "\n");
|
||||
|
||||
$order_payments = "";
|
||||
$snum = 0;
|
||||
if (db_num_rows($orders) > 0) {
|
||||
while ($row = db_fetch_array($orders)) {
|
||||
$onum = $row['record_num'];
|
||||
$ototal = $row['order_total'];
|
||||
$opaid = $row['amount_paid'];
|
||||
$snum = $row['schedule_num'];
|
||||
$amt = number_format($ototal - $opaid,2);
|
||||
if (strlen($order_payments) > 0) $order_payments .= "|";
|
||||
$order_payments .= "{" . $onum . ":" . $amt . "}";
|
||||
|
||||
$query = "UPDATE hotlunch_order_header " .
|
||||
"SET amount_paid = order_total, " .
|
||||
"status = 'Paid', " .
|
||||
"paid_date = '$today', " .
|
||||
"payment_method = 'PayPal' " .
|
||||
"WHERE record_num = {$onum}";
|
||||
db_query($query);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Post payment to account
|
||||
$amount = $balance * -1;
|
||||
$entered_time = time();
|
||||
$trx_time = date("Y-m-d H:i:s",$entered_time);
|
||||
|
||||
$query = "INSERT INTO user_account " .
|
||||
"(school_num,user_num,schedule_num,transaction_datetime,transaction_type,note,transaction_amount,transaction_fee,payment_method,payment_reference,order_payments,deleted,entered_time) " .
|
||||
"VALUES ($school_num,$user_num,$snum,'$trx_time','Payment','School Account Charge',$amount,0,'School Account','','$order_payments','N',$entered_time)";
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
|
||||
|
||||
// Send school account email notification
|
||||
if (strlen($school_record['school_account_notification_email'])) {
|
||||
$emailRecipient = $school_record['school_name'];
|
||||
$emailTo = $school_record['school_account_notification_email'];
|
||||
$emailFrom = setReplyAddress($school_record['reply_email']);
|
||||
$emailReply = $school_record['school_name'];
|
||||
$emailSubject = $school_record['school_name'] . ": " . getLanguageText('TEXT-SCHOOL-ACCOUNT-CHARGE');
|
||||
|
||||
$emailMessage = getLanguageText('TEXT-USER-ID') . ": " . $user['userid'] . "\n" .
|
||||
getLanguageText('TEXT-NAME') . ": " . $user['first_name'] . ' ' . $user['last_name'] . "\n" .
|
||||
getLanguageText('TEXT-PHONE') . ": " . $user['home_phone'] . "\n" .
|
||||
getLanguageText('TEXT-EMAIL') . ": " . $user_email . "\n" .
|
||||
$GlobalText['Students'] . ": " . $students . "\n" .
|
||||
"\n" .
|
||||
getLanguageText('TEXT-AMOUNT') . ": $currencySymbol" . number_format($balance,2) . "\n\n";
|
||||
QueueEmail($emailTo, $emailFrom, $emailSubject, $emailMessage, $emailReply, $emailRecipient);
|
||||
QueueEmail($user_email, $emailFrom, $emailSubject, $emailMessage, $emailReply, $emailRecipient);
|
||||
QueueEmail("mark@fester.ca", $emailFrom, $emailSubject, $emailMessage, $emailReply, $emailRecipient);
|
||||
}
|
||||
|
||||
writeLog("completed\n");
|
||||
?>
|
||||
@@ -0,0 +1,125 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
// Set default timezone
|
||||
date_default_timezone_set("Canada/Pacific");
|
||||
$now = date("Y-m-d H:i:s",time());
|
||||
|
||||
$return_data = array();
|
||||
|
||||
$moduleName = "ajax.ClearUserBalances.php";
|
||||
// startLog($moduleName);
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active\n");
|
||||
exit;
|
||||
}
|
||||
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
// Get parameters
|
||||
$school_num = intval($_GET['selected_school_num']);
|
||||
$selected_balance = db_escape_string($_GET['selected_balance']);
|
||||
$posting_message = db_escape_string($_GET['posting_message']);
|
||||
|
||||
|
||||
// Ensure parameters are valid
|
||||
|
||||
if (!is_numeric($school_num)) logExit("School num is not numeric\n");
|
||||
if ($school_num == 0) logExit("school_num is zero\n");
|
||||
|
||||
writeLog("school_num: $school_num\n");
|
||||
writeLog("selected_balance: $selected_balance\n");
|
||||
writeLog("posting_message: $posting_message\n");
|
||||
|
||||
|
||||
// Get selected records
|
||||
switch ($selected_balance) {
|
||||
case 'All':
|
||||
$query = "SELECT ua.school_num,userid,first_name,last_name,u.record_num AS user_num, SUM(ua.transaction_amount) AS balance " .
|
||||
"FROM users AS u, user_account AS ua " .
|
||||
"WHERE u.school_num = $base_school_num " .
|
||||
"AND ua.school_num = $school_num " .
|
||||
"AND ua.user_num = u.record_num " .
|
||||
"AND (deleted != 'Y' OR deleted IS NULL) " .
|
||||
"GROUP BY 1,2,3,4,5 " .
|
||||
"HAVING SUM(ua.transaction_amount) != 0 " .
|
||||
"ORDER BY last_name, first_name";
|
||||
break;
|
||||
|
||||
case 'Debit':
|
||||
$query = "SELECT ua.school_num,userid,first_name,last_name,u.record_num AS user_num, SUM(ua.transaction_amount) AS balance " .
|
||||
"FROM users AS u, user_account AS ua " .
|
||||
"WHERE u.school_num = $base_school_num " .
|
||||
"AND ua.school_num = $school_num " .
|
||||
"AND ua.user_num = u.record_num " .
|
||||
"AND (deleted != 'Y' OR deleted IS NULL) " .
|
||||
"GROUP BY 1,2,3,4,5 " .
|
||||
"HAVING SUM(ua.transaction_amount) > 0 " .
|
||||
"ORDER BY last_name, first_name";
|
||||
break;
|
||||
|
||||
case 'Credit':
|
||||
$query = "SELECT ua.school_num,userid,first_name,last_name,u.record_num AS user_num, SUM(ua.transaction_amount) AS balance " .
|
||||
"FROM users AS u, user_account AS ua " .
|
||||
"WHERE u.school_num = $base_school_num " .
|
||||
"AND ua.school_num = $school_num " .
|
||||
"AND ua.user_num = u.record_num " .
|
||||
"AND (deleted != 'Y' OR deleted IS NULL) " .
|
||||
"GROUP BY 1,2,3,4,5 " .
|
||||
"HAVING SUM(ua.transaction_amount) < 0 " .
|
||||
"ORDER BY last_name, first_name";
|
||||
break;
|
||||
}
|
||||
|
||||
writeLog("query: $query\n");
|
||||
$accounts = db_query($query);
|
||||
$numRecords = db_num_rows($accounts);
|
||||
writeLog("numRecords: $numRecords\n");
|
||||
|
||||
if ($numRecords) {
|
||||
$trxRecord = array();
|
||||
|
||||
$trxRecord['schedule_num'] = 0;
|
||||
$trxRecord['order_num'] = 0;
|
||||
$trxRecord['people_num'] = 0;
|
||||
$trxRecord['transaction_datetime'] = date("Y-m-d H:i:s",time());
|
||||
$trxRecord['transaction_status'] = 'Closed';
|
||||
|
||||
while ($row = db_fetch_assoc($accounts)) {
|
||||
extract($row);
|
||||
$trxRecord['school_num'] = $school_num;
|
||||
$trxRecord['user_num'] = $user_num;
|
||||
|
||||
writeLog("-------------------------------------------\n");
|
||||
writeLog("-- $moduleName --\n");
|
||||
writeLog("userid: $userid\n");
|
||||
writeLog("user_num: $user_num\n");
|
||||
writeLog("balance: $balance\n");
|
||||
|
||||
$transaction_type = "Credit Adjustment";
|
||||
$transaction_amount = -1 * abs($balance);
|
||||
if ($balance < 0) {
|
||||
$transaction_type = "Charge Adjustment";
|
||||
$transaction_amount = abs($balance);
|
||||
}
|
||||
|
||||
$trxRecord['transaction_type'] = $transaction_type;
|
||||
$trxRecord['transaction_amount'] = $transaction_amount;
|
||||
$trxRecord['note'] = $posting_message;
|
||||
|
||||
// Insert user_account entry
|
||||
postTransaction($trxRecord);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
writeLog("completed\n");
|
||||
?>
|
||||
@@ -0,0 +1,76 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
// Set default timezone
|
||||
date_default_timezone_set("Canada/Pacific");
|
||||
$now = date("Y-m-d H:i:s",time());
|
||||
|
||||
$return_data = array();
|
||||
|
||||
$moduleName = "ajax.DataRecord.Delete.php";
|
||||
// startLog($moduleName);
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active\n");
|
||||
exit;
|
||||
}
|
||||
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
// Get parameters
|
||||
if (array_key_exists('table_name', $_GET)) $table_name = db_escape_string($_GET['table_name']);
|
||||
if (array_key_exists('record_num', $_GET)) $record_num = intval($_GET['record_num']);
|
||||
|
||||
|
||||
|
||||
// Validate parameters
|
||||
if (strlen($table_name) == 0) logExit("table_name undefined\n");
|
||||
|
||||
|
||||
// Ensure numeric parameters are numeric
|
||||
if (!is_numeric($record_num)) logExit("record_num is not numeric\n");
|
||||
if ($record_num == 0) logExit("record_num is zero\n");
|
||||
|
||||
|
||||
// Error logging
|
||||
writeLog("$moduleName: school_num: $school_num\n");
|
||||
writeLog("$moduleName: table_name: $table_name\n");
|
||||
writeLog("$moduleName: record_num: $record_num\n");
|
||||
|
||||
$row = array();
|
||||
|
||||
// Create query statement
|
||||
switch ($table_name) {
|
||||
case 'people_categories':
|
||||
$cnum = intval($_GET['cnum']);
|
||||
|
||||
$query = "DELETE FROM $table_name WHERE school_num = $school_num AND people_num = $record_num AND category_num = $cnum";
|
||||
break;
|
||||
|
||||
case '_form_action':
|
||||
case '_form_fields':
|
||||
$query = "DELETE FROM $table_name WHERE record_num = $record_num";
|
||||
break;
|
||||
|
||||
default:
|
||||
$query = "DELETE FROM $table_name WHERE school_num = $school_num AND record_num = $record_num";
|
||||
if ($table_name == 'hotlunch_order_header') logOrderChange($record_num, "ORDER DELETED", "ajax.DataRecord.Delete.php");
|
||||
break;
|
||||
}
|
||||
|
||||
// Error logging
|
||||
writeLog("$moduleName: query: $query\n");
|
||||
db_query($query);
|
||||
|
||||
writeLog("$moduleName: complete\n");
|
||||
$row['ajax_return_code'] = 1;
|
||||
echo(json_encode($row));
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
include "include/globals.php";
|
||||
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
$return_data = array();
|
||||
|
||||
$moduleName = "ajax.DataRecord.Fetch.php";
|
||||
// startLog($moduleName);
|
||||
|
||||
// Get parameters
|
||||
$table_name = db_escape_string($_GET['table_name']);
|
||||
$record_num = $_GET['record_num'];
|
||||
|
||||
// Error logging
|
||||
writeLog("school_num: $school_num\n");
|
||||
writeLog("table_name: $table_name\n");
|
||||
writeLog("record_num: $record_num\n");
|
||||
|
||||
|
||||
// Validate parameters
|
||||
if (strlen($table_name) == 0) exit("Invalid Access\n");
|
||||
|
||||
|
||||
// Ensure numeric parameters are numeric
|
||||
if (!is_numeric($record_num)) exit("Invalid Access\n");
|
||||
|
||||
|
||||
$row = array();
|
||||
|
||||
// Get data record
|
||||
switch ($table_name) {
|
||||
case 'sms_gateways':
|
||||
case 'language_text':
|
||||
$query = "SELECT * FROM $table_name WHERE record_num = $record_num";
|
||||
break;
|
||||
|
||||
default:
|
||||
$query = "SELECT * FROM $table_name WHERE school_num = $school_num AND record_num = $record_num";
|
||||
break;
|
||||
}
|
||||
writeLog("query: $query\n");
|
||||
|
||||
$results = db_query($query);
|
||||
if (db_num_rows($results)) {
|
||||
$row = db_fetch_assoc($results);
|
||||
$row['ajax_return_code'] = 1;
|
||||
|
||||
//
|
||||
// Get additional data if necessary
|
||||
//
|
||||
switch ($table_name) {
|
||||
case 'staff':
|
||||
if ($row['entry_type'] == 'Staff') {
|
||||
$user_num = $row['user_num'];
|
||||
$query = "SELECT type FROM users WHERE school_num = $school_num AND record_num = $user_num";
|
||||
writeLog("query: $query\n");
|
||||
$row['user_type'] = db_getVal($query);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'schedule_times':
|
||||
$row['start_date'] = substr($row['start_time'],0,10);
|
||||
$row['start_time'] = date($school_record['time_format'],strtotime($row['start_time']));
|
||||
$row['end_time'] = date($school_record['time_format'],strtotime($row['end_time']));
|
||||
break;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$row['ajax_return_code'] = 0;
|
||||
}
|
||||
|
||||
echo(json_encode($row));
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,93 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
|
||||
// Set default timezone
|
||||
date_default_timezone_set("Canada/Pacific");
|
||||
$now = date("Y-m-d H:i:s",time());
|
||||
|
||||
$return_data = array();
|
||||
|
||||
$moduleName = "ajax.DataRecord.Fetch.php";
|
||||
// startLog($moduleName);
|
||||
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active\n");
|
||||
exit;
|
||||
}
|
||||
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
// Get parameters
|
||||
if (array_key_exists('table_name', $_GET)) $table_name = db_escape_string($_GET['table_name']);
|
||||
if (array_key_exists('record_num', $_GET)) $record_num = intval($_GET['record_num']);
|
||||
|
||||
|
||||
// Error logging
|
||||
writeLog("school_num: $school_num\n");
|
||||
writeLog("table_name: $table_name\n");
|
||||
writeLog("record_num: $record_num\n");
|
||||
|
||||
|
||||
// Validate parameters
|
||||
if (strlen($table_name) == 0) exit("Invalid Access\n");
|
||||
|
||||
|
||||
// Ensure numeric parameters are numeric
|
||||
if (!is_numeric($record_num)) exit("Invalid Access\n");
|
||||
if ($record_num == 0) logExit("record_num is zero\n");
|
||||
|
||||
|
||||
$row = array();
|
||||
|
||||
// Get data record
|
||||
switch ($table_name) {
|
||||
case '_form_actions':
|
||||
case '_form_fields':
|
||||
$query = "SELECT * FROM $table_name WHERE record_num = $record_num";
|
||||
break;
|
||||
|
||||
default:
|
||||
$query = "SELECT * FROM $table_name WHERE school_num = $school_num AND record_num = $record_num";
|
||||
break;
|
||||
}
|
||||
writeLog("query: $query\n");
|
||||
|
||||
$results = db_query($query);
|
||||
if (db_num_rows($results)) {
|
||||
$row = db_fetch_assoc($results);
|
||||
$row['ajax_return_code'] = 1;
|
||||
|
||||
//
|
||||
// Get additional data if necessary
|
||||
//
|
||||
switch ($table_name) {
|
||||
case 'staff':
|
||||
if ($row['entry_type'] == 'Staff') {
|
||||
$user_num = $row['user_num'];
|
||||
$query = "SELECT type FROM users WHERE school_num = $school_num AND record_num = $user_num";
|
||||
writeLog("query: $query\n");
|
||||
$row['user_type'] = db_getVal($query);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$row['ajax_return_code'] = 0;
|
||||
}
|
||||
|
||||
echo(json_encode($row));
|
||||
writeLog("completed\n");
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,180 @@
|
||||
<?php
|
||||
uopz_allow_exit(true);
|
||||
|
||||
$ValidAccess = 2010;
|
||||
require_once("include/globals.php");
|
||||
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
|
||||
$moduleName = "ajax.DataRecord.Update.php";
|
||||
// if ($_SESSION['UserInfo']['type'] == 'SuperUser') startLog($moduleName);
|
||||
startLog($moduleName);
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active\n");
|
||||
exit;
|
||||
}
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
// Set default timezone
|
||||
date_default_timezone_set("Canada/Pacific");
|
||||
$now = date("Y-m-d H:i:s",time());
|
||||
|
||||
$return_data = array();
|
||||
$sequence_flag = 'N';
|
||||
|
||||
|
||||
|
||||
unset($template);
|
||||
|
||||
// Get parameters
|
||||
extract($_REQUEST);
|
||||
$parameters = $_REQUEST;
|
||||
|
||||
|
||||
|
||||
// Validate parameters
|
||||
if (strlen($table_name) == 0) logExit("Table name is undefined\n");
|
||||
if (strstr($table_name,' ') !== FALSE) logExit("Invalid table name\n");
|
||||
writeLog("table_name: $table_name");
|
||||
|
||||
switch ($table_name) {
|
||||
case 'invoice_header':
|
||||
if ($_SESSION['UserInfo']['type'] != 'SuperUser') {
|
||||
logExit("Invalid user access to table $table_name");
|
||||
}
|
||||
break;
|
||||
|
||||
case 'schools':
|
||||
if ($_SESSION['UserInfo']['type'] != 'SuperUser' && $_SESSION['UserInfo']['type'] != 'Administrator') {
|
||||
logExit("Invalid user access to table $table_name");
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
writeLog("-- $record_num --\n");
|
||||
|
||||
// Ensure numeric parameters are numeric
|
||||
if (!is_numeric($record_num)) logExit("Record num is not numeric\n");
|
||||
$record_num = intval($record_num);
|
||||
$parameters['record_num'] = $record_num;
|
||||
|
||||
|
||||
// Sanitize parameters
|
||||
$table_name = db_escape_string($table_name);
|
||||
$sequence_flag = db_escape_string($sequence_flag);
|
||||
|
||||
$school_num = $school_record['record_num'];
|
||||
if (array_key_exists('school_num',$_REQUEST)) $school_num = $_REQUEST['school_num'];
|
||||
$parameters['school_num'] = $school_num;
|
||||
|
||||
|
||||
// Check for custom validation
|
||||
$validationScript = "ajax.validation." . $table_name . ".php";
|
||||
if (array_key_exists('userid',$_REQUEST)) {
|
||||
if (!isset($Validation) || $Validation != 'N') {
|
||||
if (is_file($validationScript)) {
|
||||
writeLog("validationScript: $validationScript found\n");
|
||||
include $validationScript;
|
||||
$msg = dataValidation($_REQUEST);
|
||||
if ($msg !== 0) logExit("$moduleName: validation failure - $msg\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Reformat phone number fields
|
||||
if (isset($phone) && strlen($phone)) $parameters['phone'] = formatPhoneNumber($phone,$school_record['country']);
|
||||
if (isset($cell_phone) && strlen($cell_phone)) $parameters['cell_phone'] = formatPhoneNumber($cell_phone,$school_record['country']);
|
||||
if (isset($contact_phone) && strlen($contact_phone)) $parameters['contact_phone'] = formatPhoneNumber($contact_phone,$school_record['country']);
|
||||
if (isset($contact_cell) && strlen($contact_cell)) $parameters['contact_cell'] = formatPhoneNumber($contact_cell,$school_record['country']);
|
||||
|
||||
|
||||
// Error logging
|
||||
writeLog("table_name: $table_name\n");
|
||||
writeLog("record_num: $record_num\n");
|
||||
writeLog("sequence_flag: $sequence_flag\n");
|
||||
|
||||
|
||||
// Defaults
|
||||
$parameters['date_updated'] = date("Y-m-d",time());
|
||||
|
||||
$table = new Table($table_name);
|
||||
|
||||
// Create insert query if record_num is zero or else update
|
||||
if ($record_num == 0) {
|
||||
// Defaults
|
||||
$parameters['date_added'] = date("Y-m-d",time());
|
||||
|
||||
// Get next sequence number
|
||||
if (isset($sequence_flag) && $sequence_flag == 'Y') {
|
||||
switch ($table_name) {
|
||||
case '_form_fields':
|
||||
$parameters['sequence'] = intval(db_getVal("SELECT max(sequence) FROM $table_name")) + 1;
|
||||
break;
|
||||
|
||||
default:
|
||||
$parameters['sequence'] = intval(db_getVal("SELECT max(sequence) FROM $table_name WHERE school_num = $school_num")) + 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$query = $table->BuildInsert($parameters);
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
$record_num = db_insert_id();
|
||||
}
|
||||
else {
|
||||
$query = $table->BuildUpdate($parameters);
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
|
||||
// Update all orders to status paid if there is a credit
|
||||
if ($table_name == 'hotlunch_order_header' && isset($UpdateAll) && $UpdateAll == 'Yes') {
|
||||
$query = "SELECT ordered_by_num FROM hotlunch_order_header WHERE school_num = $school_num AND record_num = $record_num";
|
||||
$ordered_by = db_getVal($query);
|
||||
|
||||
if ($ordered_by > 0) {
|
||||
$query = "SELECT user_num FROM people WHERE school_num = $school_num AND record_num = $ordered_by";
|
||||
$user_num = db_getVal($query);
|
||||
|
||||
if ($user_num > 0) {
|
||||
$results = db_query("SELECT * FROM people WHERE school_num = $school_num AND user_num = $user_num");
|
||||
if (db_num_rows($results)) {
|
||||
while ($row = db_fetch_assoc($results)) {
|
||||
$ordered_by .= "," . $row['record_num'];
|
||||
}
|
||||
}
|
||||
|
||||
// Update all orders to Paid status
|
||||
$query = "UPDATE hotlunch_order_header SET amount_paid = order_total, payment_method = '$payment_method', paid_date = '$paid_date', status = 'Paid' " .
|
||||
"WHERE school_num = $school_num " .
|
||||
"AND status IN ('Unpaid','Inactive') " .
|
||||
"AND ordered_by_num IN ($ordered_by)";
|
||||
db_query($query);
|
||||
|
||||
// Update all user transactions to Closed status
|
||||
$query = "UPDATE user_account SET transaction_status = 'Closed' WHERE school_num = $school_num AND user_num = $user_num";
|
||||
db_query($query);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Update orders if payment method is being updated
|
||||
if ($table_name == 'user_account' && isset($action) && $action == 'edit-payment-method') {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
writeLog("complete\n");
|
||||
|
||||
$return_data["record_num"] = $record_num;
|
||||
echo(json_encode($return_data));
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active\n");
|
||||
exit;
|
||||
}
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
|
||||
// Set default timezone
|
||||
date_default_timezone_set("Canada/Pacific");
|
||||
$now = date("Y-m-d H:i:s",time());
|
||||
|
||||
$return_data = array();
|
||||
|
||||
$moduleName = "ajax.EventsCopy.php";
|
||||
// startLog($moduleName);
|
||||
|
||||
|
||||
// Get parameters
|
||||
$source_school = intval($_GET['source_school']);
|
||||
$start_date = db_escape_string($_GET['start_date']);
|
||||
|
||||
writeLog("source_school: $source_school\n");
|
||||
writeLog("start_date: $start_date\n");
|
||||
|
||||
$query = "SELECT * FROM event_calendar WHERE school_num = $source_school AND start_date >= '$start_date'";
|
||||
writeLog("query: $query\n");
|
||||
$events = db_query($query);
|
||||
|
||||
$eventTable = new Table("event_calendar");
|
||||
|
||||
while ($row = db_fetch_assoc($events)) {
|
||||
$row['school_num'] = $school_num;
|
||||
$query = $eventTable->BuildInsert($row);
|
||||
db_query($query);
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active\n");
|
||||
exit;
|
||||
}
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
|
||||
// Set default timezone
|
||||
date_default_timezone_set("Canada/Pacific");
|
||||
$now = date("Y-m-d H:i:s",time());
|
||||
|
||||
$return_data = array();
|
||||
|
||||
$moduleName = "ajax.PendingStudent.Update.php";
|
||||
// startLog($moduleName);
|
||||
|
||||
|
||||
// Get parameters
|
||||
$flag = db_escape_string($_GET['flag']);
|
||||
$snum = db_escape_string($_GET['sn']);
|
||||
$record_num = intval($_GET['record_num']);
|
||||
|
||||
writeLog("flag: $flag record_num: $record_num\n");
|
||||
|
||||
$query = "UPDATE people_csv SET create_flag = '$flag' WHERE record_num = $record_num";
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,112 @@
|
||||
<?php
|
||||
|
||||
// Set default timezone
|
||||
date_default_timezone_set("Canada/Pacific");
|
||||
$now = date("Y-m-d H:i:s",time());
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active");
|
||||
exit;
|
||||
}
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
$moduleName = "ajax.PostEZS.php";
|
||||
// startLog($moduleName);
|
||||
|
||||
|
||||
|
||||
|
||||
$return_data = array();
|
||||
|
||||
// Get parameters
|
||||
$school_num = intval($_GET['school_num']);
|
||||
$invoice_num = intval($_GET['invoice_num']);
|
||||
|
||||
// Ensure parameters are valid
|
||||
|
||||
if (!is_numeric($school_num)) logExit("School num is not numeric");
|
||||
if (!is_numeric($invoice_num)) logExit("Invoice num is not numeric");
|
||||
if ($school_num == 0) logExit("school_num is zero");
|
||||
|
||||
writeLog("school_num: $school_num");
|
||||
writeLog("invoice_num: $invoice_num");
|
||||
|
||||
|
||||
// Get school name
|
||||
$query = "SELECT * FROM schools WHERE record_num = $school_num";
|
||||
writeLog("query: $query");
|
||||
$results = db_query($query);
|
||||
$school = db_fetch_assoc($results);
|
||||
$school_name = $school['school_name'];
|
||||
$currency = 'CAD';
|
||||
if ($school['country'] == 'USA') $currency = 'USD';
|
||||
|
||||
|
||||
// Get invoice record
|
||||
$query = "SELECT * FROM invoice_header WHERE school_num = $school_num AND record_num = $invoice_num";
|
||||
writeLog("query: $query");
|
||||
$results = db_query($query);
|
||||
$invoice = db_fetch_assoc($results);
|
||||
|
||||
|
||||
$db_host = "polarbear2";
|
||||
$db_uname = "ezssoftwaredb";
|
||||
$db_pass = "ezs7785422700@@";
|
||||
|
||||
writeLog("db_uname: $db_uname");
|
||||
writeLog("db_pass: $db_pass");
|
||||
|
||||
db_close($_DB);
|
||||
$_DB = mysql_connect($db_host,$db_uname,$db_pass);
|
||||
|
||||
db_query("SET NAMES utf8");
|
||||
db_query("SET CHARACTER SET utf8");
|
||||
|
||||
db_query("USE schoolappointments");
|
||||
|
||||
|
||||
$payments = new Table("invoice_payments");
|
||||
|
||||
$note = $school_name;
|
||||
$application = "Hot Lunches";
|
||||
$invoice_subtotal = $invoice['subtotal'];
|
||||
$invoice_gst = $invoice['gst'];
|
||||
$invoice_total = $invoice['total'];
|
||||
$entered = time();
|
||||
$payment_date = date("Y-m-d",$entered);
|
||||
$amount = $invoice_total;
|
||||
$group_with_next = 'N';
|
||||
$batch_num = 0;
|
||||
$company = 'EZS Software';
|
||||
|
||||
$query = $payments->BuildInsert();
|
||||
writeLog("query: $query");
|
||||
db_query($query);
|
||||
|
||||
// Check for an open batch
|
||||
$batch_message = "";
|
||||
$numOpen = db_getVal("SELECT count(*) FROM invoice_payments WHERE batch_num = 0");
|
||||
if ($numOpen > 0) {
|
||||
$amount = db_getVal("SELECT sum(amount) FROM invoice_payments WHERE batch_num = 0");
|
||||
$batch_message = "There is an Open Batch with $numOpen Cheques - $currencySymbol".number_format($amount,2);
|
||||
}
|
||||
|
||||
$return_data['form_message'] = $batch_message;
|
||||
|
||||
echo(json_encode($return_data));
|
||||
writeLog("completed");
|
||||
return(0);
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,182 @@
|
||||
<?php
|
||||
|
||||
// Set default timezone
|
||||
date_default_timezone_set("Canada/Pacific");
|
||||
$now = date("Y-m-d H:i:s",time());
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active",$moduleName);
|
||||
exit;
|
||||
}
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
$moduleName = "ajax.PostPaid.php";
|
||||
// startLog($moduleName);
|
||||
|
||||
|
||||
|
||||
$return_data = array();
|
||||
|
||||
// Get parameters
|
||||
$school_num = intval($_GET['school_num']);
|
||||
$invoice_num = intval($_GET['invoice_num']);
|
||||
$method = db_escape_string($_GET['method']);
|
||||
|
||||
// Ensure parameters are valid
|
||||
|
||||
|
||||
if (!is_numeric($school_num)) logExit("School num is not numeric",$moduleName);
|
||||
if (!is_numeric($invoice_num)) logExit("Invoice num is not numeric",$moduleName);
|
||||
if ($school_num == 0) logExit("school_num is zero",$moduleName);
|
||||
|
||||
writeLog("school_num: $school_num");
|
||||
writeLog("invoice_num: $invoice_num");
|
||||
|
||||
|
||||
// Get school name
|
||||
$query = "SELECT * FROM schools WHERE record_num = $school_num";
|
||||
writeLog("query: $query");
|
||||
$results = db_query($query);
|
||||
$school = db_fetch_assoc($results);
|
||||
$school_name = $school['school_name'];
|
||||
$currency = 'CAD';
|
||||
if ($school['country'] == 'USA') $currency = 'USD';
|
||||
|
||||
|
||||
// Get invoice record
|
||||
$query = "SELECT * FROM invoice_header WHERE school_num = $school_num AND record_num = $invoice_num";
|
||||
writeLog("query: $query");
|
||||
$results = db_query($query);
|
||||
$invoice = db_fetch_assoc($results);
|
||||
|
||||
$renewal_date = $invoice['renewal_date'];
|
||||
$school_num = $invoice['school_num'];
|
||||
$amount = $invoice['total'];
|
||||
$invoice_record_num = $invoice['record_num'];
|
||||
|
||||
$today = date("Y-m-d",time());
|
||||
$query = "UPDATE invoice_header SET amount_paid = total, status = 'Paid', payment_date = '$today', payment_method = '$method' WHERE record_num = $invoice_record_num";
|
||||
writeLog($query);
|
||||
db_query($query);
|
||||
|
||||
// Update the renewal date for the school
|
||||
$renewal_date = date("Y-m-d",strtotime($renewal_date) - 60 * 60 * 12);
|
||||
writeLog("renewal_date: $renewal_date");
|
||||
$edate = db_getVal("SELECT expiry_date FROM schools WHERE record_num = $school_num");
|
||||
writeLog("edate: $edate");
|
||||
|
||||
if ($renewal_date > $edate) {
|
||||
$query = "UPDATE schools SET expiry_date = '$renewal_date' WHERE record_num = $school_num";
|
||||
writeLog($query);
|
||||
db_query($query);
|
||||
}
|
||||
|
||||
|
||||
// Update school record that the invoice has been paid
|
||||
$query = "UPDATE schools SET renewal_invoice_paid = 'Y' WHERE record_num = $school_num";
|
||||
writeLog($query);
|
||||
db_query($query);
|
||||
|
||||
// Get country
|
||||
$school_country = db_getVal("SELECT country FROM schools WHERE record_num = $school_num");
|
||||
$currency = 'CAD';
|
||||
if ($school_country == 'USA') $currency = 'USD';
|
||||
|
||||
//
|
||||
// Save payment info for deposit report
|
||||
//
|
||||
$table = new Table("invoice_payments");
|
||||
|
||||
$invoice_num = $invoice_record_num + 500;
|
||||
$entered = time();
|
||||
$payment_date = date("Y-m-d",$entered);
|
||||
$batch_num = 0;
|
||||
|
||||
$entry = array();
|
||||
$entry['school_num'] = $school_num;
|
||||
$entry['invoice_num'] = $invoice_num;
|
||||
$entry['payment_date'] = $payment_date;
|
||||
$entry['entered'] = $entered;
|
||||
$entry['amount'] = $amount;
|
||||
$entry['currency'] = $currency;
|
||||
$entry['group_with_next'] = 'N';
|
||||
$entry['batch_num'] = 0;
|
||||
$entry['batch_closed_date'] = NULL;
|
||||
$entry['method'] = $method;
|
||||
$entry['user_ip'] = $_SERVER["REMOTE_ADDR"];
|
||||
|
||||
$query = $table->BuildInsert($entry);
|
||||
db_query($query);
|
||||
|
||||
|
||||
// Get school info
|
||||
$results = db_query("SELECT * FROM schools WHERE record_num = $school_num");
|
||||
$row = db_fetch_array($results);
|
||||
$school_name = $row['school_name'];
|
||||
$school_status = $row['status'];
|
||||
$expiry_date = $row['expiry_date'];
|
||||
$system_configuration = $row['system_configuration'];
|
||||
|
||||
|
||||
|
||||
// Send thank you to school
|
||||
include "include/queuemail.php";
|
||||
|
||||
// Get school contacts
|
||||
$contacts = db_query("SELECT * FROM school_contact_list WHERE school_num = $school_num AND contact_email != '' AND contact_email IS NOT NULL ORDER BY sequence");
|
||||
$count = 0;
|
||||
while ($row = db_fetch_assoc($contacts)) {
|
||||
extract($row,MYSQL_ASSOC);
|
||||
|
||||
$emailMessage = "Hello $contact_name,\n" .
|
||||
"\n" .
|
||||
"Your payment has been received and posted to your account.\n" .
|
||||
"\n" .
|
||||
"Do not hesitate to send me an email with any questions or suggestions that you may have.\n" .
|
||||
"\n" .
|
||||
"School Name: $school_name\n" .
|
||||
"School Status: $school_status\n" .
|
||||
"Renewal Date: $renewal_date\n" .
|
||||
"Configuration: $system_configuration\n" .
|
||||
"\n" .
|
||||
"Thank You\n" .
|
||||
"\n" .
|
||||
"Hot Lunches On-Line\n" .
|
||||
"(604)996-7181" . "\n" .
|
||||
"1-888-9HOTLUNCH (1-888-946-8586)" . "\n" .
|
||||
"\n" .
|
||||
"support@hotlunches.net\n" .
|
||||
"http://www.hotlunches.net/\n\n";
|
||||
|
||||
$emailRecipient = $contact_name;
|
||||
$emailTo = $contact_email;
|
||||
$emailReply = "Hot Lunches On-Line";
|
||||
$emailFrom = "support@hotlunches.net";
|
||||
$emailSubject = "HotLunches.net Payment Received From $school_name";
|
||||
|
||||
QueueEmail($emailTo, $emailFrom, $emailSubject, $emailMessage, $emailReply, $emailRecipient);
|
||||
if ($count == 0) {
|
||||
$emailRecipient = "Hot Lunches Online";
|
||||
$emailTo = "support@hotlunches.net";
|
||||
|
||||
QueueEmail($emailTo, $emailFrom, $emailSubject, $emailMessage, $emailReply, $emailRecipient);
|
||||
}
|
||||
$count++;
|
||||
}
|
||||
|
||||
|
||||
|
||||
writeLog("completed");
|
||||
?>
|
||||
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active",$moduleName);
|
||||
exit;
|
||||
}
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
|
||||
// Set default timezone
|
||||
date_default_timezone_set("Canada/Pacific");
|
||||
$now = date("Y-m-d H:i:s",time());
|
||||
|
||||
$return_data = array();
|
||||
|
||||
$moduleName = "ajax.RecalcUserDetail.php";
|
||||
// startLog($moduleName);
|
||||
|
||||
|
||||
|
||||
// Get parameters
|
||||
$school_num = intval($_GET['school_num']);
|
||||
|
||||
// Ensure parameters are valid
|
||||
|
||||
if (!is_numeric($school_num)) logExit("School num is not numeric\n");
|
||||
if ($school_num == 0) logExit("school_num is zero\n");
|
||||
|
||||
writeLog("school_num: $school_num\n");
|
||||
|
||||
adjustUserAccountDetails(0,$school_num);
|
||||
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
|
||||
writeLog("completed\n");
|
||||
|
||||
$timezone = $school_record['timezone'];
|
||||
writeLog("timezone: $timezone\n");
|
||||
date_default_timezone_set($timezone);
|
||||
|
||||
$data = array();
|
||||
$data['completed'] = date($school_record['date_format'].' '.$school_record['time_format'],time());
|
||||
writeLog("time: " . $data['completed'] . "\n");
|
||||
$data['ajax_return_code'] = 1;
|
||||
echo(json_encode($data));
|
||||
?>
|
||||
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active",$moduleName);
|
||||
exit;
|
||||
}
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
// Set default timezone
|
||||
date_default_timezone_set("Canada/Pacific");
|
||||
$now = date("Y-m-d H:i:s",time());
|
||||
|
||||
$return_data = array();
|
||||
$sequence_flag = 'N';
|
||||
|
||||
$moduleName = "ajax.ResellerRenewal.Update.php";
|
||||
// startLog($moduleName);
|
||||
|
||||
|
||||
unset($template);
|
||||
|
||||
// Get parameters
|
||||
extract($_REQUEST);
|
||||
|
||||
|
||||
// Validate parameters
|
||||
|
||||
|
||||
// Sanitize parameters
|
||||
$rsid = db_escape_string($rsid);
|
||||
$expiry_date = db_escape_string($expiry_date);
|
||||
|
||||
|
||||
// Error logging
|
||||
writeLog("rsid: $table_name\n");
|
||||
writeLog("expiry_date: $expiry_date\n");
|
||||
|
||||
|
||||
$table = new Table("schools");
|
||||
|
||||
$query = "UPDATE schools SET expiry_date = '$expiry_date' WHERE reseller = '$rsid' AND status IN ('Special','Active')";
|
||||
db_query($query);
|
||||
|
||||
|
||||
writeLog("complete\n");
|
||||
|
||||
echo(json_encode($return_data));
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,243 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active",$moduleName);
|
||||
exit;
|
||||
}
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
|
||||
// Set default timezone
|
||||
date_default_timezone_set("Canada/Pacific");
|
||||
$now = date("Y-m-d H:i:s",time());
|
||||
|
||||
$return_data = array();
|
||||
|
||||
$moduleName = "ajax.ScheduleCopy.php";
|
||||
startLog($moduleName);
|
||||
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
// Get parameters
|
||||
$source_schedule_num = intval($_GET['source_schedule']);
|
||||
$schedule_title = db_escape_string($_GET['schedule_title']);
|
||||
$order_start = db_escape_string($_GET['order_start']);
|
||||
$order_end = db_escape_string($_GET['order_end']);
|
||||
$schedule_start = db_escape_string($_GET['schedule_start']);
|
||||
|
||||
writeLog("source_schedule_num: $source_schedule_num\n");
|
||||
writeLog("schedule_title: $schedule_title\n");
|
||||
writeLog("order_start: $order_start\n");
|
||||
writeLog("order_end: $order_end\n");
|
||||
writeLog("schedule_start: $schedule_start\n");
|
||||
|
||||
|
||||
// Get source schedule
|
||||
$query = "SELECT * FROM hotlunch_schedules WHERE record_num = $source_schedule_num";
|
||||
$results = db_query($query);
|
||||
|
||||
if (db_num_rows($results) == 0) {
|
||||
$return_data['ajax_return_code'] = -1;
|
||||
$return_data['ajax_message'] = getLanguageText('ERRORMSG-INVALID-SCHEDULE');
|
||||
echo(json_encode($return_data));
|
||||
exit;
|
||||
}
|
||||
|
||||
$schedule = db_fetch_assoc($results);
|
||||
$source_school_num = $schedule['school_num'];
|
||||
$schedule_type = $schedule['schedule_type'];
|
||||
$schedule_start_date = $schedule['schedule_start_date'];
|
||||
$schedule_end_date = $schedule['schedule_end_date'];
|
||||
|
||||
$schedule_offset = strtotime("$schedule_start 12:00:00") - strtotime("$schedule_start_date 12:00:00");
|
||||
$schedule['schedule_end_date'] = date("Y-m-d",strtotime("$schedule_end_date 12:00:00") + $schedule_offset);
|
||||
|
||||
|
||||
// Get menu dates
|
||||
switch ($schedule_type) {
|
||||
case 'Hot Lunch':
|
||||
case 'Date Sensitive':
|
||||
$query = "SELECT * FROM hotlunch_menu_dates " .
|
||||
"WHERE school_num = $source_school_num " .
|
||||
"AND schedule_num = $source_schedule_num " .
|
||||
"ORDER BY menu_date";
|
||||
$DateSensitive = true;
|
||||
break;
|
||||
|
||||
default:
|
||||
$query = "SELECT * FROM hotlunch_menu_dates " .
|
||||
"WHERE school_num = $source_school_num " .
|
||||
"AND schedule_num = $source_schedule_num " .
|
||||
"ORDER BY sequence";
|
||||
$DateSensitive = false;
|
||||
break;
|
||||
}
|
||||
|
||||
$results = db_query($query);
|
||||
if (db_num_rows($results) == 0) {
|
||||
$return_data['ajax_return_code'] = -1;
|
||||
$return_data['ajax_message'] = getLanguageText('ERRORMSG-INVALID-SCHEDULE');
|
||||
echo(json_encode($return_data));
|
||||
exit;
|
||||
}
|
||||
|
||||
$menuDates = array();
|
||||
while ($row = db_fetch_assoc($results)) {
|
||||
$menuDates[] = $row;
|
||||
}
|
||||
|
||||
|
||||
// Check start date for date sensitive schedules
|
||||
if ($DateSensitive) {
|
||||
writeLog("Date Sensitive");
|
||||
$first_menu_date = $menuDates[0]['menu_date'];
|
||||
$swday = date("D",strtotime($first_menu_date));
|
||||
$nwday = date("D",strtotime($schedule_start));
|
||||
|
||||
if ($swday != $nwday) {
|
||||
$return_data['ajax_return_code'] = -1;
|
||||
$return_data['ajax_message'] = getLanguageText('ERRORMSG-SCHEDULE-START-DATE-MISMATCH') . "<br />$swday -> $nwday";
|
||||
echo(json_encode($return_data));
|
||||
exit;
|
||||
}
|
||||
|
||||
$offset = strtotime("$schedule_start 12:00:00") - strtotime("$first_menu_date 12:00:00");
|
||||
for ($i = 0; $i < count($menuDates); $i++) {
|
||||
$mdate = $menuDates[$i]['menu_date'];
|
||||
$newdate = date("Y-m-d",strtotime($mdate) + $offset);
|
||||
$menuDates[$i]['menu_date'] = $newdate;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$schedulesTable = new Table("hotlunch_schedules");
|
||||
|
||||
$schedule['school_num'] = $school_num;
|
||||
$schedule['schedule_name'] = $schedule_title;
|
||||
$schedule['sequence'] = intval(db_getVal("SELECT max(sequence) FROM hotlunch_schedules WHERE school_num = $school_num")) + 1;
|
||||
$schedule['start_order_datetime'] = $order_start;
|
||||
$schedule['end_order_datetime'] = $order_end;
|
||||
$schedule['schedule_start_date'] = $schedule_start;
|
||||
|
||||
$query = $schedulesTable->BuildInsert($schedule);
|
||||
db_query($query);
|
||||
$newSchedule = db_insert_id();
|
||||
|
||||
$menudatesTable = new Table("hotlunch_menu_dates");
|
||||
$menuitemsTable = new Table("hotlunch_menu_items");
|
||||
$menuproductsTable = new Table("hotlunch_menu_products");
|
||||
$scheduleclassesTable = new Table("hotlunch_schedules_classes");
|
||||
$menudatesclassesTable = new Table("hotlunch_menu_dates_classes");
|
||||
$menuitemsclassesTable = new Table("hotlunch_menu_items_classes");
|
||||
|
||||
// Copy each menu date to new schedule
|
||||
for ($i = 0; $i < count($menuDates); $i++) {
|
||||
$entry = $menuDates[$i];
|
||||
$entry['school_num'] = $school_num;
|
||||
$entry['schedule_num'] = $newSchedule;
|
||||
|
||||
$source_menu_num = $entry['record_num'];
|
||||
|
||||
$query = $menudatesTable->BuildInsert($entry);
|
||||
db_query($query);
|
||||
$newMenu = db_insert_id();
|
||||
|
||||
// Get and copy menu items to new menu date
|
||||
$query = "SELECT * FROM hotlunch_menu_items WHERE school_num = $source_school_num AND menu_num = $source_menu_num";
|
||||
$items = db_query($query);
|
||||
|
||||
while ($row = db_fetch_assoc($items)) {
|
||||
$source_item_num = $row['record_num'];
|
||||
$row['school_num'] = $school_num;
|
||||
$row['menu_num'] = $newMenu;
|
||||
$query = $menuitemsTable->BuildInsert($row);
|
||||
db_query($query);
|
||||
$newItem = db_insert_id();
|
||||
|
||||
// Get and copy menu products to new menu item
|
||||
$query = "SELECT * FROM hotlunch_menu_products WHERE school_num = $source_school_num AND menu_item_num = $source_item_num";
|
||||
$products = db_query($query);
|
||||
|
||||
while ($row = db_fetch_assoc($products)) {
|
||||
$row['school_num'] = $school_num;
|
||||
$row['menu_item_num'] = $newItem;
|
||||
$query = $menuproductsTable->BuildInsert($row);
|
||||
db_query($query);
|
||||
}
|
||||
|
||||
// Process any menu_items_classes
|
||||
if ($school_num == $source_school) {
|
||||
$query = "SELECT * FROM hotlunch_menu_items_classes " .
|
||||
"WHERE school_num = $source_school_num " .
|
||||
"AND schedule_num = $source_schedule_num " .
|
||||
"AND menu_num = $source_menu_num " .
|
||||
"AND menu_item_num = $source_item_num";
|
||||
$results = db_query($query);
|
||||
|
||||
while ($row = db_fetch_assoc($results)) {
|
||||
$row['school_num'] = $school_num;
|
||||
$row['schedule_num'] = $newSchedule;
|
||||
$row['menu_num'] = $newMenu;
|
||||
$row['menu_item_num'] = $newItem;
|
||||
|
||||
$query = $menuitemsclassesTable->BuildInsert($row);
|
||||
db_query($query);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Process any menu_dates_classes entries
|
||||
if ($school_num == $source_school) {
|
||||
$query = "SELECT * FROM hotlunch_menu_dates_classes " .
|
||||
"WHERE school_num = $source_school_num " .
|
||||
"AND schedule_num = $source_schedule_num " .
|
||||
"AND menu_num = $source_menu_num";
|
||||
$results = db_query($query);
|
||||
|
||||
while ($row = db_fetch_assoc($results)) {
|
||||
$row['school_num'] = $school_num;
|
||||
$row['schedule_num'] = $newSchedule;
|
||||
$row['menu_num'] = $newMenu;
|
||||
|
||||
$query = $menudatesclassesTable->BuildInsert($row);
|
||||
db_query($query);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Process any schedules_classes entries
|
||||
if ($school_num == $source_school) {
|
||||
$query = "SELECT * FROM hotlunch_schedules_classes " .
|
||||
"WHERE school_num = $source_school_num " .
|
||||
"AND schedule_num = $source_schedule_num";
|
||||
$results = db_query($query);
|
||||
|
||||
while ($row = db_fetch_assoc($results)) {
|
||||
$row['school_num'] = $school_num;
|
||||
$row['schedule_num'] = $newSchedule;
|
||||
|
||||
$query = $scheduleclassesTable->BuildInsert($row);
|
||||
db_query($query);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$return_data['ajax_return_code'] = 0;
|
||||
$return_data['ajax_message'] = "";
|
||||
$return_data['schedule_num'] = $newSchedule;
|
||||
|
||||
echo(json_encode($return_data));
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,82 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active\n");
|
||||
exit;
|
||||
}
|
||||
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
|
||||
// Set default timezone
|
||||
date_default_timezone_set("Canada/Pacific");
|
||||
$now = date("Y-m-d H:i:s",time());
|
||||
|
||||
$return_data = array();
|
||||
|
||||
$moduleName = "ajax.SearchDBFields.php";
|
||||
startLog($moduleName);
|
||||
|
||||
|
||||
// Get parameters
|
||||
if (array_key_exists('table_name', $_GET)) $table_name = db_escape_string($_GET['table_name']);
|
||||
if (array_key_exists('field_names', $_GET)) $field_names = db_escape_string($_GET['field_names']);
|
||||
if (array_key_exists('term', $_GET)) $term = db_escape_string($_GET['term']);
|
||||
|
||||
|
||||
// Ensure parameters are valid
|
||||
if (!is_numeric($school_num)) logExit("School num is not numeric\n");
|
||||
if ($school_num == 0) logExit("school_num is zero\n");
|
||||
if (!isset($table_name)) logExit("ajax.SearchDBFields.php - table_name is not set");
|
||||
if (!isset($field_names)) logExit("ajax.SearchDBFields.php - field_names is not set");
|
||||
|
||||
writeLog("table_name: $table_name\n");
|
||||
writeLog("field_names: $field_names\n");
|
||||
writeLog("term: $term\n");
|
||||
|
||||
$fields = explode(',', $field_names);
|
||||
$where = "";
|
||||
|
||||
for ($i = 0; $i < count($fields); $i++) {
|
||||
$field = $fields[$i];
|
||||
if (strlen($where)) $where .= "OR ";
|
||||
$where .= "$field LIKE '%$term%' ";
|
||||
}
|
||||
|
||||
$query = "SELECT * FROM $table_name WHERE school_num = $school_num AND ($where)";
|
||||
writeLog($query);
|
||||
$results = db_query($query);
|
||||
// Format data for return
|
||||
$return_data = array();
|
||||
$num_records = db_num_rows($results);
|
||||
if ($num_records > 0) {
|
||||
writeLog("records: $num_records\n");
|
||||
$return_data[] = array();
|
||||
while ($row = db_fetch_assoc($results)) {
|
||||
$text = "";
|
||||
for ($i = 0; $i < count($fields); $i++) {
|
||||
$field = $fields[$i];
|
||||
$text .= $row[$field].' ';
|
||||
}
|
||||
|
||||
$text = trim($text);
|
||||
$record_num = $row['record_num'];
|
||||
|
||||
$return_data[] = array(
|
||||
"value" => $text,
|
||||
"record_num" => $record_num
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
writeLog("completed\n");
|
||||
echo(json_encode($return_data));
|
||||
?>
|
||||
@@ -0,0 +1,94 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active",$moduleName);
|
||||
exit;
|
||||
}
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
|
||||
// Set default timezone
|
||||
date_default_timezone_set("Canada/Pacific");
|
||||
$now = date("Y-m-d H:i:s",time());
|
||||
|
||||
$return_data = array();
|
||||
|
||||
$moduleName = "ajax.SequenceRecords.php";
|
||||
startLog($moduleName);
|
||||
|
||||
|
||||
// Get parameters
|
||||
$table_name = db_escape_string($_GET['table']);
|
||||
$dset = "";
|
||||
if (array_key_exists('dset', $_GET)) $dset = db_escape_string($_GET['dset']);
|
||||
writeLog("table_name: $table_name");
|
||||
writeLog("dset: $dset");
|
||||
|
||||
if (!isset($dset) || strlen($dset) == 0) $dset = "row_ids";
|
||||
$row_ids = $_GET[$dset];
|
||||
if (array_key_exists('$school_num',$_GET)) $school_num = intval($_GET['school_num']);
|
||||
if (!isset($school_num) || $school_num == 0) $school_num = $school_record['record_num'];
|
||||
|
||||
|
||||
// Ensure parameters are valid
|
||||
if (strlen($table_name) == 0) logExit("Table name is undefined\n");
|
||||
|
||||
// Map table name if required
|
||||
if ($table_name == 'form-fields') $table_name = '_form_fields';
|
||||
|
||||
|
||||
if (strstr($table_name,' ') !== FALSE) logExit("Invalid table name\n");
|
||||
if (!is_array($row_ids)) logExit("Invalid Access\n");
|
||||
$numRows = count($row_ids);
|
||||
writeLog("count: $numRows\n");
|
||||
|
||||
|
||||
// Sequence records
|
||||
$sequence = 1;
|
||||
for ($i = 0; $i < $numRows; $i++) {
|
||||
$rowid = $row_ids[$i];
|
||||
if (strlen($rowid)) {
|
||||
$rnum = intval(str_replace("row_","",$rowid));
|
||||
|
||||
switch ($table_name) {
|
||||
case 'how_to_guides':
|
||||
case 'how_to_guide_categories':
|
||||
case 'videos':
|
||||
case '_form_fields':
|
||||
$query = "UPDATE $table_name SET sequence = $sequence WHERE record_num = $rnum";
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
break;
|
||||
|
||||
case 'hotlunch_menu_items':
|
||||
$query = "UPDATE $table_name SET sequence = $sequence WHERE school_num = $school_num AND record_num = $rnum";
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
|
||||
// Update linked menus
|
||||
$query = "update $table_name set sequence = $sequence where school_num = $school_num AND source_item = $rnum";
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
break;
|
||||
|
||||
default:
|
||||
$query = "UPDATE $table_name SET sequence = $sequence WHERE school_num = $school_num AND record_num = $rnum";
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
break;
|
||||
}
|
||||
|
||||
$sequence++;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active",$moduleName);
|
||||
exit;
|
||||
}
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
|
||||
// Set default timezone
|
||||
date_default_timezone_set("Canada/Pacific");
|
||||
$now = date("Y-m-d H:i:s",time());
|
||||
|
||||
$return_data = array();
|
||||
|
||||
$moduleName = "ajax.ServerTime.php";
|
||||
// startLog($moduleName);
|
||||
|
||||
|
||||
|
||||
// Get parameters
|
||||
$school_num = intval($_GET['school_num']);
|
||||
|
||||
$query = "SELECT * FROM schools WHERE record_num = $school_num";
|
||||
writeLog("query: $query\n");
|
||||
$results = db_query($query);
|
||||
$school_record = db_fetch_assoc($results);
|
||||
|
||||
$timezone = $school_record['timezone'];
|
||||
writeLog("timezone: $timezone\n");
|
||||
date_default_timezone_set($timezone);
|
||||
|
||||
|
||||
$t = time();
|
||||
$time = array("default" => date("Y-m-d H:i:s",$t),
|
||||
"default_date" => date("Y-m-d",$t),
|
||||
"default_time" => date("H:i:s",$t),
|
||||
"timezone" => $school_record['timezone'],
|
||||
"date_format" => $school_record['date_format'],
|
||||
"time_format" => $school_record['time_format'],
|
||||
"school" => date($school_record['date_format'].' '.$school_record['time_format'],$t),
|
||||
"school_date" => date($school_record['date_format'],$t),
|
||||
"school_time" => date($school_record['time_format'],$t),
|
||||
);
|
||||
|
||||
writeLog("completed\n");
|
||||
echo(json_encode($time));
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active",$moduleName);
|
||||
exit;
|
||||
}
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
|
||||
// Set default timezone
|
||||
date_default_timezone_set("Canada/Pacific");
|
||||
$now = date("Y-m-d H:i:s",time());
|
||||
|
||||
$return_data = array();
|
||||
|
||||
$moduleName = "ajax.StaffLocationUpdate.php";
|
||||
// startLog($moduleName);
|
||||
|
||||
|
||||
// Get parameters
|
||||
$set = db_escape_string($_REQUEST['set']);
|
||||
$location = intval($_REQUEST['location']);
|
||||
|
||||
|
||||
// Validate parameters
|
||||
|
||||
$school_num = $school_record['record_num'];
|
||||
|
||||
|
||||
// Error logging
|
||||
writeLog("set: $set\n");
|
||||
writeLog("location: $location\n");
|
||||
|
||||
|
||||
switch ($set) {
|
||||
case 'all':
|
||||
$query = "UPDATE people " .
|
||||
"SET meal_location = $location " .
|
||||
"WHERE school_num = $school_num " .
|
||||
"AND people_type = 'Staff'";
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
break;
|
||||
|
||||
case 'selected':
|
||||
$query = "UPDATE people " .
|
||||
"SET meal_location = $location " .
|
||||
"WHERE school_num = $school_num " .
|
||||
"AND (meal_location = 0 OR meal_location IS NULL) " .
|
||||
"AND people_type = 'Staff'";
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
break;
|
||||
|
||||
case 'classroom':
|
||||
$query = "UPDATE people " .
|
||||
"SET meal_location = class_num " .
|
||||
"WHERE school_num = $school_num " .
|
||||
"AND class_num > 0 " .
|
||||
"AND people_type = 'Staff'";
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
writeLog("complete\n");
|
||||
echo(json_encode($return_data));
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active",$moduleName);
|
||||
exit;
|
||||
}
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
|
||||
// Set default timezone
|
||||
date_default_timezone_set("Canada/Pacific");
|
||||
$now = date("Y-m-d H:i:s",time());
|
||||
|
||||
$return_data = array();
|
||||
|
||||
$moduleName = "ajax.ToggleActiveFlag.php";
|
||||
// startLog($moduleName);
|
||||
|
||||
|
||||
|
||||
// Get parameters
|
||||
$table_name = db_escape_string($_GET['table_name']);
|
||||
$record_num = intval($_GET['rnum']);
|
||||
|
||||
// Ensure parameters are valid
|
||||
|
||||
if (strlen($table_name) == 0) logExit("table_name is not set\n");
|
||||
if (!is_numeric($record_num)) logExit("Record num is not numeric\n");
|
||||
if ($record_num == 0) logExit("record_num is zero\n");
|
||||
|
||||
writeLog("school_num: $school_num\n");
|
||||
writeLog("table_name: $table_name\n");
|
||||
|
||||
|
||||
// Get current setting
|
||||
$query = "SELECT active FROM $table_name WHERE record_num = $record_num";
|
||||
writeLog("query: $query\n");
|
||||
$active = db_getVal($query);
|
||||
|
||||
switch ($active) {
|
||||
case 'Y':
|
||||
default:
|
||||
$query = "UPDATE $table_name SET active = 'N' WHERE record_num = $record_num";
|
||||
$row['rval'] = 'N';
|
||||
break;
|
||||
|
||||
case 'N':
|
||||
$query = "UPDATE $table_name SET active = 'Y' WHERE record_num = $record_num";
|
||||
$row['rval'] = 'Y';
|
||||
break;
|
||||
}
|
||||
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
|
||||
echo(json_encode($row));
|
||||
writeLog("completed\n");
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active",$moduleName);
|
||||
exit;
|
||||
}
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
|
||||
// Set default timezone
|
||||
date_default_timezone_set("Canada/Pacific");
|
||||
$now = date("Y-m-d H:i:s",time());
|
||||
|
||||
$return_data = array();
|
||||
|
||||
$moduleName = "ajax.ToggleReporting.php";
|
||||
// startLog($moduleName);
|
||||
|
||||
|
||||
|
||||
// Get parameters
|
||||
$school_num = intval($_GET['school_num']);
|
||||
|
||||
// Ensure parameters are valid
|
||||
|
||||
if (!is_numeric($school_num)) logExit("School num is not numeric\n");
|
||||
if ($school_num == 0) logExit("school_num is zero\n");
|
||||
|
||||
writeLog("school_num: $school_num\n");
|
||||
|
||||
|
||||
// Get current setting
|
||||
$query = "SELECT rep FROM schools WHERE record_num = $school_num";
|
||||
writeLog("query: $query\n");
|
||||
$rep = db_getVal($query);
|
||||
|
||||
switch ($rep) {
|
||||
case 'R':
|
||||
default:
|
||||
$query = "UPDATE schools SET rep = 'N' WHERE record_num = $school_num";
|
||||
break;
|
||||
|
||||
case 'N':
|
||||
$query = "UPDATE schools SET rep = 'R' WHERE record_num = $school_num";
|
||||
break;
|
||||
}
|
||||
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
|
||||
writeLog("completed\n");
|
||||
?>
|
||||
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active",$moduleName);
|
||||
exit;
|
||||
}
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
|
||||
// Set default timezone
|
||||
date_default_timezone_set("Canada/Pacific");
|
||||
$now = date("Y-m-d H:i:s",time());
|
||||
|
||||
$return_data = array();
|
||||
|
||||
$moduleName = "ajax.ToggleSentFlag.php";
|
||||
// startLog($moduleName);
|
||||
|
||||
|
||||
|
||||
// Get parameters
|
||||
$sent_flag = $_GET['sent_flag'];
|
||||
$record_num = intval($_GET['record_num']);
|
||||
|
||||
|
||||
// Ensure parameters are valid
|
||||
if (!is_numeric($school_num)) logExit("School num is not numeric\n");
|
||||
if ($school_num == 0) logExit("school_num is zero\n");
|
||||
|
||||
|
||||
writeLog("record_num: $record_num\n");
|
||||
writeLog("sent_flag: $sent_flag\n");
|
||||
|
||||
|
||||
switch ($sent_flag) {
|
||||
case 'Y':
|
||||
$flag = 'N';
|
||||
$query = "UPDATE payment_message_queue SET sent_flag = 'N' WHERE record_num = $record_num";
|
||||
break;
|
||||
|
||||
case 'N':
|
||||
default:
|
||||
$flag = 'Y';
|
||||
$query = "UPDATE payment_message_queue SET sent_flag = 'Y' WHERE record_num = $record_num";
|
||||
break;
|
||||
}
|
||||
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
|
||||
writeLog("completed\n");
|
||||
|
||||
$return_data["flag"] = $flag;
|
||||
echo(json_encode($return_data));
|
||||
?>
|
||||
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active\n");
|
||||
exit;
|
||||
}
|
||||
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
|
||||
// Set default timezone
|
||||
date_default_timezone_set("Canada/Pacific");
|
||||
$now = date("Y-m-d H:i:s",time());
|
||||
|
||||
$return_data = array();
|
||||
|
||||
$moduleName = "ajax.UpdateDBField.php";
|
||||
startLog($moduleName);
|
||||
|
||||
|
||||
// Get parameters
|
||||
if (array_key_exists('table_name', $_GET)) $table_name = db_escape_string($_GET['table_name']);
|
||||
if (array_key_exists('field_name', $_GET)) $field_name = db_escape_string($_GET['field_name']);
|
||||
if (array_key_exists('field_value', $_GET)) $field_value = db_escape_string($_GET['field_value']);
|
||||
if (array_key_exists('record_num', $_GET)) $record_num = intval($_GET['record_num']);
|
||||
|
||||
|
||||
// Ensure parameters are valid
|
||||
if (!is_numeric($school_num)) logExit("School num is not numeric\n");
|
||||
if ($school_num == 0) logExit("school_num is zero\n");
|
||||
if (!isset($table_name)) logExit("ajax.UpdateDBField.php - table_name is not set");
|
||||
if (!isset($field_name)) logExit("ajax.UpdateDBField.php - field_name is not set");
|
||||
|
||||
$field_name = str_replace('-','_',$field_name);
|
||||
|
||||
writeLog("table_name: $table_name\n");
|
||||
writeLog("field_name: $field_name\n");
|
||||
writeLog("field_value: $field_value\n");
|
||||
writeLog("record_num: $record_num\n");
|
||||
|
||||
|
||||
$query = "UPDATE $table_name SET $field_name = '$field_value' WHERE record_num = $record_num";
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
$return_data['rows_updated'] = db_affected_rows();
|
||||
|
||||
writeLog("completed\n");
|
||||
|
||||
$return_data["flag"] = $field_value;
|
||||
echo(json_encode($return_data));
|
||||
?>
|
||||
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
include "include/globals.php";
|
||||
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active");
|
||||
exit;
|
||||
}
|
||||
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
$school_num = intval($_GET['school_num']);
|
||||
$user_num = intval($_GET['record_num']);
|
||||
|
||||
|
||||
$return_data = array();
|
||||
|
||||
$moduleName = "ajax.UserPassword.Update.php";
|
||||
startLog($moduleName);
|
||||
|
||||
|
||||
// Error logging
|
||||
writeLog("school_num: $school_num\n");
|
||||
writeLog("user_num: $user_num\n");
|
||||
|
||||
|
||||
// Get user record
|
||||
$query = "SELECT * FROM users WHERE school_num = $school_num AND record_num = $user_num";
|
||||
writeLog("query: $query\n");
|
||||
$r = db_query($query);
|
||||
$user = db_fetch_assoc($r);
|
||||
// writeLog(print_r($user,true));
|
||||
|
||||
if (!is_array($user)) exit;
|
||||
extract($user);
|
||||
|
||||
writeLog($userid);
|
||||
$userid = str_replace(' ','',$userid);
|
||||
writeLog($userid);
|
||||
|
||||
$password = $userid;
|
||||
$password_crypt = crypt($password,$date_added);
|
||||
$password_crypt = crypt(db_escape_string($password),$user['date_added']);
|
||||
writeLog("password: $password\n");
|
||||
writeLog("date_added: $date_added\n");
|
||||
writeLog("password_crypt: $password_crypt\n");
|
||||
|
||||
$query = "UPDATE users SET userid = '$userid', password = '$password', password_crypt = '$password_crypt' " .
|
||||
"WHERE school_num = $school_num AND record_num = $user_num";
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
|
||||
writeLog("complete\n\n");
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active");
|
||||
exit;
|
||||
}
|
||||
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
|
||||
// Set default timezone
|
||||
date_default_timezone_set("Canada/Pacific");
|
||||
$now = date("Y-m-d H:i:s",time());
|
||||
|
||||
$return_data = array();
|
||||
$sequence_flag = 'N';
|
||||
|
||||
$moduleName = "ajax.UserUpdate.php";
|
||||
// startLog($moduleName);
|
||||
|
||||
|
||||
|
||||
// Get parameters
|
||||
extract($_REQUEST);
|
||||
|
||||
|
||||
// Validate parameters
|
||||
|
||||
|
||||
// Ensure numeric parameters are numeric
|
||||
if (!is_numeric($amount)) logExit("Amount is not numeric\n");
|
||||
|
||||
$school_num = $school_record['record_num'];
|
||||
|
||||
|
||||
// Error logging
|
||||
writeLog("amount: $user_num\n");
|
||||
|
||||
|
||||
switch ($naction) {
|
||||
case 'Clear':
|
||||
$query = "UPDATE users " .
|
||||
"SET can_order = 'Y' " .
|
||||
"WHERE school_num = $school_num " .
|
||||
"AND balance_owing <= $amount";
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
break;
|
||||
|
||||
case 'Block':
|
||||
default:
|
||||
$query = "UPDATE users " .
|
||||
"SET can_order = 'B' " .
|
||||
"WHERE school_num = $school_num " .
|
||||
"AND balance_owing >= $amount";
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
writeLog("complete\n");
|
||||
echo(json_encode($return_data));
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,93 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
header("Location: /?error_message=" . urlencode(getLanguageText('ERRORMSG-SESSION-EXPIRED')));
|
||||
exit;
|
||||
}
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
startLog("ajax.imageUploader.php");
|
||||
|
||||
// Set default timezone
|
||||
date_default_timezone_set("Canada/Pacific");
|
||||
$now = date("Y-m-d H:i:s",time());
|
||||
|
||||
|
||||
writeLog("_FILES['file']: ".$_FILES['file']);
|
||||
writeLog("_FILES['file']['error']: ".$_FILES['file']['error']);
|
||||
|
||||
// Set defaults
|
||||
$maxImageSize = 900;
|
||||
$thumbWidth = 200;
|
||||
|
||||
|
||||
// A list of permitted file extensions
|
||||
$allowed = array('png', 'jpg', 'gif', 'jpeg');
|
||||
if(isset($_FILES['file']) && $_FILES['file']['error'] == 0){
|
||||
|
||||
$mimetype = mime_content_type($_FILES['file']['tmp_name']);
|
||||
if (strpos($mimetype, "image") !== 0) {
|
||||
echo '{"status":"error"}';
|
||||
writeLog("Not an Image: $mimetype");
|
||||
return;
|
||||
}
|
||||
|
||||
$extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
|
||||
writeLog("extension: $extension");
|
||||
if(!in_array(strtolower($extension), $allowed)){
|
||||
echo '{"status":"error"}';
|
||||
writeLog("Invalid Extension");
|
||||
exit;
|
||||
}
|
||||
|
||||
writeLog($_FILES['file']['tmp_name']);
|
||||
writeLog($_FILES['file']['name']);
|
||||
|
||||
$image_name = $_FILES['file']['name'];
|
||||
$file_name = trim($image_name);
|
||||
$file_name = str_replace(' ','_',$file_name);
|
||||
$file_name = str_replace('%20','_',$file_name);
|
||||
$file_name = str_replace('"','',$file_name);
|
||||
$file_name = str_replace("'",'',$file_name);
|
||||
$file_name = str_replace('$','',$file_name);
|
||||
$file_name = str_replace('/','',$file_name);
|
||||
$file_name = str_replace('\\','',$file_name);
|
||||
$file_name = str_replace('(','.',$file_name);
|
||||
$file_name = str_replace(')','',$file_name);
|
||||
$file_name = str_replace('[','',$file_name);
|
||||
$file_name = str_replace(']','',$file_name);
|
||||
$file_name = str_replace('&','_and_',$file_name);
|
||||
$file_name = str_replace(';','_and_',$file_name);
|
||||
$file_name = preg_replace('/[^[:print:]]/', '', $file_name);
|
||||
$image_name = $file_name;
|
||||
|
||||
$image_path = "files/$subpath/image";
|
||||
$image_target = "$image_path/$file_name";
|
||||
writeLog("image_target: $image_target");
|
||||
|
||||
if (is_file($image_target)) unlink($image_target);
|
||||
|
||||
if (move_uploaded_file($_FILES['file']['tmp_name'],$image_target)){
|
||||
writeLog("Move completed");
|
||||
|
||||
// Resize image and create thumbnail
|
||||
resizeImage($image_name, $image_path, $maxImageSize, $thumbWidth);
|
||||
|
||||
echo($image_target);
|
||||
writeLog("Done");
|
||||
exit;
|
||||
}
|
||||
}
|
||||
echo '{"status":"error"}';
|
||||
exit;
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,168 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active",$moduleName);
|
||||
exit;
|
||||
}
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
|
||||
$moduleName = "ajax.schoolSearch.php";
|
||||
// startLog($moduleName);
|
||||
|
||||
|
||||
// Get search text
|
||||
$text = trim(strtolower($_GET['term']));
|
||||
$words = explode(' ',$text);
|
||||
writeLog("text: $text\n");
|
||||
|
||||
|
||||
// School status options
|
||||
$schoolStatus = "'Active','Special','Deleted','Inactive','Linked'";
|
||||
$schoolStatus = "'','Active','Special','Linked'";
|
||||
$schoolStatus = "'','Active','Special'";
|
||||
|
||||
// Format where clause
|
||||
$swhere = "";
|
||||
for ($i = 0; $i < count($words); $i++) {
|
||||
$word = db_escape_string($words[$i]);
|
||||
if (preg_match("/^#/",$word) || is_numeric($word)) {
|
||||
$num = intval(preg_replace("/^#/","",$word));
|
||||
|
||||
// Check for an invoice number
|
||||
$inv = $num - 500;
|
||||
if ($inv > 0) {
|
||||
$query = "SELECT * FROM invoice_header WHERE record_num = $inv";
|
||||
$results = db_query($query);
|
||||
if (db_num_rows($results)) {
|
||||
$row = db_fetch_assoc($results);
|
||||
$num = $row['school_num'];
|
||||
}
|
||||
}
|
||||
|
||||
$swhere = "AND record_num = $num ";
|
||||
$cwhere = "AND s.record_num = $num ";
|
||||
$schoolStatus = "'Active','Special'";
|
||||
}
|
||||
else {
|
||||
$num = 0;
|
||||
if (is_numeric($word)) $num = intval($word);
|
||||
$swhere .= "AND (school_name LIKE '%$word%' " .
|
||||
"OR city LIKE '$word%' " .
|
||||
"OR principal LIKE '%$word%' " .
|
||||
"OR principal_email LIKE '%$word%' " .
|
||||
"OR phone LIKE '%$word%' " .
|
||||
"OR default_url_code LIKE '%$word%' " .
|
||||
"OR url LIKE '%$word%' " .
|
||||
"OR reseller LIKE '$word%' " .
|
||||
"OR reply_email LIKE '%$word%' " .
|
||||
"OR support_email LIKE '%$word%' " .
|
||||
"OR volunteer_reminder_email LIKE '%$word%' " .
|
||||
"OR record_num = $num) ";
|
||||
$cwhere .= "AND (sc.contact_name LIKE '%$word%' OR sc.contact_email LIKE '%$word%' OR sc.contact_phone LIKE '%$word%' OR sc.contact_cell LIKE '%$word%' OR s.record_num = $num) ";
|
||||
}
|
||||
}
|
||||
|
||||
// Get matching school records
|
||||
$query = "SELECT DISTINCT school_name,city,province,status,url,reseller,record_num FROM schools WHERE status IN ($schoolStatus) $swhere ORDER BY school_name";
|
||||
writeLog("query: $query\n");
|
||||
$results = db_query($query);
|
||||
|
||||
$query = "SELECT DISTINCT school_name,city,province,status,url,reseller,record_num FROM schools WHERE status IN ('Linked') $swhere ORDER BY school_name";
|
||||
writeLog("query: $query\n");
|
||||
$results2 = db_query($query);
|
||||
|
||||
$query = "SELECT DISTINCT school_name,city,province,status,url,reseller,record_num FROM schools WHERE status IN ('Inactive','Deleted') $swhere ORDER BY school_name";
|
||||
writeLog("query: $query\n");
|
||||
$results3 = db_query($query);
|
||||
|
||||
// Format data for return
|
||||
$return_data = array();
|
||||
$num_records = db_num_rows($results) + db_num_rows($results2) + db_num_rows($results3);
|
||||
if ($num_records > 0) {
|
||||
writeLog("records: $num_records\n");
|
||||
if (db_num_rows($results)) {
|
||||
$return_data[] = array("value" => "-- ACTIVE SCHOOLS ------------",
|
||||
"school_name" => '',
|
||||
"school_num" => 0);
|
||||
while ($row = db_fetch_assoc($results)) {
|
||||
extract($row);
|
||||
$r = "";
|
||||
if ($reseller != 'hotlunch') $r = " ($reseller)";
|
||||
$school_status = " ($status/$record_num)";
|
||||
$return_data[] = array("value" => $school_name.' - '.$city.', '.$province.$r."$school_status - $url",
|
||||
"school_name" => $school_name,
|
||||
"school_num" => $record_num);
|
||||
}
|
||||
}
|
||||
|
||||
if (db_num_rows($results2)) {
|
||||
$return_data[] = array("value" => "-- LINKED SCHOOLS ------------",
|
||||
"school_name" => '',
|
||||
"school_num" => 0);
|
||||
while ($row = db_fetch_assoc($results2)) {
|
||||
extract($row);
|
||||
$r = "";
|
||||
if ($reseller != 'hotlunch') $r = " ($reseller)";
|
||||
$school_status = " ($status/$record_num)";
|
||||
$return_data[] = array("value" => $school_name.' - '.$city.', '.$province.$r."$school_status - $url",
|
||||
"school_name" => $school_name,
|
||||
"school_num" => $record_num);
|
||||
}
|
||||
}
|
||||
|
||||
if (db_num_rows($results3)) {
|
||||
$return_data[] = array("value" => "-- INACTIVE / DELETED SCHOOLS ------------",
|
||||
"school_name" => '',
|
||||
"school_num" => 0);
|
||||
while ($row = db_fetch_assoc($results3)) {
|
||||
extract($row);
|
||||
$r = "";
|
||||
if ($reseller != 'hotlunch') $r = " ($reseller)";
|
||||
$school_status = " ($status/$record_num)";
|
||||
$return_data[] = array("value" => $school_name.' - '.$city.', '.$province.$r."$school_status - $url",
|
||||
"school_name" => $school_name,
|
||||
"school_num" => $record_num);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Get matching contact records
|
||||
$query = "SELECT DISTINCT school_name,city,province,s.record_num,sc.contact_name,sc.contact_phone " .
|
||||
"FROM schools AS s,school_contact_list AS sc " .
|
||||
"WHERE status IN ('Active','Special') AND s.record_num = sc.school_num $cwhere " .
|
||||
"ORDER BY school_name";
|
||||
writeLog("query: $query\n");
|
||||
$results = db_query($query);
|
||||
|
||||
// Format data for return
|
||||
$num_records = db_num_rows($results);
|
||||
if ($num_records > 0) {
|
||||
writeLog("records: $num_records\n");
|
||||
$return_data[] = array("value" => "-- CONTACTS ------------",
|
||||
"school_name" => '',
|
||||
"school_num" => 0);
|
||||
while ($row = db_fetch_assoc($results)) {
|
||||
extract($row);
|
||||
$return_data[] = array("value" => $school_name.' - '.$contact_name,
|
||||
"school_name" => $school_name,
|
||||
"school_num" => $record_num);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
writeLog("completed\n");
|
||||
echo(json_encode($return_data));
|
||||
return false;
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active",$moduleName);
|
||||
exit;
|
||||
}
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
$moduleName = "ajax.studentSearch.php";
|
||||
// startLog($moduleName);
|
||||
|
||||
|
||||
// Get search text
|
||||
$text = trim(strtolower($_GET['term']));
|
||||
$words = explode(' ',$text);
|
||||
writeLog("text: $text\n");
|
||||
|
||||
|
||||
// Format where clause
|
||||
$swhere = "";
|
||||
for ($i = 0; $i < count($words); $i++) {
|
||||
$word = db_escape_string($words[$i]);
|
||||
$uwhere .= "AND (people.first_name LIKE '$word%' " .
|
||||
"OR people.last_name LIKE '$word%') ";
|
||||
}
|
||||
|
||||
// Get matching user records
|
||||
$query = "SELECT DISTINCT people.first_name,people.last_name,user_num,people.record_num,users.first_name AS parent_first_name,users.last_name AS parent_last_name FROM people,users " .
|
||||
"WHERE people.school_num = $school_num " .
|
||||
"AND users.school_num = $school_num " .
|
||||
"AND people.user_num = users.record_num " .
|
||||
$uwhere .
|
||||
"ORDER BY last_name,first_name";
|
||||
writeLog("query: $query\n");
|
||||
$results = db_query($query);
|
||||
|
||||
// Format data for return
|
||||
$return_data = array();
|
||||
$num_records = db_num_rows($results);
|
||||
if ($num_records > 0) {
|
||||
writeLog("records: $num_records\n");
|
||||
$return_data[] = array();
|
||||
while ($row = db_fetch_assoc($results)) {
|
||||
extract($row);
|
||||
$num = db_getVal("SELECT count(*) FROM hotlunch_order_header WHERE school_num = $school_num AND ordered_by_num = $record_num AND status NOT IN ('Pending','Deleted')");
|
||||
$return_data[] = array("value" => "$first_name $last_name ($num) - $parent_first_name $parent_last_name",
|
||||
"student_num" => $record_num);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
writeLog("completed\n");
|
||||
echo(json_encode($return_data));
|
||||
return false;
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active",$moduleName);
|
||||
exit;
|
||||
}
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
|
||||
$moduleName = "ajax.supplierSearch.php";
|
||||
// startLog($moduleName);
|
||||
|
||||
|
||||
// Get search text
|
||||
$text = trim(strtolower($_GET['term']));
|
||||
$words = explode(' ',$text);
|
||||
writeLog("text: $text\n");
|
||||
|
||||
|
||||
|
||||
// Format where clause
|
||||
$swhere = "";
|
||||
for ($i = 0; $i < count($words); $i++) {
|
||||
$word = db_escape_string($words[$i]);
|
||||
$num = 0;
|
||||
if (is_numeric($word)) $num = intval($word);
|
||||
$swhere .= "AND (school_name LIKE '%$word%' " .
|
||||
"OR suppliers.supplier_name LIKE '%$word%' " .
|
||||
"OR suppliers.city LIKE '$word%' " .
|
||||
"OR suppliers.contact_name LIKE '%$word%' " .
|
||||
"OR suppliers.province LIKE '%$word%') ";
|
||||
}
|
||||
|
||||
// Get matching records
|
||||
$query = "SELECT DISTINCT supplier_name,suppliers.contact_name,suppliers.city,suppliers.province,school_name,suppliers.record_num " .
|
||||
"FROM suppliers,schools " .
|
||||
"WHERE suppliers.status = 'Active' " .
|
||||
"AND suppliers.school_num = schools.record_num " .
|
||||
$swhere .
|
||||
"ORDER BY supplier_name";
|
||||
writeLog("query: $query\n");
|
||||
$results = db_query($query);
|
||||
|
||||
// Format data for return
|
||||
$return_data = array();
|
||||
$num_records = db_num_rows($results);
|
||||
if ($num_records > 0) {
|
||||
writeLog("records: $num_records\n");
|
||||
while ($row = db_fetch_assoc($results)) {
|
||||
extract($row);
|
||||
$name = "$supplier_name, $city, $province - $school_name";
|
||||
$return_data[] = array("value" => $name,
|
||||
"supplier_name" => $supplier_name,
|
||||
"supplier_num" => $record_num);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
writeLog("completed\n");
|
||||
echo(json_encode($return_data));
|
||||
return false;
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,93 @@
|
||||
<?php
|
||||
//
|
||||
// Process all requests for pages in the secure area
|
||||
//
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active",$moduleName);
|
||||
exit;
|
||||
}
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
|
||||
// Start the template and output buffering
|
||||
startTemplate();
|
||||
$templatePageTitle = "AJAX Test";
|
||||
$headerArgs = "";
|
||||
$menuInclude = "menu.admin.php";
|
||||
|
||||
|
||||
header('Content-type: text/html; charset=iso-8859-1');
|
||||
|
||||
?>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
div.autocomplete {
|
||||
position:absolute;
|
||||
width:500px;
|
||||
background-color:white;
|
||||
border:1px solid #888;
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
div.autocomplete ul {
|
||||
list-style-type:none;
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
div.autocomplete ul li.selected { background-color: #ffb;}
|
||||
div.autocomplete ul li {
|
||||
list-style-type:none;
|
||||
display:block;
|
||||
margin:0;
|
||||
padding:2px;
|
||||
height:15px;
|
||||
cursor:pointer;
|
||||
}
|
||||
-->
|
||||
</style>
|
||||
|
||||
<form method='post'>
|
||||
<table width='600'>
|
||||
<tr>
|
||||
<td align='right'>Name:</td>
|
||||
<td>
|
||||
<input type="text" id="last_name" name="last_name" size='40' /><br />
|
||||
<div id="last_name_choices" class="autocomplete"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align='right'>People Num:</td>
|
||||
<td><input type='text' id='people_num' name='people_num'></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<SCRIPT TYPE="text/javascript" LANGUAGE="javascript">
|
||||
// <![CDATA[
|
||||
new Ajax.Autocompleter("last_name", "last_name_choices", "ajaxGetNames.php", {
|
||||
paramName: "nameText",
|
||||
minChars: 1,
|
||||
frequence: 0.4,
|
||||
parameters: 'sn=1&sch=1413',
|
||||
afterUpdateElement : getSelectionId
|
||||
});
|
||||
|
||||
function getSelectionId(text, li) {
|
||||
alert(li.id);
|
||||
}
|
||||
// ]]>
|
||||
</SCRIPT>
|
||||
|
||||
<?php
|
||||
|
||||
endTemplate();
|
||||
?>
|
||||
@@ -0,0 +1,80 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active");
|
||||
exit;
|
||||
}
|
||||
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
// Set default timezone
|
||||
date_default_timezone_set("Canada/Pacific");
|
||||
$now = date("Y-m-d H:i:s",time());
|
||||
|
||||
$return_data = array();
|
||||
|
||||
$moduleName = "ajax.updateGrade.php";
|
||||
// startLog($moduleName);
|
||||
|
||||
|
||||
|
||||
// Get parameters
|
||||
$record_num = intval($_GET['record_num']);
|
||||
$class_num = intval($_GET['class_num']);
|
||||
$gfield = $_GET['gfield'];
|
||||
|
||||
// Ensure parameters are valid
|
||||
writeLog("record_num: $record_num");
|
||||
writeLog("class_num: $class_num");
|
||||
writeLog("gfield: $gfield");
|
||||
|
||||
if (!is_numeric($record_num)) logExit("record_num is not numeric\n");
|
||||
if (!is_numeric($class_num)) logExit("class_num is not numeric\n");
|
||||
if ($record_num == 0) logExit("record_num is zero\n");
|
||||
if ($class_num == 0) logExit("class_num is zero\n");
|
||||
|
||||
|
||||
// Validate the class
|
||||
$class = "";
|
||||
switch ($class_num) {
|
||||
case 1:
|
||||
$class = getLanguageText('TEXT-STAFF');
|
||||
break;
|
||||
|
||||
case 2:
|
||||
$class = getLanguageText('TEXT-PARENT');
|
||||
break;
|
||||
|
||||
default:
|
||||
$query = "SELECT * FROM classes WHERE school_num = $school_num AND record_num = $class_num";
|
||||
writeLog($query);
|
||||
$r = db_query($query);
|
||||
if (db_num_rows($r)) {
|
||||
$row = db_fetch_assoc($r);
|
||||
$class = $row[$gfield];
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
writeLog("Class: $class");
|
||||
|
||||
if (strlen($class)) {
|
||||
// Update people entry
|
||||
$query = "UPDATE people SET class_num = $class_num WHERE school_num = $school_num AND record_num = $record_num";
|
||||
writeLog("query: $query\n");
|
||||
db_query($query);
|
||||
}
|
||||
|
||||
$return['ajax_return_code'] = 0;
|
||||
$return['class'] = $class;
|
||||
echo(json_encode($return));
|
||||
|
||||
writeLog("completed");
|
||||
?>
|
||||
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active");
|
||||
exit;
|
||||
}
|
||||
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
$moduleName = "ajax.userSearch.php";
|
||||
// startLog($moduleName);
|
||||
|
||||
|
||||
// Get search text
|
||||
$text = trim(strtolower($_GET['term']));
|
||||
$words = explode(' ',$text);
|
||||
writeLog("text: $text\n");
|
||||
|
||||
|
||||
// Format where clause
|
||||
$swhere = "";
|
||||
for ($i = 0; $i < count($words); $i++) {
|
||||
$word = db_escape_string($words[$i]);
|
||||
$uwhere .= "AND (userid LIKE '$word%' " .
|
||||
"OR first_name LIKE '$word%' " .
|
||||
"OR last_name LIKE '$word%' " .
|
||||
"OR email LIKE '$word%' " .
|
||||
"OR schools.city LIKE '$word%' " .
|
||||
"OR schools.province LIKE '$word%' " .
|
||||
"OR phone LIKE '%$word%') ";
|
||||
}
|
||||
|
||||
// Get matching user records
|
||||
$query = "SELECT DISTINCT school_num,userid,first_name,last_name,school_name,schools.province,users.record_num FROM users,schools " .
|
||||
"WHERE users.school_num = schools.record_num " .
|
||||
"AND schools.status IN ('Active','Inactive','Special') " .
|
||||
$uwhere .
|
||||
"ORDER BY last_name,first_name";
|
||||
writeLog("query: $query\n");
|
||||
$results = db_query($query);
|
||||
|
||||
// Format data for return
|
||||
$return_data = array();
|
||||
$num_records = db_num_rows($results);
|
||||
if ($num_records > 0) {
|
||||
writeLog("records: $num_records\n");
|
||||
$return_data[] = array();
|
||||
while ($row = db_fetch_assoc($results)) {
|
||||
extract($row);
|
||||
$num = db_getVal("SELECT count(*) FROM people WHERE school_num = $school_num AND user_num = $record_num");
|
||||
$return_data[] = array("value" => "$first_name $last_name ($num) - $school_name ($province)",
|
||||
"user_num" => $record_num);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
writeLog("completed\n");
|
||||
echo(json_encode($return_data));
|
||||
return false;
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
function dataValidation($request) {
|
||||
global $school_num;
|
||||
|
||||
extract($request,EXTR_PREFIX_ALL,"P");
|
||||
$error_message = "";
|
||||
|
||||
// Check if the user id is provided
|
||||
if (strlen($P_userid) == 0) {
|
||||
$error_message = getLanguageText('ERRORMSG-USER-ID-REQUIRED') . " - $P_userid";
|
||||
return($error_message);
|
||||
}
|
||||
|
||||
// Check for an invalid user id
|
||||
if ($P_userid != db_escape_string($P_userid)) {
|
||||
$error_message = getLanguageText('ERRORMSG-RESTRICTED-USER-ID');
|
||||
return($error_message);
|
||||
}
|
||||
|
||||
if (strpos($userid,' ') !== false) {
|
||||
$error_message = getLanguageText('ERRORMSG-INVALID-USER-ID');
|
||||
return($error_message);
|
||||
}
|
||||
|
||||
if ($userid == 'superuser' || $userid == 'admin') {
|
||||
$error_message = getLanguageText('ERRORMSG-RESTRICTED-USER-ID');
|
||||
return($error_message);
|
||||
}
|
||||
|
||||
// Check if the user id is already in use
|
||||
$userid = db_escape_string($P_userid);
|
||||
$query = "select * from users " .
|
||||
"where school_num = $school_num " .
|
||||
"and userid = '" . db_escape_string($userid) . "'";
|
||||
$results = db_query($query);
|
||||
if (db_num_rows($results) > 0) {
|
||||
$error_message = getLanguageText('ERRORMSG-USER-ID-NOT-AVAILABLE');
|
||||
return($error_message);
|
||||
}
|
||||
|
||||
// Check for missing fields
|
||||
$requiredFields = array('password','type','status');
|
||||
for ($i = 0; $i < count($requiredFields); $i++) {
|
||||
$field = $requiredFields[$i];
|
||||
if (strlen($request[$field]) == 0) {
|
||||
$error_message = getLanguageText('ERRORMSG-MISSING-DATA');
|
||||
return($error_message);
|
||||
}
|
||||
}
|
||||
|
||||
return(0);
|
||||
}
|
||||
?>
|
||||
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active\n");
|
||||
exit;
|
||||
}
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
|
||||
$searchTerm = db_escape_string(urldecode($_REQUEST['nameText']));
|
||||
$schoolId = db_escape_string($_REQUEST['sn']);
|
||||
$scheduleNum = db_escape_string($_REQUEST['sch']);
|
||||
|
||||
// find all matching students
|
||||
$rconds = "p.school_num='{$schoolId}' AND p.user_num = u.record_num AND";
|
||||
if (strlen($searchTerm) == 1) {
|
||||
$sText = "'{$searchTerm}%'";
|
||||
} else {
|
||||
$sText = "'%{$searchTerm}%'";
|
||||
$sText = "'{$searchTerm}%'";
|
||||
}
|
||||
$conds = "$rconds (p.first_name LIKE $sText OR p.last_name LIKE $sText OR u.last_name LIKE $sText OR u.home_phone LIKE $sText)";
|
||||
$order = "p.last_name ASC, p.first_name ASC";
|
||||
$r = db_query("SELECT p.* FROM people AS p, users AS u WHERE {$conds} ORDER BY $order");
|
||||
|
||||
$results = "<ul>\n";
|
||||
while ($d = db_fetch_array($r, MYSQL_ASSOC)) {
|
||||
extract($d, EXTR_PREFIX_ALL, 's');
|
||||
|
||||
if ($s_people_type == 'Student') {
|
||||
$u = db_query("SELECT * FROM users WHERE record_num = $s_user_num");
|
||||
$ur = db_fetch_array($u, MYSQL_ASSOC);
|
||||
extract($ur, EXTR_PREFIX_ALL, 'u');
|
||||
}
|
||||
|
||||
// Check if this person has an order
|
||||
$query = "SELECT count(*) FROM hotlunch_order_header " .
|
||||
"WHERE school_num = $schoolId " .
|
||||
"AND ordered_by_num = $s_record_num " .
|
||||
"AND schedule_num = $scheduleNum";
|
||||
$num_orders = db_getVal($query);
|
||||
$has_order = "No";
|
||||
if ($num_orders == 1) $has_order = "Yes";
|
||||
|
||||
$results .= "<li id='$s_record_num'>$s_first_name $s_last_name</li>\n";
|
||||
}
|
||||
$results .= "</ul>\n";
|
||||
echo($results);
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active",$moduleName);
|
||||
exit;
|
||||
}
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
if (!in_array($_SESSION['UserInfo']['type'],array('SuperUser','System Administrator','Application Administrator','Schedule Team','Financial','Financial Team'))) {
|
||||
logExit("Invalid user access\n");
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
|
||||
$searchTerm = db_escape_string(urldecode($_GET['s']));
|
||||
$schoolId = db_escape_string($_GET['sn']);
|
||||
$scheduleNum = db_escape_string($_GET['sch']);
|
||||
$results = array();
|
||||
|
||||
// find all matching students
|
||||
$words = explode(' ',$searchTerm);
|
||||
$conds = "";
|
||||
for ($i = 0; $i < count($words); $i++) {
|
||||
$word = db_escape_string(trim($words[$i]));
|
||||
$searchSql = "{$word}%";
|
||||
$conds = "type='Parent' AND school_num='{$schoolId}' AND (last_name LIKE \"{$searchSql}\" OR userid LIKE \"{$searchSql}\" OR email LIKE \"{$searchSql}\")";
|
||||
}
|
||||
$order = "last_name ASC, first_name ASC";
|
||||
$r = db_query("SELECT * FROM users WHERE {$conds} ORDER BY $order");
|
||||
|
||||
while ($d = db_fetch_array($r, MYSQL_ASSOC)) {
|
||||
extract($d, EXTR_PREFIX_ALL, 'p');
|
||||
|
||||
// Encode the values for transmission
|
||||
$p_first_name = preg_replace('/\+/',' ',urlencode($p_first_name));
|
||||
$p_last_name = preg_replace('/\+/',' ',urlencode($p_last_name));
|
||||
$p_userid = preg_replace('/\+/',' ',urlencode($p_userid));
|
||||
|
||||
// Encode the users array
|
||||
$d['first_name'] = preg_replace('/\+/',' ',urlencode($d['first_name']));
|
||||
$d['last_name'] = preg_replace('/\+/',' ',urlencode($d['last_name']));
|
||||
$d['userid'] = preg_replace('/\+/',' ',urlencode($d['userid']));
|
||||
|
||||
$results[] = array_merge($d, array(
|
||||
'id' => $p_record_num,
|
||||
'account' => $p_userid,
|
||||
'name' => trim("{$p_first_name} {$p_last_name}"),
|
||||
'email' => $p_email,
|
||||
'phone' => $p_home_phone
|
||||
));
|
||||
}
|
||||
|
||||
echo(json_encode($results));
|
||||
?>
|
||||
@@ -0,0 +1,126 @@
|
||||
<?php
|
||||
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
require_once("include/globals.php");
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active",$moduleName);
|
||||
exit;
|
||||
}
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
if (!in_array($_SESSION['UserInfo']['type'],array('SuperUser','System Administrator','Application Administrator','Schedule Team','Financial','Financial Team'))) {
|
||||
logExit("Invalid user access\n");
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
$moduleName = "ajaxSearchStudents.php";
|
||||
// startLog($moduleName);
|
||||
|
||||
|
||||
$searchTerm = db_escape_string(urldecode($_GET['s']));
|
||||
$schoolId = db_escape_string($_GET['sn']);
|
||||
$baseSchool = db_escape_string(urldecode($_GET['bn']));
|
||||
$scheduleNum = db_escape_string($_GET['sch']);
|
||||
$results = array();
|
||||
|
||||
// find all matching students
|
||||
$rconds = "p.school_num='{$baseSchool}' AND p.user_num = u.record_num ";
|
||||
$rconds = "p.school_num='{$baseSchool}' ";
|
||||
if (strlen($searchTerm) == 1) {
|
||||
$sText = "'" . db_escape_string($searchTerm) . "%'";
|
||||
$sTextB = "'" . db_escape_string($searchTerm) . "%'";
|
||||
$nconds = "";
|
||||
if (is_numeric($searchTerm)) $nconds = " OR p.record_num = $searchTerm";
|
||||
// $conds = "AND (p.first_name LIKE $sText OR p.last_name LIKE $sText OR u.last_name LIKE $sText OR u.home_phone LIKE $sTextB OR student_number LIKE $sText $nconds) ";
|
||||
$conds = "AND (p.first_name LIKE $sText OR p.last_name LIKE $sText OR student_number LIKE $sText $nconds) ";
|
||||
} else {
|
||||
$words = explode(' ',$searchTerm);
|
||||
$conds = "";
|
||||
for ($i = 0; $i < count($words); $i++) {
|
||||
$word = trim($words[$i]);
|
||||
$sText = "'" . db_escape_string($word) . "%'";
|
||||
$sTextB = "'%" . db_escape_string($word) . "%'";
|
||||
$nconds = "";
|
||||
if (is_numeric($word)) $nconds = " OR p.record_num = $word";
|
||||
// $conds .= "AND (p.first_name LIKE $sText OR p.last_name LIKE $sText OR u.last_name LIKE $sText OR u.home_phone LIKE $sTextB OR student_number LIKE $sText $nconds) ";
|
||||
$conds .= "AND (p.first_name LIKE $sText OR p.last_name LIKE $sText OR student_number LIKE $sText $nconds) ";
|
||||
}
|
||||
}
|
||||
|
||||
$conds = "$rconds $conds";
|
||||
$order = "p.last_name ASC, p.first_name ASC";
|
||||
$q = "SELECT p.* FROM people AS p LEFT JOIN users AS u ON p.user_num = u.record_num WHERE p.status != 'Inactive' AND {$conds} ORDER BY $order";
|
||||
// writeLog("query: $q\n");
|
||||
$r = db_query($q);
|
||||
|
||||
while ($d = db_fetch_array($r, MYSQL_ASSOC)) {
|
||||
extract($d, EXTR_PREFIX_ALL, 's');
|
||||
|
||||
$ur = array();
|
||||
if ($s_people_type == 'Student') {
|
||||
$s_user_num = intval($s_user_num);
|
||||
$u = db_query("SELECT * FROM users WHERE record_num = $s_user_num");
|
||||
if (db_num_rows($u)) {
|
||||
$ur = db_fetch_array($u, MYSQL_ASSOC);
|
||||
extract($ur, EXTR_PREFIX_ALL, 'u');
|
||||
}
|
||||
}
|
||||
|
||||
// Check if this person has an order
|
||||
if ($scheduleNum > 0) {
|
||||
$query = "SELECT count(*) FROM hotlunch_order_header " .
|
||||
"WHERE school_num = $schoolId " .
|
||||
"AND ordered_by_num = $s_record_num " .
|
||||
"AND schedule_num = $scheduleNum";
|
||||
$num_orders = db_getVal($query);
|
||||
$has_order = false;
|
||||
if ($num_orders == 1) $has_order = true;
|
||||
}
|
||||
|
||||
// Encode the name and user id for transmission
|
||||
$s_first_name = preg_replace('/\+/',' ',urlencode($s_first_name));
|
||||
$s_last_name = preg_replace('/\+/',' ',urlencode($s_last_name));
|
||||
$u_userid = preg_replace('/\+/',' ',urlencode($u_userid));
|
||||
|
||||
// Encode the user array values
|
||||
$parent = preg_replace('/\+/',' ',urlencode($ur['first_name'] . ' ' . $ur['last_name']));
|
||||
$ur['first_name'] = preg_replace('/\+/',' ',urlencode($ur['first_name']));
|
||||
$ur['last_name'] = preg_replace('/\+/',' ',urlencode($ur['last_name']));
|
||||
|
||||
if ($s_people_type == 'Staff') $parent = "Staff";
|
||||
|
||||
// Encode the people array values
|
||||
$d['first_name'] = preg_replace('/\+/',' ',urlencode($d['first_name']));
|
||||
$d['last_name'] = preg_replace('/\+/',' ',urlencode($d['last_name']));
|
||||
|
||||
// Ensure that a price category is returned
|
||||
if (strlen($s_menu_price_category) == 0) $s_menu_price_category = 'Regular';
|
||||
|
||||
$results[] = array_merge($d, array(
|
||||
'user' => $ur,
|
||||
'id' => $s_record_num,
|
||||
'name' => "{$s_first_name} {$s_last_name}",
|
||||
'parent' => $parent,
|
||||
'phone' => $u_home_phone,
|
||||
'hasOrder' => $has_order,
|
||||
'balance' => $u_balance,
|
||||
'birthdate' => $s_birthdate,
|
||||
'age' => $s_age,
|
||||
'sex' => $s_sex,
|
||||
'grade' => $s_school_grade,
|
||||
'student_number' => $s_student_number,
|
||||
'price_category' => $s_menu_price_category
|
||||
));
|
||||
}
|
||||
|
||||
echo(json_encode($results));
|
||||
?>
|
||||
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
|
||||
// include("db.php");
|
||||
$ValidAccess = 2010;
|
||||
$sessionName = 'hotlunch';
|
||||
session_name($sessionName);
|
||||
session_start();
|
||||
include "include/globals.php";
|
||||
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
logExit("Session is not active",$moduleName);
|
||||
exit;
|
||||
}
|
||||
|
||||
// CSRF token validation
|
||||
include "include/ajax.csrfToken.php";
|
||||
|
||||
|
||||
if (!in_array($_SESSION['UserInfo']['type'],array('SuperUser','System Administrator','Application Administrator','Schedule Team','Financial','Financial Team'))) {
|
||||
logExit("Invalid user access\n");
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
|
||||
$searchTerm = db_escape_string(urldecode($_GET['s']));
|
||||
$schoolId = db_escape_string($_GET['sn']);
|
||||
$baseSchool = db_escape_string(urldecode($_GET['bn']));
|
||||
$results = array();
|
||||
|
||||
// find all matching students
|
||||
$rconds = "u.school_num='{$baseSchool}' AND";
|
||||
if (strlen($searchTerm) == 1) {
|
||||
$sText = "'" . db_escape_string($searchTerm) . "%'";
|
||||
$sTextB = $sText;
|
||||
} else {
|
||||
$sTextB = "'%" . db_escape_string($searchTerm) . "%'";
|
||||
$sText = "'" . db_escape_string($searchTerm) . "%'";
|
||||
}
|
||||
$nConds = "";
|
||||
if (is_numeric($searchTerm)) $nConds = "OR u.record_num = $searchTerm";
|
||||
$conds = "$rconds (u.first_name LIKE $sText OR u.last_name LIKE $sText OR u.userid LIKE $sTextB OR u.email LIKE $sTextB OR u.email2 LIKE $sTextB OR u.email3 LIKE $sTextB OR u.home_phone LIKE $sTextB $nConds)";
|
||||
$order = "u.last_name ASC, u.first_name ASC";
|
||||
$r = db_query("SELECT u.* FROM users AS u WHERE {$conds} ORDER BY $order");
|
||||
|
||||
while ($d = db_fetch_array($r, MYSQL_ASSOC)) {
|
||||
extract($d, EXTR_PREFIX_ALL, 'u');
|
||||
|
||||
$num_students = db_getVal("SELECT count(*) FROM people WHERE school_num = $baseSchool AND user_num = $u_record_num");
|
||||
|
||||
// Encode the name and user id for transmission
|
||||
$u_name = preg_replace('/\+/',' ',urlencode($u_first_name.' '.$u_last_name));
|
||||
$u_userid = preg_replace('/\+/',' ',urlencode($u_userid));
|
||||
|
||||
// Encode the user array values
|
||||
$parent = preg_replace('/\+/',' ',urlencode($ur['first_name'] . ' ' . $ur['last_name']));
|
||||
$ur['first_name'] = preg_replace('/\+/',' ',urlencode($ur['first_name']));
|
||||
$ur['last_name'] = preg_replace('/\+/',' ',urlencode($ur['last_name']));
|
||||
|
||||
if ($s_people_type == 'Staff') $parent = "Staff";
|
||||
|
||||
// Encode the people array values
|
||||
$d['first_name'] = preg_replace('/\+/',' ',urlencode($d['first_name']));
|
||||
$d['last_name'] = preg_replace('/\+/',' ',urlencode($d['last_name']));
|
||||
|
||||
$results[] = array(
|
||||
'record_num' => $u_record_num,
|
||||
'name' => $u_name,
|
||||
'userid' => $u_userid,
|
||||
'phone' => $u_home_phone,
|
||||
'type' => $u_type,
|
||||
'students' => $num_students
|
||||
);
|
||||
}
|
||||
|
||||
echo(json_encode($results));
|
||||
?>
|
||||
Reference in new issue
Block a user