Licence and jqmobile beta 3 upgrade
[busui.git] / myway / mywaybalance.php
blob:a/myway/mywaybalance.php -> blob:b/myway/mywaybalance.php
<?php <?php
   
  /*
  * Copyright 2010,2011 Alexander Sadleir
   
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at
   
  http://www.apache.org/licenses/LICENSE-2.0
   
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
  */
include ('../include/common.inc.php'); include ('../include/common.inc.php');
include_header("MyWay Balance", "mywayBalance", false, false, true); include_header("MyWay Balance", "mywayBalance", false, false, true);
echo '<div data-role="page"> echo '<div data-role="page">
<div data-role="header" data-position="inline"> <div data-role="header" data-position="inline">
<a href="' . $_SERVER["HTTP_REFERER"] . '" data-icon="arrow-l" data-rel="back" class="ui-btn-left">Back</a> <a href="' . $_SERVER["HTTP_REFERER"] . '" data-icon="arrow-l" data-rel="back" class="ui-btn-left">Back</a>
<h1>MyWay Balance</h1> <h1>MyWay Balance</h1>
<a href="mywaybalance.php?logout=yes" data-icon="delete" class="ui-btn-right">Logout</a> <a href="mywaybalance.php?logout=yes" data-icon="delete" class="ui-btn-right">Logout</a>
</div><!-- /header --> </div><!-- /header -->
<a name="maincontent" id="maincontent"></a> <a name="maincontent" id="maincontent"></a>
<div data-role="content"> '; <div data-role="content"> ';
$return = Array(); $return = Array();
function logout()  
{ function logout() {
setcookie("card_number", "", time() - 60 * 60 * 24 * 100, "/"); setcookie("card_number", "", time() - 60 * 60 * 24 * 100, "/");
setcookie("date", "", time() - 60 * 60 * 24 * 100, "/"); setcookie("date", "", time() - 60 * 60 * 24 * 100, "/");
setcookie("secret_answer", "", time() - 60 * 60 * 24 * 100, "/"); setcookie("secret_answer", "", time() - 60 * 60 * 24 * 100, "/");
setcookie("contribute_myway", "", time() - 60 * 60 * 24 * 100, "/"); setcookie("contribute_myway", "", time() - 60 * 60 * 24 * 100, "/");
} }
function printBalance($mywayResult)  
{ function printBalance($mywayResult) {
if (isset($mywayResult['error'])) { if (isset($mywayResult['error'])) {
logout(); logout();
echo '<h3><font color="red">' . $mywayResult['error'][0] . "</font></h3>"; echo '<h3><font color="red">' . $mywayResult['error'][0] . "</font></h3>";
} } else {
else { echo "<h2>Balance: " . $mywayResult['myway_carddetails']['Card Balance'] . "</h2>";
echo "<h2>Balance: " . $mywayResult['myway_carddetails']['Card Balance'] . "</h2>"; echo '<ul data-role="listview" data-inset="true"><li data-role="list-divider"> Recent Transactions </li>';
echo '<ul data-role="listview" data-inset="true"><li data-role="list-divider"> Recent Transactions </li>'; $txCount = 0;
$txCount = 0; foreach ($mywayResult['myway_transactions'] as $transaction) {
foreach ($mywayResult['myway_transactions'] as $transaction) { echo "<li>";
echo "<li>"; if ($transaction["Deduction Type"] == "DEFAULT")
if ($transaction["Deduction Type"] == "DEFAULT") echo '<img src="css/images/warning.png" alt="Failed to tap off: " class="ui-li-icon">'; echo '<img src="css/images/warning.png" alt="Failed to tap off: " class="ui-li-icon">';
echo "<b>" . $transaction["Date / Time"] . "</b>"; echo "<b>" . $transaction["Date / Time"] . "</b>";
echo "<br><small>" . $transaction["Route"] . " at " . $transaction["Stop Name"] . "<br>"; echo "<br><small>" . $transaction["Route"] . " at " . $transaction["Stop Name"] . "<br>";
echo $transaction["TX Reference No"] . " " . $transaction["TX Type"] . "</small>"; echo $transaction["TX Reference No"] . " " . $transaction["TX Type"] . "</small>";
echo '<p class="ui-li-aside">' . $transaction["TX Amount"] . '</p>'; echo '<p class="ui-li-aside">' . $transaction["TX Amount"] . '</p>';
echo "</li>"; echo "</li>";
$txCount++; $txCount++;
if ($txCount > 10) break; if ($txCount > 10)
} break;
echo "</ul>"; }
} echo "</ul>";
  }
} }
function recordMyWayObservations($mywayResult)  
{ function recordMyWayObservations($mywayResult) {
global $conn; global $conn;
if (!isset($mywayResult['error'])) { if (!isset($mywayResult['error'])) {
$stmt = $conn->prepare("insert into myway_observations (observation_id, myway_stop, time, myway_route) $stmt = $conn->prepare("insert into myway_observations (observation_id, myway_stop, time, myway_route)
values (:observation_id, :myway_stop, :time, :myway_route)"); values (:observation_id, :myway_stop, :time, :myway_route)");
$stmt->bindParam(':observation_id', $observation_hash); $stmt->bindParam(':observation_id', $observation_hash);
$stmt->bindParam(':myway_stop', $myway_stop); $stmt->bindParam(':myway_stop', $myway_stop);
$stmt->bindParam(':time', $timestamp); $stmt->bindParam(':time', $timestamp);
$stmt->bindParam(':myway_route', $myway_route); $stmt->bindParam(':myway_route', $myway_route);
// insert a record // insert a record
$resultCount = 0; $resultCount = 0;
foreach ($mywayResult['myway_transactions'] as $transaction) { foreach ($mywayResult['myway_transactions'] as $transaction) {
if ($transaction["Stop Name"] != "" && $transaction["Deduction Type"] != "DEFAULT") { if ($transaction["Stop Name"] != "" && $transaction["Deduction Type"] != "DEFAULT") {
$observation_hash = md5($mywayResult['myway_carddetails']['MyWay Number'] . $transaction["TX Reference No"]); $observation_hash = md5($mywayResult['myway_carddetails']['MyWay Number'] . $transaction["TX Reference No"]);
$timestamp = date("c", strtotime($transaction["Date / Time"])); $timestamp = date("c", strtotime($transaction["Date / Time"]));
$myway_stop = $transaction["Stop Name"]; $myway_stop = $transaction["Stop Name"];
$myway_route = $transaction["Route"]; $myway_route = $transaction["Route"];
if ($stmt->execute()) $resultCount++; if ($stmt->execute())
} $resultCount++;
} }
echo "<h3>Thanks for participating in the study! $resultCount transactions were recorded</h3>"; }
} echo "<h3>Thanks for participating in the study! $resultCount transactions were recorded</h3>";
  }
} }
   
