0) { $query .= "AND transaction_datetime >= '$_GET[start_date] 00:00:00' "; } // Manage end date parameter if (array_key_exists('end_date',$_GET) && strlen($_GET['end_date']) > 0) { $query .= "AND transaction_datetime <= '$_GET[end_date] 23:59:59' "; } // Manage user_num parameter if (array_key_exists('selected_usernum',$_GET) && strlen($_GET['selected_usernum']) > 0) { $query .= "AND ua.user_num = " . intval($_GET['selected_usernum']) . " "; $mode = 'account'; } // Manage selected transaction type parameter $query .= "AND ua.transaction_type = 'Payment' "; // Manage selected payment methods $query .= "AND ua.payment_method = 'PayPal' "; // View only selected schedule if (array_key_exists('selected_schedule_num',$_GET) && strlen($_GET['selected_schedule_num']) > 0) { $query .= "AND ua.schedule_num = '$_GET[selected_schedule_num]' "; } // Process the optional type parameter if (array_key_exists('type',$_GET) && strlen($_GET['type']) > 0 && $_GET['type'] == 'deleted') { $query .= "AND deleted = 'Y' "; } else { $query .= "AND (deleted != 'Y' OR deleted IS NULL) "; } if (!isset($scheduleNames) || !is_array($scheduleNames)) $scheduleNames = array(); // Complete the query $query .= "ORDER BY transaction_datetime,record_num"; $transactions = db_query($query); $total_credits = 0; $total_fee = 0; $total_actual = 0; // Initialize the spreadsheet document type header('Pragma: public'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Cache-Control: private',false); header("Content-type: application/octet-stream; charset=utf-8"); header("Content-Disposition: attachment; filename=paypal_transactions.csv"); header('Content-Transfer-Encoding: text'); echo("\xEF\xBB\xBF"); $school_name = $school_record['school_name']; echo("$school_name :: PayPal Transactions\n"); echo(getLanguageText('TEXT-USER-ID').","); echo(getLanguageText('TEXT-NAME').","); echo(getLanguageText('TEXT-EMAIL').","); echo(getLanguageText('TEXT-TRX-DATE').","); echo(getLanguageText('TEXT-REF').","); echo(getLanguageText('TEXT-SCHEDULE').","); echo(getLanguageText('TEXT-AMOUNT').","); echo("PayPal,"); echo(getLanguageText('TEXT-METHOD').","); echo(getLanguageText('TEXT-ACTUAL').","); echo("\n"); while ($row = db_fetch_array($transactions)) { extract($row); echo($row['userid'].","); echo($row['first_name'].' '.$row['last_name'].","); echo($row['email'].","); echo($row['trx_date'].","); echo($row['payment_reference'].","); // Format the data values $credit = $currencySymbol . abs($transaction_amount); $trx_fee = $currencySymbol . abs($transaction_fee); $actual = abs($transaction_amount) - abs($transaction_fee); $total_credits += abs($transaction_amount); $total_fee += abs($transaction_fee); $total_actual += $actual; $schedule_name = ""; if ($schedule_num > 0) { if (array_key_exists($schedule_num, $scheduleNames)) $schedule_name = $scheduleNames[$schedule_num]; else { $schedule_name = db_getVal("SELECT schedule_name FROM hotlunch_schedules WHERE school_num = $school_num AND record_num = $schedule_num"); $scheduleNames[$schedule_num] = $schedule_name; } } echo("$schedule_name,"); // Format the current actual $actual = round($actual * 100) / 100; $actual_amt = $currencySymbol . $actual; echo($credit.","); echo($trx_fee.","); echo($row['payment_method'].","); echo($actual_amt.","); // Display deleted information if required if (isset($row['deleted']) && $row['deleted'] == 'Y') { $deleted_datetime = $row['deleted_datetime']; $deleted_by_user_num = $row['deleted_by_user_num']; $delete_reason = $row['delete_reason']; $delete_userid = "superuser"; if ($deleted_by_user_num != 1) $delete_userid = db_getVal("SELECT userid FROM users WHERE school_num = $base_school_num AND record_num = $deleted_by_user_num"); $delete_info = "Deleted $deleted_datetime by $delete_userid - $delete_reason"; echo($delete_info.","); } echo("\n"); } // Format report totals $total_credits = round($total_credits * 100) / 100; $total_credits = $currencySymbol . $total_credits; $total_fee = round($total_fee * 100) / 100; $total_fee = $currencySymbol . $total_fee; $total_actual = round($total_actual * 100) / 100; $total_actual = $currencySymbol . $total_actual; // Display totals for the report echo(",,,"); echo("TRX Totals for Period :: ".","); echo($total_credits.","); echo($total_fee.","); echo(","); echo($total_actual.","); echo("\n"); return; ?>