From: Maxious Date: Sun, 04 Sep 2011 15:32:27 +0000 Subject: Try to avoid bots in analytics and improve page titles X-Git-Url: http://maxious.lambdacomplex.org/git/?p=busui.git&a=commitdiff&h=e1bdff3ead7371e46f0fd527ad0af3f82433aa99 --- Try to avoid bots in analytics and improve page titles --- --- /dev/null +++ b/.box @@ -1,1 +1,5 @@ +shared_writable_dirs: + - /labs/tiles + - /lib/staticmaplite/cache +php_extensions: [pgsql, pdo, pdo_pgsql, curl] --- a/include/common-template.inc.php +++ b/include/common-template.inc.php @@ -32,8 +32,10 @@ -' . $pageTitle . ' +' . $pageTitle . ' - Canberra Bus Timetable + + '; if (isDebugServer()) { $jqmcss = $labsPath . 'css/jquery.mobile-1.0b1.css'; @@ -41,9 +43,9 @@ $jqmjs = $labsPath . 'js/jquery.mobile-1.0b1.js'; } else { - $jqmcss = "http://code.jquery.com/mobile/1.0b1/jquery.mobile-1.0b1.min.css"; - $jqjs = "http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"; - $jqmjs = "http://code.jquery.com/mobile/1.0b1/jquery.mobile-1.0b1.min.js"; + $jqmcss = "//code.jquery.com/mobile/1.0b1/jquery.mobile-1.0b1.min.css"; + $jqjs = "//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"; + $jqmjs = "//code.jquery.com/mobile/1.0b1/jquery.mobile-1.0b1.min.js"; } echo ' --- a/include/common.inc.php +++ b/include/common.inc.php @@ -31,7 +31,8 @@ function isDebugServer() { - return !isset($_SERVER['SERVER_NAME']) || $_SERVER['SERVER_NAME'] == "10.0.1.154" || $_SERVER['SERVER_NAME'] == "10.1.0.4" || $_SERVER['SERVER_NAME'] == "localhost" || $_SERVER['SERVER_NAME'] == "127.0.0.1" ; + return isset($_SERVER['SERVER_NAME']) && ( $_SERVER['SERVER_NAME'] == "10.0.1.154" || $_SERVER['SERVER_NAME'] == "10.1.0.4" || $_SERVER['SERVER_NAME'] == +"localhost" || $_SERVER['SERVER_NAME'] == "127.0.0.1") ; } include_once ("common-geo.inc.php"); @@ -46,7 +47,9 @@ function isAnalyticsOn() { - return !isDebugServer(); + $user_agent = $_SERVER['HTTP_USER_AGENT']; + return !isDebugServer() && !preg_match('/cloudkick/i', $user_agent) && !preg_match('/googlebot/i', $user_agent) && +!preg_match('/baidu/i', $user_agent); } function isDebug($debugReason = "other") { --- a/include/db/trip-dao.inc.php +++ b/include/db/trip-dao.inc.php @@ -173,6 +173,22 @@ $r = $query->fetch(PDO::FETCH_ASSOC); return $r['arrival_time']; } +function getTripEndTime($tripID) +{ + global $conn; + $query = "SELECT trip_id,max(arrival_time) as arrival_time from stop_times + WHERE stop_times.arrival_time IS NOT NULL and trip_id = :tripID group by trip_id"; + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":tripID", $tripID); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + $r = $query->fetch(PDO::FETCH_ASSOC); + return $r['arrival_time']; +} function getActiveTrips($time) { global $conn; --- a/labs/myway_timeliness_calculate.php +++ b/labs/myway_timeliness_calculate.php @@ -1,6 +1,8 @@ "; var_dump($stopRoutes); + flush(); + } } // lowest delta is recorded delta @@ -119,7 +125,7 @@ $stmt->bindParam(':route_full_name', $route_full_name); $stmt->bindParam(':stop_code', $stop_code); $stmt->bindParam(':timing_delta', $lowestDelta); - $stmt->bindParam(':time', $time); + $stmt->bindParam(':time', $time_tz); $stmt->bindParam(':date', $date); $stmt->bindParam(':timing_period', $timing_period); $stmt->bindParam(':stop_sequence', $stop_sequence); @@ -129,6 +135,7 @@ echo "Recorded.
"; } var_dump($conn->errorInfo()); + flush(); } flush(); } --- a/labs/myway_timeliness_route.php +++ b/labs/myway_timeliness_route.php @@ -34,6 +34,10 @@ tickFormatter: yformatter }, grid: { hoverable: true, clickable: true, labelMargin: 32 }, +series: { + lines: { show: false }, + points: { show: true } + } }; var plot = $.plot(placeholder, data, options); @@ -118,3 +122,4 @@ }); + --- a/labs/myway_timeliness_stop.json.php +++ b/labs/myway_timeliness_stop.json.php @@ -29,3 +29,4 @@ else echo "[".implode(",",$points)."]"; ?> } + --- a/labs/myway_timeliness_stop.php +++ b/labs/myway_timeliness_stop.php @@ -40,6 +40,10 @@ tickFormatter: yformatter }, grid: { hoverable: true, clickable: true, labelMargin: 32 }, + series: { + lines: { show: false }, + points: { show: true } + } }; var plot = $.plot(placeholder, data, options); @@ -129,3 +133,4 @@ }); + --- /dev/null +++ b/labs/travelAllRoutes.php @@ -1,1 +1,23 @@ +prepare($query); + $query->execute(); +echo ""; +$total = 0; +$count = 0; +foreach($query->fetchAll() as $r) { + $trips = getRouteTrips($r['route_id']); + $startTime = $trips[0]['arrival_time']; + $endTime = getTripEndTime($trips[0]['trip_id']); + $timeDiff = strtotime($endTime) - strtotime($startTime); + $total += $timeDiff; + $count ++; + echo ""; +} +echo "
Route NumberFirst Trip StartFirst Trip EndLength
{$r['route_short_name']}$startTime$endTime$timeDiff seconds ie. ". ($timeDiff/60). " minutes
"; +echo "Total time: $total seconds ie. " .($total/60/60). " hours
"; +echo "$count Routes"; +?>