if (isset($_REQUEST['card_number']) && isset($_REQUEST['date']) && isset($_REQUEST['secret_answer'])) { if (isset($_REQUEST['card_number']) && isset($_REQUEST['date']) && isset($_REQUEST['secret_answer'])) {
$cardNumber = $_REQUEST['card_number']; $cardNumber = $_REQUEST['card_number'];
$date = explode("/", $_REQUEST['date']); $date = explode("/", $_REQUEST['date']);
$pwrd = $_REQUEST['secret_answer']; $pwrd = $_REQUEST['secret_answer'];
if ($_REQUEST['remember'] == "on") { if ($_REQUEST['remember'] == "on") {
setcookie("card_number", $cardNumber, time() + 60 * 60 * 24 * 100, "/"); setcookie("card_number", $cardNumber, time() + 60 * 60 * 24 * 100, "/");
setcookie("date", $_REQUEST['date'], time() + 60 * 60 * 24 * 100, "/"); setcookie("date", $_REQUEST['date'], time() + 60 * 60 * 24 * 100, "/");
setcookie("contribute_myway", $_REQUEST['contribute_myway'], time() + 60 * 60 * 24 * 100, "/"); setcookie("contribute_myway", $_REQUEST['contribute_myway'], time() + 60 * 60 * 24 * 100, "/");
setcookie("secret_answer", $pwrd, time() + 60 * 60 * 24 * 100, "/"); setcookie("secret_answer", $pwrd, time() + 60 * 60 * 24 * 100, "/");
} }
$mywayResult = json_decode(getPage(curPageURL() . "/myway_api.json.php?card_number=$cardNumber&DOBday={$date[0]}&DOBmonth={$date[1]}&DOByear={$date[2]}&secret_answer=$pwrd") , true); $mywayResult = json_decode(getPage(curPageURL() . "/myway_api.json.php?card_number=$cardNumber&DOBday={$date[0]}&DOBmonth={$date[1]}&DOByear={$date[2]}&secret_answer=$pwrd"), true);
if ($_REQUEST['contribute_myway'] == "on") recordMyWayObservations($mywayResult); if ($_REQUEST['contribute_myway'] == "on")
printBalance($mywayResult); recordMyWayObservations($mywayResult);
  printBalance($mywayResult);
} }
else if (isset($_REQUEST['logout'])) { else if (isset($_REQUEST['logout'])) {
echo '<center><h3> Logged out of MyWay balance </h3><a href="/index.php">Back to main menu...</a><center>'; echo '<center><h3> Logged out of MyWay balance </h3><a href="/index.php">Back to main menu...</a><center>';
} } else if (isset($_COOKIE['card_number']) && isset($_COOKIE['date']) && isset($_COOKIE['secret_answer'])) {
else if (isset($_COOKIE['card_number']) && isset($_COOKIE['date']) && isset($_COOKIE['secret_answer'])) { $cardNumber = $_COOKIE['card_number'];
$cardNumber = $_COOKIE['card_number']; $date = explode("/", $_COOKIE['date']);
$date = explode("/", $_COOKIE['date']); $pwrd = $_COOKIE['secret_answer'];
$pwrd = $_COOKIE['secret_answer']; $mywayResult = json_decode(getPage(curPageURL() . "/myway_api.json.php?card_number=$cardNumber&DOBday={$date[0]}&DOBmonth={$date[1]}&DOByear={$date[2]}&secret_answer=$pwrd"), true);
$mywayResult = json_decode(getPage(curPageURL() . "/myway_api.json.php?card_number=$cardNumber&DOBday={$date[0]}&DOBmonth={$date[1]}&DOByear={$date[2]}&secret_answer=$pwrd") , true); if ($_COOKIE['contribute_myway'] == "on")
if ($_COOKIE['contribute_myway'] == "on") recordMyWayObservations($mywayResult); recordMyWayObservations($mywayResult);
printBalance($mywayResult); printBalance($mywayResult);
} }
else { else {
$date = (isset($_REQUEST['date']) ? filter_var($_REQUEST['date'], FILTER_SANITIZE_STRING) : date("m/d/Y")); $date = (isset($_REQUEST['date']) ? filter_var($_REQUEST['date'], FILTER_SANITIZE_STRING) : date("m/d/Y"));
echo '<form action="" method="post"> echo '<form action="" method="post">
<div data-role="fieldcontain"> <div data-role="fieldcontain">
<label for="card_number">Card number</label> <label for="card_number">Card number</label>
<input type="text" name="card_number" id="card_number" value="' . $card_number . '" /> <input type="text" name="card_number" id="card_number" value="' . $card_number . '" />
</div> </div>
<div data-role="fieldcontain"> <div data-role="fieldcontain">
<label for="date"> Date of birth </label> <label for="date"> Date of birth </label>
<input type="text" name="date" id="date" value="' . $date . '" /> <input type="text" name="date" id="date" value="' . $date . '" />
</div> </div>
<div data-role="fieldcontain"> <div data-role="fieldcontain">
<label for="secret_answer"> Secret question answer </label> <label for="secret_answer"> Secret question answer </label>
<input type="text" name="secret_answer" id="secret_answer" value="' . $secret_answer . '" /> <input type="text" name="secret_answer" id="secret_answer" value="' . $secret_answer . '" />
</div> </div>
<div data-role="fieldcontain"> <div data-role="fieldcontain">
<label for="remember"> Remember these details? </label> <label for="remember"> Remember these details? </label>
<input type="checkbox" name="remember" id="remember" checked="yes" /> <input type="checkbox" name="remember" id="remember" checked="yes" />
</div> </div>
<div data-role="fieldcontain"> <div data-role="fieldcontain">
<label for="contribute_myway">Contribute MyWay records to timeliness study? </label> <label for="contribute_myway">Contribute MyWay records to timeliness study? </label>
<input type="checkbox" name="contribute_myway" id="contribute_myway" defaultChecked="no" /> <input type="checkbox" name="contribute_myway" id="contribute_myway" defaultChecked="no" />
</div> </div>
<div data-role="fieldcontain"> <div data-role="fieldcontain">
<label for="accept_warning">I accept that Transport for Canberra <a href="http://transport.act.gov.au/myway/protect.html">advise against the use of third party MyWay applications</a> </label> <label for="accept_warning">I accept that Transport for Canberra <a href="http://transport.act.gov.au/myway/protect.html">advise against the use of third party MyWay applications</a> </label>
<input type="checkbox" name="accept_warning" id="accept_warning" defaultChecked="no" /> <input type="checkbox" name="accept_warning" id="accept_warning" defaultChecked="no" />
</div> </div>
<input type="submit" value="Go!"></form>'; <input type="submit" value="Go!"></form>';
} }
include_footer(); include_footer();
?> ?>