First Commit

This commit is contained in:
mark committed 2026-10-19 15:22:52 -07:00
1 parent 5eb9dd037d
commit 2e62c0e60b
11877 files changed
+2035312

No files matched your search

+129
View File
@@ -0,0 +1,129 @@
<?php
$ValidAccess = 2010;
require_once("include/globals.php");
if (SessionActive() != 1 || ! UserLoggedIn()) {
logExit("Session is not active\n");
exit();
}
// Set userType
$userType = "Parent";
if (array_key_exists('type', $_SESSION['UserInfo']) && in_array($_SESSION['UserInfo']['type'],$AllAdminUserTypes)) $userType = "Admin";
if ($userType != 'Admin') return;
// 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.ClearUserBalances.php";
// startLog($moduleName);
// 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");
?>