function tietable($result) { global $SEMESTER; echo "<table class='table'><tr><th>#</th><th>Status</th><th>Comments</th><th>Actions</th></tr>"; while ($row = mysql_fetch_array($result)) { if ($row['borrower'] == '') { if ($row['status'] == "Circulating") { $status = "Not checked out"; } else { $status = $row['status']; } $rowstyle = ''; } else { if ($row['status'] == "Circulating") { $stat = "Checked out to"; } else { if ($row['status'] == "Lost") { $stat = "Lost by"; } else { $stat = "<span style='color: red'>{$row['status']}</span>; held by"; } } $status = "{$stat} <a href='#profile:{$row['borrower']}'>{$row['borrowerName']}</a> since {$row['dateOut']}"; $active = mysql_num_rows(mysql_query("select * from `activeSemester` where `member` = '{$row['borrower']}' and `semester` = '{$SEMESTER}'")); if ($active) { $status .= "<br><span style='color: green'>Active</span> this semester"; } else { $status .= "<br><span style='color: red'>Inactive</span> this semester"; } $deposit = mysql_fetch_array(mysql_query("select sum(`amount`) as `total` from `transaction` where `type` = 'deposit' and `memberID` = '{$row['borrower']}'")); if ($deposit['total'] >= fee("tie")) { $depok = true; } else { $depok = false; } if ($depok) { $status .= "<br>Tie deposit <span style='color: green'>paid</span>"; } else { $status .= "<br>Tie deposit <span style='color: red'>unpaid</span>"; } if ($active && $depok) { $rowstyle = "class='success'"; } else { $rowstyle = "class='error'"; } if ($row['status'] != "Circulating") { $rowstyle = ""; } } echo "<tr {$rowstyle}><td>{$row['tie']}</td><td>{$status}</td><td>{$row['comments']}</td><td><button type='button' class='btn btn-link tie_hist'>History</button> <button type='button' class='btn btn-link tie_edit'>Edit</button></td></tr>"; } echo "</table>"; }
function tie_form($memberID) { global $SEMESTER; $tie = 0; $query = mysql_query("select `tie` from `tieBorrow` where `member` = '{$memberID}' and `dateIn` is null"); $result = mysql_fetch_array($query); if (mysql_num_rows($query) != 0) { $tie = $result['tie']; } $head = fullNameFromEmail($memberID) . ' '; $form = ''; if ($tie == 0) { $head .= "does not have a tie checked out."; $form = "Check out tie number <input type='text' class='tienum' style='width: 40px; margin-bottom: 1px'><span class='spacer'></span><button type='button' class='btn tie_checkout' data-member='{$memberID}'>Submit</button>"; } elseif ($tie > 0) { $head .= "has tie <span style='font-weight: bold'>{$tie}</span> checked out."; $form = "<button type='button' class='btn tie_return' data-member='{$memberID}'>Return</button>"; } elseif ($tie < 0) { $head .= "is a tie thief."; $form = "<button type='button' class='btn tie_return' data-member='{$memberID}'>Resolve</button>"; } $sql = "select sum(`amount`) as `balance` from `transaction` where `memberID` = '{$memberID}' and `type` = 'deposit'"; $result = mysql_fetch_array(mysql_query($sql)); $balance = $result['balance']; if ($balance == '') { $balance = 0; } $deposit = "<span style='color: red'>unpaid</span>"; if ($balance >= fee("tie")) { $deposit = "<span style='color: green'>paid</span>"; } return "{$head}<br>Tie deposit: {$deposit}<br><br>{$form}"; }
die("Choir is not set"); } if ($type == "dues") { $query = mysql_query("select `member`.`email` from `member`, `activeSemester` where `member`.`email` = `activeSemester`.`member` and `activeSemester`.`semester` = '{$SEMESTER}'"); $dues = -1 * fee("dues"); while ($row = mysql_fetch_array($query)) { $member = $row['email']; $query2 = mysql_query("select * from `transaction` where `memberID` = '{$member}' and `semester` = '{$SEMESTER}' and `type` = 'dues' and `amount` < 0"); if (mysql_num_rows($query2)) { continue; } mysql_query("insert into `transaction` (`memberID`, `choir`, `amount`, `description`, `semester`, `type`) values ('{$member}', '{$CHOIR}', '{$dues}', '', '{$SEMESTER}', 'dues')"); } } else { if ($type == "late") { $fee = -1 * fee("latedues"); $query = mysql_query("select `member`.`email` from `member`, `activeSemester` where `member`.`email` = `activeSemester`.`member` and `activeSemester`.`semester` = '{$SEMESTER}'"); while ($row = mysql_fetch_array($query)) { $member = $row['email']; $result = mysql_fetch_array(mysql_query("select sum(`amount`) as amount from `transaction` where `memberID` = '{$member}' and `semester` = '{$SEMESTER}' and `type` = 'dues'")); if ($result['amount'] >= 0) { continue; } if (!mysql_query("insert into `transaction` (`memberID`, `choir` `amount`, `description`, `semester`, `type`) values ('{$member}', '{$CHOIR}', '{$fee}', 'Late fee', '{$SEMESTER}', 'dues')")) { die("BAD_QUERY"); } } } else { echo "BAD_TYPE"; exit(1); }
function rosterProp($member, $prop) { global $SEMESTER, $CHOIR; if (!$CHOIR) { die("No choir selected"); } $html = ''; switch ($prop) { case "Section": $section = mysql_fetch_array(mysql_query("select `sectionType`.`name` from `sectionType`, `activeSemester` where `sectionType`.`id` = `activeSemester`.`section` and `activeSemester`.`choir` = '{$CHOIR}' and `activeSemester`.`semester` = '{$SEMESTER}' and `activeSemester`.`member` = '" . $member["email"] . "'")); $html .= $section['name']; break; case "Contact": $html .= "<a href='tel:" . $member["phone"] . "'>" . $member["phone"] . "</a><br><a href='mailto:" . $member['email'] . "'>" . $member["email"] . "</a>"; break; case "Location": $html .= $member["location"]; break; case "Car": if ($member["passengers"] == 0) { $html .= "No"; } else { $html .= $member["passengers"] . " passengers"; } break; case "Enrollment": $enr = enrollment($member["email"]); if ($enr == "class") { $html .= "<span style=\"color: blue\">class</span>"; } else { if ($enr == "club") { $html .= "club"; } else { $html .= "<span style=\"color: gray\">inactive</span>"; } } break; case "Balance": $balance = balance($member['email']); if ($balance < 0) { $html .= "<span class='moneycell' style='color: red'>{$balance}</span>"; } else { $html .= "<span class='moneycell'>{$balance}</span>"; } break; case "Dues": $result = mysql_fetch_array(mysql_query("select sum(`amount`) as `balance` from `transaction` where `memberID` = '" . $member['email'] . "' and `type` = 'dues' and `semester` = '{$SEMESTER}'")); $balance = $result['balance']; if ($balance == '') { $balance = 0; } if ($balance >= 0) { $html .= "<span class='duescell' style='color: green'>{$balance}</span>"; } else { $html .= "<span class='duescell' style='color: red'>{$balance}</span>"; } break; case "Gigs": $gigcount = attendance($member["email"], 3); $result = mysql_fetch_array(mysql_query("select `gigreq` from `semester` where `semester` = '{$SEMESTER}'")); $gigreq = $result['gigreq']; if ($gigcount >= $gigreq) { $html .= "<span class='gigscell' style='color: green'>"; } else { $html .= "<span class='gigscell' style='color: red'>"; } $html .= "{$gigcount}</span>"; break; case "Score": if (enrollment($member["email"]) == 'inactive') { $grade = "--"; } else { $grade = attendance($member["email"], 0); } $html .= "<span class='gradecell'"; if (enrollment($member["email"]) == "class" && $grade < 80) { $html .= " style=\"color: red\""; } $html .= ">{$grade}</span>"; break; case "Tie": $html .= "<span class='tiecell' "; $result = mysql_fetch_array(mysql_query("select sum(`amount`) as `amount` from `transaction` where `memberID` = '" . $member['email'] . "' and `type` = 'deposit'")); $tieamount = $result['amount']; if ($tieamount == '') { $tieamount = 0; } if ($tieamount >= fee("tie")) { $html .= "style='color: green'"; } else { $html .= "style='color: red'"; } $html .= ">"; $query = mysql_query("select `tie` from `tieBorrow` where `member` = '" . $member['email'] . "' and `dateIn` is null"); if (mysql_num_rows($query) != 0) { $result = mysql_fetch_array($query); $html .= $result['tie']; } else { $html .= "•"; } $html .= "</span>"; break; default: $html .= "???"; break; } return $html; }
function info($userEmail) { global $SEMESTER, $CHOIR; $html = ""; $sql = "select sum(`amount`) as `balance` from `transaction` where `memberID` = '{$userEmail}' and `type` = 'dues' and `semester` = '{$SEMESTER}'"; $result = mysql_fetch_array(mysql_query($sql)); $dues = $result['balance']; if ($dues == '') { $dues = 0; } $sql = "select sum(`amount`) as `balance` from `transaction` where `memberID` = '{$userEmail}' and `type` = 'deposit'"; $result = mysql_fetch_array(mysql_query($sql)); $tie = $result['balance']; if ($tie == '') { $tie = 0; } $html .= "<table><tr><td>"; if ($dues >= 0) { $html .= "<span class='color: green'><i class='icon-ok'></i></span>"; } else { $html .= "<span class='color: red'><i class='icon-remove'></i></span>"; } $html .= "</td><td>Dues</td></tr><tr><td>"; if ($tie >= fee("tie")) { $html .= "<span class='color: green'><i class='icon-ok'></i></span>"; } else { $html .= "<span class='color: red'><i class='icon-remove'></i></span>"; } $html .= "</td><td>Tie Deposit</td></tr></table><br>"; $sql = "select `tie` from `tieBorrow` where `member` = '{$userEmail}' and `dateIn` is null"; $query = mysql_query($sql); if (mysql_num_rows($query) == 0) { $html .= "You do <b>not</b> have a tie checked out."; } else { $result = mysql_fetch_array($query); $html .= "You have tie <b>" . $result['tie'] . "</b> checked out."; } $html .= "<br>"; $balance = balance($userEmail); $choir = choirname($CHOIR); if ($balance > 0) { $html .= "{$choir} owes you <span style='font-weight: bold; color: blue'>\${$balance}</span>."; } else { if ($balance < 0) { $balance *= -1; $html .= "You owe {$choir} <span style='font-weight: bold; color: red'>\${$balance}</span>."; } else { $html .= "Your {$choir} balance is <span style='font-weight: bold'>\$0</span>."; } } $html .= "<br><br>" . user_money_table($userEmail); return "{$html}"; }
} if (!isset($_POST['action']) || $_POST['action'] == "none") { ?> <style> button { margin-left: 10px; } </style> <table id='transac' class='table'></table> <div id='roster_ops' class='pull-right'><button type='button' class='btn' onclick='addMoneyForm()'>Add Transaction</button></div> <?php exit(0); } switch ($_POST['action']) { case 'values': $member = mysql_real_escape_string($_POST['member']); $result = mysql_fetch_array(mysql_query("select sum(`amount`) as `total` from `transaction` where `memberID` = '{$member}' and `type` = 'deposit'")); $total = $result['total']; $deposit = fee("tie"); $dues = fee("dues"); if ($total >= $deposit) { $dep = -1 * $deposit; } else { $dep = $deposit; } echo "{$dep}"; break; case 'row': echo "<tr class='trans_row'><td>" . memberDropdown() . "</td><td>" . transacTypes() . "</td><td>" . semesterDropdown() . "</td><td><input type='text' class='amount' data-amount-dues='{$dues}' data-amount-deposit='{$deposit}' placeholder='Amount' style='width: 60px'></input></td><td><input type='text' class='description' placeholder='Description' maxlength='500'></input></td><td><input type='checkbox' class='receipt'> Send receipt</td><td><button type='button' class='btn cancel'><i class='icon-remove'></i></button></td></tr>"; break; default: die("Unknown action {$_POST['action']}"); }
public function putTable($name, $set, $xid_field, $xfer) { global $logService; $rset = array(); foreach ($set as $rec) { $vals = array(); foreach ($rec as $field => $val) { if ($field == 'uuid') { continue; } if ($xid_field && $field == $xid_field) { $field = 'xid'; $xid = $val; } $vals[$field] = $val; } if ($xid_field) { $rec['xid'] = $xid; } $sql = "INSERT INTO " . $name . " ("; $i = 0; foreach ($vals as $field => $val) { if ($i > 0) { $sql .= ','; } $sql .= '`' . $field . '`'; $i++; } $sql = $sql . ") VALUES ("; $i = 0; foreach ($vals as $field => $val) { if ($i > 0) { $sql .= ','; } $sql .= "'" . $val . "'"; $i++; } $sql .= ");"; $sth = $this->prepare($sql); $i = 1; /* foreach($vals as $field=>$val){ $sth->bindParam($i,$vals[$field],PDO::PARAM_STR); $i++; } */ try { $this->beginTransaction(); //$logService->log('DEBUG','calling main insert into'.$name,$sth->queryString,'migrate'); $sth->execute(); //$logService->log('DEBUG','after main insert into'.$name,$sth->queryString,'migrate'); if (!$xid_field) { $xid = $this->lastInsertId(); $rec['xid'] = $xid; //$logService->log('DEBUG','after main set xid'.$name,$sth->queryString,'migrate'); } $rset[] = $rec; $table = $name; $action = 1; // $logService->log('DEBUG','handling insert into xfer '.$xfer,$table,'migrate'); $sth61 = $this->prepare("INSERT into " . $xfer . " (xid,`table`,`action`,`date`) VALUES(?,?,?,now())"); $sth61->bindParam(1, $xid, PDO::PARAM_INT); $sth61->bindParam(2, $table, PDO::PARAM_STR); $sth61->bindParam(3, $action, PDO::PARAM_INT); $sth61->execute(); $this->commit(); // $logService->log('DEBUG','after commit',$table,'migrate'); } catch (Exception $x) { // $logService->log('ERROR','exception',fee($x),'migrate'); if ($x->getCode() == 23000) { //$logService->log('HANDLED ERROR','duplicate record while migrating',$name,'migrate'); } try { //$logService->log('ERROR','exception and roll back',fee($x),'migrate'); $this->rollBack(); } catch (Exception $xx) { $logService->log('HANDLED ERROR', 'Exception on rollback', fee($xx), 'migrate'); } } } return $rset; }