[submodule "js/flotr2"] | |
path = js/flotr2 | |
url = https://github.com/HumbleSoftware/Flotr2.git | |
[submodule "js/FlashCanvas"] | |
path = js/FlashCanvas | |
url = https://github.com/timcameronryan/FlashCanvas | |
[submodule "lib/amon-php"] | [submodule "lib/amon-php"] |
path = lib/amon-php | path = lib/amon-php |
url = https://github.com/martinrusev/amon-php.git | url = https://github.com/martinrusev/amon-php.git |
[submodule "js/yepnope"] | [submodule "js/yepnope"] |
path = js/yepnope | path = js/yepnope |
url = https://github.com/SlexAxton/yepnope.js.git | url = https://github.com/SlexAxton/yepnope.js.git |
[submodule "javascripts/tesseract"] | |
path = javascripts/tesseract | |
url = https://github.com/square/tesseract.git | |
[submodule "javascripts/d3"] | |
path = javascripts/d3 | |
url = https://github.com/mbostock/d3.git |
<?php | <?php |
include ("include/common.inc.php"); | include ("include/common.inc.php"); |
$GTFSREnabled = false; | $GTFSREnabled = false; |
include_header("Feedback", "feedback"); | include_header("Feedback", "feedback"); |
function sendEmail($topic, $message) | function sendEmail($topic, $message) |
{ | { |
$address = "maxious@lambdacomplex.org"; | $address = "maxious@lambdacomplex.org"; |
if (file_exists("/tmp/aws.php")) { | |
include_once ("lib/ses.php"); | |
include_once ("/tmp/aws.php"); | |
$con = new SimpleEmailService($accessKey, $secretKey); | |
//$con->verifyEmailAddress($address); | |
//$con->listVerifiedEmailAddresses(); | |
$m = new SimpleEmailServiceMessage(); | |
$m->addTo($address); | |
$m->setFrom($address); | |
$m->setSubject($topic); | |
$m->setMessageFromString($message); | |
$con->sendEmail($m); | |
} | |
else { | |
// In case any of our lines are larger than 70 characters, we should use wordwrap() | // In case any of our lines are larger than 70 characters, we should use wordwrap() |
$message = wordwrap($message, 70); | $message = wordwrap($message, 70); |
// Send | // Send |
mail($address, $topic, $message); | mail($address, $topic, $message); |
} | |
} | } |
if (isset($_REQUEST['feedback']) || isset($_REQUEST['newlocation'])){ | if (isset($_REQUEST['feedback']) || isset($_REQUEST['newlocation'])){ |
sendEmail("bus.lambda feedback",print_r($_REQUEST,true)); | sendEmail("bus.lambda feedback",print_r($_REQUEST,true)); |
echo "<h2 style='text-align: center;'>Thank you for your feedback!</h2>"; | echo "<h2 style='text-align: center;'>Thank you for your feedback!</h2>"; |
} else { | } else { |
$stopid = ""; | $stopid = ""; |
$stopcode = ""; | $stopcode = ""; |
if (isset($_SERVER["HTTP_REFERER"])) $urlparts = explode("?",$_SERVER["HTTP_REFERER"]); | if (isset($_SERVER["HTTP_REFERER"])) $urlparts = explode("?",$_SERVER["HTTP_REFERER"]); |
if (isset($urlparts[1])) { | if (isset($urlparts[1])) { |
$getparams = explode("&",$urlparts[1]); | $getparams = explode("&",$urlparts[1]); |
foreach ($getparams as $param) { | foreach ($getparams as $param) { |
$paramparts=explode("=",$param); | $paramparts=explode("=",$param); |
if ($paramparts[0] == "stopid") $stopid = $paramparts[1]; | if ($paramparts[0] == "stopid") $stopid = $paramparts[1]; |
if ($paramparts[0] == "stopcode") $stopcode = $paramparts[1]; | if ($paramparts[0] == "stopcode") $stopcode = $paramparts[1]; |
} | } |
} | } |
?> | ?> |
<h3>Add/Move/Delete a Bus Stop Location</h3> | <h3>Add/Move/Delete a Bus Stop Location</h3> |
<form action="feedback.php" method="post"> | <form action="feedback.php" method="post"> |
StopID: <input type="text" name="stopid" value="<?php echo $stopid ?>"/><br> | StopID: <input type="text" name="stopid" value="<?php echo $stopid ?>"/><br> |
or StopCode: <input type="text" name="stopcode" value="<?php echo $stopcode ?>"/><br> | or StopCode: <input type="text" name="stopcode" value="<?php echo $stopcode ?>"/><br> |
<small> if you click on feedback from a stop page, these will get filled in automatically. else describe the location/street of the stop in one of these boxes </small><br> | <small> if you click on feedback from a stop page, these will get filled in automatically. else describe the location/street of the stop in one of these boxes </small><br> |
Suggested Stop Location (lat/long or words): <input type="text" name="newlocation"/><br> | Suggested Stop Location (lat/long or words): <input type="text" name="newlocation"/><br> |
<!--<small> if your device supports javascript, you can pick a location from the map above</small><br>--> | <!--<small> if your device supports javascript, you can pick a location from the map above</small><br>--> |
<input type="submit" value="Submit!"/> | <input type="submit" value="Submit!"/> |
</form> | </form> |
<h3>Bug Report/Feedback</h3> | <h3>Bug Report/Feedback</h3> |
Please leave feedback about bugs/errors or general suggestions about improvements that could be made to the way the data is presented! | Please leave feedback about bugs/errors or general suggestions about improvements that could be made to the way the data is presented! |
<form action="feedback.php" method="post"> | <form action="feedback.php" method="post"> |
<textarea name="feedback"> | <textarea name="feedback"> |
</textarea> | </textarea> |
<textarea name="extrainfo" id="extrainfo"> | <textarea name="extrainfo" id="extrainfo"> |
<?php | <?php |
echo "Referrer URL: ".($_SERVER["HTTP_REFERER"] ? $_SERVER["HTTP_REFERER"] : ""); | echo "Referrer URL: ".($_SERVER["HTTP_REFERER"] ? $_SERVER["HTTP_REFERER"] : ""); |
echo "\nCurrent page URL: ".curPageURL(); | echo "\nCurrent page URL: ".curPageURL(); |
echo "\nUser Agent: ".$_SERVER["HTTP_USER_AGENT"]; | echo "\nUser Agent: ".$_SERVER["HTTP_USER_AGENT"]; |
echo "\nUser host/IP: ".$_SERVER["HTTP_X_FORWARDED_FOR"]." ".$_SERVER["REMOTE_ADDR"]; | echo "\nUser host/IP: ".$_SERVER["HTTP_X_FORWARDED_FOR"]." ".$_SERVER["REMOTE_ADDR"]; |
echo "\nServer host/IP: ".php_uname("n"); | echo "\nServer host/IP: ".php_uname("n"); |
echo "\nCurrent date/time: ". date("c"); | echo "\nCurrent date/time: ". date("c"); |
echo "\nCurrent code revision: ".exec("git rev-parse --short HEAD"); | echo "\nCurrent code revision: ".exec("git rev-parse --short HEAD"); |
echo "\nCurrent timetables version: ".date("c",@filemtime('../busresources/cbrfeed.zip')); | echo "\nCurrent timetables version: ".date("c",@filemtime('../busresources/cbrfeed.zip')); |
echo "\nDump of session: ".print_r($_SESSION,true); | echo "\nDump of session: ".print_r($_SESSION,true); |
?> | ?> |
</textarea> | </textarea> |
<input type="submit" value="Submit!"/> | <input type="submit" value="Submit!"/> |
</form> | </form> |
<?php | <?php |
} | } |
include_footer(); | include_footer(); |
?> | ?> |
<?php | <?php |
/* | /* |
* Copyright 2010,2011 Alexander Sadleir | * Copyright 2010,2011 Alexander Sadleir |
Licensed under the Apache License, Version 2.0 (the "License"); | Licensed under the Apache License, Version 2.0 (the "License"); |
you may not use this file except in compliance with the License. | you may not use this file except in compliance with the License. |
You may obtain a copy of the License at | You may obtain a copy of the License at |
http://www.apache.org/licenses/LICENSE-2.0 | http://www.apache.org/licenses/LICENSE-2.0 |
Unless required by applicable law or agreed to in writing, software | Unless required by applicable law or agreed to in writing, software |
distributed under the License is distributed on an "AS IS" BASIS, | distributed under the License is distributed on an "AS IS" BASIS, |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
See the License for the specific language governing permissions and | See the License for the specific language governing permissions and |
limitations under the License. | limitations under the License. |
*/ | */ |
if (isset($_REQUEST['firstLetter'])) { | if (isset($_REQUEST['firstLetter'])) { |
$firstLetter = filter_var($_REQUEST['firstLetter'], FILTER_SANITIZE_STRING); | $firstLetter = filter_var($_REQUEST['firstLetter'], FILTER_SANITIZE_STRING); |
} | } |
if (isset($_REQUEST['bysuburbs'])) { | if (isset($_REQUEST['bysuburbs'])) { |
$bysuburbs = true; | $bysuburbs = true; |
} | } |
if (isset($_REQUEST['bynumber'])) { | if (isset($_REQUEST['bynumber'])) { |
$bynumber = true; | $bynumber = true; |
} | } |
if (isset($_REQUEST['allstops'])) { | if (isset($_REQUEST['allstops'])) { |
$allstops = true; | $allstops = true; |
} | } |
if (isset($_REQUEST['nearby'])) { | if (isset($_REQUEST['nearby'])) { |
$nearby = true; | $nearby = true; |
} | |
if (isset($_REQUEST['labs'])) { | |
$labs = true; | |
} | } |
if (isset($_REQUEST['suburb'])) { | if (isset($_REQUEST['suburb'])) { |
$suburb = $_REQUEST['suburb']; | $suburb = $_REQUEST['suburb']; |
} | } |
if (isset($_REQUEST['pageKey'])) { | if (isset($_REQUEST['pageKey'])) { |
$pageKey = filter_var($_REQUEST['pageKey'], FILTER_SANITIZE_NUMBER_INT); | $pageKey = filter_var($_REQUEST['pageKey'], FILTER_SANITIZE_NUMBER_INT); |
} | } |
if (isset($_REQUEST['lat'])) { | if (isset($_REQUEST['lat'])) { |
$lat = filter_var($_REQUEST['lat'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); | $lat = filter_var($_REQUEST['lat'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); |
} | } |
if (isset($_REQUEST['lon'])) { | if (isset($_REQUEST['lon'])) { |
$lon = filter_var($_REQUEST['lon'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); | $lon = filter_var($_REQUEST['lon'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); |
} | } |
if (isset($_REQUEST['radius'])) { | if (isset($_REQUEST['radius'])) { |
$max_distance = filter_var($_REQUEST['radius'], FILTER_SANITIZE_NUMBER_INT); | $max_distance = filter_var($_REQUEST['radius'], FILTER_SANITIZE_NUMBER_INT); |
} | } |
if (isset($_REQUEST['numberSeries'])) { | if (isset($_REQUEST['numberSeries'])) { |
$numberSeries = filter_var($_REQUEST['numberSeries'], FILTER_SANITIZE_NUMBER_INT); | $numberSeries = filter_var($_REQUEST['numberSeries'], FILTER_SANITIZE_NUMBER_INT); |
} | } |
if (isset($_REQUEST['routeDestination'])) { | if (isset($_REQUEST['routeDestination'])) { |
$routeDestination = urldecode(filter_var($_REQUEST['routeDestination'], FILTER_SANITIZE_ENCODED)); | $routeDestination = urldecode(filter_var($_REQUEST['routeDestination'], FILTER_SANITIZE_ENCODED)); |
} | } |
if (isset($_REQUEST['routename'])) { | if (isset($_REQUEST['routename'])) { |
$routename = urldecode(filter_var($_REQUEST['routename'], FILTER_SANITIZE_ENCODED)); | $routename = urldecode(filter_var($_REQUEST['routename'], FILTER_SANITIZE_ENCODED)); |
} | } |
if (isset($_REQUEST['stopcode'])) { | if (isset($_REQUEST['stopcode'])) { |
$stopcode = filter_var($_REQUEST['stopcode'], FILTER_SANITIZE_STRING); | $stopcode = filter_var($_REQUEST['stopcode'], FILTER_SANITIZE_STRING); |
} | } |
if (isset($_REQUEST['stopids'])) { | if (isset($_REQUEST['stopids'])) { |
$stopids = explode(",", filter_var($_REQUEST['stopids'], FILTER_SANITIZE_STRING)); | $stopids = explode(",", filter_var($_REQUEST['stopids'], FILTER_SANITIZE_STRING)); |
} | } |
if (isset($_REQUEST['filterIncludeRoutes'])) { | if (isset($_REQUEST['filterIncludeRoutes'])) { |
$filterIncludeRoutes = explode(",", filter_var($_REQUEST['filterIncludeRoutes'], FILTER_SANITIZE_STRING)); | $filterIncludeRoutes = explode(",", filter_var($_REQUEST['filterIncludeRoutes'], FILTER_SANITIZE_STRING)); |
} | } |
if (isset($_REQUEST['filterHasStop'])) { | if (isset($_REQUEST['filterHasStop'])) { |
$filterHasStop = filter_var($_REQUEST['filterHasStop'], FILTER_SANITIZE_STRING); | $filterHasStop = filter_var($_REQUEST['filterHasStop'], FILTER_SANITIZE_STRING); |
} | } |
if (isset($_REQUEST['tripid'])) { | if (isset($_REQUEST['tripid'])) { |
$tripid = filter_var($_REQUEST['tripid'], FILTER_SANITIZE_STRING); | $tripid = filter_var($_REQUEST['tripid'], FILTER_SANITIZE_STRING); |
} | } |
if (isset($_REQUEST['routeid'])) { | if (isset($_REQUEST['routeid'])) { |
$routeid = filter_var($_REQUEST['routeid'], FILTER_SANITIZE_STRING); | $routeid = filter_var($_REQUEST['routeid'], FILTER_SANITIZE_STRING); |
} | } |
if (isset($_REQUEST['directionid'])) { | if (isset($_REQUEST['directionid'])) { |
$directionid = filter_var($_REQUEST['directionid'], FILTER_SANITIZE_STRING); | $directionid = filter_var($_REQUEST['directionid'], FILTER_SANITIZE_STRING); |
} | } |
if (isset($_REQUEST['stopid'])) { | if (isset($_REQUEST['stopid'])) { |
$stopid = filter_var($_REQUEST['stopid'], FILTER_SANITIZE_NUMBER_INT); | $stopid = filter_var($_REQUEST['stopid'], FILTER_SANITIZE_NUMBER_INT); |
} | } |
if (isset($_REQUEST['geolocate'])) { | if (isset($_REQUEST['geolocate'])) { |
$geolocate = filter_var($_REQUEST['geolocate'], FILTER_SANITIZE_URL); | $geolocate = filter_var($_REQUEST['geolocate'], FILTER_SANITIZE_URL); |
} | } |
<?php | <?php |
/* | /* |
* Copyright 2010,2011 Alexander Sadleir | * Copyright 2010,2011 Alexander Sadleir |
Licensed under the Apache License, Version 2.0 (the "License"); | Licensed under the Apache License, Version 2.0 (the "License"); |
you may not use this file except in compliance with the License. | you may not use this file except in compliance with the License. |
You may obtain a copy of the License at | You may obtain a copy of the License at |
http://www.apache.org/licenses/LICENSE-2.0 | http://www.apache.org/licenses/LICENSE-2.0 |
Unless required by applicable law or agreed to in writing, software | Unless required by applicable law or agreed to in writing, software |
distributed under the License is distributed on an "AS IS" BASIS, | distributed under the License is distributed on an "AS IS" BASIS, |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
See the License for the specific language governing permissions and | See the License for the specific language governing permissions and |
limitations under the License. | limitations under the License. |
*/ | */ |
function getServiceOverride($date = "") { | function getServiceOverride($date = "") { |
global $conn; | global $conn; |
$query = "Select * from calendar_dates where date = :date and exception_type = '1' LIMIT 1"; | $query = "Select * from calendar_dates where date = :date and exception_type = '1' LIMIT 1"; |
// debug($query,"database"); | // debug($query,"database"); |
$query = $conn->prepare($query); // Create a prepared statement | $query = $conn->prepare($query); // Create a prepared statement |
$date = date("Ymd", ($date != "" ? $date : time())); | $date = date("Ymd", ($date != "" ? $date : time())); |
$query->bindParam(":date", $date); | $query->bindParam(":date", $date); |
$query->execute(); | $query->execute(); |
if (!$query) { | if (!$query) { |
databaseError($conn->errorInfo()); | databaseError($conn->errorInfo()); |
return Array(); | return Array(); |
} | } |
return $query->fetch(PDO :: FETCH_ASSOC); | return $query->fetch(PDO :: FETCH_ASSOC); |
} | } |
function getServiceAlert($alertID) { | function getServiceAlert($alertID) { |
global $conn; | global $conn; |
$query = "SELECT id,extract('epoch' from start) as start, extract('epoch' from \"end\") as \"end\",cause,effect,header,description,url from servicealerts_alerts where id = :servicealert_id"; | $query = "SELECT id,extract('epoch' from start) as start, extract('epoch' from \"end\") as \"end\",cause,effect,header,description,url from servicealerts_alerts where id = :servicealert_id"; |
debug($query, "database"); | debug($query, "database"); |
$query = $conn->prepare($query); | $query = $conn->prepare($query); |
$query->bindParam(":servicealert_id", $alertID); | $query->bindParam(":servicealert_id", $alertID); |
$query->execute(); | $query->execute(); |
if (!$query) { | if (!$query) { |
databaseError($conn->errorInfo()); | databaseError($conn->errorInfo()); |
return Array(); | return Array(); |
} | } |
return $query->fetch(PDO :: FETCH_ASSOC); | return $query->fetch(PDO :: FETCH_ASSOC); |
} | } |
function updateServiceAlert($alertID, $alert) { | function updateServiceAlert($alertID, $alert) { |
global $conn; | global $conn; |
$query = 'update servicealerts_alerts set start=:start, "end"=:end, header=:header, description=:description, url=:url, cause=:cause, effect=:effect where id = :servicealert_id'; | $query = 'update servicealerts_alerts set start=:start, "end"=:end, header=:header, description=:description, url=:url, cause=:cause, effect=:effect where id = :servicealert_id'; |
debug($query, "database"); | debug($query, "database"); |
$query = $conn->prepare($query); | $query = $conn->prepare($query); |
$query->bindValue(":servicealert_id", $alertID); | $query->bindValue(":servicealert_id", $alertID); |
$query->bindValue(":start", $alert['startdate']); | $query->bindValue(":start", $alert['startdate']); |
$query->bindValue(":end", $alert['enddate']); | $query->bindValue(":end", $alert['enddate']); |
$query->bindValue(":header", $alert['header']); | $query->bindValue(":header", $alert['header']); |
$query->bindValue(":description", $alert['description']); | $query->bindValue(":description", $alert['description']); |
$query->bindValue(":url", $alert['url']); | $query->bindValue(":url", $alert['url']); |
$query->bindValue(":cause", $alert['cause']); | $query->bindValue(":cause", $alert['cause']); |
$query->bindValue(":effect", $alert['effect']); | $query->bindValue(":effect", $alert['effect']); |
$query->execute(); | $query->execute(); |
print_r($conn->errorInfo()); | print_r($conn->errorInfo()); |
if (!$query) { | if (!$query) { |
databaseError($conn->errorInfo()); | databaseError($conn->errorInfo()); |
return Array(); | return Array(); |
} | } |
return $query->fetch(PDO :: FETCH_ASSOC); | return $query->fetch(PDO :: FETCH_ASSOC); |
} | } |
function addServiceAlert($alert) { | function addServiceAlert($alert) { |
global $conn; | global $conn; |
$query = 'INSERT INTO servicealerts_alerts (start, "end", header, description, url,cause,effect) VALUES (:start, :end, :header, :description, :url,:cause,:effect) '; | $query = 'INSERT INTO servicealerts_alerts (start, "end", header, description, url,cause,effect) VALUES (:start, :end, :header, :description, :url,:cause,:effect) '; |
debug($query, "database"); | debug($query, "database"); |
$query = $conn->prepare($query); | $query = $conn->prepare($query); |
//print_r($alert); | //print_r($alert); |
$query->bindValue(":start", $alert['startdate']); | $query->bindValue(":start", $alert['startdate']); |
$query->bindValue(":end", $alert['enddate']); | $query->bindValue(":end", $alert['enddate']); |