<?php |
<?php |
include ('../include/common.inc.php'); |
include ('../include/common.inc.php'); |
include_header("Network/Route Statistics", "networkstats") |
include_header("Route Statistics", "networkstats") |
?> |
?> |
<script type="text/javascript" src="js/flotr/lib/prototype-1.6.0.2.js"></script> |
<script type="text/javascript" src="js/flotr/lib/prototype-1.6.0.2.js"></script> |
|
|
<!--[if IE]> |
<!--[if IE]> |
|
|
<script type="text/javascript" src="js/flotr/lib/excanvas.js"></script> |
<script type="text/javascript" src="js/flotr/lib/excanvas.js"></script> |
|
|
<script type="text/javascript" src="js/flotr/lib/base64.js"></script> |
<script type="text/javascript" src="js/flotr/lib/base64.js"></script> |
|
|
<![endif]--> |
<![endif]--> |
|
|
<script type="text/javascript" src="js/flotr/lib/canvas2image.js"></script> |
<script type="text/javascript" src="js/flotr/lib/canvas2image.js"></script> |
|
|
<script type="text/javascript" src="js/flotr/lib/canvastext.js"></script> |
<script type="text/javascript" src="js/flotr/lib/canvastext.js"></script> |
|
|
<script type="text/javascript" src="js/flotr/flotr.debug-0.2.0-alpha_radar1.js"></script> |
<script type="text/javascript" src="js/flotr/flotr.debug-0.2.0-alpha_radar1.js"></script> |
<form method="get" action="networkstats.php"> |
<form method="get" action="networkstats.php"> |
<select id="routeid" name="routeid"> |
<select id="routeid" name="routeid"> |
<?php |
<?php |
foreach (getRoutes() as $route) { |
foreach (getRoutes() as $route) { |
echo "<option value=\"{$route['route_id']}\">{$route['route_short_name']} {$route['route_long_name']}</option>"; |
echo "<option value=\"{$route['route_id']}\">{$route['route_short_name']} {$route['route_long_name']}</option>"; |
} |
} |
?> |
?> |
</select> |
</select> |
<input type="submit" value="View"/> |
<input type="submit" value="View"/> |
</form> |
</form> |
|
|
<?php |
<?php |
// middle of graph = 6am |
// middle of graph = 6am |
$adjustFactor = 0; |
$adjustFactor = 0; |
$routeid = ($_REQUEST['routeid'] ? filter_var($_REQUEST['routeid'], FILTER_SANITIZE_NUMBER_INT) : 0); |
$routeid = ($_REQUEST['routeid'] ? filter_var($_REQUEST['routeid'], FILTER_SANITIZE_NUMBER_INT) : 0); |
$route = getRoute($routeid); |
$route = getRoute($routeid); |
echo "<h1>{$route['route_short_name']} {$route['route_long_name']}</h1>"; |
echo "<h1>{$route['route_short_name']} {$route['route_long_name']}</h1>"; |
foreach (getRouteTrips($routeid) as $key => $trip) { |
foreach (getRouteTrips($routeid) as $key => $trip) { |
$dLabel[$key] = $trip['arrival_time']; |
$dLabel[$key] = $trip['arrival_time']; |
if ($key == 0) { |
if ($key == 0) { |
$time = strtotime($trip['arrival_time']); |
$time = strtotime($trip['arrival_time']); |
$adjustFactor = (date("G", $time) * 3600); |
$adjustFactor = (date("G", $time) * 3600); |
} |
} |
$tripStops = viaPoints($trip['trip_id']); |
$tripStops = viaPoints($trip['trip_id']); |
foreach ($tripStops as $i => $stop) { |
foreach ($tripStops as $i => $stop) { |
if ($key == 0) { |
if ($key == 0) { |
$dTicks[$i] = $stop['stop_name']; |
$dTicks[$i] = $stop['stop_name']; |
} |
} |
$time = strtotime($stop['arrival_time']); |
$time = strtotime($stop['arrival_time']); |
$d[$key][$i] = (date("G", $time) * 3600) + (date("i", $time) * 60) + date("s", $time) - $adjustFactor; |
$d[$key][$i] = (date("G", $time) * 3600) + (date("i", $time) * 60) + date("s", $time) - $adjustFactor; |
|
|
} |
} |
} |
} |
|
|
?> |
?> |
<div id="container" style="width:100%;height:900px;"></div> |
<div id="container" style="width:100%;height:900px;"></div> |
<script type="text/javascript"> |
<script type="text/javascript"> |
|
|
/** |
/** |
|
|
* Wait till dom's finished loading. |
* Wait till dom's finished loading. |
|
|
*/ |
*/ |
|
|
document.observe('dom:loaded', function(){ |
document.observe('dom:loaded', function(){ |
|
|
/** |
/** |
|
|
* Fill series d1 and d2. |
* Fill series d1 and d2. |
|
|
*/ |
*/ |
<?php |
<?php |
foreach ($d as $key => $dataseries) { |
foreach ($d as $key => $dataseries) { |
|
|
echo "var d$key =["; |
echo "var d$key =["; |
foreach ($dataseries as $i => $datapoint) { |
foreach ($dataseries as $i => $datapoint) { |
echo "[$i, $datapoint],"; |
echo "[$i, $datapoint],"; |
} |
} |
echo "];\n"; |
echo "];\n"; |
} |
} |
|
|
?> |
?> |
|
|
|
|
|
|
var f = Flotr.draw($('container'), |
var f = Flotr.draw($('container'), |
|
|
[ |
[ |
<?php |
<?php |
foreach ($d as $key => $dataseries) { |
foreach ($d as $key => $dataseries) { |
|
|
echo '{data:d'.$key.", label:'{$dLabel[$key]}'".', radar:{fill:false}},'."\n"; |
echo '{data:d'.$key.", label:'{$dLabel[$key]}'".', radar:{fill:false}},'."\n"; |
|
|
} |
} |
|
|
?> |
?> |
], |
], |
|
|
{defaultType: 'radar', |
{defaultType: 'radar', |
|
|
radarChartMode: true, |
radarChartMode: true, |
|
|
HtmlText: false, |
HtmlText: false, |
|
|
fontSize: 9, |
fontSize: 9, |
|
|
xaxis:{ |
xaxis:{ |
|
|
ticks: [ |
ticks: [ |
<?php |
<?php |
foreach ($dTicks as $key => $tickName) { |
foreach ($dTicks as $key => $tickName) { |
echo '['.$key.', "'.$tickName.'"],'; |
echo '['.$key.', "'.$tickName.'"],'; |
} |
} |
|
|
?> |
?> |
|
|
]}, |
]}, |
|
|
mouse:{ // Setup point tracking |
mouse:{ // Setup point tracking |
|
|
track: true, |
track: true, |
|
|
lineColor: 'black', |
lineColor: 'black', |
|
|
relative: true, |
relative: true, |
|
|
sensibility: 70, |
sensibility: 70, |
|
|
trackFormatter: function(obj){ |
trackFormatter: function(obj){ |
var d = new Date(); |
var d = new Date(); |
d.setMinutes(0); |
d.setMinutes(0); |
d.setHours(0); |
d.setHours(0); |
d.setTime(d.getTime() + Math.floor(obj.radarData*1000) + <?php echo $adjustFactor*1000 ?>); |
d.setTime(d.getTime() + Math.floor(obj.radarData*1000) + <?php echo $adjustFactor*1000 ?>); |
return d.getHours() +':'+ (d.getMinutes().toString().length == 1 ? '0'+ d.getMinutes(): d.getMinutes()); |
return d.getHours() +':'+ (d.getMinutes().toString().length == 1 ? '0'+ d.getMinutes(): d.getMinutes()); |
}}}); |
}}}); |
|
|
}); |
}); |
|
|
</script> |
</script> |
|
|
</div> |
</div> |
|
|
|
|
|
|
<?php |
<?php |
include_footer() |
include_footer() |
?> |
?> |
|
|
|
|