First Commit
This commit is contained in:
1 parent
5eb9dd037d
commit
2e62c0e60b
11877 files changed
+2035312
No files matched your search
@@ -0,0 +1,183 @@
|
||||
<?php
|
||||
$ValidAccess = 2010;
|
||||
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();
|
||||
$sequence_flag = 'N';
|
||||
|
||||
$moduleName = "ajax.ApplyCredit.php";
|
||||
// startLog($moduleName);
|
||||
|
||||
// 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));
|
||||
|
||||
?>
|
||||
Reference in new issue
Block a user