Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- session_start(['cookie_lifetime' => 2400,
- 'use_only_cookies' => true,
- ]);
- require_once '../root_login.php';
- // The following makes sure the pages load using HTTPS
- /*if ($_SERVER['HTTPS'] != "on") {
- $url = "https://". $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
- header("Location: $url");
- exit;
- } */
- if ($_SESSION["memberid"] == "") {
- header("Location: wslogin.php");
- exit();
- }
- //$_SESSION['id'] = $_POST['view'];
- //$_SESSION['groupid'] = $_POST['groupid'];
- ?>
- <!doctype html>
- <html class="no-js" lang="en">
- <head>
- <meta charset="utf-8">
- <meta http-equiv="x-ua-compatible" content="ie=edge">
- <title></title>
- <meta name="description" content="">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <link rel="apple-touch-icon" href="apple-touch-icon.png">
- <!-- Place favicon.ico in the root directory -->
- <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
- <script>
- window.jQuery || document.write('<script src="js/jquery-2.0.0.min.js"><\/script>')
- </script>
- <script src="js/plugins.js"></script>
- <script src="js/main.js"></script>
- <!-- Latest compiled and minified CSS -->
- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
- <!-- Optional theme -->
- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css">
- <!-- Latest compiled and minified JavaScript -->
- <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
- <link rel="stylesheet" href="css/normalize.css">
- <link rel="stylesheet" href="css/main.css">
- <script src="js/vendor/modernizr-2.8.3.min.js"></script>
- <script src='https://www.google.com/recaptcha/api.js'></script>
- <!--[if lt IE 8]>
- <p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
- <![endif]-->
- <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
- <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
- <!--[if lt IE 9]>
- <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
- <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
- <![endif]-->
- <style type="text/css">
- td {
- color: #fff;
- text-transform: uppercase;
- width: auto;
- }
- th {
- color: #000;
- background-color: #F5FFFA;
- text-transform: uppercase;
- width: auto;
- }
- </style>
- <script type="text/javascript">
- function flushOn() {
- document.getElementById("flushBtn").setAttribute('disabled',false);
- }
- function flushOff() {
- document.getElementById("flushBtn").setAttribute('disabled',true);
- }
- </script>
- </head>
- <body>
- <!--[if lt IE 8]>
- <p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
- <![endif]-->
- <div class="navbar navbar-default navbar-fixed-top navbar-inverse" role="navigation">
- <div class="container">
- <div class="navbar-header">
- <button type="button" data-target="#navbarCollapse" data-toggle="collapse" class="navbar-toggle">
- <span class="sr-only">Toggle navigation</span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </button>
- <a class="navbar-brand" style="font-weight: bold"><?php echo $_SESSION['uname']; ?>'s Work Station</a>
- </div>
- <div id="navbarCollapse" class="collapse navbar-collapse">
- <ul class="nav navbar-nav">
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Attendee<strong class="caret"></strong></a>
- <ul class="dropdown-menu">
- <li><a href="wsaddattendees.php">Add</a></li>
- <li><a href="wsdeleteattendees.php">Delete</a></li>
- <li><a href="wseditattendees.php">Edit</a></li>
- </ul>
- </li>
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Payment<strong class="caret"></strong></a>
- <ul class="dropdown-menu">
- <li><a href="wsadjustpayments.php">Rollback</a></li>
- <li><a href="wseditpayments.php">Edit Payment / Subsidy</a></li>
- <li><a href="wspostpayments.php">Post</a></li>
- <li><a href="wssuspendpayments.php">Suspend</a></li>
- </ul>
- </li>
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">View<strong class="caret"></strong></a>
- <ul class="dropdown-menu">
- <li><a href="wsviewattendance.php">Attendance</a></li>
- <li><a href="wsviewattendees.php">Attendees</a></li>
- <li><a href="wsviewattendeesbygroup.php">Attendees by Group</a></li>
- <li><a href="wsviewattendeesbypo.php">Attendees by P.O.</a></li>
- <li><a href="wsviewpayments.php">Payments</a></li>
- <li><a href="wsviewsuspendedpayments.php">Suspended Payments</a></li>
- <li><a href="wsviewfiscalquarters.php">Fiscal Quarters</a></li>
- </ul>
- </li>
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Assignments<strong class="caret"></strong></a>
- <ul class="dropdown-menu">
- <li><a href="#">Completed</a></li>
- <li><a href="#">Current</a></li>
- </ul>
- </li>
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Upcoming<strong class="caret"></strong></a>
- <ul class="dropdown-menu">
- <li><a href="#">Polygraphs</a></li>
- <li><a href="#">Evaluations</a></li>
- <li><a href="#">Other</a></li>
- </ul>
- </li>
- <li>
- <a href="#">DRA</a>
- </li>
- <li>
- <a href="wshelp.php">Help</a>
- </li>
- <!--<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Help<strong class="caret"></strong></a>
- <ul class="dropdown-menu">
- <li><a href="#">Attendees</a></li>
- <li><a href="#">Payments</a></li>
- </ul>
- </li> -->
- </ul>
- <ul class="nav navbar-nav navbar-right">
- <li>
- <a href="logout.php"><span class="glyphicon glyphicon-log-out"></span> Logout</a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="container">
- <div class="row" style="margin-top:51px">
- <div class="panel panel-default">
- <div class="panel-heading">
- <h2>Post Attendee Payments</h2>
- </div>
- </div>
- </div>
- <form method="post" class="subform" action="<?php echo htmlentities($_SERVER['PHP_SELF']);?>">
- <div class="row" style="background: skyblue; margin-top:-23px">
- <div class="col-sm-2">
- <div class="input-group">
- <select class="form-control" name="groupid" onchange="this.form.submit();">
- <option name="0"<?php echo ($_POST['groupid'] == '0') ? ' selected="selected"' : ''; ?> value="0" >GROUP</option>
- <option name="1"<?php echo ($_POST['groupid'] == '1') ? ' selected="selected"' : ''; ?> value="1" >1</option>
- <option name="2"<?php echo ($_POST['groupid'] == '2') ? ' selected="selected"' : ''; ?> value="2" >2</option>
- <option name="3"<?php echo ($_POST['groupid'] == '3') ? ' selected="selected"' : ''; ?> value="3" >3</option>
- <option name="4"<?php echo ($_POST['groupid'] == '4') ? ' selected="selected"' : ''; ?> value="4" >4</option>
- <option name="5"<?php echo ($_POST['groupid'] == '5') ? ' selected="selected"' : ''; ?> value="5" >5</option>
- <option name="6"<?php echo ($_POST['groupid'] == '6') ? ' selected="selected"' : ''; ?> value="6" >6</option>
- <option name="7"<?php echo ($_POST['groupid'] == '7') ? ' selected="selected"' : ''; ?> value="7" >7</option>
- <option name="8"<?php echo ($_POST['groupid'] == '8') ? ' selected="selected"' : ''; ?> value="8" >8</option>
- <option name="9"<?php echo ($_POST['groupid'] == '9') ? ' selected="selected"' : ''; ?> value="9" >9</option>
- <option name="10"<?php echo ($_POST['groupid'] == '10') ? ' selected="selected"' : ''; ?> value="10" >10</option>
- <option name="11"<?php echo ($_POST['groupid'] == '11') ? ' selected="selected"' : ''; ?> value="11" >11</option>
- <option name="12"<?php echo ($_POST['groupid'] == '12') ? ' selected="selected"' : ''; ?> value="12" >12</option>
- <option name="13"<?php echo ($_POST['groupid'] == '13') ? ' selected="selected"' : ''; ?> value="13" >13</option>
- <option name="14"<?php echo ($_POST['groupid'] == '14') ? ' selected="selected"' : ''; ?> value="14" >14</option>
- <option name="15"<?php echo ($_POST['groupid'] == '15') ? ' selected="selected"' : ''; ?> value="15" >15</option>
- <option name="16"<?php echo ($_POST['groupid'] == '16') ? ' selected="selected"' : ''; ?> value="16" >16</option>
- <option name="17"<?php echo ($_POST['groupid'] == '17') ? ' selected="selected"' : ''; ?> value="17" >17</option>
- <option name="18"<?php echo ($_POST['groupid'] == '18') ? ' selected="selected"' : ''; ?> value="18" >18</option>
- <option name="19"<?php echo ($_POST['groupid'] == '19') ? ' selected="selected"' : ''; ?> value="19" >19</option>
- <option name="20"<?php echo ($_POST['groupid'] == '20') ? ' selected="selected"' : ''; ?> value="20" >20</option>
- <option name="21"<?php echo ($_POST['groupid'] == '21') ? ' selected="selected"' : ''; ?> value="21" >21</option>
- <option name="22"<?php echo ($_POST['groupid'] == '22') ? ' selected="selected"' : ''; ?> value="22" >22</option>
- <option name="23"<?php echo ($_POST['groupid'] == '23') ? ' selected="selected"' : ''; ?> value="23" >23</option>
- <option name="24"<?php echo ($_POST['groupid'] == '24') ? ' selected="selected"' : ''; ?> value="24" >24</option>
- <option name="25"<?php echo ($_POST['groupid'] == '25') ? ' selected="selected"' : ''; ?> value="25" >25</option>
- <option name="26"<?php echo ($_POST['groupid'] == '26') ? ' selected="selected"' : ''; ?> value="26" >26</option>
- <option name="27"<?php echo ($_POST['groupid'] == '27') ? ' selected="selected"' : ''; ?> value="27" >27</option>
- <option name="28"<?php echo ($_POST['groupid'] == '28') ? ' selected="selected"' : ''; ?> value="28" >28</option>
- <option name="29"<?php echo ($_POST['groupid'] == '29') ? ' selected="selected"' : ''; ?> value="29" >29</option>
- <option name="30"<?php echo ($_POST['groupid'] == '30') ? ' selected="selected"' : ''; ?> value="30" >30</option>
- </select>
- <span class="input-group-btn">
- <!--<input type="submit" name="load" class="btn btn-default" value="Load">-->
- <input type="submit" id="dumpBtn" name="dump" class="btn btn-danger" value="Dump">
- </span>
- </div>
- </div>
- <div class="col-sm-3">
- <div class="input-group">
- <select class="form-control" name="view" style="text-transform: uppercase">
- <option value="">Select</option>
- <?php
- if ($_SERVER["REQUEST_METHOD"] == "POST") { // First brace
- $payment = $paymentErr = "";
- $_SESSION['groupid'] = $_POST['groupid'];
- /* $memberid = $_SESSION["memberid"]; We use $memberid to load the Select options box (below) to make
- sure that that ONLY attendee information for THAT member is loaded */
- $_SESSION['id'] = $_POST['view'];
- /* Set session vars for uname and pwd1 from invalidlogin.php to be able to login using login.php */
- //$uname = $_SESSION['uname']; // Set $name for login.php
- //$pwd1 = $_SESSION['pwd1']; // Set $pwd1 for login.php
- //require_once '../root_login.php'; // This file contains database access credentials
- // Load the Select Box with names that match the groupid and memberid
- $stmt = $db->prepare('SELECT a.attendeeid, fname, lname, a.groupid, a.memberid, s.attendeeid, suspend
- FROM attendees AS a
- JOIN suspended AS s ON a.attendeeid = s.attendeeid
- WHERE a.memberid = :memberid
- AND suspend = "N"
- AND a.groupid = :groupid
- ORDER BY lname');
- $stmt->bindValue(':memberid', $_SESSION["memberid"], PDO::PARAM_INT);
- $stmt->bindValue(':groupid', $_SESSION['groupid'], PDO::PARAM_INT);
- $stmt->execute();
- $result = $stmt->fetchAll();
- foreach($result as $row){
- // Load the flush Table with the IDs from the selected group
- if($_SESSION['flush'] == 0) {
- $stmt = $db->prepare('INSERT INTO flush (attendeeid, memberid)
- VALUES(:attendeeid, :memberid)');
- $stmt->bindValue(':attendeeid', $row[0], PDO::PARAM_INT);
- $stmt->bindValue(':memberid', $row[4], PDO::PARAM_INT);
- $stmt->execute();
- }
- echo "<option value='$row[0]'"; // Holds selected name from click to click without resetting to Select
- if(isset($_SESSION['id']) and $_SESSION['id'] == $row[0]) {
- echo ' selected="selected"';
- }
- echo ">$row[2], $row[1]</option>";
- }?>
- </select>
- <?php $_SESSION['flush'] = 1; ?>
- <span class="input-group-btn">
- <input type="submit" id="fetchBtn" name="fetch" class="btn btn-default" value="Fetch" onclick="flushOff()">
- </span>
- </div>
- </div>
- <div class="col-sm-offset-6">
- <div class="input-group">
- <span class="input-group-btn">
- <input type="submit" id="flushBtn" name="flush" class="btn btn-danger" value="Flush">
- </span>
- </div>
- </div>
- </div>
- <?php if(($_POST['dump']) || ($_POST['flush'])) { ?>
- <div class="row" style="margin-top:20px">
- <div class="col-sm-3">
- <label style="text-transform: uppercase; color: red" class="control-label">Dumped Group <?php echo $_SESSION['groupid']; ?></label>
- </div>
- </div>
- <?php } else{ ?>
- <div class="row" style="margin-top:20px">
- <div class="col-sm-3">
- <label style="text-transform: uppercase; color: red" class="control-label">Group <?php echo $_SESSION['groupid']; ?> Loaded</label>
- </div>
- </div>
- <?php } ?>
- <div class="row" style="margin-top:20px">
- <div class="col-sm-3">
- <label style="text-transform: uppercase" class="control-label">Payment:</label>
- </div>
- </div>
- <div class="row">
- <div class="col-sm-3">
- <div class="input-group">
- <span class="input-group-addon">$</span>
- <input class="form-control" type="text" name="payment" placeholder="0.00"
- value="<?php if (isset($_POST['payment'])) { echo $payment; } ?>">
- <span class="input-group-btn">
- <input type="submit" name="postpayment" class="btn btn-primary" value="Post">
- </span>
- <span class="error"><?php echo $paymentErr;?></span>
- </div>
- </div>
- </div>
- <?php
- if($_POST['dump']) {
- $stmt = $db->prepare('DELETE FROM flush WHERE memberid = :memberid');
- $stmt->bindValue(':memberid', $_SESSION['memberid'], PDO::PARAM_INT);
- $stmt->execute();
- $_SESSION['flush'] = 0;
- echo '<script type="text/javascript">alert("Please select a new Group"); </script>';
- }
- if($_POST['fetch']) {
- $id = $_POST['view']; // Pass this to see which attendee was selected in the Selection box options
- $_SESSION['id'] = $_POST['view'];
- $i = 0; // Set to use below in alternating bg-colors with function getbgc($i)
- if($id == '') { exit(); // Nothing was selected
- } else {
- try {
- $stmt = $db->prepare('SELECT fname, lname, amount, subsidy, last_payment, amount_paid, balance, a.groupid, a.attendeeid, h.historyid
- FROM history AS h
- INNER JOIN attendees AS a ON a.attendeeid = h.attendeeid
- where h.attendeeid = :id
- ORDER BY h.historyid DESC LIMIT 1');
- $stmt->bindValue(':id', $_SESSION['id'], PDO::PARAM_INT);
- $stmt->execute();
- $result = $stmt->fetchAll(); ?>
- <div class="row">
- <div class="table-repsonsive">
- <table class="table" style="margin-top:30px">
- <thead>
- <tr>
- <th style="width:auto">F-Name</th>
- <th style="width:auto">L-Name</th>
- <th style="width:auto">Group ID</th>
- <th style="width:auto">Weekly Amt</th>
- <th style="width:auto">Subsidy</th>
- <th style="width:auto">Last Payment</th>
- <th style="width:auto">Amount Paid</th>
- <th style="width:auto">Balance</th>
- </tr>
- </thead>
- <?php foreach($result as $row ) { $i++;
- if($row[6] > 0) { ?>
- <!-- Need to show $row[5] red here -->
- <tbody>
- <?php echo '<tr style="'.getbgc($i). '">' ?>
- <td style="width:auto"><?php echo $row[0] ?></td>
- <td style="width:auto"><?php echo $row[1] ?></td>
- <td style="width:auto"><?php echo $row[7] ?></td>
- <td style="width:auto"><?php echo '$'.number_format($row[2],2) ?></td>
- <td style="width:auto"><?php echo $row[3] ?></td>
- <td style="width:auto"><?php echo $row[4] ?></td>
- <td style="width:auto"><?php echo '$'.number_format($row[5],2) ?></td>
- <td style="width:auto;background-color:red"><?php echo '$'.number_format($row[6],2) ?></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <?php } else { ?>
- <tbody>
- <?php echo '<tr style="'.getbgc($i). '">' ?>
- <td style="width:auto"><?php echo $row[0] ?></td>
- <td style="width:auto"><?php echo $row[1] ?></td>
- <td style="width:auto"><?php echo $row[7] ?></td>
- <td style="width:auto"><?php echo '$'.number_format($row[2],2) ?></td>
- <td style="width:auto"><?php echo $row[3] ?></td>
- <td style="width:auto"><?php echo $row[4] ?></td>
- <td style="width:auto"><?php echo '$'.number_format($row[5],2) ?></td>
- <td style="width:auto"><?php echo '$'.number_format($row[6],2) ?></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <?php }
- }
- $_SESSION['bal1'] = $row[6] + $row[2]; /* bal1 is set to be used with $newbal on line 318. This is how the
- overall balance is maintained. */
- $_SESSION['btnhs'] = 0; // Set this when Fetch has been clicked. Carried over to 'postpayment' click.
- } catch (PDOException $ex) {
- echo '<script type="text/javascript">alert("There was an unforeseen database error."+"\\n"+"The database administrator has been contacted."+"\\n"+"\\n"+"Please try again later. Thank you"); </script>';
- mail_error($ex);
- }
- }
- } elseif($_POST['postpayment']) {
- if($_POST['view'] == '') { // Nothing was selected
- failed_fetch();
- }
- if($_SESSION['btnhs'] == 3) { /* At login, this var is set to 3. If it is still set to 3 at this point, it
- means the user made a name selection but did not click FETCH. */
- failed_fetch();
- }
- if($_SESSION['btnhs'] == 0) { // Set to 1 here so the user can use the Post button event
- $_SESSION['btnhs'] = 1; // Increase to 1 to eliminate double-clicking Post on one Fetch
- } elseif($_SESSION['btnhs'] = 1) { // If var == 1 then exit coz the user is double-clicking Post on just one Fetch
- failed_fetch();
- }
- if (empty($_POST["payment"])) {
- $payment = "0.0";
- } else {
- $payment = test_input($_POST["payment"]);
- if (!preg_match("/^[0-9.]*$/",$payment)) {
- $paymentErr = "* Numerals and decimal point only";
- }
- }
- if(empty($paymentErr)) {
- $newbal = $_SESSION['bal1'] - $payment; // Refer to line 299
- $id = $_SESSION['id'];
- try {
- $stmt = $db->prepare('SELECT * FROM history WHERE attendeeid = :id ORDER BY historyid DESC LIMIT 1');
- $stmt->bindParam(':id', $id, PDO::PARAM_INT);
- $stmt->execute();
- //$row_count = $stmt->rowCount();
- $result = $stmt->fetchAll();
- foreach($result as $row) {
- $amount = $row[1];
- $subsidy = $row[2];
- $last_pymt = $row[3];
- $groupid = $row[7];
- $attid = $row[9];
- $memid = $row[10];
- }
- $id = $_SESSION['id'];
- if($payment > 0) { // Obviously the attendee was present (we hope)
- $attend = "Y"; // Set the attend flag to reflect they attended the meeting
- /* Since $payment is greater than 0, the attendee made a payment and in attendance
- for the meeting. Therefore, last_payment and attendance are set to CURDATE(). */
- $stmt = $db->prepare('INSERT INTO history(amount, subsidy, last_payment, amount_paid, balance,
- attend, attend_date, groupid, attendeeid, memberid)
- VALUES(:amt, :sub, CURDATE(), :amt_paid, :newbal, :attend, CURDATE(),
- :groupid, :attid, :memid)');
- $stmt->bindParam(':amt', $amount, PDO::PARAM_STR);
- $stmt->bindParam(':sub', $subsidy, PDO::PARAM_STR);
- $stmt->bindParam(':amt_paid', $payment, PDO::PARAM_STR);
- $stmt->bindParam(':newbal', $newbal, PDO::PARAM_STR); // Refer to line 333
- $stmt->bindParam(':attend', $attend, PDO::PARAM_STR);
- $stmt->bindParam(':groupid', $groupid, PDO::PARAM_STR);
- $stmt->bindParam(':attid', $attid, PDO::PARAM_STR);
- $stmt->bindParam(':memid', $memid, PDO::PARAM_STR);
- $stmt->execute();
- } else {
- $attend = "Y"; // Set the attend flag to reflect they attended the meeting
- /* Since $payment equals 0, the attendee didn't make a payment but was present
- for the meeting. Therefore, last_payment will reflect the last_payment made and
- attendance is set to CURDATE(). */
- $stmt = $db->prepare('INSERT INTO history(amount, subsidy, last_payment, amount_paid, balance,
- attend, attend_date, groupid, attendeeid, memberid)
- VALUES(:amt, :sub, :last, :amt_paid, :newbal, :attend, CURDATE(),
- :groupid, :attid, :memid)');
- $stmt->bindParam(':amt', $amount, PDO::PARAM_STR);
- $stmt->bindParam(':sub', $subsidy, PDO::PARAM_STR);
- $stmt->bindParam(':last', $last_pymt, PDO::PARAM_STR);
- $stmt->bindParam(':amt_paid', $payment, PDO::PARAM_STR);
- $stmt->bindParam(':newbal', $newbal, PDO::PARAM_STR); // Refer to line 333
- $stmt->bindParam(':attend', $attend, PDO::PARAM_STR);
- $stmt->bindParam(':groupid', $groupid, PDO::PARAM_STR);
- $stmt->bindParam(':attid', $attid, PDO::PARAM_STR);
- $stmt->bindParam(':memid', $memid, PDO::PARAM_STR);
- $stmt->execute();
- }
- $stmt = $db->prepare('UPDATE balances SET balance = :newbal WHERE attendeeid = :id');
- $stmt->bindParam(':newbal', $newbal, PDO::PARAM_STR);
- $stmt->bindParam(':id', $id, PDO::PARAM_STR);
- $stmt->execute();
- // Delete the attendee from the flush Table
- $stmt = $db->prepare('DELETE FROM flush WHERE attendeeid = :attid');
- $stmt->bindParam(':attid', $attid, PDO::PARAM_STR);
- $stmt->execute();
- $stmt = $db->prepare('SELECT fname, lname, amount, subsidy, last_payment, amount_paid, balance, a.groupid, a.attendeeid, h.historyid
- FROM history AS h
- INNER JOIN attendees AS a ON a.attendeeid = h.attendeeid
- where h.attendeeid = :id
- ORDER BY h.historyid DESC LIMIT 1');
- $stmt->bindValue(':id', $id, PDO::PARAM_INT);
- $stmt->execute();
- $result = $stmt->fetchAll(); ?>
- <div class="row">
- <div class="table-repsonsive">
- <table class="table table-bordered table hover" style="margin-top:30px">
- <caption style = 'color: red; font-size: 1.2em; font-weight: bold;'>*** ACCOUNT UPDATED ***</caption>
- <thead>
- <tr>
- <th style="width:auto">F-Name</th>
- <th style="width:auto">L-Name</th>
- <th style="width:auto">Group ID</th>
- <th style="width:auto">Weekly Amt</th>
- <th style="width:auto">Subsidy</th>
- <th style="width:auto">Last Payment</th>
- <th style="width:auto">Amount Paid</th>
- <th style="width:auto">Balance</th>
- </tr>
- </thead>
- <?php foreach($result as $row ) { $i++;
- if($row[6] > 0) { ?>
- <tbody>
- <?php echo '<tr style="'.getbgc($i). '">' ?>
- <td style="width:auto"><?php echo $row[0] ?></td>
- <td style="width:auto"><?php echo $row[1] ?></td>
- <td style="width:auto"><?php echo $row[7] ?></td>
- <td style="width:auto"><?php echo '$'.number_format($row[2],2) ?></td>
- <td style="width:auto"><?php echo $row[3] ?></td>
- <td style="width:auto"><?php echo $row[4] ?></td>
- <td style="width:auto"><?php echo '$'.number_format($row[5],2) ?></td>
- <td style="width:auto;background-color: red"><?php echo '$'.number_format($row[6],2) ?></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <?php } else { ?>
- <tbody>
- <?php echo '<tr style="'.getbgc($i). '">' ?>
- <td style="width:auto"><?php echo $row[0] ?></td>
- <td style="width:auto"><?php echo $row[1] ?></td>
- <td style="width:auto"><?php echo $row[7] ?></td>
- <td style="width:auto"><?php echo '$'.number_format($row[2],2) ?></td>
- <td style="width:auto"><?php echo $row[3] ?></td>
- <td style="width:auto"><?php echo $row[4] ?></td>
- <td style="width:auto"><?php echo '$'.number_format($row[5],2) ?></td>
- <td style="width:auto"><?php echo '$'.number_format($row[6],2) ?></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <?php }
- }
- }catch (PDOException $ex){
- echo '<script type="text/javascript">alert("There was an unforeseen database error."+"\\n"+"The database administrator has been contacted."+"\\n"+"\\n"+"Please try again later. Thank you"); </script>';
- mail_error($ex);
- }
- }
- }
- if($_POST['flush']) {
- try {
- $stmt = $db->prepare('SELECT attendeeid, memberid
- FROM flush
- WHERE memberid = :memberid');
- $stmt->bindValue(':memberid', $_SESSION['memberid'], PDO::PARAM_INT);
- $stmt->execute();
- $result = $stmt->fetchAll();
- foreach($result as $row) {
- $one = $row[0];
- $stmt = $db->prepare('SELECT amount, subsidy, last_payment, amount_paid, balance,
- attend_date, groupid, attendeeid, memberid
- FROM history
- WHERE attendeeid = :attendeeid
- ORDER BY historyid DESC LIMIT 1
- ');
- $stmt->bindValue(':attendeeid', $one, PDO::PARAM_INT);
- $stmt->execute();
- $result = $stmt->fetchAll();
- foreach($result as $row) {
- $amount = $row[0];
- $subsidy = $row[1];
- $last_pymt = $row[2];
- $amtpaid = $row[3];
- $balance = $row[0] + $row[4];
- $groupid = $row[6];
- $attid = $row[7];
- $memid = $row[8];
- $stmt = $db->prepare('INSERT INTO history(amount, subsidy, last_payment, amount_paid, balance,
- attend_date, groupid, attendeeid, memberid)
- VALUES(:amt, :sub, :lastpayment, :amt_paid, :bal, CURDATE(), :groupid,
- :attid, :memid)');
- $stmt->bindParam(':amt', $amount, PDO::PARAM_STR);
- $stmt->bindParam(':sub', $subsidy, PDO::PARAM_STR);
- $stmt->bindParam(':lastpayment', $last_pymt, PDO::PARAM_STR);
- $stmt->bindParam(':amt_paid', $amtpaid, PDO::PARAM_STR);
- $stmt->bindParam(':bal', $balance, PDO::PARAM_STR);
- $stmt->bindParam(':groupid', $groupid, PDO::PARAM_STR);
- $stmt->bindParam(':attid', $attid, PDO::PARAM_STR);
- $stmt->bindParam(':memid', $memid, PDO::PARAM_STR);
- $stmt->execute();
- }
- }
- // Delete the attendees from flush Table via the memberid as the history Table is now updated for attendees
- // who were not present
- $stmt = $db->prepare('DELETE FROM flush where memberid = :memberid');
- $stmt->bindParam(':memberid', $memid, PDO::PARAM_STR);
- $stmt->execute();
- $_SESSION['flush'] = 0;
- } catch (PDOException $ex) {
- echo '<script type="text/javascript">alert("There was an unforeseen database error while flushing."+"\\n"+"The database administrator has been contacted."+"\\n"+"\\n"+"Please try again later. Thank you"); </script>';
- mail_error($ex);
- }
- }
- }// Last Brace
- function failed_fetch() {
- echo '<script type="text/javascript">alert("You must first Fetch before you can Post"); </script>';
- exit;
- }
- function test_input($data) {
- $data = trim($data);
- $data = stripslashes($data);
- $data = htmlspecialchars($data);
- return $data;
- }
- function getbgc($trcount) { // Nice way to alternate table row colors
- $blue="background-color: #191970;"; // Midnight Blue
- $black="background-color: #000;";
- $odd= $trcount % 2;
- if($odd == 1){ return $blue; }
- else{ return $black; }
- }
- function mail_error($ex) {
- $from = "[email protected]"; // this is the sender's Email address
- $to = "[email protected]";
- $subject = "ERROR!";
- $message = "An ERROR occured in wspostpayments.php: ".$ex."\n\nwith user: ".$_SESSION['uname']."\n\n"."Upon resolution, email them.";
- $headers = "From:" . $from;
- mail($to,$subject,$message,$headers);
- header("Location: error.html");
- } ?>
- </form>
- </div>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment