130 lines
4.1 KiB
PHP
130 lines
4.1 KiB
PHP
<?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");
|
|
?>
|