Merge pull request #456 from Struart88/patch-2
[FlightAirMap.git] / date-statistics-time.php
blob63c8ef711e149c80869fb1832f7bf65ee5ecd148
1 <?php
2 require_once('require/class.Connection.php');
3 require_once('require/class.Spotter.php');
4 require_once('require/class.Language.php');
5 $Spotter = new Spotter();
6 $sort = filter_input(INPUT_GET,'sort',FILTER_SANITIZE_STRING);
7 $date = filter_input(INPUT_GET,'date',FILTER_SANITIZE_STRING);
8 $spotter_array = $Spotter->getSpotterDataByDate($date,"0,1", $sort);
10 if (!empty($spotter_array))
12 $title = sprintf(_("Most Common Time of Day on %s"),date("l F j, Y", strtotime($spotter_array[0]['date_iso_8601'])));
13 require_once('header.php');
14 print '<div class="select-item">';
15 print '<form action="'.$globalURL.'/date" method="post" class="form-inline">';
16 print '<div class="form-group">';
17 print '<label for="datepickeri">'._("Select a Date").'</label>';
18 print '<div class="input-group date" id="datepicker">';
19 print '<input type="text" class="form-control" id="datepickeri" name="date" value="" />';
20 print '<span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span>';
21 print '</div>';
22 print '<button type="submit"><i class="fa fa-angle-double-right"></i></button>';
23 print '</div>';
24 print '</form>';
25 print '</div>';
26 print '<script type="text/javascript">$(function () { $("#datepicker").datetimepicker({ format: "YYYY-MM-DD", defaultDate: "'.$date.'" }); }); </script>';
27 print '<br />';
28 print '<div class="info column">';
29 print '<h1>'.sprintf(_("Flights from %s"),date("l F j, Y", strtotime($spotter_array[0]['date_iso_8601']))).'</h1>';
30 print '</div>';
32 include('date-sub-menu.php');
33 print '<div class="column">';
34 print '<h2>'._("Most Common Time of Day").'</h2>';
35 print '<p>'.sprintf(_("The statistic below shows the most common time of day on <strong>%s</strong>."),date("l F j, Y", strtotime($spotter_array[0]['date_iso_8601']))).'</p>';
37 $hour_array = $Spotter->countAllHoursByDate($date);
38 print '<link href="'.$globalURL.'/css/c3.min.css" rel="stylesheet" type="text/css">';
39 print '<script type="text/javascript" src="'.$globalURL.'/js/d3.min.js"></script>';
40 print '<script type="text/javascript" src="'.$globalURL.'/js/c3.min.js"></script>';
41 print '<div id="chartHour" class="chart" width="100%"></div><script>';
42 $hour_data = '';
43 $hour_cnt = '';
44 $last = 0;
45 foreach($hour_array as $hour_item)
47 while($last != $hour_item['hour_name']) {
48 $hour_data .= '"'.$last.':00",';
49 $hour_cnt .= '0,';
50 $last++;
52 $last++;
53 $hour_data .= '"'.$hour_item['hour_name'].':00",';
54 $hour_cnt .= $hour_item['hour_count'].',';
56 $hour_data = "['x',".substr($hour_data, 0, -1)."]";
57 $hour_cnt = "['flights',".substr($hour_cnt,0,-1)."]";
58 print 'c3.generate({
59 bindto: "#chartHour",
60 data: {
61 x : "x",
62 xFormat: "%H:%M",
63 columns: ['.$hour_cnt.','.$hour_data.'], types: { flights: "area"}, colors: { flights: "#1a3151"}
65 axis: {
66 x: { type: "timeseries", tick: { format: "%H:%M" }},
67 y: { label: "# of Flights",tick: { format: d3.format("d") }}
69 legend: { show: false }
70 });';
71 print '</script>';
72 if (!empty($hour_array))
74 print '<div class="table-responsive">';
75 print '<table class="common-hour table-striped">';
76 print '<thead>';
77 print '<th>'._("Hour").'</th>';
78 print '<th>'._("Number").'</th>';
79 print '</thead>';
80 print '<tbody>';
81 $i = 1;
82 foreach($hour_array as $hour_item)
84 print '<tr>';
85 print '<td>'.$hour_item['hour_name'].':00</td>';
86 print '<td>'.$hour_item['hour_count'].'</td>';
87 print '</tr>';
88 $i++;
90 print '<tbody>';
91 print '</table>';
92 print '</div>';
94 print '</div>';
95 } else {
96 $title = _("Unknown Date");
97 require_once('header.php');
98 print '<h1>'._("Error").'</h1>';
99 print '<p>'._("Sorry, this date does not exist in this database. :(").'</p>';
102 require_once('footer.php');