@@ -662,9 +662,9 @@ |
||
662 | 662 | // var timeline = new Cesium.Timeline(viewer); |
663 | 663 | var clockViewModel = new Cesium.ClockViewModel(viewer.clock); |
664 | 664 | var animationViewModel = new Cesium.AnimationViewModel(clockViewModel); |
665 | - //this._div.innerHTML = '<h4><?php echo str_replace("'","\'",_("Archive Date & Time")); ?></h4>' + '<b>' + props.archive_date + ' UTC </b>' + '<br/><i class="fa fa-fast-backward" aria-hidden="true"></i> <i class="fa fa-backward" aria-hidden="true"></i> <a href="#" onClick="archivePause();"><i class="fa fa-pause" aria-hidden="true"></i></a> <a href="#" onClick="archivePlay();"><i class="fa fa-play" aria-hidden="true"></i></a> <i class="fa fa-forward" aria-hidden="true"></i> <i class="fa fa-fast-forward" aria-hidden="true"></i>'; |
|
666 | - $(".archivebox").html('<h4><?php echo str_replace("'","\'",_("Archive")); ?></h4>' + '<br/><form id="noarchive" method="post"><input type="hidden" name="noarchive" /></form><a href="#" onClick="animationViewModel.playReverseViewModel.command();"><i class="fa fa-play fa-flip-horizontal" aria-hidden="true"></i></a> <a href="#" onClick="'+"document.getElementById('noarchive').submit();"+'"><i class="fa fa-eject" aria-hidden="true"></i></a> <a href="#" onClick="animationViewModel.pauseViewModel.command();"><i class="fa fa-pause" aria-hidden="true"></i></a> <a href="#" onClick="animationViewModel.playForwardViewModel.command();"><i class="fa fa-play" aria-hidden="true"></i></a>'); |
|
667 | - // this._div.innerHTML = '<h4><?php echo str_replace("'","\'",_("Archive Date & Time")); ?></h4>' + '<b><i class="fa fa-spinner fa-pulse fa-2x fa-fw margin-bottom"></i></b>'; |
|
665 | + //this._div.innerHTML = '<h4><?php echo str_replace("'", "\'", _("Archive Date & Time")); ?></h4>' + '<b>' + props.archive_date + ' UTC </b>' + '<br/><i class="fa fa-fast-backward" aria-hidden="true"></i> <i class="fa fa-backward" aria-hidden="true"></i> <a href="#" onClick="archivePause();"><i class="fa fa-pause" aria-hidden="true"></i></a> <a href="#" onClick="archivePlay();"><i class="fa fa-play" aria-hidden="true"></i></a> <i class="fa fa-forward" aria-hidden="true"></i> <i class="fa fa-fast-forward" aria-hidden="true"></i>'; |
|
666 | + $(".archivebox").html('<h4><?php echo str_replace("'", "\'", _("Archive")); ?></h4>' + '<br/><form id="noarchive" method="post"><input type="hidden" name="noarchive" /></form><a href="#" onClick="animationViewModel.playReverseViewModel.command();"><i class="fa fa-play fa-flip-horizontal" aria-hidden="true"></i></a> <a href="#" onClick="'+"document.getElementById('noarchive').submit();"+'"><i class="fa fa-eject" aria-hidden="true"></i></a> <a href="#" onClick="animationViewModel.pauseViewModel.command();"><i class="fa fa-pause" aria-hidden="true"></i></a> <a href="#" onClick="animationViewModel.playForwardViewModel.command();"><i class="fa fa-play" aria-hidden="true"></i></a>'); |
|
667 | + // this._div.innerHTML = '<h4><?php echo str_replace("'", "\'", _("Archive Date & Time")); ?></h4>' + '<b><i class="fa fa-spinner fa-pulse fa-2x fa-fw margin-bottom"></i></b>'; |
|
668 | 668 | |
669 | 669 | } |
670 | 670 |
@@ -156,7 +156,12 @@ discard block |
||
156 | 156 | // viewer.dataSources.get(dsn).entities.remove(entity); |
157 | 157 | // } |
158 | 158 | //console.log(entity.lastupdate); |
159 | - if (parseInt(entity.lastupdate) < Math.floor(Date.now()-<?php if (isset($globalMapRefresh)) print $globalMapRefresh*2000; else print '60000'; ?>)) { |
|
159 | + if (parseInt(entity.lastupdate) < Math.floor(Date.now()-<?php if (isset($globalMapRefresh)) { |
|
160 | + print $globalMapRefresh*2000; |
|
161 | +} else { |
|
162 | + print '60000'; |
|
163 | +} |
|
164 | +?>)) { |
|
160 | 165 | // console.log('Remove an entity date'); |
161 | 166 | viewer.dataSources.get(dsn).entities.remove(entity); |
162 | 167 | } else { |
@@ -230,7 +235,12 @@ discard block |
||
230 | 235 | } else { |
231 | 236 | for (var i = 0; i < viewer.dataSources.get(dsn).entities.values.length; i++) { |
232 | 237 | var entity = viewer.dataSources.get(dsn).entities.values[i]; |
233 | - if (parseInt(entity.lastupdatesat) < Math.floor(Date.now()-<?php if (isset($globalMapRefresh)) print $globalMapRefresh*2000; else print '60000'; ?>)) { |
|
238 | + if (parseInt(entity.lastupdatesat) < Math.floor(Date.now()-<?php if (isset($globalMapRefresh)) { |
|
239 | + print $globalMapRefresh*2000; |
|
240 | +} else { |
|
241 | + print '60000'; |
|
242 | +} |
|
243 | +?>)) { |
|
234 | 244 | viewer.dataSources.get(dsn).entities.remove(entity); |
235 | 245 | } |
236 | 246 | } |
@@ -560,7 +570,12 @@ discard block |
||
560 | 570 | if (!((isset($globalIVAO) && $globalIVAO) || (isset($globalVATSIM) && $globalVATSIM) || (isset($globalphpVMS) && $globalphpVMS)) && (isset($_COOKIE['polar']) && $_COOKIE['polar'] == 'true')) { |
561 | 571 | ?> |
562 | 572 | update_polarLayer(); |
563 | -setInterval(function(){update_polarLayer()},<?php if (isset($globalMapRefresh)) print $globalMapRefresh*1000*2; else print '60000'; ?>); |
|
573 | +setInterval(function(){update_polarLayer()},<?php if (isset($globalMapRefresh)) { |
|
574 | + print $globalMapRefresh*1000*2; |
|
575 | +} else { |
|
576 | + print '60000'; |
|
577 | +} |
|
578 | +?>); |
|
564 | 579 | <?php |
565 | 580 | } |
566 | 581 | ?> |
@@ -656,7 +671,12 @@ discard block |
||
656 | 671 | } |
657 | 672 | } |
658 | 673 | } |
659 | - ,<?php if (isset($globalMapRefresh)) print $globalMapRefresh*1000; else print '30000'; ?>); |
|
674 | + ,<?php if (isset($globalMapRefresh)) { |
|
675 | + print $globalMapRefresh*1000; |
|
676 | +} else { |
|
677 | + print '30000'; |
|
678 | +} |
|
679 | +?>); |
|
660 | 680 | } else { |
661 | 681 | //var widget = new Cesium.CesiumWidget('archivebox'); |
662 | 682 | // var timeline = new Cesium.Timeline(viewer); |
@@ -352,10 +352,10 @@ discard block |
||
352 | 352 | }); |
353 | 353 | update_locationsLayer(); |
354 | 354 | <?php |
355 | - // Add support for custom json via $globalMapJson |
|
356 | - if (isset($globalMapJson) && is_array($globalMapJson)) { |
|
355 | + // Add support for custom json via $globalMapJson |
|
356 | + if (isset($globalMapJson) && is_array($globalMapJson)) { |
|
357 | 357 | foreach ($globalMapJson as $json) { |
358 | - if (isset($json['url'])) { |
|
358 | + if (isset($json['url'])) { |
|
359 | 359 | ?> |
360 | 360 | update_genLayer('<?php print $json['url']; ?>'); |
361 | 361 | <?php |
@@ -364,9 +364,9 @@ discard block |
||
364 | 364 | setInterval(function(){update_genLayer('<?php print $json['url']; ?>')}, <?php print $json['refresh']; ?>); |
365 | 365 | <?php |
366 | 366 | } |
367 | - } |
|
367 | + } |
|
368 | + } |
|
368 | 369 | } |
369 | - } |
|
370 | 370 | |
371 | 371 | ?> |
372 | 372 | //adds the bootstrap tooltip to the map icons |
@@ -2,7 +2,7 @@ discard block |
||
2 | 2 | require_once('../require/settings.php'); |
3 | 3 | require_once('../require/class.Language.php'); |
4 | 4 | |
5 | -setcookie("MapFormat",'2d'); |
|
5 | +setcookie("MapFormat", '2d'); |
|
6 | 6 | |
7 | 7 | // Compressed GeoJson is used if true |
8 | 8 | if (!isset($globalJsonCompress)) $compress = true; |
@@ -19,10 +19,10 @@ discard block |
||
19 | 19 | $lastupd = $_GET['archivespeed']*$archiveupdatetime; |
20 | 20 | if (isset($_GET['enddate']) && $_GET['enddate'] != '') $enddate = $_GET['enddate']; |
21 | 21 | else $enddate = time(); |
22 | - setcookie("archive_begin",$begindate); |
|
23 | - setcookie("archive_end",$enddate); |
|
24 | - setcookie("archive_update",$lastupd); |
|
25 | - setcookie("archive_speed",$archivespeed); |
|
22 | + setcookie("archive_begin", $begindate); |
|
23 | + setcookie("archive_end", $enddate); |
|
24 | + setcookie("archive_update", $lastupd); |
|
25 | + setcookie("archive_speed", $archivespeed); |
|
26 | 26 | ?> |
27 | 27 | document.cookie = 'archive_begin=<?php print $begindate; ?>; expires=Thu, 2 Aug 2100 20:47:11 UTC; path=/'; |
28 | 28 | document.cookie = 'archive_end=<?php print $enddate; ?>; expires=Thu, 2 Aug 2100 20:47:11 UTC; path=/'; |
@@ -73,16 +73,16 @@ discard block |
||
73 | 73 | <?php |
74 | 74 | } |
75 | 75 | if (isset($_GET['ident'])) { |
76 | - $ident = filter_input(INPUT_GET,'ident',FILTER_SANITIZE_STRING); |
|
76 | + $ident = filter_input(INPUT_GET, 'ident', FILTER_SANITIZE_STRING); |
|
77 | 77 | } |
78 | 78 | if (isset($_GET['flightaware_id'])) { |
79 | - $flightaware_id = filter_input(INPUT_GET,'flightaware_id',FILTER_SANITIZE_STRING); |
|
79 | + $flightaware_id = filter_input(INPUT_GET, 'flightaware_id', FILTER_SANITIZE_STRING); |
|
80 | 80 | } |
81 | 81 | if (isset($_GET['latitude'])) { |
82 | - $latitude = filter_input(INPUT_GET,'latitude',FILTER_SANITIZE_STRING); |
|
82 | + $latitude = filter_input(INPUT_GET, 'latitude', FILTER_SANITIZE_STRING); |
|
83 | 83 | } |
84 | 84 | if (isset($_GET['longitude'])) { |
85 | - $longitude = filter_input(INPUT_GET,'longitude',FILTER_SANITIZE_STRING); |
|
85 | + $longitude = filter_input(INPUT_GET, 'longitude', FILTER_SANITIZE_STRING); |
|
86 | 86 | } |
87 | 87 | ?> |
88 | 88 | |
@@ -118,7 +118,7 @@ discard block |
||
118 | 118 | || navigator.userAgent.match(/BlackBerry/i) |
119 | 119 | || navigator.userAgent.match(/Windows Phone/i)) |
120 | 120 | { |
121 | - var zoom = <?php if (isset($globalLiveZoom)) print $globalLiveZoom-1; else print '8'; ?>; |
|
121 | + var zoom = <?php if (isset($globalLiveZoom)) print $globalLiveZoom - 1; else print '8'; ?>; |
|
122 | 122 | } else { |
123 | 123 | var zoom = <?php if (isset($globalLiveZoom)) print $globalLiveZoom; else print '9'; ?>; |
124 | 124 | } |
@@ -212,19 +212,19 @@ discard block |
||
212 | 212 | map.addLayer(yandexLayer); |
213 | 213 | <?php |
214 | 214 | } elseif ($MapType == 'Bing-Aerial') { |
215 | - if (!isset($globalBingMapKey) || $globalBingMapKey == '') setcookie('MapType','OpenStreetMap'); |
|
215 | + if (!isset($globalBingMapKey) || $globalBingMapKey == '') setcookie('MapType', 'OpenStreetMap'); |
|
216 | 216 | ?> |
217 | 217 | var bingLayer = new L.tileLayer.bing({bingMapsKey: '<?php print $globalBingMapKey; ?>',imagerySet: 'Aerial'}); |
218 | 218 | map.addLayer(bingLayer); |
219 | 219 | <?php |
220 | 220 | } elseif ($MapType == 'Bing-Hybrid') { |
221 | - if (!isset($globalBingMapKey) || $globalBingMapKey == '') setcookie('MapType','OpenStreetMap'); |
|
221 | + if (!isset($globalBingMapKey) || $globalBingMapKey == '') setcookie('MapType', 'OpenStreetMap'); |
|
222 | 222 | ?> |
223 | 223 | var bingLayer = new L.tileLayer.bing({bingMapsKey: '<?php print $globalBingMapKey; ?>',imagerySet: 'AerialWithLabels'}); |
224 | 224 | map.addLayer(bingLayer); |
225 | 225 | <?php |
226 | 226 | } elseif ($MapType == 'Bing-Road') { |
227 | - if (!isset($globalBingMapKey) || $globalBingMapKey == '') setcookie('MapType','OpenStreetMap'); |
|
227 | + if (!isset($globalBingMapKey) || $globalBingMapKey == '') setcookie('MapType', 'OpenStreetMap'); |
|
228 | 228 | ?> |
229 | 229 | var bingLayer = new L.tileLayer.bing({bingMapsKey: '<?php print $globalBingMapKey; ?>',imagerySet: 'Road'}); |
230 | 230 | map.addLayer(bingLayer); |
@@ -5,8 +5,11 @@ discard block |
||
5 | 5 | setcookie("MapFormat",'2d'); |
6 | 6 | |
7 | 7 | // Compressed GeoJson is used if true |
8 | -if (!isset($globalJsonCompress)) $compress = true; |
|
9 | -else $compress = $globalJsonCompress; |
|
8 | +if (!isset($globalJsonCompress)) { |
|
9 | + $compress = true; |
|
10 | +} else { |
|
11 | + $compress = $globalJsonCompress; |
|
12 | +} |
|
10 | 13 | if (isset($_GET['archive'])) { |
11 | 14 | $archive = true; |
12 | 15 | //$archiveupdatetime = 50; |
@@ -17,8 +20,11 @@ discard block |
||
17 | 20 | //$lastupd = round(($_GET['enddate']-$_GET['begindate'])/(($_GET['during']*60)/10)); |
18 | 21 | //$lastupd = 20; |
19 | 22 | $lastupd = $_GET['archivespeed']*$archiveupdatetime; |
20 | - if (isset($_GET['enddate']) && $_GET['enddate'] != '') $enddate = $_GET['enddate']; |
|
21 | - else $enddate = time(); |
|
23 | + if (isset($_GET['enddate']) && $_GET['enddate'] != '') { |
|
24 | + $enddate = $_GET['enddate']; |
|
25 | + } else { |
|
26 | + $enddate = time(); |
|
27 | + } |
|
22 | 28 | setcookie("archive_begin",$begindate); |
23 | 29 | setcookie("archive_end",$enddate); |
24 | 30 | setcookie("archive_update",$lastupd); |
@@ -105,7 +111,17 @@ discard block |
||
105 | 111 | } |
106 | 112 | |
107 | 113 | //create the map |
108 | - map = L.map('archive-map', { zoomControl:false }).setView([<?php if (isset($latitude)) print $latitude; else print $globalCenterLatitude; ?>,<?php if (isset($longitude)) print $longitude; else print $globalCenterLongitude; ?>], zoom); |
|
114 | + map = L.map('archive-map', { zoomControl:false }).setView([<?php if (isset($latitude)) { |
|
115 | + print $latitude; |
|
116 | +} else { |
|
117 | + print $globalCenterLatitude; |
|
118 | +} |
|
119 | +?>,<?php if (isset($longitude)) { |
|
120 | + print $longitude; |
|
121 | +} else { |
|
122 | + print $globalCenterLongitude; |
|
123 | +} |
|
124 | +?>], zoom); |
|
109 | 125 | <?php |
110 | 126 | } else { |
111 | 127 | ?> |
@@ -118,9 +134,19 @@ discard block |
||
118 | 134 | || navigator.userAgent.match(/BlackBerry/i) |
119 | 135 | || navigator.userAgent.match(/Windows Phone/i)) |
120 | 136 | { |
121 | - var zoom = <?php if (isset($globalLiveZoom)) print $globalLiveZoom-1; else print '8'; ?>; |
|
137 | + var zoom = <?php if (isset($globalLiveZoom)) { |
|
138 | + print $globalLiveZoom-1; |
|
139 | +} else { |
|
140 | + print '8'; |
|
141 | +} |
|
142 | +?>; |
|
122 | 143 | } else { |
123 | - var zoom = <?php if (isset($globalLiveZoom)) print $globalLiveZoom; else print '9'; ?>; |
|
144 | + var zoom = <?php if (isset($globalLiveZoom)) { |
|
145 | + print $globalLiveZoom; |
|
146 | +} else { |
|
147 | + print '9'; |
|
148 | +} |
|
149 | +?>; |
|
124 | 150 | } |
125 | 151 | |
126 | 152 | //create the map |
@@ -145,16 +171,27 @@ discard block |
||
145 | 171 | bounds = L.latLngBounds(southWest,northEast); |
146 | 172 | //a few title layers |
147 | 173 | <?php |
148 | - if (isset($_COOKIE['MapType'])) $MapType = $_COOKIE['MapType']; |
|
149 | - else $MapType = $globalMapProvider; |
|
174 | + if (isset($_COOKIE['MapType'])) { |
|
175 | + $MapType = $_COOKIE['MapType']; |
|
176 | + } else { |
|
177 | + $MapType = $globalMapProvider; |
|
178 | + } |
|
150 | 179 | |
151 | 180 | if ($MapType == 'Mapbox') { |
152 | - if ($_COOKIE['MapTypeId'] == 'default') $MapBoxId = $globalMapboxId; |
|
153 | - else $MapBoxId = $_COOKIE['MapTypeId']; |
|
154 | -?> |
|
181 | + if ($_COOKIE['MapTypeId'] == 'default') { |
|
182 | + $MapBoxId = $globalMapboxId; |
|
183 | + } else { |
|
184 | + $MapBoxId = $_COOKIE['MapTypeId']; |
|
185 | + } |
|
186 | + ?> |
|
155 | 187 | L.tileLayer('https://{s}.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={token}', { |
156 | 188 | maxZoom: 18, |
157 | - noWrap: <?php if (isset($globalMapWrap) && !$globalMapWrap) print 'false'; else print 'true'; ?>, |
|
189 | + noWrap: <?php if (isset($globalMapWrap) && !$globalMapWrap) { |
|
190 | + print 'false'; |
|
191 | +} else { |
|
192 | + print 'true'; |
|
193 | +} |
|
194 | +?>, |
|
158 | 195 | attribution: 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, ' + |
159 | 196 | '<a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' + |
160 | 197 | 'Imagery © <a href="http://mapbox.com">Mapbox</a>', |
@@ -166,7 +203,12 @@ discard block |
||
166 | 203 | ?> |
167 | 204 | L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { |
168 | 205 | maxZoom: 18, |
169 | - noWrap: <?php if (isset($globalMapWrap) && !$globalMapWrap) print 'false'; else print 'true'; ?>, |
|
206 | + noWrap: <?php if (isset($globalMapWrap) && !$globalMapWrap) { |
|
207 | + print 'false'; |
|
208 | +} else { |
|
209 | + print 'true'; |
|
210 | +} |
|
211 | +?>, |
|
170 | 212 | attribution: 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, ' + |
171 | 213 | '<a href="www.openstreetmap.org/copyright">Open Database Licence</a>' |
172 | 214 | }).addTo(map); |
@@ -212,20 +254,26 @@ discard block |
||
212 | 254 | map.addLayer(yandexLayer); |
213 | 255 | <?php |
214 | 256 | } elseif ($MapType == 'Bing-Aerial') { |
215 | - if (!isset($globalBingMapKey) || $globalBingMapKey == '') setcookie('MapType','OpenStreetMap'); |
|
216 | -?> |
|
257 | + if (!isset($globalBingMapKey) || $globalBingMapKey == '') { |
|
258 | + setcookie('MapType','OpenStreetMap'); |
|
259 | + } |
|
260 | + ?> |
|
217 | 261 | var bingLayer = new L.tileLayer.bing({bingMapsKey: '<?php print $globalBingMapKey; ?>',imagerySet: 'Aerial'}); |
218 | 262 | map.addLayer(bingLayer); |
219 | 263 | <?php |
220 | 264 | } elseif ($MapType == 'Bing-Hybrid') { |
221 | - if (!isset($globalBingMapKey) || $globalBingMapKey == '') setcookie('MapType','OpenStreetMap'); |
|
222 | -?> |
|
265 | + if (!isset($globalBingMapKey) || $globalBingMapKey == '') { |
|
266 | + setcookie('MapType','OpenStreetMap'); |
|
267 | + } |
|
268 | + ?> |
|
223 | 269 | var bingLayer = new L.tileLayer.bing({bingMapsKey: '<?php print $globalBingMapKey; ?>',imagerySet: 'AerialWithLabels'}); |
224 | 270 | map.addLayer(bingLayer); |
225 | 271 | <?php |
226 | 272 | } elseif ($MapType == 'Bing-Road') { |
227 | - if (!isset($globalBingMapKey) || $globalBingMapKey == '') setcookie('MapType','OpenStreetMap'); |
|
228 | -?> |
|
273 | + if (!isset($globalBingMapKey) || $globalBingMapKey == '') { |
|
274 | + setcookie('MapType','OpenStreetMap'); |
|
275 | + } |
|
276 | + ?> |
|
229 | 277 | var bingLayer = new L.tileLayer.bing({bingMapsKey: '<?php print $globalBingMapKey; ?>',imagerySet: 'Road'}); |
230 | 278 | map.addLayer(bingLayer); |
231 | 279 | <?php |
@@ -273,7 +321,12 @@ discard block |
||
273 | 321 | } |
274 | 322 | } elseif ($globalBounding == 'circle') { |
275 | 323 | ?> |
276 | - var circle = L.circle([<?php print $globalCenterLatitude; ?>, <?php print $globalCenterLongitude; ?>],<?php if (isset($globalBoundingCircleSize)) print $globalBoundingCircleSize; else print '70000'; ?>,{ |
|
324 | + var circle = L.circle([<?php print $globalCenterLatitude; ?>, <?php print $globalCenterLongitude; ?>],<?php if (isset($globalBoundingCircleSize)) { |
|
325 | + print $globalBoundingCircleSize; |
|
326 | +} else { |
|
327 | + print '70000'; |
|
328 | +} |
|
329 | +?>,{ |
|
277 | 330 | color: '#92C7D1', |
278 | 331 | fillColor: '#92C7D1', |
279 | 332 | fillOpacity: 0.3, |
@@ -34,30 +34,30 @@ discard block |
||
34 | 34 | |
35 | 35 | |
36 | 36 | function quaternionrotate($heading, $attitude = 0, $bank = 0) { |
37 | - // Assuming the angles are in radians. |
|
38 | - $c1 = cos($heading/2); |
|
39 | - $s1 = sin($heading/2); |
|
40 | - $c2 = cos($attitude/2); |
|
41 | - $s2 = sin($attitude/2); |
|
42 | - $c3 = cos($bank/2); |
|
43 | - $s3 = sin($bank/2); |
|
44 | - $c1c2 = $c1*$c2; |
|
45 | - $s1s2 = $s1*$s2; |
|
46 | - $w =$c1c2*$c3 - $s1s2*$s3; |
|
47 | - $x =$c1c2*$s3 + $s1s2*$c3; |
|
48 | - $y =$s1*$c2*$c3 + $c1*$s2*$s3; |
|
49 | - $z =$c1*$s2*$c3 - $s1*$c2*$s3; |
|
50 | - return array('x' => $x,'y' => $y,'z' => $z,'w' => $w); |
|
37 | + // Assuming the angles are in radians. |
|
38 | + $c1 = cos($heading/2); |
|
39 | + $s1 = sin($heading/2); |
|
40 | + $c2 = cos($attitude/2); |
|
41 | + $s2 = sin($attitude/2); |
|
42 | + $c3 = cos($bank/2); |
|
43 | + $s3 = sin($bank/2); |
|
44 | + $c1c2 = $c1*$c2; |
|
45 | + $s1s2 = $s1*$s2; |
|
46 | + $w =$c1c2*$c3 - $s1s2*$s3; |
|
47 | + $x =$c1c2*$s3 + $s1s2*$c3; |
|
48 | + $y =$s1*$c2*$c3 + $c1*$s2*$s3; |
|
49 | + $z =$c1*$s2*$c3 - $s1*$c2*$s3; |
|
50 | + return array('x' => $x,'y' => $y,'z' => $z,'w' => $w); |
|
51 | 51 | // return array('x' => '0.0','y' => '-0.931','z' => '0.0','w' => '0.365'); |
52 | 52 | |
53 | 53 | } |
54 | 54 | |
55 | 55 | |
56 | 56 | if (isset($_GET['download'])) { |
57 | - if ($_GET['download'] == "true") |
|
58 | - { |
|
57 | + if ($_GET['download'] == "true") |
|
58 | + { |
|
59 | 59 | header('Content-disposition: attachment; filename="flightairmap.json"'); |
60 | - } |
|
60 | + } |
|
61 | 61 | } |
62 | 62 | header('Content-Type: text/javascript'); |
63 | 63 | |
@@ -220,10 +220,10 @@ discard block |
||
220 | 220 | $image = "images/placeholder_thumb.png"; |
221 | 221 | } |
222 | 222 | |
223 | - if (isset($spotter_item['flightaware_id'])) $id = $spotter_item['flightaware_id']; |
|
224 | - elseif (isset($spotter_item['famtrackid'])) $id = $spotter_item['famtrackid']; |
|
225 | - elseif (isset($spotter_item['fammarine_id'])) $id = $spotter_item['fammarine_id']; |
|
226 | - if ($prev_flightaware_id != $id) { |
|
223 | + if (isset($spotter_item['flightaware_id'])) $id = $spotter_item['flightaware_id']; |
|
224 | + elseif (isset($spotter_item['famtrackid'])) $id = $spotter_item['famtrackid']; |
|
225 | + elseif (isset($spotter_item['fammarine_id'])) $id = $spotter_item['fammarine_id']; |
|
226 | + if ($prev_flightaware_id != $id) { |
|
227 | 227 | if ($prev_flightaware_id != '') { |
228 | 228 | $output .= ']'; |
229 | 229 | $output .= '}'; |
@@ -43,11 +43,11 @@ discard block |
||
43 | 43 | $s3 = sin($bank/2); |
44 | 44 | $c1c2 = $c1*$c2; |
45 | 45 | $s1s2 = $s1*$s2; |
46 | - $w =$c1c2*$c3 - $s1s2*$s3; |
|
47 | - $x =$c1c2*$s3 + $s1s2*$c3; |
|
48 | - $y =$s1*$c2*$c3 + $c1*$s2*$s3; |
|
49 | - $z =$c1*$s2*$c3 - $s1*$c2*$s3; |
|
50 | - return array('x' => $x,'y' => $y,'z' => $z,'w' => $w); |
|
46 | + $w = $c1c2*$c3 - $s1s2*$s3; |
|
47 | + $x = $c1c2*$s3 + $s1s2*$c3; |
|
48 | + $y = $s1*$c2*$c3 + $c1*$s2*$s3; |
|
49 | + $z = $c1*$s2*$c3 - $s1*$c2*$s3; |
|
50 | + return array('x' => $x, 'y' => $y, 'z' => $z, 'w' => $w); |
|
51 | 51 | // return array('x' => '0.0','y' => '-0.931','z' => '0.0','w' => '0.365'); |
52 | 52 | |
53 | 53 | } |
@@ -68,16 +68,16 @@ discard block |
||
68 | 68 | $min = false; |
69 | 69 | $allhistory = false; |
70 | 70 | $filter['source'] = array(); |
71 | -if ((!isset($globalMapVAchoose) || $globalMapVAchoose) && isset($globalVATSIM) && $globalVATSIM && isset($_COOKIE['filter_ShowVATSIM']) && $_COOKIE['filter_ShowVATSIM'] == 'true') $filter['source'] = array_merge($filter['source'],array('vatsimtxt')); |
|
72 | -if ((!isset($globalMapVAchoose) || $globalMapVAchoose) && isset($globalIVAO) && $globalIVAO && isset($_COOKIE['filter_ShowIVAO']) && $_COOKIE['filter_ShowIVAO'] == 'true') $filter['source'] = array_merge($filter['source'],array('whazzup')); |
|
73 | -if ((!isset($globalMapVAchoose) || $globalMapVAchoose) && isset($globalphpVMS) && $globalphpVMS && isset($_COOKIE['filter_ShowVMS']) && $_COOKIE['filter_ShowVMS'] == 'true') $filter['source'] = array_merge($filter['source'],array('phpvmacars')); |
|
74 | -if ((!isset($globalMapchoose) || $globalMapchoose) && isset($globalSBS1) && $globalSBS1 && isset($_COOKIE['filter_ShowSBS1']) && $_COOKIE['filter_ShowSBS1'] == 'true') $filter['source'] = array_merge($filter['source'],array('sbs','famaprs')); |
|
75 | -if ((!isset($globalMapchoose) || $globalMapchoose) && isset($globalAPRS) && $globalAPRS && isset($_COOKIE['filter_ShowAPRS']) && $_COOKIE['filter_ShowAPRS'] == 'true') $filter['source'] = array_merge($filter['source'],array('aprs')); |
|
76 | -if (isset($_COOKIE['filter_ident']) && $_COOKIE['filter_ident'] != '') $filter['ident'] = filter_var($_COOKIE['filter_ident'],FILTER_SANITIZE_STRING); |
|
77 | -if (isset($_COOKIE['filter_Airlines']) && $_COOKIE['filter_Airlines'] != '') $filter['airlines'] = filter_var_array(explode(',',$_COOKIE['filter_Airlines']),FILTER_SANITIZE_STRING); |
|
78 | -if (isset($_COOKIE['filter_Sources']) && $_COOKIE['filter_Sources'] != '') $filter['source_aprs'] = filter_var_array(explode(',',$_COOKIE['filter_Sources']),FILTER_SANITIZE_STRING); |
|
79 | -if (isset($_COOKIE['filter_airlinestype']) && $_COOKIE['filter_airlinestype'] != 'all') $filter['airlinestype'] = filter_var($_COOKIE['filter_airlinestype'],FILTER_SANITIZE_STRING); |
|
80 | -if (isset($_COOKIE['filter_alliance']) && $_COOKIE['filter_alliance'] != 'all') $filter['alliance'] = filter_var($_COOKIE['filter_alliance'],FILTER_SANITIZE_STRING); |
|
71 | +if ((!isset($globalMapVAchoose) || $globalMapVAchoose) && isset($globalVATSIM) && $globalVATSIM && isset($_COOKIE['filter_ShowVATSIM']) && $_COOKIE['filter_ShowVATSIM'] == 'true') $filter['source'] = array_merge($filter['source'], array('vatsimtxt')); |
|
72 | +if ((!isset($globalMapVAchoose) || $globalMapVAchoose) && isset($globalIVAO) && $globalIVAO && isset($_COOKIE['filter_ShowIVAO']) && $_COOKIE['filter_ShowIVAO'] == 'true') $filter['source'] = array_merge($filter['source'], array('whazzup')); |
|
73 | +if ((!isset($globalMapVAchoose) || $globalMapVAchoose) && isset($globalphpVMS) && $globalphpVMS && isset($_COOKIE['filter_ShowVMS']) && $_COOKIE['filter_ShowVMS'] == 'true') $filter['source'] = array_merge($filter['source'], array('phpvmacars')); |
|
74 | +if ((!isset($globalMapchoose) || $globalMapchoose) && isset($globalSBS1) && $globalSBS1 && isset($_COOKIE['filter_ShowSBS1']) && $_COOKIE['filter_ShowSBS1'] == 'true') $filter['source'] = array_merge($filter['source'], array('sbs', 'famaprs')); |
|
75 | +if ((!isset($globalMapchoose) || $globalMapchoose) && isset($globalAPRS) && $globalAPRS && isset($_COOKIE['filter_ShowAPRS']) && $_COOKIE['filter_ShowAPRS'] == 'true') $filter['source'] = array_merge($filter['source'], array('aprs')); |
|
76 | +if (isset($_COOKIE['filter_ident']) && $_COOKIE['filter_ident'] != '') $filter['ident'] = filter_var($_COOKIE['filter_ident'], FILTER_SANITIZE_STRING); |
|
77 | +if (isset($_COOKIE['filter_Airlines']) && $_COOKIE['filter_Airlines'] != '') $filter['airlines'] = filter_var_array(explode(',', $_COOKIE['filter_Airlines']), FILTER_SANITIZE_STRING); |
|
78 | +if (isset($_COOKIE['filter_Sources']) && $_COOKIE['filter_Sources'] != '') $filter['source_aprs'] = filter_var_array(explode(',', $_COOKIE['filter_Sources']), FILTER_SANITIZE_STRING); |
|
79 | +if (isset($_COOKIE['filter_airlinestype']) && $_COOKIE['filter_airlinestype'] != 'all') $filter['airlinestype'] = filter_var($_COOKIE['filter_airlinestype'], FILTER_SANITIZE_STRING); |
|
80 | +if (isset($_COOKIE['filter_alliance']) && $_COOKIE['filter_alliance'] != 'all') $filter['alliance'] = filter_var($_COOKIE['filter_alliance'], FILTER_SANITIZE_STRING); |
|
81 | 81 | /* |
82 | 82 | if (isset($globalMapPopup) && !$globalMapPopup && !(isset($_COOKIE['flightpopup']) && $_COOKIE['flightpopup'] == 'true')) { |
83 | 83 | $min = true; |
@@ -124,12 +124,12 @@ discard block |
||
124 | 124 | $from_archive = true; |
125 | 125 | // $begindate = filter_input(INPUT_GET,'begindate',FILTER_VALIDATE_REGEXP,array("options"=>array("regexp"=>'~^\d{4}/\d{2}/\d{2}$~'))); |
126 | 126 | // $enddate = filter_input(INPUT_GET,'enddate',FILTER_VALIDATE_REGEXP,array("options"=>array("regexp"=>'~^\d{4}/\d{2}/\d{2}$~'))); |
127 | - $begindate = filter_input(INPUT_GET,'begindate',FILTER_SANITIZE_NUMBER_INT); |
|
128 | - $enddate = filter_input(INPUT_GET,'enddate',FILTER_SANITIZE_NUMBER_INT); |
|
129 | - $archivespeed = filter_input(INPUT_GET,'speed',FILTER_SANITIZE_NUMBER_INT); |
|
130 | - $begindate = date('Y-m-d H:i:s',$begindate); |
|
131 | - $enddate = date('Y-m-d H:i:s',$enddate); |
|
132 | - $spotter_array = $SpotterArchive->getMinLiveSpotterDataPlayback($begindate,$enddate,$filter); |
|
127 | + $begindate = filter_input(INPUT_GET, 'begindate', FILTER_SANITIZE_NUMBER_INT); |
|
128 | + $enddate = filter_input(INPUT_GET, 'enddate', FILTER_SANITIZE_NUMBER_INT); |
|
129 | + $archivespeed = filter_input(INPUT_GET, 'speed', FILTER_SANITIZE_NUMBER_INT); |
|
130 | + $begindate = date('Y-m-d H:i:s', $begindate); |
|
131 | + $enddate = date('Y-m-d H:i:s', $enddate); |
|
132 | + $spotter_array = $SpotterArchive->getMinLiveSpotterDataPlayback($begindate, $enddate, $filter); |
|
133 | 133 | } elseif (isset($_COOKIE['archive']) && isset($_COOKIE['archive_begin']) && isset($_COOKIE['archive_end']) && isset($_COOKIE['archive_speed'])) { |
134 | 134 | $from_archive = true; |
135 | 135 | // $begindate = filter_input(INPUT_GET,'begindate',FILTER_VALIDATE_REGEXP,array("options"=>array("regexp"=>'~^\d{4}/\d{2}/\d{2}$~'))); |
@@ -139,11 +139,11 @@ discard block |
||
139 | 139 | $begindate = $_COOKIE['archive_begin']; |
140 | 140 | $enddate = $_COOKIE['archive_end']; |
141 | 141 | |
142 | - $archivespeed = filter_var($_COOKIE['archive_speed'],FILTER_SANITIZE_NUMBER_INT); |
|
143 | - $begindate = date('Y-m-d H:i:s',$begindate); |
|
144 | - $enddate = date('Y-m-d H:i:s',$enddate); |
|
142 | + $archivespeed = filter_var($_COOKIE['archive_speed'], FILTER_SANITIZE_NUMBER_INT); |
|
143 | + $begindate = date('Y-m-d H:i:s', $begindate); |
|
144 | + $enddate = date('Y-m-d H:i:s', $enddate); |
|
145 | 145 | // echo 'Begin : '.$begindate.' - End : '.$enddate."\n"; |
146 | - $spotter_array = $SpotterArchive->getMinLiveSpotterData($begindate,$enddate,$filter); |
|
146 | + $spotter_array = $SpotterArchive->getMinLiveSpotterData($begindate, $enddate, $filter); |
|
147 | 147 | } elseif ($tracker) { |
148 | 148 | $spotter_array = $TrackerLive->getMinLastLiveTrackerData($filter); |
149 | 149 | } elseif ($marine) { |
@@ -154,7 +154,7 @@ discard block |
||
154 | 154 | |
155 | 155 | if (!empty($spotter_array)) { |
156 | 156 | if (isset($_GET['archive'])) { |
157 | - $flightcnt = $SpotterArchive->getLiveSpotterCount($begindate,$enddate,$filter); |
|
157 | + $flightcnt = $SpotterArchive->getLiveSpotterCount($begindate, $enddate, $filter); |
|
158 | 158 | } elseif ($tracker) { |
159 | 159 | $flightcnt = $TrackerLive->getLiveTrackerCount($filter); |
160 | 160 | } elseif ($marine) { |
@@ -165,16 +165,16 @@ discard block |
||
165 | 165 | if ($flightcnt == '') $flightcnt = 0; |
166 | 166 | } else $flightcnt = 0; |
167 | 167 | |
168 | -$sqltime = round(microtime(true)-$begintime,2); |
|
168 | +$sqltime = round(microtime(true) - $begintime, 2); |
|
169 | 169 | $minitime = time(); |
170 | 170 | $maxitime = 0; |
171 | 171 | |
172 | 172 | |
173 | 173 | $modelsdb = array(); |
174 | 174 | if (file_exists('models/modelsdb')) { |
175 | - if (($handle = fopen('models/modelsdb','r')) !== FALSE) { |
|
176 | - while (($row = fgetcsv($handle,1000)) !== FALSE) { |
|
177 | - if (isset($row[1]) ){ |
|
175 | + if (($handle = fopen('models/modelsdb', 'r')) !== FALSE) { |
|
176 | + while (($row = fgetcsv($handle, 1000)) !== FALSE) { |
|
177 | + if (isset($row[1])) { |
|
178 | 178 | $model = $row[0]; |
179 | 179 | $modelsdb[$model] = $row[1]; |
180 | 180 | } |
@@ -209,7 +209,7 @@ discard block |
||
209 | 209 | $output .= '},'; |
210 | 210 | if (!empty($spotter_array) && is_array($spotter_array)) |
211 | 211 | { |
212 | - foreach($spotter_array as $spotter_item) |
|
212 | + foreach ($spotter_array as $spotter_item) |
|
213 | 213 | { |
214 | 214 | $j++; |
215 | 215 | date_default_timezone_set('UTC'); |
@@ -497,7 +497,7 @@ discard block |
||
497 | 497 | $output .= '"cartographicDegrees": ['; |
498 | 498 | if ($minitime > strtotime($spotter_item['date'])) $minitime = strtotime($spotter_item['date']); |
499 | 499 | if ($maxitime < strtotime($spotter_item['date'])) $maxitime = strtotime($spotter_item['date']); |
500 | - $output .= '"'.date("c",strtotime($spotter_item['date'])).'", '; |
|
500 | + $output .= '"'.date("c", strtotime($spotter_item['date'])).'", '; |
|
501 | 501 | $output .= $spotter_item['longitude'].', '; |
502 | 502 | $output .= $spotter_item['latitude']; |
503 | 503 | $prevlong = $spotter_item['longitude']; |
@@ -511,7 +511,7 @@ discard block |
||
511 | 511 | //$quat = quaternionrotate(deg2rad($spotter_item['heading']),deg2rad(0),deg2rad(0)); |
512 | 512 | //$orientation .= '"'.date("c",strtotime($spotter_item['date'])).'",'.$quat['x'].','.$quat['y'].','.$quat['z'].','.$quat['w']; |
513 | 513 | } else { |
514 | - $output .= ',"'.date("c",strtotime($spotter_item['date'])).'", '; |
|
514 | + $output .= ',"'.date("c", strtotime($spotter_item['date'])).'", '; |
|
515 | 515 | if ($maxitime < strtotime($spotter_item['date'])) $maxitime = strtotime($spotter_item['date']); |
516 | 516 | if ($spotter_item['ground_speed'] == 0) { |
517 | 517 | $output .= $prevlong.', '; |
@@ -543,7 +543,7 @@ discard block |
||
543 | 543 | $output = substr($output, 0, -1); |
544 | 544 | } |
545 | 545 | $output .= ']'; |
546 | -$output = str_replace('%minitime%',date("c",$minitime),$output); |
|
547 | -$output = str_replace('%maxitime%',date("c",$maxitime),$output); |
|
546 | +$output = str_replace('%minitime%', date("c", $minitime), $output); |
|
547 | +$output = str_replace('%maxitime%', date("c", $maxitime), $output); |
|
548 | 548 | print $output; |
549 | 549 | ?> |
@@ -3,8 +3,12 @@ discard block |
||
3 | 3 | require_once('require/class.Common.php'); |
4 | 4 | $tracker = false; |
5 | 5 | $marine = false; |
6 | -if (isset($_GET['tracker'])) $tracker = true; |
|
7 | -if (isset($_GET['marine'])) $marine = true; |
|
6 | +if (isset($_GET['tracker'])) { |
|
7 | + $tracker = true; |
|
8 | +} |
|
9 | +if (isset($_GET['marine'])) { |
|
10 | + $marine = true; |
|
11 | +} |
|
8 | 12 | if ($tracker) { |
9 | 13 | require_once('require/class.Tracker.php'); |
10 | 14 | require_once('require/class.TrackerLive.php'); |
@@ -61,23 +65,46 @@ discard block |
||
61 | 65 | } |
62 | 66 | header('Content-Type: text/javascript'); |
63 | 67 | |
64 | -if (!isset($globalJsonCompress)) $compress = true; |
|
65 | -else $compress = $globalJsonCompress; |
|
68 | +if (!isset($globalJsonCompress)) { |
|
69 | + $compress = true; |
|
70 | +} else { |
|
71 | + $compress = $globalJsonCompress; |
|
72 | +} |
|
66 | 73 | |
67 | 74 | $from_archive = false; |
68 | 75 | $min = false; |
69 | 76 | $allhistory = false; |
70 | 77 | $filter['source'] = array(); |
71 | -if ((!isset($globalMapVAchoose) || $globalMapVAchoose) && isset($globalVATSIM) && $globalVATSIM && isset($_COOKIE['filter_ShowVATSIM']) && $_COOKIE['filter_ShowVATSIM'] == 'true') $filter['source'] = array_merge($filter['source'],array('vatsimtxt')); |
|
72 | -if ((!isset($globalMapVAchoose) || $globalMapVAchoose) && isset($globalIVAO) && $globalIVAO && isset($_COOKIE['filter_ShowIVAO']) && $_COOKIE['filter_ShowIVAO'] == 'true') $filter['source'] = array_merge($filter['source'],array('whazzup')); |
|
73 | -if ((!isset($globalMapVAchoose) || $globalMapVAchoose) && isset($globalphpVMS) && $globalphpVMS && isset($_COOKIE['filter_ShowVMS']) && $_COOKIE['filter_ShowVMS'] == 'true') $filter['source'] = array_merge($filter['source'],array('phpvmacars')); |
|
74 | -if ((!isset($globalMapchoose) || $globalMapchoose) && isset($globalSBS1) && $globalSBS1 && isset($_COOKIE['filter_ShowSBS1']) && $_COOKIE['filter_ShowSBS1'] == 'true') $filter['source'] = array_merge($filter['source'],array('sbs','famaprs')); |
|
75 | -if ((!isset($globalMapchoose) || $globalMapchoose) && isset($globalAPRS) && $globalAPRS && isset($_COOKIE['filter_ShowAPRS']) && $_COOKIE['filter_ShowAPRS'] == 'true') $filter['source'] = array_merge($filter['source'],array('aprs')); |
|
76 | -if (isset($_COOKIE['filter_ident']) && $_COOKIE['filter_ident'] != '') $filter['ident'] = filter_var($_COOKIE['filter_ident'],FILTER_SANITIZE_STRING); |
|
77 | -if (isset($_COOKIE['filter_Airlines']) && $_COOKIE['filter_Airlines'] != '') $filter['airlines'] = filter_var_array(explode(',',$_COOKIE['filter_Airlines']),FILTER_SANITIZE_STRING); |
|
78 | -if (isset($_COOKIE['filter_Sources']) && $_COOKIE['filter_Sources'] != '') $filter['source_aprs'] = filter_var_array(explode(',',$_COOKIE['filter_Sources']),FILTER_SANITIZE_STRING); |
|
79 | -if (isset($_COOKIE['filter_airlinestype']) && $_COOKIE['filter_airlinestype'] != 'all') $filter['airlinestype'] = filter_var($_COOKIE['filter_airlinestype'],FILTER_SANITIZE_STRING); |
|
80 | -if (isset($_COOKIE['filter_alliance']) && $_COOKIE['filter_alliance'] != 'all') $filter['alliance'] = filter_var($_COOKIE['filter_alliance'],FILTER_SANITIZE_STRING); |
|
78 | +if ((!isset($globalMapVAchoose) || $globalMapVAchoose) && isset($globalVATSIM) && $globalVATSIM && isset($_COOKIE['filter_ShowVATSIM']) && $_COOKIE['filter_ShowVATSIM'] == 'true') { |
|
79 | + $filter['source'] = array_merge($filter['source'],array('vatsimtxt')); |
|
80 | +} |
|
81 | +if ((!isset($globalMapVAchoose) || $globalMapVAchoose) && isset($globalIVAO) && $globalIVAO && isset($_COOKIE['filter_ShowIVAO']) && $_COOKIE['filter_ShowIVAO'] == 'true') { |
|
82 | + $filter['source'] = array_merge($filter['source'],array('whazzup')); |
|
83 | +} |
|
84 | +if ((!isset($globalMapVAchoose) || $globalMapVAchoose) && isset($globalphpVMS) && $globalphpVMS && isset($_COOKIE['filter_ShowVMS']) && $_COOKIE['filter_ShowVMS'] == 'true') { |
|
85 | + $filter['source'] = array_merge($filter['source'],array('phpvmacars')); |
|
86 | +} |
|
87 | +if ((!isset($globalMapchoose) || $globalMapchoose) && isset($globalSBS1) && $globalSBS1 && isset($_COOKIE['filter_ShowSBS1']) && $_COOKIE['filter_ShowSBS1'] == 'true') { |
|
88 | + $filter['source'] = array_merge($filter['source'],array('sbs','famaprs')); |
|
89 | +} |
|
90 | +if ((!isset($globalMapchoose) || $globalMapchoose) && isset($globalAPRS) && $globalAPRS && isset($_COOKIE['filter_ShowAPRS']) && $_COOKIE['filter_ShowAPRS'] == 'true') { |
|
91 | + $filter['source'] = array_merge($filter['source'],array('aprs')); |
|
92 | +} |
|
93 | +if (isset($_COOKIE['filter_ident']) && $_COOKIE['filter_ident'] != '') { |
|
94 | + $filter['ident'] = filter_var($_COOKIE['filter_ident'],FILTER_SANITIZE_STRING); |
|
95 | +} |
|
96 | +if (isset($_COOKIE['filter_Airlines']) && $_COOKIE['filter_Airlines'] != '') { |
|
97 | + $filter['airlines'] = filter_var_array(explode(',',$_COOKIE['filter_Airlines']),FILTER_SANITIZE_STRING); |
|
98 | +} |
|
99 | +if (isset($_COOKIE['filter_Sources']) && $_COOKIE['filter_Sources'] != '') { |
|
100 | + $filter['source_aprs'] = filter_var_array(explode(',',$_COOKIE['filter_Sources']),FILTER_SANITIZE_STRING); |
|
101 | +} |
|
102 | +if (isset($_COOKIE['filter_airlinestype']) && $_COOKIE['filter_airlinestype'] != 'all') { |
|
103 | + $filter['airlinestype'] = filter_var($_COOKIE['filter_airlinestype'],FILTER_SANITIZE_STRING); |
|
104 | +} |
|
105 | +if (isset($_COOKIE['filter_alliance']) && $_COOKIE['filter_alliance'] != 'all') { |
|
106 | + $filter['alliance'] = filter_var($_COOKIE['filter_alliance'],FILTER_SANITIZE_STRING); |
|
107 | +} |
|
81 | 108 | /* |
82 | 109 | if (isset($globalMapPopup) && !$globalMapPopup && !(isset($_COOKIE['flightpopup']) && $_COOKIE['flightpopup'] == 'true')) { |
83 | 110 | $min = true; |
@@ -162,8 +189,12 @@ discard block |
||
162 | 189 | } else { |
163 | 190 | $flightcnt = $SpotterLive->getLiveSpotterCount($filter); |
164 | 191 | } |
165 | - if ($flightcnt == '') $flightcnt = 0; |
|
166 | -} else $flightcnt = 0; |
|
192 | + if ($flightcnt == '') { |
|
193 | + $flightcnt = 0; |
|
194 | + } |
|
195 | + } else { |
|
196 | + $flightcnt = 0; |
|
197 | +} |
|
167 | 198 | |
168 | 199 | $sqltime = round(microtime(true)-$begintime,2); |
169 | 200 | $minitime = time(); |
@@ -186,7 +217,9 @@ discard block |
||
186 | 217 | $j = 0; |
187 | 218 | $prev_flightaware_id = ''; |
188 | 219 | $speed = 1; |
189 | -if (isset($archivespeed)) $speed = $archivespeed; |
|
220 | +if (isset($archivespeed)) { |
|
221 | + $speed = $archivespeed; |
|
222 | +} |
|
190 | 223 | $output = '['; |
191 | 224 | if ($tracker) { |
192 | 225 | $output .= '{"id" : "document", "name" : "tracker","version" : "1.0"'; |
@@ -220,9 +253,13 @@ discard block |
||
220 | 253 | $image = "images/placeholder_thumb.png"; |
221 | 254 | } |
222 | 255 | |
223 | - if (isset($spotter_item['flightaware_id'])) $id = $spotter_item['flightaware_id']; |
|
224 | - elseif (isset($spotter_item['famtrackid'])) $id = $spotter_item['famtrackid']; |
|
225 | - elseif (isset($spotter_item['fammarine_id'])) $id = $spotter_item['fammarine_id']; |
|
256 | + if (isset($spotter_item['flightaware_id'])) { |
|
257 | + $id = $spotter_item['flightaware_id']; |
|
258 | + } elseif (isset($spotter_item['famtrackid'])) { |
|
259 | + $id = $spotter_item['famtrackid']; |
|
260 | + } elseif (isset($spotter_item['fammarine_id'])) { |
|
261 | + $id = $spotter_item['fammarine_id']; |
|
262 | + } |
|
226 | 263 | if ($prev_flightaware_id != $id) { |
227 | 264 | if ($prev_flightaware_id != '') { |
228 | 265 | $output .= ']'; |
@@ -268,7 +305,9 @@ discard block |
||
268 | 305 | $spotter_item['engine_type'] = $aircraft_info[0]['engine_type']; |
269 | 306 | $spotter_item['wake_category'] = $aircraft_info[0]['wake_category']; |
270 | 307 | $spotter_item['engine_count'] = $aircraft_info[0]['engine_count']; |
271 | - } else $aircraft_shadow = ''; |
|
308 | + } else { |
|
309 | + $aircraft_shadow = ''; |
|
310 | + } |
|
272 | 311 | if ($aircraft_shadow != '') { |
273 | 312 | if (isset($modelsdb[$aircraft_shadow])) { |
274 | 313 | $output .= '"model": {"gltf" : "'.$globalURL.'/models/'.$modelsdb[$aircraft_shadow].'","scale" : 1.0,"minimumPixelSize": 20'; |
@@ -405,7 +444,9 @@ discard block |
||
405 | 444 | } |
406 | 445 | $output .= '},'; |
407 | 446 | //if ($spotter_item['aircraft_shadow'] != '') $output .= '"aircraft_shadow": "'.$spotter_item['aircraft_shadow'].'",'; |
408 | - if ($spotter_item['aircraft_icao'] != '') $output .= '"aircraft_icao": "'.$spotter_item['aircraft_icao'].'",'; |
|
447 | + if ($spotter_item['aircraft_icao'] != '') { |
|
448 | + $output .= '"aircraft_icao": "'.$spotter_item['aircraft_icao'].'",'; |
|
449 | + } |
|
409 | 450 | $modelsdb[$aircraft_icao] = 'Cesium_Air.glb'; |
410 | 451 | } |
411 | 452 | } elseif (isset($spotter_item['format_source']) && $spotter_item['format_source'] == 'aprs') { |
@@ -427,7 +468,9 @@ discard block |
||
427 | 468 | } |
428 | 469 | $output .= '},'; |
429 | 470 | //if ($spotter_item['aircraft_shadow'] != '') $output .= '"aircraft_shadow": "'.$spotter_item['aircraft_shadow'].'",'; |
430 | - if ($spotter_item['aircraft_icao'] != '') $output .= '"aircraft_icao": "'.$spotter_item['aircraft_icao'].'",'; |
|
471 | + if ($spotter_item['aircraft_icao'] != '') { |
|
472 | + $output .= '"aircraft_icao": "'.$spotter_item['aircraft_icao'].'",'; |
|
473 | + } |
|
431 | 474 | $modelsdb[$aircraft_icao] = 'Cesium_Air.glb'; |
432 | 475 | } |
433 | 476 | } else { |
@@ -440,7 +483,9 @@ discard block |
||
440 | 483 | } |
441 | 484 | $output .= '},'; |
442 | 485 | //if ($spotter_item['aircraft_shadow'] != '') $output .= '"aircraft_shadow": "'.$spotter_item['aircraft_shadow'].'",'; |
443 | - if ($spotter_item['aircraft_icao'] != '') $output .= '"aircraft_icao": "'.$spotter_item['aircraft_icao'].'",'; |
|
486 | + if ($spotter_item['aircraft_icao'] != '') { |
|
487 | + $output .= '"aircraft_icao": "'.$spotter_item['aircraft_icao'].'",'; |
|
488 | + } |
|
444 | 489 | $modelsdb[$aircraft_icao] = 'Cesium_Air.glb'; |
445 | 490 | } |
446 | 491 | } elseif ($tracker && isset($spotter_item['type'])) { |
@@ -495,8 +540,12 @@ discard block |
||
495 | 540 | // $output .= '"interpolationDegree" : 5,'; |
496 | 541 | // $output .= '"epoch" : "'.date("c",strtotime($spotter_item['date'])).'", '; |
497 | 542 | $output .= '"cartographicDegrees": ['; |
498 | - if ($minitime > strtotime($spotter_item['date'])) $minitime = strtotime($spotter_item['date']); |
|
499 | - if ($maxitime < strtotime($spotter_item['date'])) $maxitime = strtotime($spotter_item['date']); |
|
543 | + if ($minitime > strtotime($spotter_item['date'])) { |
|
544 | + $minitime = strtotime($spotter_item['date']); |
|
545 | + } |
|
546 | + if ($maxitime < strtotime($spotter_item['date'])) { |
|
547 | + $maxitime = strtotime($spotter_item['date']); |
|
548 | + } |
|
500 | 549 | $output .= '"'.date("c",strtotime($spotter_item['date'])).'", '; |
501 | 550 | $output .= $spotter_item['longitude'].', '; |
502 | 551 | $output .= $spotter_item['latitude']; |
@@ -505,19 +554,26 @@ discard block |
||
505 | 554 | if (!$tracker && !$marine) { |
506 | 555 | $output .= ', '.round($spotter_item['altitude']*30.48); |
507 | 556 | $prevalt = round($spotter_item['altitude']*30.48); |
508 | - } else $output .= ', 0'; |
|
557 | + } else { |
|
558 | + $output .= ', 0'; |
|
559 | + } |
|
509 | 560 | //$orientation = '"orientation" : { '; |
510 | 561 | //$orientation .= '"unitQuaternion": ['; |
511 | 562 | //$quat = quaternionrotate(deg2rad($spotter_item['heading']),deg2rad(0),deg2rad(0)); |
512 | 563 | //$orientation .= '"'.date("c",strtotime($spotter_item['date'])).'",'.$quat['x'].','.$quat['y'].','.$quat['z'].','.$quat['w']; |
513 | 564 | } else { |
514 | 565 | $output .= ',"'.date("c",strtotime($spotter_item['date'])).'", '; |
515 | - if ($maxitime < strtotime($spotter_item['date'])) $maxitime = strtotime($spotter_item['date']); |
|
566 | + if ($maxitime < strtotime($spotter_item['date'])) { |
|
567 | + $maxitime = strtotime($spotter_item['date']); |
|
568 | + } |
|
516 | 569 | if ($spotter_item['ground_speed'] == 0) { |
517 | 570 | $output .= $prevlong.', '; |
518 | 571 | $output .= $prevlat; |
519 | - if (!$tracker && !$marine) $output .= ', '.$prevalt; |
|
520 | - else $output .= ', 0'; |
|
572 | + if (!$tracker && !$marine) { |
|
573 | + $output .= ', '.$prevalt; |
|
574 | + } else { |
|
575 | + $output .= ', 0'; |
|
576 | + } |
|
521 | 577 | } else { |
522 | 578 | $output .= $spotter_item['longitude'].', '; |
523 | 579 | $output .= $spotter_item['latitude']; |
@@ -531,7 +587,9 @@ discard block |
||
531 | 587 | } else { |
532 | 588 | $output .= ', '.round($spotter_item['altitude']*30.48); |
533 | 589 | } |
534 | - } else $output .= ', 0'; |
|
590 | + } else { |
|
591 | + $output .= ', 0'; |
|
592 | + } |
|
535 | 593 | } |
536 | 594 | //$quat = quaternionrotate(deg2rad($spotter_item['heading']),deg2rad(0),deg2rad(0)); |
537 | 595 | //$orientation .= ',"'.date("c",strtotime($spotter_item['date'])).'",'.$quat['x'].','.$quat['y'].','.$quat['z'].','.$quat['w']; |
@@ -28,7 +28,7 @@ discard block |
||
28 | 28 | // When button "Remove all filters" is clicked |
29 | 29 | if (isset($_POST['removefilters'])) { |
30 | 30 | $allfilters = array_filter(array_keys($_COOKIE),function($key) { |
31 | - return strpos($key,'filter_') === 0; |
|
31 | + return strpos($key,'filter_') === 0; |
|
32 | 32 | }); |
33 | 33 | foreach ($allfilters as $filt) { |
34 | 34 | unset($_COOKIE[$filt]); |
@@ -168,17 +168,17 @@ discard block |
||
168 | 168 | } |
169 | 169 | ?> |
170 | 170 | <?php |
171 | - if (isset($_POST['archive'])) { |
|
171 | + if (isset($_POST['archive'])) { |
|
172 | 172 | ?> |
173 | 173 | <script src="<?php print $globalURL; ?>/js/map.common.js"></script> |
174 | 174 | <?php |
175 | - if ((!isset($_COOKIE['MapFormat']) && (!isset($globalMap3Ddefault) || !$globalMap3Ddefault)) || (isset($_COOKIE['MapFormat']) && $_COOKIE['MapFormat'] != '3d')) { |
|
175 | + if ((!isset($_COOKIE['MapFormat']) && (!isset($globalMap3Ddefault) || !$globalMap3Ddefault)) || (isset($_COOKIE['MapFormat']) && $_COOKIE['MapFormat'] != '3d')) { |
|
176 | 176 | ?> |
177 | 177 | |
178 | 178 | <script src="<?php print $globalURL; ?>/js/map.js.php?<?php print time(); ?>&archive&begindate=<?php print strtotime($_POST['start_date']); ?>&enddate=<?php print strtotime($_POST['end_date']); ?>&archivespeed=<?php print $_POST['archivespeed']; ?>"></script> |
179 | 179 | <?php |
180 | - } |
|
181 | - } else { |
|
180 | + } |
|
181 | + } else { |
|
182 | 182 | ?> |
183 | 183 | <?php |
184 | 184 | /* if (isset($globalBeta) && $globalBeta) { |
@@ -190,7 +190,7 @@ discard block |
||
190 | 190 | */ |
191 | 191 | ?> |
192 | 192 | <?php |
193 | - if ((!isset($_COOKIE['MapFormat']) && (!isset($globalMap3Ddefault) || !$globalMap3Ddefault)) || (isset($_COOKIE['MapFormat']) && $_COOKIE['MapFormat'] != '3d')) { |
|
193 | + if ((!isset($_COOKIE['MapFormat']) && (!isset($globalMap3Ddefault) || !$globalMap3Ddefault)) || (isset($_COOKIE['MapFormat']) && $_COOKIE['MapFormat'] != '3d')) { |
|
194 | 194 | ?> |
195 | 195 | <?php |
196 | 196 | // if (isset($globalBeta) && $globalBeta) { |
@@ -217,13 +217,13 @@ discard block |
||
217 | 217 | <script src="<?php print $globalURL; ?>/js/map-marine.2d.js.php?<?php print time(); ?>"></script> |
218 | 218 | <?php |
219 | 219 | } |
220 | - } |
|
220 | + } |
|
221 | 221 | ?> |
222 | 222 | <?php |
223 | 223 | // } |
224 | 224 | ?> |
225 | 225 | <?php |
226 | - } |
|
226 | + } |
|
227 | 227 | } |
228 | 228 | ?> |
229 | 229 | <?php |
@@ -380,15 +380,15 @@ discard block |
||
380 | 380 | <li><a href="<?php print $globalURL; ?>/airline"><?php echo _("Airlines"); ?></a></li> |
381 | 381 | <li><a href="<?php print $globalURL; ?>/airport"><?php echo _("Airports"); ?></a></li> |
382 | 382 | <?php |
383 | - if ((!isset($globalIVAO) || !$globalIVAO) && (!isset($globalVATSIM) || !$globalVATSIM) && (!isset($globalphpVMS) || !$globalphpVMS) && (!isset($globalVAM) || !$globalVAM)) { |
|
383 | + if ((!isset($globalIVAO) || !$globalIVAO) && (!isset($globalVATSIM) || !$globalVATSIM) && (!isset($globalphpVMS) || !$globalphpVMS) && (!isset($globalVAM) || !$globalVAM)) { |
|
384 | 384 | ?> |
385 | 385 | <li><a href="<?php print $globalURL; ?>/owner"><?php echo _("Owners"); ?></a></li> |
386 | 386 | <?php |
387 | - } else { |
|
387 | + } else { |
|
388 | 388 | ?> |
389 | 389 | <li><a href="<?php print $globalURL; ?>/pilot"><?php echo _("Pilots"); ?></a></li> |
390 | 390 | <?php |
391 | - } |
|
391 | + } |
|
392 | 392 | ?> |
393 | 393 | <li><hr /></li> |
394 | 394 | <li><a href="<?php print $globalURL; ?>/currently"><?php echo _("Current Activity"); ?></a></li> |
@@ -396,34 +396,34 @@ discard block |
||
396 | 396 | <li><a href="<?php print $globalURL; ?>/date/<?php print date("Y-m-d"); ?>"><?php echo _("Today's Activity"); ?></a></li> |
397 | 397 | <li><a href="<?php print $globalURL; ?>/newest"><?php echo _("Newest by Category"); ?></a></li> |
398 | 398 | <?php |
399 | - if ($globalACARS) { |
|
400 | - if (isset($globalDemo) && $globalDemo) { |
|
401 | - ?> |
|
399 | + if ($globalACARS) { |
|
400 | + if (isset($globalDemo) && $globalDemo) { |
|
401 | + ?> |
|
402 | 402 | <li><hr /></li> |
403 | 403 | <li><i><?php echo _('ACARS data not available publicly'); ?></i></li> |
404 | 404 | <li><a href=""><?php echo _('Latest ACARS messages'); ?></a></li> |
405 | 405 | <li><a href=""><?php echo _('Archive ACARS messages'); ?></a></li> |
406 | 406 | <?php |
407 | - } else { |
|
408 | - ?> |
|
407 | + } else { |
|
408 | + ?> |
|
409 | 409 | <li><hr /></li> |
410 | 410 | <li><a href="<?php print $globalURL; ?>/acars-latest"><?php echo _("Latest ACARS messages"); ?></a></li> |
411 | 411 | <li><a href="<?php print $globalURL; ?>/acars-archive"><?php echo _("Archive ACARS messages"); ?></a></li> |
412 | 412 | <?php |
413 | - } |
|
414 | - } |
|
415 | - ?> |
|
413 | + } |
|
414 | + } |
|
415 | + ?> |
|
416 | 416 | <?php |
417 | - if (isset($globalAccidents) && $globalAccidents) { |
|
418 | - ?> |
|
417 | + if (isset($globalAccidents) && $globalAccidents) { |
|
418 | + ?> |
|
419 | 419 | <li><hr /></li> |
420 | 420 | <li><a href="<?php print $globalURL; ?>/accident-latest"><?php echo _("Latest accident"); ?></a></li> |
421 | 421 | <li><a href="<?php print $globalURL; ?>/accident/<?php print date("Y-m-d"); ?>"><?php echo _("Today's Accident"); ?></a></li> |
422 | 422 | <li><a href="<?php print $globalURL; ?>/incident-latest"><?php echo _("Latest incident"); ?></a></li> |
423 | 423 | <li><a href="<?php print $globalURL; ?>/incident/<?php print date("Y-m-d"); ?>"><?php echo _("Today's Incident"); ?></a></li> |
424 | 424 | <?php |
425 | - } |
|
426 | - ?> |
|
425 | + } |
|
426 | + ?> |
|
427 | 427 | <li><hr /></li> |
428 | 428 | <li><a href="<?php print $globalURL; ?>/highlights/table"><?php echo _("Special Highlights"); ?></a></li> |
429 | 429 | <li><a href="<?php print $globalURL; ?>/upcoming"><?php echo _("Upcoming Flights"); ?></a></li> |
@@ -465,14 +465,14 @@ discard block |
||
465 | 465 | <form> |
466 | 466 | <select class="selectpicker" data-width="120px" onchange="language(this);"> |
467 | 467 | <?php |
468 | - $Language = new Language(); |
|
469 | - $alllang = $Language->getLanguages(); |
|
470 | - foreach ($alllang as $key => $lang) { |
|
471 | - print '<option value="'.$key.'"'; |
|
472 | - if (isset($_COOKIE['language']) && $_COOKIE['language'] == $key) print ' selected '; |
|
473 | - print '>'.$lang[0].'</option>'; |
|
474 | - } |
|
475 | - ?> |
|
468 | + $Language = new Language(); |
|
469 | + $alllang = $Language->getLanguages(); |
|
470 | + foreach ($alllang as $key => $lang) { |
|
471 | + print '<option value="'.$key.'"'; |
|
472 | + if (isset($_COOKIE['language']) && $_COOKIE['language'] == $key) print ' selected '; |
|
473 | + print '>'.$lang[0].'</option>'; |
|
474 | + } |
|
475 | + ?> |
|
476 | 476 | </select> |
477 | 477 | </form> |
478 | 478 | </div> |
@@ -503,18 +503,18 @@ discard block |
||
503 | 503 | ?> |
504 | 504 | <div class="top-header clear" role="main"> |
505 | 505 | <?php |
506 | - if (isset($longitude) && isset($latitude) && $longitude != 0 && $latitude != 0) { |
|
506 | + if (isset($longitude) && isset($latitude) && $longitude != 0 && $latitude != 0) { |
|
507 | 507 | ?> |
508 | 508 | <div id="archive-map"></div> |
509 | 509 | <?php |
510 | - } |
|
510 | + } |
|
511 | 511 | ?> |
512 | 512 | </div> |
513 | 513 | <?php |
514 | 514 | } |
515 | 515 | if ((strpos(strtolower($current_page),'airport-') !== false && strpos(strtolower($current_page),'statistics-') === false) || (strpos(strtolower($current_page),'route-') !== false && strpos(strtolower($current_page),'statistics-') === false)) |
516 | 516 | { |
517 | - ?> |
|
517 | + ?> |
|
518 | 518 | <div class="top-header clear" role="main"> |
519 | 519 | <div id="map"></div> |
520 | 520 | <link rel="stylesheet" href="<?php print $globalURL; ?>/css/leaflet.css" /> |
@@ -525,15 +525,15 @@ discard block |
||
525 | 525 | var zoom = 13; |
526 | 526 | //create the map |
527 | 527 | <?php |
528 | - if (strpos(strtolower($current_page),'airport-') !== false && strpos(strtolower($current_page),'statistics-') === false && isset($airport_array[0]['latitude'])) { |
|
528 | + if (strpos(strtolower($current_page),'airport-') !== false && strpos(strtolower($current_page),'statistics-') === false && isset($airport_array[0]['latitude'])) { |
|
529 | 529 | ?> |
530 | 530 | map = L.map('map', { zoomControl:true }).setView([<?php print $airport_array[0]['latitude']; ?>,<?php print $airport_array[0]['longitude']; ?>], zoom); |
531 | 531 | <?php |
532 | - } elseif (strpos(strtolower($current_page),'airport-') !== false && strpos(strtolower($current_page),'statistics-') === false) { |
|
532 | + } elseif (strpos(strtolower($current_page),'airport-') !== false && strpos(strtolower($current_page),'statistics-') === false) { |
|
533 | 533 | ?> |
534 | 534 | map = L.map('map', { zoomControl:true }); |
535 | 535 | <?php |
536 | - } elseif (strpos(strtolower($current_page),'route-') !== false && strpos(strtolower($current_page),'statistics-') === false && isset($spotter_array[0]['departure_airport_latitude'])) { |
|
536 | + } elseif (strpos(strtolower($current_page),'route-') !== false && strpos(strtolower($current_page),'statistics-') === false && isset($spotter_array[0]['departure_airport_latitude'])) { |
|
537 | 537 | ?> |
538 | 538 | map = L.map('map', { zoomControl:true }).setView([<?php print $spotter_array[0]['departure_airport_latitude']; ?>,<?php print $spotter_array[0]['arrival_airport_longitude']; ?>]); |
539 | 539 | var line = L.polyline([[<?php print $spotter_array[0]['departure_airport_latitude']; ?>, <?php print $spotter_array[0]['departure_airport_longitude']; ?>],[<?php print $spotter_array[0]['arrival_airport_latitude']; ?>, <?php print $spotter_array[0]['arrival_airport_longitude']; ?>]]).addTo(map); |
@@ -541,22 +541,22 @@ discard block |
||
541 | 541 | var departure_airport = L.marker([<?php print $spotter_array[0]['departure_airport_latitude']; ?>, <?php print $spotter_array[0]['departure_airport_longitude']; ?>], {icon: L.icon({iconUrl: '<?php print $globalURL; ?>/images/departure_airport.png',iconSize: [16,18],iconAnchor: [8,16]})}).addTo(map); |
542 | 542 | var arrival_airport = L.marker([<?php print $spotter_array[0]['arrival_airport_latitude']; ?>, <?php print $spotter_array[0]['arrival_airport_longitude']; ?>], {icon: L.icon({iconUrl: '<?php print $globalURL; ?>/images/arrival_airport.png',iconSize: [16,18],iconAnchor: [8,16]})}).addTo(map); |
543 | 543 | <?php |
544 | - } elseif (strpos(strtolower($current_page),'route-') !== false && strpos(strtolower($current_page),'statistics-') === false && !isset($spotter_array[0]['departure_airport_latitude'])) { |
|
544 | + } elseif (strpos(strtolower($current_page),'route-') !== false && strpos(strtolower($current_page),'statistics-') === false && !isset($spotter_array[0]['departure_airport_latitude'])) { |
|
545 | 545 | ?> |
546 | 546 | map = L.map('map', { zoomControl:true }).setView([<?php print $spotter_array[0]['latitude']; ?>,<?php print $spotter_array[0]['longitude']; ?>]); |
547 | 547 | <?php |
548 | - } elseif (!isset($spotter_array[0]['latitude']) && !isset($spotter_array[0]['longitude'])) { |
|
548 | + } elseif (!isset($spotter_array[0]['latitude']) && !isset($spotter_array[0]['longitude'])) { |
|
549 | 549 | ?> |
550 | 550 | map = L.map('map', { zoomControl:true }); |
551 | 551 | <?php |
552 | - } |
|
552 | + } |
|
553 | 553 | ?> |
554 | 554 | //initialize the layer group for the aircrft markers |
555 | 555 | var layer_data = L.layerGroup(); |
556 | 556 | |
557 | 557 | //a few title layers |
558 | 558 | <?php |
559 | - if ($globalMapProvider == 'Mapbox') { |
|
559 | + if ($globalMapProvider == 'Mapbox') { |
|
560 | 560 | ?> |
561 | 561 | L.tileLayer('https://{s}.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={token}', { |
562 | 562 | maxZoom: 18, |
@@ -567,7 +567,7 @@ discard block |
||
567 | 567 | token : '<?php print $globalMapboxToken; ?>' |
568 | 568 | }).addTo(map); |
569 | 569 | <?php |
570 | - } elseif ($globalMapProvider == 'OpenStreetMap') { |
|
570 | + } elseif ($globalMapProvider == 'OpenStreetMap') { |
|
571 | 571 | ?> |
572 | 572 | L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { |
573 | 573 | maxZoom: 18, |
@@ -575,7 +575,7 @@ discard block |
||
575 | 575 | '<a href="http://www.openstreetmap.org/copyright">Open Database Licence</a>' |
576 | 576 | }).addTo(map); |
577 | 577 | <?php |
578 | - } elseif ($globalMapProvider == 'MapQuest-OSM') { |
|
578 | + } elseif ($globalMapProvider == 'MapQuest-OSM') { |
|
579 | 579 | ?> |
580 | 580 | L.tileLayer('http://otile1.mqcdn.com/tiles/1.0.0/map/{z}/{x}/{y}.png', { |
581 | 581 | maxZoom: 18, |
@@ -584,7 +584,7 @@ discard block |
||
584 | 584 | 'Tiles Courtesy of <a href="http://www.mapquest.com">MapQuest</a>' |
585 | 585 | }).addTo(map); |
586 | 586 | <?php |
587 | - } elseif ($globalMapProvider == 'MapQuest-Aerial') { |
|
587 | + } elseif ($globalMapProvider == 'MapQuest-Aerial') { |
|
588 | 588 | ?> |
589 | 589 | L.tileLayer('http://otile1.mqcdn.com/tiles/1.0.0/sat/{z}/{x}/{y}.png', { |
590 | 590 | maxZoom: 18, |
@@ -593,27 +593,27 @@ discard block |
||
593 | 593 | 'Tiles Courtesy of <a href="http://www.mapquest.com">MapQuest</a>, Portions Courtesy NASA/JPL-Caltech and U.S. Depart. of Agriculture, Farm Service Agency"' |
594 | 594 | }).addTo(map); |
595 | 595 | <?php |
596 | - } elseif ($globalMapProvider == 'Google-Roadmap') { |
|
596 | + } elseif ($globalMapProvider == 'Google-Roadmap') { |
|
597 | 597 | ?> |
598 | 598 | var googleLayer = new L.Google('ROADMAP'); |
599 | 599 | map.addLayer(googleLayer); |
600 | 600 | <?php |
601 | - } elseif ($globalMapProvider == 'Google-Satellite') { |
|
601 | + } elseif ($globalMapProvider == 'Google-Satellite') { |
|
602 | 602 | ?> |
603 | 603 | var googleLayer = new L.Google('SATELLITE'); |
604 | 604 | map.addLayer(googleLayer); |
605 | 605 | <?php |
606 | - } elseif ($globalMapProvider == 'Google-Hybrid') { |
|
606 | + } elseif ($globalMapProvider == 'Google-Hybrid') { |
|
607 | 607 | ?> |
608 | 608 | var googleLayer = new L.Google('HYBRID'); |
609 | 609 | map.addLayer(googleLayer); |
610 | 610 | <?php |
611 | - } elseif ($globalMapProvider == 'Google-Terrain') { |
|
611 | + } elseif ($globalMapProvider == 'Google-Terrain') { |
|
612 | 612 | ?> |
613 | 613 | var googleLayer = new L.Google('Terrain'); |
614 | 614 | map.addLayer(googleLayer); |
615 | 615 | <?php |
616 | - } |
|
616 | + } |
|
617 | 617 | ?> |
618 | 618 | </script> |
619 | 619 | </div> |
@@ -8,31 +8,31 @@ discard block |
||
8 | 8 | if (isset($_COOKIE['MapType']) && $_COOKIE['MapType'] != '') $MapType = $_COOKIE['MapType']; |
9 | 9 | else $MapType = $globalMapProvider; |
10 | 10 | if (isset($_GET['3d'])) { |
11 | - setcookie('MapFormat','3d'); |
|
11 | + setcookie('MapFormat', '3d'); |
|
12 | 12 | } else if (isset($_GET['2d'])) { |
13 | - setcookie('MapFormat','2d'); |
|
13 | + setcookie('MapFormat', '2d'); |
|
14 | 14 | } |
15 | 15 | |
16 | 16 | if (isset($_POST['archive'])) { |
17 | - setcookie('archive','true'); |
|
18 | - setcookie('archive_begin',strtotime($_POST['start_date'])); |
|
19 | - setcookie('archive_end',strtotime($_POST['end_date'])); |
|
20 | - setcookie('archive_speed',$_POST['archivespeed']); |
|
17 | + setcookie('archive', 'true'); |
|
18 | + setcookie('archive_begin', strtotime($_POST['start_date'])); |
|
19 | + setcookie('archive_end', strtotime($_POST['end_date'])); |
|
20 | + setcookie('archive_speed', $_POST['archivespeed']); |
|
21 | 21 | } |
22 | 22 | if (isset($_POST['noarchive'])) { |
23 | - setcookie('archive','false',-1); |
|
24 | - setcookie('archive_begin','',-1); |
|
25 | - setcookie('archive_end','',-1); |
|
26 | - setcookie('archive_speed','',-1); |
|
23 | + setcookie('archive', 'false', -1); |
|
24 | + setcookie('archive_begin', '', -1); |
|
25 | + setcookie('archive_end', '', -1); |
|
26 | + setcookie('archive_speed', '', -1); |
|
27 | 27 | } |
28 | 28 | // When button "Remove all filters" is clicked |
29 | 29 | if (isset($_POST['removefilters'])) { |
30 | - $allfilters = array_filter(array_keys($_COOKIE),function($key) { |
|
31 | - return strpos($key,'filter_') === 0; |
|
30 | + $allfilters = array_filter(array_keys($_COOKIE), function($key) { |
|
31 | + return strpos($key, 'filter_') === 0; |
|
32 | 32 | }); |
33 | 33 | foreach ($allfilters as $filt) { |
34 | 34 | unset($_COOKIE[$filt]); |
35 | - setcookie($filt,null,-1); |
|
35 | + setcookie($filt, null, -1); |
|
36 | 36 | } |
37 | 37 | } |
38 | 38 | |
@@ -241,7 +241,7 @@ discard block |
||
241 | 241 | <script src="<?php print $globalURL; ?>/js/MovingMarker.js"></script> |
242 | 242 | <script src="<?php print $globalURL; ?>/js/jquery.idle.min.js"></script> |
243 | 243 | <script src="<?php print $globalURL; ?>/js/map.common.js"></script> |
244 | -<script src="<?php print $globalURL; ?>/js/map.js.php?ident=<?php print $ident; ?><?php if(isset($latitude)) print '&latitude='.$latitude; ?><?php if(isset($longitude)) print '&longitude='.$longitude; ?>&<?php print time(); ?>"></script> |
|
244 | +<script src="<?php print $globalURL; ?>/js/map.js.php?ident=<?php print $ident; ?><?php if (isset($latitude)) print '&latitude='.$latitude; ?><?php if (isset($longitude)) print '&longitude='.$longitude; ?>&<?php print time(); ?>"></script> |
|
245 | 245 | <?php |
246 | 246 | if (isset($globalGoogleAPIKey) && $globalGoogleAPIKey != '' && ($MapType == 'Google-Roadmap' || $MapType == 'Google-Satellite' || $MapType == 'Google-Hybrid' || $MapType == 'Google-Terrain')) { |
247 | 247 | ?> |
@@ -296,7 +296,7 @@ discard block |
||
296 | 296 | <script src="<?php print $globalURL; ?>/js/MovingMarker.js"></script> |
297 | 297 | <script src="<?php print $globalURL; ?>/js/jquery.idle.min.js"></script> |
298 | 298 | <script src="<?php print $globalURL; ?>/js/map.common.js"></script> |
299 | -<script src="<?php print $globalURL; ?>/js/map.js.php?flightaware_id=<?php print $flightaware_id; ?><?php if(isset($latitude)) print '&latitude='.$latitude; ?><?php if(isset($longitude)) print '&longitude='.$longitude; ?>&<?php print time(); ?>"></script> |
|
299 | +<script src="<?php print $globalURL; ?>/js/map.js.php?flightaware_id=<?php print $flightaware_id; ?><?php if (isset($latitude)) print '&latitude='.$latitude; ?><?php if (isset($longitude)) print '&longitude='.$longitude; ?>&<?php print time(); ?>"></script> |
|
300 | 300 | <?php |
301 | 301 | if (isset($globalGoogleAPIKey) && $globalGoogleAPIKey != '' && ($MapType == 'Google-Roadmap' || $MapType == 'Google-Satellite' || $MapType == 'Google-Hybrid' || $MapType == 'Google-Terrain')) { |
302 | 302 | ?> |
@@ -481,7 +481,7 @@ discard block |
||
481 | 481 | ?> |
482 | 482 | <div class="search"> |
483 | 483 | <form action="<?php print $globalURL; ?>/search" method="get"> |
484 | - <input type="text" name="q" value="<?php if (isset($GET['q'])) { if ($_GET['q'] != ""){ print $_GET['q']; } else { print _("Search"); } } else { print _("Search"); } ?>" onfocus="if (this.value=='search'){this.value='';}" /><button type="submit"><i class="fa fa-search"></i></button> |
|
484 | + <input type="text" name="q" value="<?php if (isset($GET['q'])) { if ($_GET['q'] != "") { print $_GET['q']; } else { print _("Search"); } } else { print _("Search"); } ?>" onfocus="if (this.value=='search'){this.value='';}" /><button type="submit"><i class="fa fa-search"></i></button> |
|
485 | 485 | </form> |
486 | 486 | </div> |
487 | 487 | <div class="social"> |
@@ -499,7 +499,7 @@ discard block |
||
499 | 499 | print '</div>'; |
500 | 500 | } |
501 | 501 | |
502 | -if (strtolower($current_page) =='ident-detailed' || strtolower($current_page) == 'flightid-overview') { |
|
502 | +if (strtolower($current_page) == 'ident-detailed' || strtolower($current_page) == 'flightid-overview') { |
|
503 | 503 | ?> |
504 | 504 | <div class="top-header clear" role="main"> |
505 | 505 | <?php |
@@ -512,7 +512,7 @@ discard block |
||
512 | 512 | </div> |
513 | 513 | <?php |
514 | 514 | } |
515 | -if ((strpos(strtolower($current_page),'airport-') !== false && strpos(strtolower($current_page),'statistics-') === false) || (strpos(strtolower($current_page),'route-') !== false && strpos(strtolower($current_page),'statistics-') === false)) |
|
515 | +if ((strpos(strtolower($current_page), 'airport-') !== false && strpos(strtolower($current_page), 'statistics-') === false) || (strpos(strtolower($current_page), 'route-') !== false && strpos(strtolower($current_page), 'statistics-') === false)) |
|
516 | 516 | { |
517 | 517 | ?> |
518 | 518 | <div class="top-header clear" role="main"> |
@@ -525,15 +525,15 @@ discard block |
||
525 | 525 | var zoom = 13; |
526 | 526 | //create the map |
527 | 527 | <?php |
528 | - if (strpos(strtolower($current_page),'airport-') !== false && strpos(strtolower($current_page),'statistics-') === false && isset($airport_array[0]['latitude'])) { |
|
528 | + if (strpos(strtolower($current_page), 'airport-') !== false && strpos(strtolower($current_page), 'statistics-') === false && isset($airport_array[0]['latitude'])) { |
|
529 | 529 | ?> |
530 | 530 | map = L.map('map', { zoomControl:true }).setView([<?php print $airport_array[0]['latitude']; ?>,<?php print $airport_array[0]['longitude']; ?>], zoom); |
531 | 531 | <?php |
532 | - } elseif (strpos(strtolower($current_page),'airport-') !== false && strpos(strtolower($current_page),'statistics-') === false) { |
|
532 | + } elseif (strpos(strtolower($current_page), 'airport-') !== false && strpos(strtolower($current_page), 'statistics-') === false) { |
|
533 | 533 | ?> |
534 | 534 | map = L.map('map', { zoomControl:true }); |
535 | 535 | <?php |
536 | - } elseif (strpos(strtolower($current_page),'route-') !== false && strpos(strtolower($current_page),'statistics-') === false && isset($spotter_array[0]['departure_airport_latitude'])) { |
|
536 | + } elseif (strpos(strtolower($current_page), 'route-') !== false && strpos(strtolower($current_page), 'statistics-') === false && isset($spotter_array[0]['departure_airport_latitude'])) { |
|
537 | 537 | ?> |
538 | 538 | map = L.map('map', { zoomControl:true }).setView([<?php print $spotter_array[0]['departure_airport_latitude']; ?>,<?php print $spotter_array[0]['arrival_airport_longitude']; ?>]); |
539 | 539 | var line = L.polyline([[<?php print $spotter_array[0]['departure_airport_latitude']; ?>, <?php print $spotter_array[0]['departure_airport_longitude']; ?>],[<?php print $spotter_array[0]['arrival_airport_latitude']; ?>, <?php print $spotter_array[0]['arrival_airport_longitude']; ?>]]).addTo(map); |
@@ -541,7 +541,7 @@ discard block |
||
541 | 541 | var departure_airport = L.marker([<?php print $spotter_array[0]['departure_airport_latitude']; ?>, <?php print $spotter_array[0]['departure_airport_longitude']; ?>], {icon: L.icon({iconUrl: '<?php print $globalURL; ?>/images/departure_airport.png',iconSize: [16,18],iconAnchor: [8,16]})}).addTo(map); |
542 | 542 | var arrival_airport = L.marker([<?php print $spotter_array[0]['arrival_airport_latitude']; ?>, <?php print $spotter_array[0]['arrival_airport_longitude']; ?>], {icon: L.icon({iconUrl: '<?php print $globalURL; ?>/images/arrival_airport.png',iconSize: [16,18],iconAnchor: [8,16]})}).addTo(map); |
543 | 543 | <?php |
544 | - } elseif (strpos(strtolower($current_page),'route-') !== false && strpos(strtolower($current_page),'statistics-') === false && !isset($spotter_array[0]['departure_airport_latitude'])) { |
|
544 | + } elseif (strpos(strtolower($current_page), 'route-') !== false && strpos(strtolower($current_page), 'statistics-') === false && !isset($spotter_array[0]['departure_airport_latitude'])) { |
|
545 | 545 | ?> |
546 | 546 | map = L.map('map', { zoomControl:true }).setView([<?php print $spotter_array[0]['latitude']; ?>,<?php print $spotter_array[0]['longitude']; ?>]); |
547 | 547 | <?php |
@@ -5,8 +5,11 @@ discard block |
||
5 | 5 | $file_path = pathinfo($_SERVER['SCRIPT_NAME']); |
6 | 6 | $current_page = $file_path['filename']; |
7 | 7 | date_default_timezone_set($globalTimezone); |
8 | -if (isset($_COOKIE['MapType']) && $_COOKIE['MapType'] != '') $MapType = $_COOKIE['MapType']; |
|
9 | -else $MapType = $globalMapProvider; |
|
8 | +if (isset($_COOKIE['MapType']) && $_COOKIE['MapType'] != '') { |
|
9 | + $MapType = $_COOKIE['MapType']; |
|
10 | +} else { |
|
11 | + $MapType = $globalMapProvider; |
|
12 | +} |
|
10 | 13 | if (isset($_GET['3d'])) { |
11 | 14 | setcookie('MapFormat','3d'); |
12 | 15 | } else if (isset($_GET['2d'])) { |
@@ -241,7 +244,13 @@ discard block |
||
241 | 244 | <script src="<?php print $globalURL; ?>/js/MovingMarker.js"></script> |
242 | 245 | <script src="<?php print $globalURL; ?>/js/jquery.idle.min.js"></script> |
243 | 246 | <script src="<?php print $globalURL; ?>/js/map.common.js"></script> |
244 | -<script src="<?php print $globalURL; ?>/js/map.js.php?ident=<?php print $ident; ?><?php if(isset($latitude)) print '&latitude='.$latitude; ?><?php if(isset($longitude)) print '&longitude='.$longitude; ?>&<?php print time(); ?>"></script> |
|
247 | +<script src="<?php print $globalURL; ?>/js/map.js.php?ident=<?php print $ident; ?><?php if(isset($latitude)) { |
|
248 | + print '&latitude='.$latitude; |
|
249 | +} |
|
250 | +?><?php if(isset($longitude)) { |
|
251 | + print '&longitude='.$longitude; |
|
252 | +} |
|
253 | +?>&<?php print time(); ?>"></script> |
|
245 | 254 | <?php |
246 | 255 | if (isset($globalGoogleAPIKey) && $globalGoogleAPIKey != '' && ($MapType == 'Google-Roadmap' || $MapType == 'Google-Satellite' || $MapType == 'Google-Hybrid' || $MapType == 'Google-Terrain')) { |
247 | 256 | ?> |
@@ -296,7 +305,13 @@ discard block |
||
296 | 305 | <script src="<?php print $globalURL; ?>/js/MovingMarker.js"></script> |
297 | 306 | <script src="<?php print $globalURL; ?>/js/jquery.idle.min.js"></script> |
298 | 307 | <script src="<?php print $globalURL; ?>/js/map.common.js"></script> |
299 | -<script src="<?php print $globalURL; ?>/js/map.js.php?flightaware_id=<?php print $flightaware_id; ?><?php if(isset($latitude)) print '&latitude='.$latitude; ?><?php if(isset($longitude)) print '&longitude='.$longitude; ?>&<?php print time(); ?>"></script> |
|
308 | +<script src="<?php print $globalURL; ?>/js/map.js.php?flightaware_id=<?php print $flightaware_id; ?><?php if(isset($latitude)) { |
|
309 | + print '&latitude='.$latitude; |
|
310 | +} |
|
311 | +?><?php if(isset($longitude)) { |
|
312 | + print '&longitude='.$longitude; |
|
313 | +} |
|
314 | +?>&<?php print time(); ?>"></script> |
|
300 | 315 | <?php |
301 | 316 | if (isset($globalGoogleAPIKey) && $globalGoogleAPIKey != '' && ($MapType == 'Google-Roadmap' || $MapType == 'Google-Satellite' || $MapType == 'Google-Hybrid' || $MapType == 'Google-Terrain')) { |
302 | 317 | ?> |
@@ -369,7 +384,12 @@ discard block |
||
369 | 384 | <span class="icon-bar"></span> |
370 | 385 | </button> |
371 | 386 | <a href="<?php print $globalURL; ?>/search" class="navbar-toggle navbar-toggle-search"><i class="fa fa-search"></i></a> |
372 | - <a class="navbar-brand" href="<?php if ($globalURL == '') print '/'; else print $globalURL; ?>"><img src="<?php print $globalURL.$logoURL; ?>" height="30px" /></a> |
|
387 | + <a class="navbar-brand" href="<?php if ($globalURL == '') { |
|
388 | + print '/'; |
|
389 | +} else { |
|
390 | + print $globalURL; |
|
391 | +} |
|
392 | +?>"><img src="<?php print $globalURL.$logoURL; ?>" height="30px" /></a> |
|
373 | 393 | </div> |
374 | 394 | <div class="collapse navbar-collapse"> |
375 | 395 | <ul class="nav navbar-nav"> |
@@ -469,7 +489,9 @@ discard block |
||
469 | 489 | $alllang = $Language->getLanguages(); |
470 | 490 | foreach ($alllang as $key => $lang) { |
471 | 491 | print '<option value="'.$key.'"'; |
472 | - if (isset($_COOKIE['language']) && $_COOKIE['language'] == $key) print ' selected '; |
|
492 | + if (isset($_COOKIE['language']) && $_COOKIE['language'] == $key) { |
|
493 | + print ' selected '; |
|
494 | + } |
|
473 | 495 | print '>'.$lang[0].'</option>'; |
474 | 496 | } |
475 | 497 | ?> |
@@ -622,4 +644,7 @@ discard block |
||
622 | 644 | |
623 | 645 | ?> |
624 | 646 | |
625 | -<section class="container main-content <?php if (strtolower($current_page) == 'index') print 'index '; ?>clear"> |
|
647 | +<section class="container main-content <?php if (strtolower($current_page) == 'index') { |
|
648 | + print 'index '; |
|
649 | +} |
|
650 | +?>clear"> |
@@ -9,11 +9,11 @@ discard block |
||
9 | 9 | |
10 | 10 | $from_archive = false; |
11 | 11 | if (isset($_GET['ident'])) { |
12 | - $ident = filter_input(INPUT_GET,'ident',FILTER_SANITIZE_STRING); |
|
12 | + $ident = filter_input(INPUT_GET, 'ident', FILTER_SANITIZE_STRING); |
|
13 | 13 | if (isset($_GET['currenttime'])) { |
14 | - $currenttime = filter_input(INPUT_GET,'currenttime',FILTER_SANITIZE_NUMBER_INT); |
|
14 | + $currenttime = filter_input(INPUT_GET, 'currenttime', FILTER_SANITIZE_NUMBER_INT); |
|
15 | 15 | $currenttime = round($currenttime/1000); |
16 | - $spotter_array = $MarineLive->getDateLiveMarineDataByIdent($ident,$currenttime); |
|
16 | + $spotter_array = $MarineLive->getDateLiveMarineDataByIdent($ident, $currenttime); |
|
17 | 17 | /* |
18 | 18 | if (empty($spotter_array)) { |
19 | 19 | $from_archive = true; |
@@ -31,11 +31,11 @@ discard block |
||
31 | 31 | } |
32 | 32 | } |
33 | 33 | if (isset($_GET['fammarine_id'])) { |
34 | - $fammarine_id = filter_input(INPUT_GET,'fammarine_id',FILTER_SANITIZE_STRING); |
|
34 | + $fammarine_id = filter_input(INPUT_GET, 'fammarine_id', FILTER_SANITIZE_STRING); |
|
35 | 35 | if (isset($_GET['currenttime'])) { |
36 | - $currenttime = filter_input(INPUT_GET,'currenttime',FILTER_SANITIZE_NUMBER_INT); |
|
36 | + $currenttime = filter_input(INPUT_GET, 'currenttime', FILTER_SANITIZE_NUMBER_INT); |
|
37 | 37 | $currenttime = round($currenttime/1000); |
38 | - $spotter_array = $MarineLive->getDateLiveMarineDataById($fammarine_id,$currenttime); |
|
38 | + $spotter_array = $MarineLive->getDateLiveMarineDataById($fammarine_id, $currenttime); |
|
39 | 39 | /* |
40 | 40 | if (empty($spotter_array)) { |
41 | 41 | $from_archive = true; |
@@ -62,7 +62,7 @@ discard block |
||
62 | 62 | if (isset($spotter_item['image_thumbnail']) && $spotter_item['image_thumbnail'] != "") |
63 | 63 | { |
64 | 64 | if ($spotter_item['image_source'] == 'flickr' || $spotter_item['image_source'] == 'wikimedia' || $spotter_item['image_source'] == 'devianart') { |
65 | - $image = preg_replace("/^http:/i","https:",$spotter_item['image_thumbnail']); |
|
65 | + $image = preg_replace("/^http:/i", "https:", $spotter_item['image_thumbnail']); |
|
66 | 66 | } else $image = $spotter_item['image_thumbnail']; |
67 | 67 | |
68 | 68 | } |
@@ -63,7 +63,9 @@ |
||
63 | 63 | { |
64 | 64 | if ($spotter_item['image_source'] == 'flickr' || $spotter_item['image_source'] == 'wikimedia' || $spotter_item['image_source'] == 'devianart') { |
65 | 65 | $image = preg_replace("/^http:/i","https:",$spotter_item['image_thumbnail']); |
66 | - } else $image = $spotter_item['image_thumbnail']; |
|
66 | + } else { |
|
67 | + $image = $spotter_item['image_thumbnail']; |
|
68 | + } |
|
67 | 69 | |
68 | 70 | } |
69 | 71 | /* else { |
@@ -9,16 +9,16 @@ discard block |
||
9 | 9 | require_once(dirname(__FILE__).'/class.Source.php'); |
10 | 10 | |
11 | 11 | class TrackerImport { |
12 | - private $all_tracked = array(); |
|
13 | - private $last_delete_hourly = 0; |
|
14 | - private $last_delete = 0; |
|
15 | - private $stats = array(); |
|
16 | - private $tmd = 0; |
|
17 | - private $source_location = array(); |
|
18 | - public $db = null; |
|
19 | - public $nb = 0; |
|
12 | + private $all_tracked = array(); |
|
13 | + private $last_delete_hourly = 0; |
|
14 | + private $last_delete = 0; |
|
15 | + private $stats = array(); |
|
16 | + private $tmd = 0; |
|
17 | + private $source_location = array(); |
|
18 | + public $db = null; |
|
19 | + public $nb = 0; |
|
20 | 20 | |
21 | - public function __construct($dbc = null) { |
|
21 | + public function __construct($dbc = null) { |
|
22 | 22 | global $globalBeta; |
23 | 23 | $Connection = new Connection($dbc); |
24 | 24 | $this->db = $Connection->db(); |
@@ -40,50 +40,50 @@ discard block |
||
40 | 40 | } |
41 | 41 | } |
42 | 42 | */ |
43 | - } |
|
43 | + } |
|
44 | 44 | |
45 | - public function checkAll() { |
|
45 | + public function checkAll() { |
|
46 | 46 | global $globalDebug; |
47 | 47 | if ($globalDebug) echo "Update last seen tracked data...\n"; |
48 | 48 | foreach ($this->all_tracked as $key => $flight) { |
49 | - if (isset($this->all_tracked[$key]['id'])) { |
|
49 | + if (isset($this->all_tracked[$key]['id'])) { |
|
50 | 50 | //echo $this->all_tracked[$key]['id'].' - '.$this->all_tracked[$key]['latitude'].' '.$this->all_tracked[$key]['longitude']."\n"; |
51 | - $Tracker = new Tracker($this->db); |
|
52 | - $Tracker->updateLatestTrackerData($this->all_tracked[$key]['id'],$this->all_tracked[$key]['ident'],$this->all_tracked[$key]['latitude'],$this->all_tracked[$key]['longitude'],$this->all_tracked[$key]['altitude'],$this->all_tracked[$key]['speed'],$this->all_tracked[$key]['datetime']); |
|
53 | - } |
|
51 | + $Tracker = new Tracker($this->db); |
|
52 | + $Tracker->updateLatestTrackerData($this->all_tracked[$key]['id'],$this->all_tracked[$key]['ident'],$this->all_tracked[$key]['latitude'],$this->all_tracked[$key]['longitude'],$this->all_tracked[$key]['altitude'],$this->all_tracked[$key]['speed'],$this->all_tracked[$key]['datetime']); |
|
53 | + } |
|
54 | + } |
|
54 | 55 | } |
55 | - } |
|
56 | 56 | |
57 | - public function del() { |
|
57 | + public function del() { |
|
58 | 58 | global $globalDebug; |
59 | 59 | // Delete old infos |
60 | 60 | if ($globalDebug) echo 'Delete old values and update latest data...'."\n"; |
61 | 61 | foreach ($this->all_tracked as $key => $flight) { |
62 | - if (isset($flight['lastupdate'])) { |
|
63 | - if ($flight['lastupdate'] < (time()-3000)) { |
|
64 | - if (isset($this->all_tracked[$key]['id'])) { |
|
65 | - if ($globalDebug) echo "--- Delete old values with id ".$this->all_tracked[$key]['id']."\n"; |
|
62 | + if (isset($flight['lastupdate'])) { |
|
63 | + if ($flight['lastupdate'] < (time()-3000)) { |
|
64 | + if (isset($this->all_tracked[$key]['id'])) { |
|
65 | + if ($globalDebug) echo "--- Delete old values with id ".$this->all_tracked[$key]['id']."\n"; |
|
66 | 66 | /* |
67 | 67 | $TrackerLive = new TrackerLive(); |
68 | 68 | $TrackerLive->deleteLiveTrackerDataById($this->all_tracked[$key]['id']); |
69 | 69 | $TrackerLive->db = null; |
70 | 70 | */ |
71 | - //$real_arrival = $this->arrival($key); |
|
72 | - $Tracker = new Tracker($this->db); |
|
73 | - if ($this->all_tracked[$key]['latitude'] != '' && $this->all_tracked[$key]['longitude'] != '') { |
|
71 | + //$real_arrival = $this->arrival($key); |
|
72 | + $Tracker = new Tracker($this->db); |
|
73 | + if ($this->all_tracked[$key]['latitude'] != '' && $this->all_tracked[$key]['longitude'] != '') { |
|
74 | 74 | $result = $Tracker->updateLatestTrackerData($this->all_tracked[$key]['id'],$this->all_tracked[$key]['ident'],$this->all_tracked[$key]['latitude'],$this->all_tracked[$key]['longitude'],$this->all_tracked[$key]['altitude'],$this->all_tracked[$key]['speed']); |
75 | 75 | if ($globalDebug && $result != 'success') echo '!!! ERROR : '.$result."\n"; |
76 | 76 | } |
77 | 77 | // Put in archive |
78 | 78 | // $Tracker->db = null; |
79 | - } |
|
80 | - unset($this->all_tracked[$key]); |
|
81 | - } |
|
82 | - } |
|
83 | - } |
|
84 | - } |
|
79 | + } |
|
80 | + unset($this->all_tracked[$key]); |
|
81 | + } |
|
82 | + } |
|
83 | + } |
|
84 | + } |
|
85 | 85 | |
86 | - public function add($line) { |
|
86 | + public function add($line) { |
|
87 | 87 | global $globalFork, $globalDistanceIgnore, $globalDaemon, $globalDebug, $globalCoordMinChange, $globalDebugTimeElapsed, $globalCenterLatitude, $globalCenterLongitude, $globalBeta, $globalSourcesupdate, $globalAllTracked; |
88 | 88 | if (!isset($globalCoordMinChange) || $globalCoordMinChange == '') $globalCoordMinChange = '0.02'; |
89 | 89 | date_default_timezone_set('UTC'); |
@@ -92,8 +92,8 @@ discard block |
||
92 | 92 | |
93 | 93 | // SBS format is CSV format |
94 | 94 | if(is_array($line) && isset($line['ident'])) { |
95 | - //print_r($line); |
|
96 | - if (isset($line['ident'])) { |
|
95 | + //print_r($line); |
|
96 | + if (isset($line['ident'])) { |
|
97 | 97 | |
98 | 98 | /* |
99 | 99 | // Increment message number |
@@ -109,29 +109,29 @@ discard block |
||
109 | 109 | */ |
110 | 110 | |
111 | 111 | $Common = new Common(); |
112 | - if (!isset($line['id'])) $id = trim($line['ident']); |
|
113 | - else $id = trim($line['id']); |
|
112 | + if (!isset($line['id'])) $id = trim($line['ident']); |
|
113 | + else $id = trim($line['id']); |
|
114 | 114 | |
115 | 115 | if (!isset($this->all_tracked[$id])) { |
116 | - $this->all_tracked[$id] = array(); |
|
117 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('addedTracker' => 0)); |
|
118 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('ident' => '','latitude' => '', 'longitude' => '', 'speed' => '', 'altitude' => '', 'heading' => '', 'format_source' => '','source_name' => '','comment'=> '','type' => '','noarchive' => false,'putinarchive' => true,'over_country' => '')); |
|
119 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('lastupdate' => time())); |
|
120 | - if (!isset($line['id'])) { |
|
116 | + $this->all_tracked[$id] = array(); |
|
117 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('addedTracker' => 0)); |
|
118 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('ident' => '','latitude' => '', 'longitude' => '', 'speed' => '', 'altitude' => '', 'heading' => '', 'format_source' => '','source_name' => '','comment'=> '','type' => '','noarchive' => false,'putinarchive' => true,'over_country' => '')); |
|
119 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('lastupdate' => time())); |
|
120 | + if (!isset($line['id'])) { |
|
121 | 121 | if (!isset($globalDaemon)) $globalDaemon = TRUE; |
122 | 122 | $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('id' => $id.'-'.date('YmdHi'))); |
123 | - } else $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('id' => $line['id'])); |
|
124 | - if ($globalAllTracked !== FALSE) $dataFound = true; |
|
123 | + } else $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('id' => $line['id'])); |
|
124 | + if ($globalAllTracked !== FALSE) $dataFound = true; |
|
125 | 125 | } |
126 | 126 | |
127 | 127 | if (isset($line['datetime']) && strtotime($line['datetime']) > time()-20*60) { |
128 | - if (!isset($this->all_tracked[$id]['datetime']) || strtotime($line['datetime']) >= strtotime($this->all_tracked[$id]['datetime'])) { |
|
128 | + if (!isset($this->all_tracked[$id]['datetime']) || strtotime($line['datetime']) >= strtotime($this->all_tracked[$id]['datetime'])) { |
|
129 | 129 | $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('datetime' => $line['datetime'])); |
130 | - } else { |
|
130 | + } else { |
|
131 | 131 | if (strtotime($line['datetime']) == strtotime($this->all_tracked[$id]['datetime']) && $globalDebug) echo "!!! Date is the same as previous data for ".$this->all_tracked[$id]['hex']." - format : ".$line['format_source']."\n"; |
132 | 132 | elseif (strtotime($line['datetime']) > strtotime($this->all_tracked[$id]['datetime']) && $globalDebug) echo "!!! Date previous latest data (".$line['datetime']." > ".$this->all_tracked[$id]['datetime'].") !!! for ".$this->all_tracked[$id]['hex']." - format : ".$line['format_source']."\n"; |
133 | 133 | return ''; |
134 | - } |
|
134 | + } |
|
135 | 135 | } else { |
136 | 136 | date_default_timezone_set('UTC'); |
137 | 137 | $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('datetime' => date('Y-m-d H:i:s'))); |
@@ -139,38 +139,38 @@ discard block |
||
139 | 139 | |
140 | 140 | //if (isset($line['ident']) && $line['ident'] != '' && $line['ident'] != '????????' && $line['ident'] != '00000000' && ($this->all_tracked[$id]['ident'] != trim($line['ident'])) && preg_match('/^[a-zA-Z0-9-]+$/', $line['ident'])) { |
141 | 141 | if (isset($line['ident']) && $line['ident'] != '' && $line['ident'] != '????????' && $line['ident'] != '00000000' && ($this->all_tracked[$id]['ident'] != trim($line['ident']))) { |
142 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('ident' => trim($line['ident']))); |
|
143 | - if ($this->all_tracked[$id]['addedTracker'] == 1) { |
|
142 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('ident' => trim($line['ident']))); |
|
143 | + if ($this->all_tracked[$id]['addedTracker'] == 1) { |
|
144 | 144 | $timeelapsed = microtime(true); |
145 | - $Tracker = new Tracker($this->db); |
|
146 | - $fromsource = NULL; |
|
147 | - $result = $Tracker->updateIdentTrackerData($this->all_tracked[$id]['id'],$this->all_tracked[$id]['ident'],$fromsource); |
|
145 | + $Tracker = new Tracker($this->db); |
|
146 | + $fromsource = NULL; |
|
147 | + $result = $Tracker->updateIdentTrackerData($this->all_tracked[$id]['id'],$this->all_tracked[$id]['ident'],$fromsource); |
|
148 | 148 | if ($globalDebug && $result != 'success') echo '!!! ERROR : '.$result."\n"; |
149 | 149 | $Tracker->db = null; |
150 | 150 | if ($globalDebugTimeElapsed) echo 'Time elapsed for update identspotterdata : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
151 | - } |
|
152 | - if (!isset($this->all_tracked[$id]['id'])) $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('id' => $this->all_tracked[$id]['ident'])); |
|
151 | + } |
|
152 | + if (!isset($this->all_tracked[$id]['id'])) $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('id' => $this->all_tracked[$id]['ident'])); |
|
153 | 153 | } |
154 | 154 | |
155 | 155 | if (isset($line['speed']) && $line['speed'] != '') { |
156 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('speed' => round($line['speed']))); |
|
157 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('speed_fromsrc' => true)); |
|
156 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('speed' => round($line['speed']))); |
|
157 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('speed_fromsrc' => true)); |
|
158 | 158 | } else if (!isset($this->all_tracked[$id]['speed_fromsrc']) && isset($this->all_tracked[$id]['time_last_coord']) && $this->all_tracked[$id]['time_last_coord'] != time() && isset($line['latitude']) && isset($line['longitude'])) { |
159 | - $distance = $Common->distance($line['latitude'],$line['longitude'],$this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude'],'m'); |
|
160 | - if ($distance > 1000 && $distance < 10000) { |
|
159 | + $distance = $Common->distance($line['latitude'],$line['longitude'],$this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude'],'m'); |
|
160 | + if ($distance > 1000 && $distance < 10000) { |
|
161 | 161 | $speed = $distance/(time() - $this->all_tracked[$id]['time_last_coord']); |
162 | 162 | $speed = $speed*3.6; |
163 | 163 | if ($speed < 1000) $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('speed' => round($speed))); |
164 | 164 | if ($globalDebug) echo "ø Calculated Speed for ".$this->all_tracked[$id]['hex']." : ".$speed." - distance : ".$distance."\n"; |
165 | - } |
|
165 | + } |
|
166 | 166 | } |
167 | 167 | |
168 | - if (isset($line['latitude']) && isset($line['longitude']) && $line['latitude'] != '' && $line['longitude'] != '' && is_numeric($line['latitude']) && is_numeric($line['longitude'])) { |
|
169 | - if (isset($this->all_tracked[$id]['time_last_coord'])) $timediff = round(time()-$this->all_tracked[$id]['time_last_coord']); |
|
170 | - else unset($timediff); |
|
171 | - if ($this->tmd > 5 || !isset($timediff) || $timediff > 2000 || ($timediff > 30 && isset($this->all_tracked[$id]['latitude']) && isset($this->all_tracked[$id]['longitude']) && $Common->withinThreshold($timediff,$Common->distance($line['latitude'],$line['longitude'],$this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude'],'m')))) { |
|
168 | + if (isset($line['latitude']) && isset($line['longitude']) && $line['latitude'] != '' && $line['longitude'] != '' && is_numeric($line['latitude']) && is_numeric($line['longitude'])) { |
|
169 | + if (isset($this->all_tracked[$id]['time_last_coord'])) $timediff = round(time()-$this->all_tracked[$id]['time_last_coord']); |
|
170 | + else unset($timediff); |
|
171 | + if ($this->tmd > 5 || !isset($timediff) || $timediff > 2000 || ($timediff > 30 && isset($this->all_tracked[$id]['latitude']) && isset($this->all_tracked[$id]['longitude']) && $Common->withinThreshold($timediff,$Common->distance($line['latitude'],$line['longitude'],$this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude'],'m')))) { |
|
172 | 172 | if (isset($this->all_tracked[$id]['archive_latitude']) && isset($this->all_tracked[$id]['archive_longitude']) && isset($this->all_tracked[$id]['livedb_latitude']) && isset($this->all_tracked[$id]['livedb_longitude'])) { |
173 | - if (!$Common->checkLine($this->all_tracked[$id]['archive_latitude'],$this->all_tracked[$id]['archive_longitude'],$this->all_tracked[$id]['livedb_latitude'],$this->all_tracked[$id]['livedb_longitude'],$line['latitude'],$line['longitude'])) { |
|
173 | + if (!$Common->checkLine($this->all_tracked[$id]['archive_latitude'],$this->all_tracked[$id]['archive_longitude'],$this->all_tracked[$id]['livedb_latitude'],$this->all_tracked[$id]['livedb_longitude'],$line['latitude'],$line['longitude'])) { |
|
174 | 174 | $this->all_tracked[$id]['archive_latitude'] = $line['latitude']; |
175 | 175 | $this->all_tracked[$id]['archive_longitude'] = $line['longitude']; |
176 | 176 | $this->all_tracked[$id]['putinarchive'] = true; |
@@ -184,120 +184,120 @@ discard block |
||
184 | 184 | if ($globalDebugTimeElapsed) echo 'Time elapsed for update getCountryFromlatitudeLongitude : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
185 | 185 | $this->tmd = 0; |
186 | 186 | if ($globalDebug) echo 'FOUND : '.$this->all_tracked[$id]['over_country'].' ---------------'."\n"; |
187 | - } |
|
187 | + } |
|
188 | 188 | } |
189 | 189 | |
190 | 190 | if (isset($line['latitude']) && $line['latitude'] != '' && $line['latitude'] != 0 && $line['latitude'] < 91 && $line['latitude'] > -90) { |
191 | 191 | if (!isset($this->all_tracked[$id]['archive_latitude'])) $this->all_tracked[$id]['archive_latitude'] = $line['latitude']; |
192 | 192 | if (!isset($this->all_tracked[$id]['livedb_latitude']) || abs($this->all_tracked[$id]['livedb_latitude']-$line['latitude']) > $globalCoordMinChange || $this->all_tracked[$id]['format_source'] == 'aprs') { |
193 | - $this->all_tracked[$id]['livedb_latitude'] = $line['latitude']; |
|
194 | - $dataFound = true; |
|
195 | - $this->all_tracked[$id]['time_last_coord'] = time(); |
|
193 | + $this->all_tracked[$id]['livedb_latitude'] = $line['latitude']; |
|
194 | + $dataFound = true; |
|
195 | + $this->all_tracked[$id]['time_last_coord'] = time(); |
|
196 | 196 | } |
197 | 197 | $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('latitude' => $line['latitude'])); |
198 | 198 | } |
199 | 199 | if (isset($line['longitude']) && $line['longitude'] != '' && $line['longitude'] != 0 && $line['longitude'] < 360 && $line['longitude'] > -180) { |
200 | - if ($line['longitude'] > 180) $line['longitude'] = $line['longitude'] - 360; |
|
200 | + if ($line['longitude'] > 180) $line['longitude'] = $line['longitude'] - 360; |
|
201 | 201 | if (!isset($this->all_tracked[$id]['archive_longitude'])) $this->all_tracked[$id]['archive_longitude'] = $line['longitude']; |
202 | 202 | if (!isset($this->all_tracked[$id]['livedb_longitude']) || abs($this->all_tracked[$id]['livedb_longitude']-$line['longitude']) > $globalCoordMinChange || $this->all_tracked[$id]['format_source'] == 'aprs') { |
203 | - $this->all_tracked[$id]['livedb_longitude'] = $line['longitude']; |
|
204 | - $dataFound = true; |
|
205 | - $this->all_tracked[$id]['time_last_coord'] = time(); |
|
203 | + $this->all_tracked[$id]['livedb_longitude'] = $line['longitude']; |
|
204 | + $dataFound = true; |
|
205 | + $this->all_tracked[$id]['time_last_coord'] = time(); |
|
206 | 206 | } |
207 | 207 | $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('longitude' => $line['longitude'])); |
208 | 208 | } |
209 | 209 | |
210 | - } else if ($globalDebug && $timediff > 20) { |
|
210 | + } else if ($globalDebug && $timediff > 20) { |
|
211 | 211 | $this->tmd = $this->tmd + 1; |
212 | 212 | echo '!!! Too much distance in short time... for '.$this->all_tracked[$id]['ident']."\n"; |
213 | 213 | echo 'Time : '.$timediff.'s - Distance : '.$Common->distance($line['latitude'],$line['longitude'],$this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude'],'m')."m -"; |
214 | 214 | echo 'Speed : '.(($Common->distance($line['latitude'],$line['longitude'],$this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude'],'m')/$timediff)*3.6)." km/h - "; |
215 | 215 | echo 'Lat : '.$line['latitude'].' - long : '.$line['longitude'].' - prev lat : '.$this->all_tracked[$id]['latitude'].' - prev long : '.$this->all_tracked[$id]['longitude']." \n"; |
216 | - } |
|
216 | + } |
|
217 | 217 | } |
218 | 218 | if (isset($line['last_update']) && $line['last_update'] != '') { |
219 | - if (isset($this->all_tracked[$id]['last_update']) && $this->all_tracked[$id]['last_update'] != $line['last_update']) $dataFound = true; |
|
220 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('last_update' => $line['last_update'])); |
|
219 | + if (isset($this->all_tracked[$id]['last_update']) && $this->all_tracked[$id]['last_update'] != $line['last_update']) $dataFound = true; |
|
220 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('last_update' => $line['last_update'])); |
|
221 | 221 | } |
222 | 222 | if (isset($line['format_source']) && $line['format_source'] != '') { |
223 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('format_source' => $line['format_source'])); |
|
223 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('format_source' => $line['format_source'])); |
|
224 | 224 | } |
225 | 225 | if (isset($line['source_name']) && $line['source_name'] != '') { |
226 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('source_name' => $line['source_name'])); |
|
226 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('source_name' => $line['source_name'])); |
|
227 | 227 | } |
228 | 228 | if (isset($line['comment']) && $line['comment'] != '') { |
229 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('comment' => $line['comment'])); |
|
230 | - //$dataFound = true; |
|
229 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('comment' => $line['comment'])); |
|
230 | + //$dataFound = true; |
|
231 | 231 | } |
232 | 232 | if (isset($line['type']) && $line['type'] != '') { |
233 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('type' => $line['type'])); |
|
234 | - //$dataFound = true; |
|
233 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('type' => $line['type'])); |
|
234 | + //$dataFound = true; |
|
235 | 235 | } |
236 | 236 | |
237 | 237 | if (isset($line['altitude']) && $line['altitude'] != '') { |
238 | - //if (!isset($this->all_tracked[$id]['altitude']) || $this->all_tracked[$id]['altitude'] == '' || ($this->all_tracked[$id]['altitude'] > 0 && $line['altitude'] != 0)) { |
|
238 | + //if (!isset($this->all_tracked[$id]['altitude']) || $this->all_tracked[$id]['altitude'] == '' || ($this->all_tracked[$id]['altitude'] > 0 && $line['altitude'] != 0)) { |
|
239 | 239 | if (is_int($this->all_tracked[$id]['altitude']) && abs(round($line['altitude']/100)-$this->all_tracked[$id]['altitude']) > 3) $this->all_tracked[$id]['putinarchive'] = true; |
240 | 240 | $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('altitude' => round($line['altitude']/100))); |
241 | 241 | $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('altitude_real' => $line['altitude'])); |
242 | 242 | //$dataFound = true; |
243 | - //} elseif ($globalDebug) echo "!!! Strange altitude data... not added.\n"; |
|
243 | + //} elseif ($globalDebug) echo "!!! Strange altitude data... not added.\n"; |
|
244 | 244 | } |
245 | 245 | |
246 | 246 | if (isset($line['noarchive']) && $line['noarchive'] === true) { |
247 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('noarchive' => true)); |
|
247 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('noarchive' => true)); |
|
248 | 248 | } |
249 | 249 | |
250 | 250 | if (isset($line['heading']) && $line['heading'] != '') { |
251 | - if (is_int($this->all_tracked[$id]['heading']) && abs($this->all_tracked[$id]['heading']-round($line['heading'])) > 10) $this->all_tracked[$id]['putinarchive'] = true; |
|
252 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('heading' => round($line['heading']))); |
|
253 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('heading_fromsrc' => true)); |
|
254 | - //$dataFound = true; |
|
251 | + if (is_int($this->all_tracked[$id]['heading']) && abs($this->all_tracked[$id]['heading']-round($line['heading'])) > 10) $this->all_tracked[$id]['putinarchive'] = true; |
|
252 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('heading' => round($line['heading']))); |
|
253 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('heading_fromsrc' => true)); |
|
254 | + //$dataFound = true; |
|
255 | 255 | } elseif (!isset($this->all_tracked[$id]['heading_fromsrc']) && isset($this->all_tracked[$id]['archive_latitude']) && $this->all_tracked[$id]['archive_latitude'] != $this->all_tracked[$id]['latitude'] && isset($this->all_tracked[$id]['archive_longitude']) && $this->all_tracked[$id]['archive_longitude'] != $this->all_tracked[$id]['longitude']) { |
256 | - $heading = $Common->getHeading($this->all_tracked[$id]['archive_latitude'],$this->all_tracked[$id]['archive_longitude'],$this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude']); |
|
257 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('heading' => round($heading))); |
|
258 | - if (abs($this->all_tracked[$id]['heading']-round($heading)) > 10) $this->all_tracked[$id]['putinarchive'] = true; |
|
259 | - if ($globalDebug) echo "ø Calculated Heading for ".$this->all_tracked[$id]['ident']." : ".$heading."\n"; |
|
256 | + $heading = $Common->getHeading($this->all_tracked[$id]['archive_latitude'],$this->all_tracked[$id]['archive_longitude'],$this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude']); |
|
257 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('heading' => round($heading))); |
|
258 | + if (abs($this->all_tracked[$id]['heading']-round($heading)) > 10) $this->all_tracked[$id]['putinarchive'] = true; |
|
259 | + if ($globalDebug) echo "ø Calculated Heading for ".$this->all_tracked[$id]['ident']." : ".$heading."\n"; |
|
260 | 260 | } |
261 | 261 | //if (isset($globalSourcesupdate) && $globalSourcesupdate != '' && isset($this->all_tracked[$id]['lastupdate']) && time()-$this->all_tracked[$id]['lastupdate'] < $globalSourcesupdate) $dataFound = false; |
262 | 262 | |
263 | 263 | if ($dataFound === true && isset($this->all_tracked[$id]['ident'])) { |
264 | - $this->all_tracked[$id]['lastupdate'] = time(); |
|
265 | - if ($this->all_tracked[$id]['addedTracker'] == 0) { |
|
266 | - if (!isset($globalDistanceIgnore['latitude']) || $this->all_tracked[$id]['longitude'] == '' || $this->all_tracked[$id]['latitude'] == '' || (isset($globalDistanceIgnore['latitude']) && $Common->distance($this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude'],$globalDistanceIgnore['latitude'],$globalDistanceIgnore['longitude']) < $globalDistanceIgnore['distance'])) { |
|
267 | - if (!isset($this->all_tracked[$id]['forcenew']) || $this->all_tracked[$id]['forcenew'] == 0) { |
|
264 | + $this->all_tracked[$id]['lastupdate'] = time(); |
|
265 | + if ($this->all_tracked[$id]['addedTracker'] == 0) { |
|
266 | + if (!isset($globalDistanceIgnore['latitude']) || $this->all_tracked[$id]['longitude'] == '' || $this->all_tracked[$id]['latitude'] == '' || (isset($globalDistanceIgnore['latitude']) && $Common->distance($this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude'],$globalDistanceIgnore['latitude'],$globalDistanceIgnore['longitude']) < $globalDistanceIgnore['distance'])) { |
|
267 | + if (!isset($this->all_tracked[$id]['forcenew']) || $this->all_tracked[$id]['forcenew'] == 0) { |
|
268 | 268 | if ($globalDebug) echo "Check if aircraft is already in DB..."; |
269 | 269 | $timeelapsed = microtime(true); |
270 | 270 | $TrackerLive = new TrackerLive($this->db); |
271 | 271 | if (isset($line['id'])) { |
272 | - $recent_ident = $TrackerLive->checkIdRecent($line['id']); |
|
273 | - if ($globalDebugTimeElapsed) echo 'Time elapsed for update checkIdRecent : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
|
272 | + $recent_ident = $TrackerLive->checkIdRecent($line['id']); |
|
273 | + if ($globalDebugTimeElapsed) echo 'Time elapsed for update checkIdRecent : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
|
274 | 274 | } elseif (isset($this->all_tracked[$id]['ident']) && $this->all_tracked[$id]['ident'] != '') { |
275 | - $recent_ident = $TrackerLive->checkIdentRecent($this->all_tracked[$id]['ident']); |
|
276 | - if ($globalDebugTimeElapsed) echo 'Time elapsed for update checkIdentRecent : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
|
275 | + $recent_ident = $TrackerLive->checkIdentRecent($this->all_tracked[$id]['ident']); |
|
276 | + if ($globalDebugTimeElapsed) echo 'Time elapsed for update checkIdentRecent : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
|
277 | 277 | } else $recent_ident = ''; |
278 | 278 | $TrackerLive->db=null; |
279 | 279 | |
280 | 280 | if ($globalDebug && $recent_ident == '') echo " Not in DB.\n"; |
281 | 281 | elseif ($globalDebug && $recent_ident != '') echo " Already in DB.\n"; |
282 | - } else { |
|
282 | + } else { |
|
283 | 283 | $recent_ident = ''; |
284 | 284 | $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('forcenew' => 0)); |
285 | - } |
|
286 | - //if there was no aircraft with the same callsign within the last hour and go post it into the archive |
|
287 | - if($recent_ident == "") |
|
288 | - { |
|
285 | + } |
|
286 | + //if there was no aircraft with the same callsign within the last hour and go post it into the archive |
|
287 | + if($recent_ident == "") |
|
288 | + { |
|
289 | 289 | if ($globalDebug) echo "\o/ Add ".$this->all_tracked[$id]['ident']." in archive DB : "; |
290 | 290 | //adds the spotter data for the archive |
291 | - $highlight = ''; |
|
292 | - if (!isset($this->all_tracked[$id]['id'])) $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('id' => $this->all_tracked[$id]['ident'].'-'.date('YmdHi'))); |
|
293 | - $timeelapsed = microtime(true); |
|
294 | - $Tracker = new Tracker($this->db); |
|
295 | - $result = $Tracker->addTrackerData($this->all_tracked[$id]['id'], $this->all_tracked[$id]['ident'], $this->all_tracked[$id]['latitude'], $this->all_tracked[$id]['longitude'], $this->all_tracked[$id]['altitude'], $this->all_tracked[$id]['heading'], $this->all_tracked[$id]['speed'], $this->all_tracked[$id]['datetime'], $this->all_tracked[$id]['comment'],$this->all_tracked[$id]['type'],$this->all_tracked[$id]['format_source'],$this->all_tracked[$id]['source_name']); |
|
296 | - $Tracker->db = null; |
|
297 | - if ($globalDebug && isset($result)) echo $result."\n"; |
|
298 | - if ($globalDebugTimeElapsed) echo 'Time elapsed for update addspotterdata : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
|
291 | + $highlight = ''; |
|
292 | + if (!isset($this->all_tracked[$id]['id'])) $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('id' => $this->all_tracked[$id]['ident'].'-'.date('YmdHi'))); |
|
293 | + $timeelapsed = microtime(true); |
|
294 | + $Tracker = new Tracker($this->db); |
|
295 | + $result = $Tracker->addTrackerData($this->all_tracked[$id]['id'], $this->all_tracked[$id]['ident'], $this->all_tracked[$id]['latitude'], $this->all_tracked[$id]['longitude'], $this->all_tracked[$id]['altitude'], $this->all_tracked[$id]['heading'], $this->all_tracked[$id]['speed'], $this->all_tracked[$id]['datetime'], $this->all_tracked[$id]['comment'],$this->all_tracked[$id]['type'],$this->all_tracked[$id]['format_source'],$this->all_tracked[$id]['source_name']); |
|
296 | + $Tracker->db = null; |
|
297 | + if ($globalDebug && isset($result)) echo $result."\n"; |
|
298 | + if ($globalDebugTimeElapsed) echo 'Time elapsed for update addspotterdata : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
|
299 | 299 | |
300 | - /* |
|
300 | + /* |
|
301 | 301 | // Add source stat in DB |
302 | 302 | $Stats = new Stats($this->db); |
303 | 303 | if (!empty($this->stats)) { |
@@ -324,20 +324,20 @@ discard block |
||
324 | 324 | } |
325 | 325 | $Stats->db = null; |
326 | 326 | */ |
327 | - $this->del(); |
|
327 | + $this->del(); |
|
328 | 328 | //$ignoreImport = false; |
329 | 329 | $this->all_tracked[$id]['addedTracker'] = 1; |
330 | 330 | //print_r($this->all_tracked[$id]); |
331 | 331 | if ($this->last_delete == 0 || time() - $this->last_delete > 1800) { |
332 | - if ($globalDebug) echo "---- Deleting Live Tracker data older than 9 hours..."; |
|
333 | - //TrackerLive->deleteLiveTrackerDataNotUpdated(); |
|
334 | - $TrackerLive = new TrackerLive($this->db); |
|
335 | - $TrackerLive->deleteLiveTrackerData(); |
|
336 | - $TrackerLive->db=null; |
|
337 | - if ($globalDebug) echo " Done\n"; |
|
338 | - $this->last_delete = time(); |
|
332 | + if ($globalDebug) echo "---- Deleting Live Tracker data older than 9 hours..."; |
|
333 | + //TrackerLive->deleteLiveTrackerDataNotUpdated(); |
|
334 | + $TrackerLive = new TrackerLive($this->db); |
|
335 | + $TrackerLive->deleteLiveTrackerData(); |
|
336 | + $TrackerLive->db=null; |
|
337 | + if ($globalDebug) echo " Done\n"; |
|
338 | + $this->last_delete = time(); |
|
339 | 339 | } |
340 | - } else { |
|
340 | + } else { |
|
341 | 341 | $this->all_tracked[$id]['id'] = $recent_ident; |
342 | 342 | $this->all_tracked[$id]['addedTracker'] = 1; |
343 | 343 | if (isset($globalDaemon) && !$globalDaemon) { |
@@ -346,16 +346,16 @@ discard block |
||
346 | 346 | $Tracker->db = null; |
347 | 347 | } |
348 | 348 | |
349 | - } |
|
349 | + } |
|
350 | + } |
|
350 | 351 | } |
351 | - } |
|
352 | - //adds the spotter LIVE data |
|
353 | - if ($globalDebug) { |
|
352 | + //adds the spotter LIVE data |
|
353 | + if ($globalDebug) { |
|
354 | 354 | echo 'DATA : ident : '.$this->all_tracked[$id]['ident'].' - type : '.$this->all_tracked[$id]['type'].' - Latitude : '.$this->all_tracked[$id]['latitude'].' - Longitude : '.$this->all_tracked[$id]['longitude'].' - Altitude : '.$this->all_tracked[$id]['altitude'].' - Heading : '.$this->all_tracked[$id]['heading'].' - Speed : '.$this->all_tracked[$id]['speed']."\n"; |
355 | - } |
|
356 | - $ignoreImport = false; |
|
355 | + } |
|
356 | + $ignoreImport = false; |
|
357 | 357 | |
358 | - if (!$ignoreImport) { |
|
358 | + if (!$ignoreImport) { |
|
359 | 359 | if (!isset($globalDistanceIgnore['latitude']) || (isset($globalDistanceIgnore['latitude']) && $Common->distance($this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude'],$globalDistanceIgnore['latitude'],$globalDistanceIgnore['longitude']) < $globalDistanceIgnore['distance'])) { |
360 | 360 | if ($globalDebug) echo "\o/ Add ".$this->all_tracked[$id]['ident']." from ".$this->all_tracked[$id]['format_source']." in Live DB : "; |
361 | 361 | $timeelapsed = microtime(true); |
@@ -427,22 +427,22 @@ discard block |
||
427 | 427 | |
428 | 428 | |
429 | 429 | if ($this->last_delete_hourly == 0 || time() - $this->last_delete_hourly > 900) { |
430 | - if ($globalDebug) echo "---- Deleting Live Tracker data Not updated since 2 hour..."; |
|
431 | - $TrackerLive = new TrackerLive($this->db); |
|
432 | - $TrackerLive->deleteLiveTrackerDataNotUpdated(); |
|
433 | - $TrackerLive->db = null; |
|
434 | - //TrackerLive->deleteLiveTrackerData(); |
|
435 | - if ($globalDebug) echo " Done\n"; |
|
436 | - $this->last_delete_hourly = time(); |
|
430 | + if ($globalDebug) echo "---- Deleting Live Tracker data Not updated since 2 hour..."; |
|
431 | + $TrackerLive = new TrackerLive($this->db); |
|
432 | + $TrackerLive->deleteLiveTrackerDataNotUpdated(); |
|
433 | + $TrackerLive->db = null; |
|
434 | + //TrackerLive->deleteLiveTrackerData(); |
|
435 | + if ($globalDebug) echo " Done\n"; |
|
436 | + $this->last_delete_hourly = time(); |
|
437 | 437 | } |
438 | 438 | |
439 | - } |
|
440 | - //$ignoreImport = false; |
|
439 | + } |
|
440 | + //$ignoreImport = false; |
|
441 | 441 | } |
442 | 442 | //if (function_exists('pcntl_fork') && $globalFork) pcntl_signal(SIGCHLD, SIG_IGN); |
443 | 443 | if ($send) return $this->all_tracked[$id]; |
444 | - } |
|
444 | + } |
|
445 | + } |
|
445 | 446 | } |
446 | - } |
|
447 | 447 | } |
448 | 448 | ?> |
@@ -49,7 +49,7 @@ discard block |
||
49 | 49 | if (isset($this->all_tracked[$key]['id'])) { |
50 | 50 | //echo $this->all_tracked[$key]['id'].' - '.$this->all_tracked[$key]['latitude'].' '.$this->all_tracked[$key]['longitude']."\n"; |
51 | 51 | $Tracker = new Tracker($this->db); |
52 | - $Tracker->updateLatestTrackerData($this->all_tracked[$key]['id'],$this->all_tracked[$key]['ident'],$this->all_tracked[$key]['latitude'],$this->all_tracked[$key]['longitude'],$this->all_tracked[$key]['altitude'],$this->all_tracked[$key]['speed'],$this->all_tracked[$key]['datetime']); |
|
52 | + $Tracker->updateLatestTrackerData($this->all_tracked[$key]['id'], $this->all_tracked[$key]['ident'], $this->all_tracked[$key]['latitude'], $this->all_tracked[$key]['longitude'], $this->all_tracked[$key]['altitude'], $this->all_tracked[$key]['speed'], $this->all_tracked[$key]['datetime']); |
|
53 | 53 | } |
54 | 54 | } |
55 | 55 | } |
@@ -60,7 +60,7 @@ discard block |
||
60 | 60 | if ($globalDebug) echo 'Delete old values and update latest data...'."\n"; |
61 | 61 | foreach ($this->all_tracked as $key => $flight) { |
62 | 62 | if (isset($flight['lastupdate'])) { |
63 | - if ($flight['lastupdate'] < (time()-3000)) { |
|
63 | + if ($flight['lastupdate'] < (time() - 3000)) { |
|
64 | 64 | if (isset($this->all_tracked[$key]['id'])) { |
65 | 65 | if ($globalDebug) echo "--- Delete old values with id ".$this->all_tracked[$key]['id']."\n"; |
66 | 66 | /* |
@@ -71,7 +71,7 @@ discard block |
||
71 | 71 | //$real_arrival = $this->arrival($key); |
72 | 72 | $Tracker = new Tracker($this->db); |
73 | 73 | if ($this->all_tracked[$key]['latitude'] != '' && $this->all_tracked[$key]['longitude'] != '') { |
74 | - $result = $Tracker->updateLatestTrackerData($this->all_tracked[$key]['id'],$this->all_tracked[$key]['ident'],$this->all_tracked[$key]['latitude'],$this->all_tracked[$key]['longitude'],$this->all_tracked[$key]['altitude'],$this->all_tracked[$key]['speed']); |
|
74 | + $result = $Tracker->updateLatestTrackerData($this->all_tracked[$key]['id'], $this->all_tracked[$key]['ident'], $this->all_tracked[$key]['latitude'], $this->all_tracked[$key]['longitude'], $this->all_tracked[$key]['altitude'], $this->all_tracked[$key]['speed']); |
|
75 | 75 | if ($globalDebug && $result != 'success') echo '!!! ERROR : '.$result."\n"; |
76 | 76 | } |
77 | 77 | // Put in archive |
@@ -91,7 +91,7 @@ discard block |
||
91 | 91 | $send = false; |
92 | 92 | |
93 | 93 | // SBS format is CSV format |
94 | - if(is_array($line) && isset($line['ident'])) { |
|
94 | + if (is_array($line) && isset($line['ident'])) { |
|
95 | 95 | //print_r($line); |
96 | 96 | if (isset($line['ident'])) { |
97 | 97 | |
@@ -114,19 +114,19 @@ discard block |
||
114 | 114 | |
115 | 115 | if (!isset($this->all_tracked[$id])) { |
116 | 116 | $this->all_tracked[$id] = array(); |
117 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('addedTracker' => 0)); |
|
118 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('ident' => '','latitude' => '', 'longitude' => '', 'speed' => '', 'altitude' => '', 'heading' => '', 'format_source' => '','source_name' => '','comment'=> '','type' => '','noarchive' => false,'putinarchive' => true,'over_country' => '')); |
|
119 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('lastupdate' => time())); |
|
117 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('addedTracker' => 0)); |
|
118 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('ident' => '', 'latitude' => '', 'longitude' => '', 'speed' => '', 'altitude' => '', 'heading' => '', 'format_source' => '', 'source_name' => '', 'comment'=> '', 'type' => '', 'noarchive' => false, 'putinarchive' => true, 'over_country' => '')); |
|
119 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('lastupdate' => time())); |
|
120 | 120 | if (!isset($line['id'])) { |
121 | 121 | if (!isset($globalDaemon)) $globalDaemon = TRUE; |
122 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('id' => $id.'-'.date('YmdHi'))); |
|
123 | - } else $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('id' => $line['id'])); |
|
122 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('id' => $id.'-'.date('YmdHi'))); |
|
123 | + } else $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('id' => $line['id'])); |
|
124 | 124 | if ($globalAllTracked !== FALSE) $dataFound = true; |
125 | 125 | } |
126 | 126 | |
127 | - if (isset($line['datetime']) && strtotime($line['datetime']) > time()-20*60) { |
|
127 | + if (isset($line['datetime']) && strtotime($line['datetime']) > time() - 20*60) { |
|
128 | 128 | if (!isset($this->all_tracked[$id]['datetime']) || strtotime($line['datetime']) >= strtotime($this->all_tracked[$id]['datetime'])) { |
129 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('datetime' => $line['datetime'])); |
|
129 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('datetime' => $line['datetime'])); |
|
130 | 130 | } else { |
131 | 131 | if (strtotime($line['datetime']) == strtotime($this->all_tracked[$id]['datetime']) && $globalDebug) echo "!!! Date is the same as previous data for ".$this->all_tracked[$id]['hex']." - format : ".$line['format_source']."\n"; |
132 | 132 | elseif (strtotime($line['datetime']) > strtotime($this->all_tracked[$id]['datetime']) && $globalDebug) echo "!!! Date previous latest data (".$line['datetime']." > ".$this->all_tracked[$id]['datetime'].") !!! for ".$this->all_tracked[$id]['hex']." - format : ".$line['format_source']."\n"; |
@@ -134,43 +134,43 @@ discard block |
||
134 | 134 | } |
135 | 135 | } else { |
136 | 136 | date_default_timezone_set('UTC'); |
137 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('datetime' => date('Y-m-d H:i:s'))); |
|
137 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('datetime' => date('Y-m-d H:i:s'))); |
|
138 | 138 | } |
139 | 139 | |
140 | 140 | //if (isset($line['ident']) && $line['ident'] != '' && $line['ident'] != '????????' && $line['ident'] != '00000000' && ($this->all_tracked[$id]['ident'] != trim($line['ident'])) && preg_match('/^[a-zA-Z0-9-]+$/', $line['ident'])) { |
141 | 141 | if (isset($line['ident']) && $line['ident'] != '' && $line['ident'] != '????????' && $line['ident'] != '00000000' && ($this->all_tracked[$id]['ident'] != trim($line['ident']))) { |
142 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('ident' => trim($line['ident']))); |
|
142 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('ident' => trim($line['ident']))); |
|
143 | 143 | if ($this->all_tracked[$id]['addedTracker'] == 1) { |
144 | 144 | $timeelapsed = microtime(true); |
145 | 145 | $Tracker = new Tracker($this->db); |
146 | 146 | $fromsource = NULL; |
147 | - $result = $Tracker->updateIdentTrackerData($this->all_tracked[$id]['id'],$this->all_tracked[$id]['ident'],$fromsource); |
|
147 | + $result = $Tracker->updateIdentTrackerData($this->all_tracked[$id]['id'], $this->all_tracked[$id]['ident'], $fromsource); |
|
148 | 148 | if ($globalDebug && $result != 'success') echo '!!! ERROR : '.$result."\n"; |
149 | 149 | $Tracker->db = null; |
150 | - if ($globalDebugTimeElapsed) echo 'Time elapsed for update identspotterdata : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
|
150 | + if ($globalDebugTimeElapsed) echo 'Time elapsed for update identspotterdata : '.round(microtime(true) - $timeelapsed, 2).'s'."\n"; |
|
151 | 151 | } |
152 | - if (!isset($this->all_tracked[$id]['id'])) $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('id' => $this->all_tracked[$id]['ident'])); |
|
152 | + if (!isset($this->all_tracked[$id]['id'])) $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('id' => $this->all_tracked[$id]['ident'])); |
|
153 | 153 | } |
154 | 154 | |
155 | 155 | if (isset($line['speed']) && $line['speed'] != '') { |
156 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('speed' => round($line['speed']))); |
|
157 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('speed_fromsrc' => true)); |
|
156 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('speed' => round($line['speed']))); |
|
157 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('speed_fromsrc' => true)); |
|
158 | 158 | } else if (!isset($this->all_tracked[$id]['speed_fromsrc']) && isset($this->all_tracked[$id]['time_last_coord']) && $this->all_tracked[$id]['time_last_coord'] != time() && isset($line['latitude']) && isset($line['longitude'])) { |
159 | - $distance = $Common->distance($line['latitude'],$line['longitude'],$this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude'],'m'); |
|
159 | + $distance = $Common->distance($line['latitude'], $line['longitude'], $this->all_tracked[$id]['latitude'], $this->all_tracked[$id]['longitude'], 'm'); |
|
160 | 160 | if ($distance > 1000 && $distance < 10000) { |
161 | 161 | $speed = $distance/(time() - $this->all_tracked[$id]['time_last_coord']); |
162 | 162 | $speed = $speed*3.6; |
163 | - if ($speed < 1000) $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('speed' => round($speed))); |
|
163 | + if ($speed < 1000) $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('speed' => round($speed))); |
|
164 | 164 | if ($globalDebug) echo "ø Calculated Speed for ".$this->all_tracked[$id]['hex']." : ".$speed." - distance : ".$distance."\n"; |
165 | 165 | } |
166 | 166 | } |
167 | 167 | |
168 | 168 | if (isset($line['latitude']) && isset($line['longitude']) && $line['latitude'] != '' && $line['longitude'] != '' && is_numeric($line['latitude']) && is_numeric($line['longitude'])) { |
169 | - if (isset($this->all_tracked[$id]['time_last_coord'])) $timediff = round(time()-$this->all_tracked[$id]['time_last_coord']); |
|
169 | + if (isset($this->all_tracked[$id]['time_last_coord'])) $timediff = round(time() - $this->all_tracked[$id]['time_last_coord']); |
|
170 | 170 | else unset($timediff); |
171 | - if ($this->tmd > 5 || !isset($timediff) || $timediff > 2000 || ($timediff > 30 && isset($this->all_tracked[$id]['latitude']) && isset($this->all_tracked[$id]['longitude']) && $Common->withinThreshold($timediff,$Common->distance($line['latitude'],$line['longitude'],$this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude'],'m')))) { |
|
171 | + if ($this->tmd > 5 || !isset($timediff) || $timediff > 2000 || ($timediff > 30 && isset($this->all_tracked[$id]['latitude']) && isset($this->all_tracked[$id]['longitude']) && $Common->withinThreshold($timediff, $Common->distance($line['latitude'], $line['longitude'], $this->all_tracked[$id]['latitude'], $this->all_tracked[$id]['longitude'], 'm')))) { |
|
172 | 172 | if (isset($this->all_tracked[$id]['archive_latitude']) && isset($this->all_tracked[$id]['archive_longitude']) && isset($this->all_tracked[$id]['livedb_latitude']) && isset($this->all_tracked[$id]['livedb_longitude'])) { |
173 | - if (!$Common->checkLine($this->all_tracked[$id]['archive_latitude'],$this->all_tracked[$id]['archive_longitude'],$this->all_tracked[$id]['livedb_latitude'],$this->all_tracked[$id]['livedb_longitude'],$line['latitude'],$line['longitude'])) { |
|
173 | + if (!$Common->checkLine($this->all_tracked[$id]['archive_latitude'], $this->all_tracked[$id]['archive_longitude'], $this->all_tracked[$id]['livedb_latitude'], $this->all_tracked[$id]['livedb_longitude'], $line['latitude'], $line['longitude'])) { |
|
174 | 174 | $this->all_tracked[$id]['archive_latitude'] = $line['latitude']; |
175 | 175 | $this->all_tracked[$id]['archive_longitude'] = $line['longitude']; |
176 | 176 | $this->all_tracked[$id]['putinarchive'] = true; |
@@ -178,10 +178,10 @@ discard block |
||
178 | 178 | if ($globalDebug) echo "\n".' ------- Check Country for '.$this->all_tracked[$id]['ident'].' with latitude : '.$line['latitude'].' and longitude : '.$line['longitude'].'.... '; |
179 | 179 | $timeelapsed = microtime(true); |
180 | 180 | $Tracker = new Tracker($this->db); |
181 | - $all_country = $Tracker->getCountryFromLatitudeLongitude($line['latitude'],$line['longitude']); |
|
181 | + $all_country = $Tracker->getCountryFromLatitudeLongitude($line['latitude'], $line['longitude']); |
|
182 | 182 | if (!empty($all_country)) $this->all_tracked[$id]['over_country'] = $all_country['iso2']; |
183 | 183 | $Tracker->db = null; |
184 | - if ($globalDebugTimeElapsed) echo 'Time elapsed for update getCountryFromlatitudeLongitude : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
|
184 | + if ($globalDebugTimeElapsed) echo 'Time elapsed for update getCountryFromlatitudeLongitude : '.round(microtime(true) - $timeelapsed, 2).'s'."\n"; |
|
185 | 185 | $this->tmd = 0; |
186 | 186 | if ($globalDebug) echo 'FOUND : '.$this->all_tracked[$id]['over_country'].' ---------------'."\n"; |
187 | 187 | } |
@@ -189,73 +189,73 @@ discard block |
||
189 | 189 | |
190 | 190 | if (isset($line['latitude']) && $line['latitude'] != '' && $line['latitude'] != 0 && $line['latitude'] < 91 && $line['latitude'] > -90) { |
191 | 191 | if (!isset($this->all_tracked[$id]['archive_latitude'])) $this->all_tracked[$id]['archive_latitude'] = $line['latitude']; |
192 | - if (!isset($this->all_tracked[$id]['livedb_latitude']) || abs($this->all_tracked[$id]['livedb_latitude']-$line['latitude']) > $globalCoordMinChange || $this->all_tracked[$id]['format_source'] == 'aprs') { |
|
192 | + if (!isset($this->all_tracked[$id]['livedb_latitude']) || abs($this->all_tracked[$id]['livedb_latitude'] - $line['latitude']) > $globalCoordMinChange || $this->all_tracked[$id]['format_source'] == 'aprs') { |
|
193 | 193 | $this->all_tracked[$id]['livedb_latitude'] = $line['latitude']; |
194 | 194 | $dataFound = true; |
195 | 195 | $this->all_tracked[$id]['time_last_coord'] = time(); |
196 | 196 | } |
197 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('latitude' => $line['latitude'])); |
|
197 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('latitude' => $line['latitude'])); |
|
198 | 198 | } |
199 | 199 | if (isset($line['longitude']) && $line['longitude'] != '' && $line['longitude'] != 0 && $line['longitude'] < 360 && $line['longitude'] > -180) { |
200 | 200 | if ($line['longitude'] > 180) $line['longitude'] = $line['longitude'] - 360; |
201 | 201 | if (!isset($this->all_tracked[$id]['archive_longitude'])) $this->all_tracked[$id]['archive_longitude'] = $line['longitude']; |
202 | - if (!isset($this->all_tracked[$id]['livedb_longitude']) || abs($this->all_tracked[$id]['livedb_longitude']-$line['longitude']) > $globalCoordMinChange || $this->all_tracked[$id]['format_source'] == 'aprs') { |
|
202 | + if (!isset($this->all_tracked[$id]['livedb_longitude']) || abs($this->all_tracked[$id]['livedb_longitude'] - $line['longitude']) > $globalCoordMinChange || $this->all_tracked[$id]['format_source'] == 'aprs') { |
|
203 | 203 | $this->all_tracked[$id]['livedb_longitude'] = $line['longitude']; |
204 | 204 | $dataFound = true; |
205 | 205 | $this->all_tracked[$id]['time_last_coord'] = time(); |
206 | 206 | } |
207 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('longitude' => $line['longitude'])); |
|
207 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('longitude' => $line['longitude'])); |
|
208 | 208 | } |
209 | 209 | |
210 | 210 | } else if ($globalDebug && $timediff > 20) { |
211 | 211 | $this->tmd = $this->tmd + 1; |
212 | 212 | echo '!!! Too much distance in short time... for '.$this->all_tracked[$id]['ident']."\n"; |
213 | - echo 'Time : '.$timediff.'s - Distance : '.$Common->distance($line['latitude'],$line['longitude'],$this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude'],'m')."m -"; |
|
214 | - echo 'Speed : '.(($Common->distance($line['latitude'],$line['longitude'],$this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude'],'m')/$timediff)*3.6)." km/h - "; |
|
213 | + echo 'Time : '.$timediff.'s - Distance : '.$Common->distance($line['latitude'], $line['longitude'], $this->all_tracked[$id]['latitude'], $this->all_tracked[$id]['longitude'], 'm')."m -"; |
|
214 | + echo 'Speed : '.(($Common->distance($line['latitude'], $line['longitude'], $this->all_tracked[$id]['latitude'], $this->all_tracked[$id]['longitude'], 'm')/$timediff)*3.6)." km/h - "; |
|
215 | 215 | echo 'Lat : '.$line['latitude'].' - long : '.$line['longitude'].' - prev lat : '.$this->all_tracked[$id]['latitude'].' - prev long : '.$this->all_tracked[$id]['longitude']." \n"; |
216 | 216 | } |
217 | 217 | } |
218 | 218 | if (isset($line['last_update']) && $line['last_update'] != '') { |
219 | 219 | if (isset($this->all_tracked[$id]['last_update']) && $this->all_tracked[$id]['last_update'] != $line['last_update']) $dataFound = true; |
220 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('last_update' => $line['last_update'])); |
|
220 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('last_update' => $line['last_update'])); |
|
221 | 221 | } |
222 | 222 | if (isset($line['format_source']) && $line['format_source'] != '') { |
223 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('format_source' => $line['format_source'])); |
|
223 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('format_source' => $line['format_source'])); |
|
224 | 224 | } |
225 | 225 | if (isset($line['source_name']) && $line['source_name'] != '') { |
226 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('source_name' => $line['source_name'])); |
|
226 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('source_name' => $line['source_name'])); |
|
227 | 227 | } |
228 | 228 | if (isset($line['comment']) && $line['comment'] != '') { |
229 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('comment' => $line['comment'])); |
|
229 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('comment' => $line['comment'])); |
|
230 | 230 | //$dataFound = true; |
231 | 231 | } |
232 | 232 | if (isset($line['type']) && $line['type'] != '') { |
233 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('type' => $line['type'])); |
|
233 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('type' => $line['type'])); |
|
234 | 234 | //$dataFound = true; |
235 | 235 | } |
236 | 236 | |
237 | 237 | if (isset($line['altitude']) && $line['altitude'] != '') { |
238 | 238 | //if (!isset($this->all_tracked[$id]['altitude']) || $this->all_tracked[$id]['altitude'] == '' || ($this->all_tracked[$id]['altitude'] > 0 && $line['altitude'] != 0)) { |
239 | - if (is_int($this->all_tracked[$id]['altitude']) && abs(round($line['altitude']/100)-$this->all_tracked[$id]['altitude']) > 3) $this->all_tracked[$id]['putinarchive'] = true; |
|
240 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('altitude' => round($line['altitude']/100))); |
|
241 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('altitude_real' => $line['altitude'])); |
|
239 | + if (is_int($this->all_tracked[$id]['altitude']) && abs(round($line['altitude']/100) - $this->all_tracked[$id]['altitude']) > 3) $this->all_tracked[$id]['putinarchive'] = true; |
|
240 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('altitude' => round($line['altitude']/100))); |
|
241 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('altitude_real' => $line['altitude'])); |
|
242 | 242 | //$dataFound = true; |
243 | 243 | //} elseif ($globalDebug) echo "!!! Strange altitude data... not added.\n"; |
244 | 244 | } |
245 | 245 | |
246 | 246 | if (isset($line['noarchive']) && $line['noarchive'] === true) { |
247 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('noarchive' => true)); |
|
247 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('noarchive' => true)); |
|
248 | 248 | } |
249 | 249 | |
250 | 250 | if (isset($line['heading']) && $line['heading'] != '') { |
251 | - if (is_int($this->all_tracked[$id]['heading']) && abs($this->all_tracked[$id]['heading']-round($line['heading'])) > 10) $this->all_tracked[$id]['putinarchive'] = true; |
|
252 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('heading' => round($line['heading']))); |
|
253 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('heading_fromsrc' => true)); |
|
251 | + if (is_int($this->all_tracked[$id]['heading']) && abs($this->all_tracked[$id]['heading'] - round($line['heading'])) > 10) $this->all_tracked[$id]['putinarchive'] = true; |
|
252 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('heading' => round($line['heading']))); |
|
253 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('heading_fromsrc' => true)); |
|
254 | 254 | //$dataFound = true; |
255 | 255 | } elseif (!isset($this->all_tracked[$id]['heading_fromsrc']) && isset($this->all_tracked[$id]['archive_latitude']) && $this->all_tracked[$id]['archive_latitude'] != $this->all_tracked[$id]['latitude'] && isset($this->all_tracked[$id]['archive_longitude']) && $this->all_tracked[$id]['archive_longitude'] != $this->all_tracked[$id]['longitude']) { |
256 | - $heading = $Common->getHeading($this->all_tracked[$id]['archive_latitude'],$this->all_tracked[$id]['archive_longitude'],$this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude']); |
|
257 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('heading' => round($heading))); |
|
258 | - if (abs($this->all_tracked[$id]['heading']-round($heading)) > 10) $this->all_tracked[$id]['putinarchive'] = true; |
|
256 | + $heading = $Common->getHeading($this->all_tracked[$id]['archive_latitude'], $this->all_tracked[$id]['archive_longitude'], $this->all_tracked[$id]['latitude'], $this->all_tracked[$id]['longitude']); |
|
257 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('heading' => round($heading))); |
|
258 | + if (abs($this->all_tracked[$id]['heading'] - round($heading)) > 10) $this->all_tracked[$id]['putinarchive'] = true; |
|
259 | 259 | if ($globalDebug) echo "ø Calculated Heading for ".$this->all_tracked[$id]['ident']." : ".$heading."\n"; |
260 | 260 | } |
261 | 261 | //if (isset($globalSourcesupdate) && $globalSourcesupdate != '' && isset($this->all_tracked[$id]['lastupdate']) && time()-$this->all_tracked[$id]['lastupdate'] < $globalSourcesupdate) $dataFound = false; |
@@ -263,39 +263,39 @@ discard block |
||
263 | 263 | if ($dataFound === true && isset($this->all_tracked[$id]['ident'])) { |
264 | 264 | $this->all_tracked[$id]['lastupdate'] = time(); |
265 | 265 | if ($this->all_tracked[$id]['addedTracker'] == 0) { |
266 | - if (!isset($globalDistanceIgnore['latitude']) || $this->all_tracked[$id]['longitude'] == '' || $this->all_tracked[$id]['latitude'] == '' || (isset($globalDistanceIgnore['latitude']) && $Common->distance($this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude'],$globalDistanceIgnore['latitude'],$globalDistanceIgnore['longitude']) < $globalDistanceIgnore['distance'])) { |
|
266 | + if (!isset($globalDistanceIgnore['latitude']) || $this->all_tracked[$id]['longitude'] == '' || $this->all_tracked[$id]['latitude'] == '' || (isset($globalDistanceIgnore['latitude']) && $Common->distance($this->all_tracked[$id]['latitude'], $this->all_tracked[$id]['longitude'], $globalDistanceIgnore['latitude'], $globalDistanceIgnore['longitude']) < $globalDistanceIgnore['distance'])) { |
|
267 | 267 | if (!isset($this->all_tracked[$id]['forcenew']) || $this->all_tracked[$id]['forcenew'] == 0) { |
268 | 268 | if ($globalDebug) echo "Check if aircraft is already in DB..."; |
269 | 269 | $timeelapsed = microtime(true); |
270 | 270 | $TrackerLive = new TrackerLive($this->db); |
271 | 271 | if (isset($line['id'])) { |
272 | 272 | $recent_ident = $TrackerLive->checkIdRecent($line['id']); |
273 | - if ($globalDebugTimeElapsed) echo 'Time elapsed for update checkIdRecent : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
|
273 | + if ($globalDebugTimeElapsed) echo 'Time elapsed for update checkIdRecent : '.round(microtime(true) - $timeelapsed, 2).'s'."\n"; |
|
274 | 274 | } elseif (isset($this->all_tracked[$id]['ident']) && $this->all_tracked[$id]['ident'] != '') { |
275 | 275 | $recent_ident = $TrackerLive->checkIdentRecent($this->all_tracked[$id]['ident']); |
276 | - if ($globalDebugTimeElapsed) echo 'Time elapsed for update checkIdentRecent : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
|
276 | + if ($globalDebugTimeElapsed) echo 'Time elapsed for update checkIdentRecent : '.round(microtime(true) - $timeelapsed, 2).'s'."\n"; |
|
277 | 277 | } else $recent_ident = ''; |
278 | - $TrackerLive->db=null; |
|
278 | + $TrackerLive->db = null; |
|
279 | 279 | |
280 | 280 | if ($globalDebug && $recent_ident == '') echo " Not in DB.\n"; |
281 | 281 | elseif ($globalDebug && $recent_ident != '') echo " Already in DB.\n"; |
282 | 282 | } else { |
283 | 283 | $recent_ident = ''; |
284 | - $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('forcenew' => 0)); |
|
284 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('forcenew' => 0)); |
|
285 | 285 | } |
286 | 286 | //if there was no aircraft with the same callsign within the last hour and go post it into the archive |
287 | - if($recent_ident == "") |
|
287 | + if ($recent_ident == "") |
|
288 | 288 | { |
289 | 289 | if ($globalDebug) echo "\o/ Add ".$this->all_tracked[$id]['ident']." in archive DB : "; |
290 | 290 | //adds the spotter data for the archive |
291 | 291 | $highlight = ''; |
292 | - if (!isset($this->all_tracked[$id]['id'])) $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('id' => $this->all_tracked[$id]['ident'].'-'.date('YmdHi'))); |
|
292 | + if (!isset($this->all_tracked[$id]['id'])) $this->all_tracked[$id] = array_merge($this->all_tracked[$id], array('id' => $this->all_tracked[$id]['ident'].'-'.date('YmdHi'))); |
|
293 | 293 | $timeelapsed = microtime(true); |
294 | 294 | $Tracker = new Tracker($this->db); |
295 | - $result = $Tracker->addTrackerData($this->all_tracked[$id]['id'], $this->all_tracked[$id]['ident'], $this->all_tracked[$id]['latitude'], $this->all_tracked[$id]['longitude'], $this->all_tracked[$id]['altitude'], $this->all_tracked[$id]['heading'], $this->all_tracked[$id]['speed'], $this->all_tracked[$id]['datetime'], $this->all_tracked[$id]['comment'],$this->all_tracked[$id]['type'],$this->all_tracked[$id]['format_source'],$this->all_tracked[$id]['source_name']); |
|
295 | + $result = $Tracker->addTrackerData($this->all_tracked[$id]['id'], $this->all_tracked[$id]['ident'], $this->all_tracked[$id]['latitude'], $this->all_tracked[$id]['longitude'], $this->all_tracked[$id]['altitude'], $this->all_tracked[$id]['heading'], $this->all_tracked[$id]['speed'], $this->all_tracked[$id]['datetime'], $this->all_tracked[$id]['comment'], $this->all_tracked[$id]['type'], $this->all_tracked[$id]['format_source'], $this->all_tracked[$id]['source_name']); |
|
296 | 296 | $Tracker->db = null; |
297 | 297 | if ($globalDebug && isset($result)) echo $result."\n"; |
298 | - if ($globalDebugTimeElapsed) echo 'Time elapsed for update addspotterdata : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
|
298 | + if ($globalDebugTimeElapsed) echo 'Time elapsed for update addspotterdata : '.round(microtime(true) - $timeelapsed, 2).'s'."\n"; |
|
299 | 299 | |
300 | 300 | /* |
301 | 301 | // Add source stat in DB |
@@ -333,7 +333,7 @@ discard block |
||
333 | 333 | //TrackerLive->deleteLiveTrackerDataNotUpdated(); |
334 | 334 | $TrackerLive = new TrackerLive($this->db); |
335 | 335 | $TrackerLive->deleteLiveTrackerData(); |
336 | - $TrackerLive->db=null; |
|
336 | + $TrackerLive->db = null; |
|
337 | 337 | if ($globalDebug) echo " Done\n"; |
338 | 338 | $this->last_delete = time(); |
339 | 339 | } |
@@ -342,7 +342,7 @@ discard block |
||
342 | 342 | $this->all_tracked[$id]['addedTracker'] = 1; |
343 | 343 | if (isset($globalDaemon) && !$globalDaemon) { |
344 | 344 | $Tracker = new Tracker($this->db); |
345 | - $Tracker->updateLatestTrackerData($this->all_tracked[$id]['id'],$this->all_tracked[$id]['ident'],$this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude'],$this->all_tracked[$id]['altitude'],$this->all_tracked[$id]['speed'],$this->all_tracked[$id]['datetime']); |
|
345 | + $Tracker->updateLatestTrackerData($this->all_tracked[$id]['id'], $this->all_tracked[$id]['ident'], $this->all_tracked[$id]['latitude'], $this->all_tracked[$id]['longitude'], $this->all_tracked[$id]['altitude'], $this->all_tracked[$id]['speed'], $this->all_tracked[$id]['datetime']); |
|
346 | 346 | $Tracker->db = null; |
347 | 347 | } |
348 | 348 | |
@@ -356,14 +356,14 @@ discard block |
||
356 | 356 | $ignoreImport = false; |
357 | 357 | |
358 | 358 | if (!$ignoreImport) { |
359 | - if (!isset($globalDistanceIgnore['latitude']) || (isset($globalDistanceIgnore['latitude']) && $Common->distance($this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude'],$globalDistanceIgnore['latitude'],$globalDistanceIgnore['longitude']) < $globalDistanceIgnore['distance'])) { |
|
359 | + if (!isset($globalDistanceIgnore['latitude']) || (isset($globalDistanceIgnore['latitude']) && $Common->distance($this->all_tracked[$id]['latitude'], $this->all_tracked[$id]['longitude'], $globalDistanceIgnore['latitude'], $globalDistanceIgnore['longitude']) < $globalDistanceIgnore['distance'])) { |
|
360 | 360 | if ($globalDebug) echo "\o/ Add ".$this->all_tracked[$id]['ident']." from ".$this->all_tracked[$id]['format_source']." in Live DB : "; |
361 | 361 | $timeelapsed = microtime(true); |
362 | 362 | $TrackerLive = new TrackerLive($this->db); |
363 | - $result = $TrackerLive->addLiveTrackerData($this->all_tracked[$id]['id'], $this->all_tracked[$id]['ident'], $this->all_tracked[$id]['latitude'], $this->all_tracked[$id]['longitude'], $this->all_tracked[$id]['altitude'], $this->all_tracked[$id]['heading'], $this->all_tracked[$id]['speed'],$this->all_tracked[$id]['datetime'], $this->all_tracked[$id]['putinarchive'],$this->all_tracked[$id]['comment'],$this->all_tracked[$id]['type'],$this->all_tracked[$id]['noarchive'],$this->all_tracked[$id]['format_source'],$this->all_tracked[$id]['source_name'],$this->all_tracked[$id]['over_country']); |
|
363 | + $result = $TrackerLive->addLiveTrackerData($this->all_tracked[$id]['id'], $this->all_tracked[$id]['ident'], $this->all_tracked[$id]['latitude'], $this->all_tracked[$id]['longitude'], $this->all_tracked[$id]['altitude'], $this->all_tracked[$id]['heading'], $this->all_tracked[$id]['speed'], $this->all_tracked[$id]['datetime'], $this->all_tracked[$id]['putinarchive'], $this->all_tracked[$id]['comment'], $this->all_tracked[$id]['type'], $this->all_tracked[$id]['noarchive'], $this->all_tracked[$id]['format_source'], $this->all_tracked[$id]['source_name'], $this->all_tracked[$id]['over_country']); |
|
364 | 364 | $TrackerLive->db = null; |
365 | 365 | $this->all_tracked[$id]['putinarchive'] = false; |
366 | - if ($globalDebugTimeElapsed) echo 'Time elapsed for update addlivespotterdata : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
|
366 | + if ($globalDebugTimeElapsed) echo 'Time elapsed for update addlivespotterdata : '.round(microtime(true) - $timeelapsed, 2).'s'."\n"; |
|
367 | 367 | |
368 | 368 | // Put statistics in $this->stats variable |
369 | 369 | /* |
@@ -422,7 +422,7 @@ discard block |
||
422 | 422 | $this->all_tracked[$id]['lastupdate'] = time(); |
423 | 423 | if ($this->all_tracked[$id]['putinarchive']) $send = true; |
424 | 424 | if ($globalDebug) echo $result."\n"; |
425 | - } elseif (isset($this->all_tracked[$id]['latitude']) && isset($globalDistanceIgnore['latitude']) && $globalDebug) echo "!! Too far -> Distance : ".$Common->distance($this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude'],$globalDistanceIgnore['latitude'],$globalDistanceIgnore['longitude'])."\n"; |
|
425 | + } elseif (isset($this->all_tracked[$id]['latitude']) && isset($globalDistanceIgnore['latitude']) && $globalDebug) echo "!! Too far -> Distance : ".$Common->distance($this->all_tracked[$id]['latitude'], $this->all_tracked[$id]['longitude'], $globalDistanceIgnore['latitude'], $globalDistanceIgnore['longitude'])."\n"; |
|
426 | 426 | //$this->del(); |
427 | 427 | |
428 | 428 |
@@ -44,7 +44,9 @@ discard block |
||
44 | 44 | |
45 | 45 | public function checkAll() { |
46 | 46 | global $globalDebug; |
47 | - if ($globalDebug) echo "Update last seen tracked data...\n"; |
|
47 | + if ($globalDebug) { |
|
48 | + echo "Update last seen tracked data...\n"; |
|
49 | + } |
|
48 | 50 | foreach ($this->all_tracked as $key => $flight) { |
49 | 51 | if (isset($this->all_tracked[$key]['id'])) { |
50 | 52 | //echo $this->all_tracked[$key]['id'].' - '.$this->all_tracked[$key]['latitude'].' '.$this->all_tracked[$key]['longitude']."\n"; |
@@ -57,12 +59,16 @@ discard block |
||
57 | 59 | public function del() { |
58 | 60 | global $globalDebug; |
59 | 61 | // Delete old infos |
60 | - if ($globalDebug) echo 'Delete old values and update latest data...'."\n"; |
|
62 | + if ($globalDebug) { |
|
63 | + echo 'Delete old values and update latest data...'."\n"; |
|
64 | + } |
|
61 | 65 | foreach ($this->all_tracked as $key => $flight) { |
62 | 66 | if (isset($flight['lastupdate'])) { |
63 | 67 | if ($flight['lastupdate'] < (time()-3000)) { |
64 | 68 | if (isset($this->all_tracked[$key]['id'])) { |
65 | - if ($globalDebug) echo "--- Delete old values with id ".$this->all_tracked[$key]['id']."\n"; |
|
69 | + if ($globalDebug) { |
|
70 | + echo "--- Delete old values with id ".$this->all_tracked[$key]['id']."\n"; |
|
71 | + } |
|
66 | 72 | /* |
67 | 73 | $TrackerLive = new TrackerLive(); |
68 | 74 | $TrackerLive->deleteLiveTrackerDataById($this->all_tracked[$key]['id']); |
@@ -72,7 +78,9 @@ discard block |
||
72 | 78 | $Tracker = new Tracker($this->db); |
73 | 79 | if ($this->all_tracked[$key]['latitude'] != '' && $this->all_tracked[$key]['longitude'] != '') { |
74 | 80 | $result = $Tracker->updateLatestTrackerData($this->all_tracked[$key]['id'],$this->all_tracked[$key]['ident'],$this->all_tracked[$key]['latitude'],$this->all_tracked[$key]['longitude'],$this->all_tracked[$key]['altitude'],$this->all_tracked[$key]['speed']); |
75 | - if ($globalDebug && $result != 'success') echo '!!! ERROR : '.$result."\n"; |
|
81 | + if ($globalDebug && $result != 'success') { |
|
82 | + echo '!!! ERROR : '.$result."\n"; |
|
83 | + } |
|
76 | 84 | } |
77 | 85 | // Put in archive |
78 | 86 | // $Tracker->db = null; |
@@ -85,7 +93,9 @@ discard block |
||
85 | 93 | |
86 | 94 | public function add($line) { |
87 | 95 | global $globalFork, $globalDistanceIgnore, $globalDaemon, $globalDebug, $globalCoordMinChange, $globalDebugTimeElapsed, $globalCenterLatitude, $globalCenterLongitude, $globalBeta, $globalSourcesupdate, $globalAllTracked; |
88 | - if (!isset($globalCoordMinChange) || $globalCoordMinChange == '') $globalCoordMinChange = '0.02'; |
|
96 | + if (!isset($globalCoordMinChange) || $globalCoordMinChange == '') { |
|
97 | + $globalCoordMinChange = '0.02'; |
|
98 | + } |
|
89 | 99 | date_default_timezone_set('UTC'); |
90 | 100 | $dataFound = false; |
91 | 101 | $send = false; |
@@ -109,8 +119,11 @@ discard block |
||
109 | 119 | */ |
110 | 120 | |
111 | 121 | $Common = new Common(); |
112 | - if (!isset($line['id'])) $id = trim($line['ident']); |
|
113 | - else $id = trim($line['id']); |
|
122 | + if (!isset($line['id'])) { |
|
123 | + $id = trim($line['ident']); |
|
124 | + } else { |
|
125 | + $id = trim($line['id']); |
|
126 | + } |
|
114 | 127 | |
115 | 128 | if (!isset($this->all_tracked[$id])) { |
116 | 129 | $this->all_tracked[$id] = array(); |
@@ -118,18 +131,27 @@ discard block |
||
118 | 131 | $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('ident' => '','latitude' => '', 'longitude' => '', 'speed' => '', 'altitude' => '', 'heading' => '', 'format_source' => '','source_name' => '','comment'=> '','type' => '','noarchive' => false,'putinarchive' => true,'over_country' => '')); |
119 | 132 | $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('lastupdate' => time())); |
120 | 133 | if (!isset($line['id'])) { |
121 | - if (!isset($globalDaemon)) $globalDaemon = TRUE; |
|
134 | + if (!isset($globalDaemon)) { |
|
135 | + $globalDaemon = TRUE; |
|
136 | + } |
|
122 | 137 | $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('id' => $id.'-'.date('YmdHi'))); |
123 | - } else $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('id' => $line['id'])); |
|
124 | - if ($globalAllTracked !== FALSE) $dataFound = true; |
|
138 | + } else { |
|
139 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('id' => $line['id'])); |
|
140 | + } |
|
141 | + if ($globalAllTracked !== FALSE) { |
|
142 | + $dataFound = true; |
|
143 | + } |
|
125 | 144 | } |
126 | 145 | |
127 | 146 | if (isset($line['datetime']) && strtotime($line['datetime']) > time()-20*60) { |
128 | 147 | if (!isset($this->all_tracked[$id]['datetime']) || strtotime($line['datetime']) >= strtotime($this->all_tracked[$id]['datetime'])) { |
129 | 148 | $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('datetime' => $line['datetime'])); |
130 | 149 | } else { |
131 | - if (strtotime($line['datetime']) == strtotime($this->all_tracked[$id]['datetime']) && $globalDebug) echo "!!! Date is the same as previous data for ".$this->all_tracked[$id]['hex']." - format : ".$line['format_source']."\n"; |
|
132 | - elseif (strtotime($line['datetime']) > strtotime($this->all_tracked[$id]['datetime']) && $globalDebug) echo "!!! Date previous latest data (".$line['datetime']." > ".$this->all_tracked[$id]['datetime'].") !!! for ".$this->all_tracked[$id]['hex']." - format : ".$line['format_source']."\n"; |
|
150 | + if (strtotime($line['datetime']) == strtotime($this->all_tracked[$id]['datetime']) && $globalDebug) { |
|
151 | + echo "!!! Date is the same as previous data for ".$this->all_tracked[$id]['hex']." - format : ".$line['format_source']."\n"; |
|
152 | + } elseif (strtotime($line['datetime']) > strtotime($this->all_tracked[$id]['datetime']) && $globalDebug) { |
|
153 | + echo "!!! Date previous latest data (".$line['datetime']." > ".$this->all_tracked[$id]['datetime'].") !!! for ".$this->all_tracked[$id]['hex']." - format : ".$line['format_source']."\n"; |
|
154 | + } |
|
133 | 155 | return ''; |
134 | 156 | } |
135 | 157 | } else { |
@@ -145,11 +167,17 @@ discard block |
||
145 | 167 | $Tracker = new Tracker($this->db); |
146 | 168 | $fromsource = NULL; |
147 | 169 | $result = $Tracker->updateIdentTrackerData($this->all_tracked[$id]['id'],$this->all_tracked[$id]['ident'],$fromsource); |
148 | - if ($globalDebug && $result != 'success') echo '!!! ERROR : '.$result."\n"; |
|
170 | + if ($globalDebug && $result != 'success') { |
|
171 | + echo '!!! ERROR : '.$result."\n"; |
|
172 | + } |
|
149 | 173 | $Tracker->db = null; |
150 | - if ($globalDebugTimeElapsed) echo 'Time elapsed for update identspotterdata : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
|
174 | + if ($globalDebugTimeElapsed) { |
|
175 | + echo 'Time elapsed for update identspotterdata : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
|
176 | + } |
|
177 | + } |
|
178 | + if (!isset($this->all_tracked[$id]['id'])) { |
|
179 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('id' => $this->all_tracked[$id]['ident'])); |
|
151 | 180 | } |
152 | - if (!isset($this->all_tracked[$id]['id'])) $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('id' => $this->all_tracked[$id]['ident'])); |
|
153 | 181 | } |
154 | 182 | |
155 | 183 | if (isset($line['speed']) && $line['speed'] != '') { |
@@ -160,14 +188,21 @@ discard block |
||
160 | 188 | if ($distance > 1000 && $distance < 10000) { |
161 | 189 | $speed = $distance/(time() - $this->all_tracked[$id]['time_last_coord']); |
162 | 190 | $speed = $speed*3.6; |
163 | - if ($speed < 1000) $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('speed' => round($speed))); |
|
164 | - if ($globalDebug) echo "ø Calculated Speed for ".$this->all_tracked[$id]['hex']." : ".$speed." - distance : ".$distance."\n"; |
|
191 | + if ($speed < 1000) { |
|
192 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('speed' => round($speed))); |
|
193 | + } |
|
194 | + if ($globalDebug) { |
|
195 | + echo "ø Calculated Speed for ".$this->all_tracked[$id]['hex']." : ".$speed." - distance : ".$distance."\n"; |
|
196 | + } |
|
165 | 197 | } |
166 | 198 | } |
167 | 199 | |
168 | 200 | if (isset($line['latitude']) && isset($line['longitude']) && $line['latitude'] != '' && $line['longitude'] != '' && is_numeric($line['latitude']) && is_numeric($line['longitude'])) { |
169 | - if (isset($this->all_tracked[$id]['time_last_coord'])) $timediff = round(time()-$this->all_tracked[$id]['time_last_coord']); |
|
170 | - else unset($timediff); |
|
201 | + if (isset($this->all_tracked[$id]['time_last_coord'])) { |
|
202 | + $timediff = round(time()-$this->all_tracked[$id]['time_last_coord']); |
|
203 | + } else { |
|
204 | + unset($timediff); |
|
205 | + } |
|
171 | 206 | if ($this->tmd > 5 || !isset($timediff) || $timediff > 2000 || ($timediff > 30 && isset($this->all_tracked[$id]['latitude']) && isset($this->all_tracked[$id]['longitude']) && $Common->withinThreshold($timediff,$Common->distance($line['latitude'],$line['longitude'],$this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude'],'m')))) { |
172 | 207 | if (isset($this->all_tracked[$id]['archive_latitude']) && isset($this->all_tracked[$id]['archive_longitude']) && isset($this->all_tracked[$id]['livedb_latitude']) && isset($this->all_tracked[$id]['livedb_longitude'])) { |
173 | 208 | if (!$Common->checkLine($this->all_tracked[$id]['archive_latitude'],$this->all_tracked[$id]['archive_longitude'],$this->all_tracked[$id]['livedb_latitude'],$this->all_tracked[$id]['livedb_longitude'],$line['latitude'],$line['longitude'])) { |
@@ -175,20 +210,30 @@ discard block |
||
175 | 210 | $this->all_tracked[$id]['archive_longitude'] = $line['longitude']; |
176 | 211 | $this->all_tracked[$id]['putinarchive'] = true; |
177 | 212 | |
178 | - if ($globalDebug) echo "\n".' ------- Check Country for '.$this->all_tracked[$id]['ident'].' with latitude : '.$line['latitude'].' and longitude : '.$line['longitude'].'.... '; |
|
213 | + if ($globalDebug) { |
|
214 | + echo "\n".' ------- Check Country for '.$this->all_tracked[$id]['ident'].' with latitude : '.$line['latitude'].' and longitude : '.$line['longitude'].'.... '; |
|
215 | + } |
|
179 | 216 | $timeelapsed = microtime(true); |
180 | 217 | $Tracker = new Tracker($this->db); |
181 | 218 | $all_country = $Tracker->getCountryFromLatitudeLongitude($line['latitude'],$line['longitude']); |
182 | - if (!empty($all_country)) $this->all_tracked[$id]['over_country'] = $all_country['iso2']; |
|
219 | + if (!empty($all_country)) { |
|
220 | + $this->all_tracked[$id]['over_country'] = $all_country['iso2']; |
|
221 | + } |
|
183 | 222 | $Tracker->db = null; |
184 | - if ($globalDebugTimeElapsed) echo 'Time elapsed for update getCountryFromlatitudeLongitude : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
|
223 | + if ($globalDebugTimeElapsed) { |
|
224 | + echo 'Time elapsed for update getCountryFromlatitudeLongitude : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
|
225 | + } |
|
185 | 226 | $this->tmd = 0; |
186 | - if ($globalDebug) echo 'FOUND : '.$this->all_tracked[$id]['over_country'].' ---------------'."\n"; |
|
227 | + if ($globalDebug) { |
|
228 | + echo 'FOUND : '.$this->all_tracked[$id]['over_country'].' ---------------'."\n"; |
|
229 | + } |
|
187 | 230 | } |
188 | 231 | } |
189 | 232 | |
190 | 233 | if (isset($line['latitude']) && $line['latitude'] != '' && $line['latitude'] != 0 && $line['latitude'] < 91 && $line['latitude'] > -90) { |
191 | - if (!isset($this->all_tracked[$id]['archive_latitude'])) $this->all_tracked[$id]['archive_latitude'] = $line['latitude']; |
|
234 | + if (!isset($this->all_tracked[$id]['archive_latitude'])) { |
|
235 | + $this->all_tracked[$id]['archive_latitude'] = $line['latitude']; |
|
236 | + } |
|
192 | 237 | if (!isset($this->all_tracked[$id]['livedb_latitude']) || abs($this->all_tracked[$id]['livedb_latitude']-$line['latitude']) > $globalCoordMinChange || $this->all_tracked[$id]['format_source'] == 'aprs') { |
193 | 238 | $this->all_tracked[$id]['livedb_latitude'] = $line['latitude']; |
194 | 239 | $dataFound = true; |
@@ -197,8 +242,12 @@ discard block |
||
197 | 242 | $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('latitude' => $line['latitude'])); |
198 | 243 | } |
199 | 244 | if (isset($line['longitude']) && $line['longitude'] != '' && $line['longitude'] != 0 && $line['longitude'] < 360 && $line['longitude'] > -180) { |
200 | - if ($line['longitude'] > 180) $line['longitude'] = $line['longitude'] - 360; |
|
201 | - if (!isset($this->all_tracked[$id]['archive_longitude'])) $this->all_tracked[$id]['archive_longitude'] = $line['longitude']; |
|
245 | + if ($line['longitude'] > 180) { |
|
246 | + $line['longitude'] = $line['longitude'] - 360; |
|
247 | + } |
|
248 | + if (!isset($this->all_tracked[$id]['archive_longitude'])) { |
|
249 | + $this->all_tracked[$id]['archive_longitude'] = $line['longitude']; |
|
250 | + } |
|
202 | 251 | if (!isset($this->all_tracked[$id]['livedb_longitude']) || abs($this->all_tracked[$id]['livedb_longitude']-$line['longitude']) > $globalCoordMinChange || $this->all_tracked[$id]['format_source'] == 'aprs') { |
203 | 252 | $this->all_tracked[$id]['livedb_longitude'] = $line['longitude']; |
204 | 253 | $dataFound = true; |
@@ -216,7 +265,9 @@ discard block |
||
216 | 265 | } |
217 | 266 | } |
218 | 267 | if (isset($line['last_update']) && $line['last_update'] != '') { |
219 | - if (isset($this->all_tracked[$id]['last_update']) && $this->all_tracked[$id]['last_update'] != $line['last_update']) $dataFound = true; |
|
268 | + if (isset($this->all_tracked[$id]['last_update']) && $this->all_tracked[$id]['last_update'] != $line['last_update']) { |
|
269 | + $dataFound = true; |
|
270 | + } |
|
220 | 271 | $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('last_update' => $line['last_update'])); |
221 | 272 | } |
222 | 273 | if (isset($line['format_source']) && $line['format_source'] != '') { |
@@ -236,7 +287,9 @@ discard block |
||
236 | 287 | |
237 | 288 | if (isset($line['altitude']) && $line['altitude'] != '') { |
238 | 289 | //if (!isset($this->all_tracked[$id]['altitude']) || $this->all_tracked[$id]['altitude'] == '' || ($this->all_tracked[$id]['altitude'] > 0 && $line['altitude'] != 0)) { |
239 | - if (is_int($this->all_tracked[$id]['altitude']) && abs(round($line['altitude']/100)-$this->all_tracked[$id]['altitude']) > 3) $this->all_tracked[$id]['putinarchive'] = true; |
|
290 | + if (is_int($this->all_tracked[$id]['altitude']) && abs(round($line['altitude']/100)-$this->all_tracked[$id]['altitude']) > 3) { |
|
291 | + $this->all_tracked[$id]['putinarchive'] = true; |
|
292 | + } |
|
240 | 293 | $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('altitude' => round($line['altitude']/100))); |
241 | 294 | $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('altitude_real' => $line['altitude'])); |
242 | 295 | //$dataFound = true; |
@@ -248,15 +301,21 @@ discard block |
||
248 | 301 | } |
249 | 302 | |
250 | 303 | if (isset($line['heading']) && $line['heading'] != '') { |
251 | - if (is_int($this->all_tracked[$id]['heading']) && abs($this->all_tracked[$id]['heading']-round($line['heading'])) > 10) $this->all_tracked[$id]['putinarchive'] = true; |
|
304 | + if (is_int($this->all_tracked[$id]['heading']) && abs($this->all_tracked[$id]['heading']-round($line['heading'])) > 10) { |
|
305 | + $this->all_tracked[$id]['putinarchive'] = true; |
|
306 | + } |
|
252 | 307 | $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('heading' => round($line['heading']))); |
253 | 308 | $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('heading_fromsrc' => true)); |
254 | 309 | //$dataFound = true; |
255 | 310 | } elseif (!isset($this->all_tracked[$id]['heading_fromsrc']) && isset($this->all_tracked[$id]['archive_latitude']) && $this->all_tracked[$id]['archive_latitude'] != $this->all_tracked[$id]['latitude'] && isset($this->all_tracked[$id]['archive_longitude']) && $this->all_tracked[$id]['archive_longitude'] != $this->all_tracked[$id]['longitude']) { |
256 | 311 | $heading = $Common->getHeading($this->all_tracked[$id]['archive_latitude'],$this->all_tracked[$id]['archive_longitude'],$this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude']); |
257 | 312 | $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('heading' => round($heading))); |
258 | - if (abs($this->all_tracked[$id]['heading']-round($heading)) > 10) $this->all_tracked[$id]['putinarchive'] = true; |
|
259 | - if ($globalDebug) echo "ø Calculated Heading for ".$this->all_tracked[$id]['ident']." : ".$heading."\n"; |
|
313 | + if (abs($this->all_tracked[$id]['heading']-round($heading)) > 10) { |
|
314 | + $this->all_tracked[$id]['putinarchive'] = true; |
|
315 | + } |
|
316 | + if ($globalDebug) { |
|
317 | + echo "ø Calculated Heading for ".$this->all_tracked[$id]['ident']." : ".$heading."\n"; |
|
318 | + } |
|
260 | 319 | } |
261 | 320 | //if (isset($globalSourcesupdate) && $globalSourcesupdate != '' && isset($this->all_tracked[$id]['lastupdate']) && time()-$this->all_tracked[$id]['lastupdate'] < $globalSourcesupdate) $dataFound = false; |
262 | 321 | |
@@ -265,20 +324,31 @@ discard block |
||
265 | 324 | if ($this->all_tracked[$id]['addedTracker'] == 0) { |
266 | 325 | if (!isset($globalDistanceIgnore['latitude']) || $this->all_tracked[$id]['longitude'] == '' || $this->all_tracked[$id]['latitude'] == '' || (isset($globalDistanceIgnore['latitude']) && $Common->distance($this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude'],$globalDistanceIgnore['latitude'],$globalDistanceIgnore['longitude']) < $globalDistanceIgnore['distance'])) { |
267 | 326 | if (!isset($this->all_tracked[$id]['forcenew']) || $this->all_tracked[$id]['forcenew'] == 0) { |
268 | - if ($globalDebug) echo "Check if aircraft is already in DB..."; |
|
327 | + if ($globalDebug) { |
|
328 | + echo "Check if aircraft is already in DB..."; |
|
329 | + } |
|
269 | 330 | $timeelapsed = microtime(true); |
270 | 331 | $TrackerLive = new TrackerLive($this->db); |
271 | 332 | if (isset($line['id'])) { |
272 | 333 | $recent_ident = $TrackerLive->checkIdRecent($line['id']); |
273 | - if ($globalDebugTimeElapsed) echo 'Time elapsed for update checkIdRecent : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
|
334 | + if ($globalDebugTimeElapsed) { |
|
335 | + echo 'Time elapsed for update checkIdRecent : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
|
336 | + } |
|
274 | 337 | } elseif (isset($this->all_tracked[$id]['ident']) && $this->all_tracked[$id]['ident'] != '') { |
275 | 338 | $recent_ident = $TrackerLive->checkIdentRecent($this->all_tracked[$id]['ident']); |
276 | - if ($globalDebugTimeElapsed) echo 'Time elapsed for update checkIdentRecent : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
|
277 | - } else $recent_ident = ''; |
|
339 | + if ($globalDebugTimeElapsed) { |
|
340 | + echo 'Time elapsed for update checkIdentRecent : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
|
341 | + } |
|
342 | + } else { |
|
343 | + $recent_ident = ''; |
|
344 | + } |
|
278 | 345 | $TrackerLive->db=null; |
279 | 346 | |
280 | - if ($globalDebug && $recent_ident == '') echo " Not in DB.\n"; |
|
281 | - elseif ($globalDebug && $recent_ident != '') echo " Already in DB.\n"; |
|
347 | + if ($globalDebug && $recent_ident == '') { |
|
348 | + echo " Not in DB.\n"; |
|
349 | + } elseif ($globalDebug && $recent_ident != '') { |
|
350 | + echo " Already in DB.\n"; |
|
351 | + } |
|
282 | 352 | } else { |
283 | 353 | $recent_ident = ''; |
284 | 354 | $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('forcenew' => 0)); |
@@ -286,16 +356,24 @@ discard block |
||
286 | 356 | //if there was no aircraft with the same callsign within the last hour and go post it into the archive |
287 | 357 | if($recent_ident == "") |
288 | 358 | { |
289 | - if ($globalDebug) echo "\o/ Add ".$this->all_tracked[$id]['ident']." in archive DB : "; |
|
359 | + if ($globalDebug) { |
|
360 | + echo "\o/ Add ".$this->all_tracked[$id]['ident']." in archive DB : "; |
|
361 | + } |
|
290 | 362 | //adds the spotter data for the archive |
291 | 363 | $highlight = ''; |
292 | - if (!isset($this->all_tracked[$id]['id'])) $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('id' => $this->all_tracked[$id]['ident'].'-'.date('YmdHi'))); |
|
364 | + if (!isset($this->all_tracked[$id]['id'])) { |
|
365 | + $this->all_tracked[$id] = array_merge($this->all_tracked[$id],array('id' => $this->all_tracked[$id]['ident'].'-'.date('YmdHi'))); |
|
366 | + } |
|
293 | 367 | $timeelapsed = microtime(true); |
294 | 368 | $Tracker = new Tracker($this->db); |
295 | 369 | $result = $Tracker->addTrackerData($this->all_tracked[$id]['id'], $this->all_tracked[$id]['ident'], $this->all_tracked[$id]['latitude'], $this->all_tracked[$id]['longitude'], $this->all_tracked[$id]['altitude'], $this->all_tracked[$id]['heading'], $this->all_tracked[$id]['speed'], $this->all_tracked[$id]['datetime'], $this->all_tracked[$id]['comment'],$this->all_tracked[$id]['type'],$this->all_tracked[$id]['format_source'],$this->all_tracked[$id]['source_name']); |
296 | 370 | $Tracker->db = null; |
297 | - if ($globalDebug && isset($result)) echo $result."\n"; |
|
298 | - if ($globalDebugTimeElapsed) echo 'Time elapsed for update addspotterdata : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
|
371 | + if ($globalDebug && isset($result)) { |
|
372 | + echo $result."\n"; |
|
373 | + } |
|
374 | + if ($globalDebugTimeElapsed) { |
|
375 | + echo 'Time elapsed for update addspotterdata : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
|
376 | + } |
|
299 | 377 | |
300 | 378 | /* |
301 | 379 | // Add source stat in DB |
@@ -329,12 +407,16 @@ discard block |
||
329 | 407 | $this->all_tracked[$id]['addedTracker'] = 1; |
330 | 408 | //print_r($this->all_tracked[$id]); |
331 | 409 | if ($this->last_delete == 0 || time() - $this->last_delete > 1800) { |
332 | - if ($globalDebug) echo "---- Deleting Live Tracker data older than 9 hours..."; |
|
410 | + if ($globalDebug) { |
|
411 | + echo "---- Deleting Live Tracker data older than 9 hours..."; |
|
412 | + } |
|
333 | 413 | //TrackerLive->deleteLiveTrackerDataNotUpdated(); |
334 | 414 | $TrackerLive = new TrackerLive($this->db); |
335 | 415 | $TrackerLive->deleteLiveTrackerData(); |
336 | 416 | $TrackerLive->db=null; |
337 | - if ($globalDebug) echo " Done\n"; |
|
417 | + if ($globalDebug) { |
|
418 | + echo " Done\n"; |
|
419 | + } |
|
338 | 420 | $this->last_delete = time(); |
339 | 421 | } |
340 | 422 | } else { |
@@ -357,13 +439,17 @@ discard block |
||
357 | 439 | |
358 | 440 | if (!$ignoreImport) { |
359 | 441 | if (!isset($globalDistanceIgnore['latitude']) || (isset($globalDistanceIgnore['latitude']) && $Common->distance($this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude'],$globalDistanceIgnore['latitude'],$globalDistanceIgnore['longitude']) < $globalDistanceIgnore['distance'])) { |
360 | - if ($globalDebug) echo "\o/ Add ".$this->all_tracked[$id]['ident']." from ".$this->all_tracked[$id]['format_source']." in Live DB : "; |
|
442 | + if ($globalDebug) { |
|
443 | + echo "\o/ Add ".$this->all_tracked[$id]['ident']." from ".$this->all_tracked[$id]['format_source']." in Live DB : "; |
|
444 | + } |
|
361 | 445 | $timeelapsed = microtime(true); |
362 | 446 | $TrackerLive = new TrackerLive($this->db); |
363 | 447 | $result = $TrackerLive->addLiveTrackerData($this->all_tracked[$id]['id'], $this->all_tracked[$id]['ident'], $this->all_tracked[$id]['latitude'], $this->all_tracked[$id]['longitude'], $this->all_tracked[$id]['altitude'], $this->all_tracked[$id]['heading'], $this->all_tracked[$id]['speed'],$this->all_tracked[$id]['datetime'], $this->all_tracked[$id]['putinarchive'],$this->all_tracked[$id]['comment'],$this->all_tracked[$id]['type'],$this->all_tracked[$id]['noarchive'],$this->all_tracked[$id]['format_source'],$this->all_tracked[$id]['source_name'],$this->all_tracked[$id]['over_country']); |
364 | 448 | $TrackerLive->db = null; |
365 | 449 | $this->all_tracked[$id]['putinarchive'] = false; |
366 | - if ($globalDebugTimeElapsed) echo 'Time elapsed for update addlivespotterdata : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
|
450 | + if ($globalDebugTimeElapsed) { |
|
451 | + echo 'Time elapsed for update addlivespotterdata : '.round(microtime(true)-$timeelapsed,2).'s'."\n"; |
|
452 | + } |
|
367 | 453 | |
368 | 454 | // Put statistics in $this->stats variable |
369 | 455 | /* |
@@ -420,19 +506,29 @@ discard block |
||
420 | 506 | */ |
421 | 507 | |
422 | 508 | $this->all_tracked[$id]['lastupdate'] = time(); |
423 | - if ($this->all_tracked[$id]['putinarchive']) $send = true; |
|
424 | - if ($globalDebug) echo $result."\n"; |
|
425 | - } elseif (isset($this->all_tracked[$id]['latitude']) && isset($globalDistanceIgnore['latitude']) && $globalDebug) echo "!! Too far -> Distance : ".$Common->distance($this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude'],$globalDistanceIgnore['latitude'],$globalDistanceIgnore['longitude'])."\n"; |
|
509 | + if ($this->all_tracked[$id]['putinarchive']) { |
|
510 | + $send = true; |
|
511 | + } |
|
512 | + if ($globalDebug) { |
|
513 | + echo $result."\n"; |
|
514 | + } |
|
515 | + } elseif (isset($this->all_tracked[$id]['latitude']) && isset($globalDistanceIgnore['latitude']) && $globalDebug) { |
|
516 | + echo "!! Too far -> Distance : ".$Common->distance($this->all_tracked[$id]['latitude'],$this->all_tracked[$id]['longitude'],$globalDistanceIgnore['latitude'],$globalDistanceIgnore['longitude'])."\n"; |
|
517 | + } |
|
426 | 518 | //$this->del(); |
427 | 519 | |
428 | 520 | |
429 | 521 | if ($this->last_delete_hourly == 0 || time() - $this->last_delete_hourly > 900) { |
430 | - if ($globalDebug) echo "---- Deleting Live Tracker data Not updated since 2 hour..."; |
|
522 | + if ($globalDebug) { |
|
523 | + echo "---- Deleting Live Tracker data Not updated since 2 hour..."; |
|
524 | + } |
|
431 | 525 | $TrackerLive = new TrackerLive($this->db); |
432 | 526 | $TrackerLive->deleteLiveTrackerDataNotUpdated(); |
433 | 527 | $TrackerLive->db = null; |
434 | 528 | //TrackerLive->deleteLiveTrackerData(); |
435 | - if ($globalDebug) echo " Done\n"; |
|
529 | + if ($globalDebug) { |
|
530 | + echo " Done\n"; |
|
531 | + } |
|
436 | 532 | $this->last_delete_hourly = time(); |
437 | 533 | } |
438 | 534 | |
@@ -440,7 +536,9 @@ discard block |
||
440 | 536 | //$ignoreImport = false; |
441 | 537 | } |
442 | 538 | //if (function_exists('pcntl_fork') && $globalFork) pcntl_signal(SIGCHLD, SIG_IGN); |
443 | - if ($send) return $this->all_tracked[$id]; |
|
539 | + if ($send) { |
|
540 | + return $this->all_tracked[$id]; |
|
541 | + } |
|
444 | 542 | } |
445 | 543 | } |
446 | 544 | } |
@@ -9,11 +9,11 @@ discard block |
||
9 | 9 | |
10 | 10 | $from_archive = false; |
11 | 11 | if (isset($_GET['ident'])) { |
12 | - $ident = filter_input(INPUT_GET,'ident',FILTER_SANITIZE_STRING); |
|
12 | + $ident = filter_input(INPUT_GET, 'ident', FILTER_SANITIZE_STRING); |
|
13 | 13 | if (isset($_GET['currenttime'])) { |
14 | - $currenttime = filter_input(INPUT_GET,'currenttime',FILTER_SANITIZE_NUMBER_INT); |
|
14 | + $currenttime = filter_input(INPUT_GET, 'currenttime', FILTER_SANITIZE_NUMBER_INT); |
|
15 | 15 | $currenttime = round($currenttime/1000); |
16 | - $spotter_array = $TrackerLive->getDateLiveTrackerDataByIdent($ident,$currenttime); |
|
16 | + $spotter_array = $TrackerLive->getDateLiveTrackerDataByIdent($ident, $currenttime); |
|
17 | 17 | /* |
18 | 18 | if (empty($spotter_array)) { |
19 | 19 | $from_archive = true; |
@@ -31,11 +31,11 @@ discard block |
||
31 | 31 | } |
32 | 32 | } |
33 | 33 | if (isset($_GET['famtrackid'])) { |
34 | - $famtrackid = filter_input(INPUT_GET,'famtrackid',FILTER_SANITIZE_STRING); |
|
34 | + $famtrackid = filter_input(INPUT_GET, 'famtrackid', FILTER_SANITIZE_STRING); |
|
35 | 35 | if (isset($_GET['currenttime'])) { |
36 | - $currenttime = filter_input(INPUT_GET,'currenttime',FILTER_SANITIZE_NUMBER_INT); |
|
36 | + $currenttime = filter_input(INPUT_GET, 'currenttime', FILTER_SANITIZE_NUMBER_INT); |
|
37 | 37 | $currenttime = round($currenttime/1000); |
38 | - $spotter_array = $TrackerLive->getDateLiveTrackerDataById($famtrackid,$currenttime); |
|
38 | + $spotter_array = $TrackerLive->getDateLiveTrackerDataById($famtrackid, $currenttime); |
|
39 | 39 | /* |
40 | 40 | if (empty($spotter_array)) { |
41 | 41 | $from_archive = true; |
@@ -62,7 +62,7 @@ discard block |
||
62 | 62 | if (isset($spotter_item['image_thumbnail']) && $spotter_item['image_thumbnail'] != "") |
63 | 63 | { |
64 | 64 | if ($spotter_item['image_source'] == 'flickr' || $spotter_item['image_source'] == 'wikimedia' || $spotter_item['image_source'] == 'devianart') { |
65 | - $image = preg_replace("/^http:/i","https:",$spotter_item['image_thumbnail']); |
|
65 | + $image = preg_replace("/^http:/i", "https:", $spotter_item['image_thumbnail']); |
|
66 | 66 | } else $image = $spotter_item['image_thumbnail']; |
67 | 67 | |
68 | 68 | } |
@@ -63,7 +63,9 @@ |
||
63 | 63 | { |
64 | 64 | if ($spotter_item['image_source'] == 'flickr' || $spotter_item['image_source'] == 'wikimedia' || $spotter_item['image_source'] == 'devianart') { |
65 | 65 | $image = preg_replace("/^http:/i","https:",$spotter_item['image_thumbnail']); |
66 | - } else $image = $spotter_item['image_thumbnail']; |
|
66 | + } else { |
|
67 | + $image = $spotter_item['image_thumbnail']; |
|
68 | + } |
|
67 | 69 | |
68 | 70 | } |
69 | 71 | /* else { |
@@ -68,6 +68,10 @@ discard block |
||
68 | 68 | 't', 'u', 'v', 'w' // 119 |
69 | 69 | ); // char 64 |
70 | 70 | */ |
71 | + |
|
72 | + /** |
|
73 | + * @param integer $ascii |
|
74 | + */ |
|
71 | 75 | private function asciidec_2_8bit($ascii) { |
72 | 76 | //only process in the following range: 48-87, 96-119 |
73 | 77 | if ($ascii < 48) { } |
@@ -93,6 +97,10 @@ discard block |
||
93 | 97 | return(substr($bin, -6)); |
94 | 98 | } |
95 | 99 | |
100 | + /** |
|
101 | + * @param integer $_start |
|
102 | + * @param integer $_size |
|
103 | + */ |
|
96 | 104 | private function binchar($_str, $_start, $_size) { |
97 | 105 | // ' ' --- '?', // 0x20 - 0x3F |
98 | 106 | // '@' --- '_', // 0x40 - 0x5F |
@@ -118,6 +126,10 @@ discard block |
||
118 | 126 | } |
119 | 127 | |
120 | 128 | // function for decoding the AIS Message ITU Payload |
129 | + |
|
130 | + /** |
|
131 | + * @param string $_aisdata |
|
132 | + */ |
|
121 | 133 | private function decode_ais($_aisdata) { |
122 | 134 | $ro = new stdClass(); // return object |
123 | 135 | $ro->cls = 0; // AIS class undefined, also indicate unparsed msg |
@@ -351,6 +363,12 @@ discard block |
||
351 | 363 | elseif ($code == 99) return 'Other Type, no additional information'; |
352 | 364 | } |
353 | 365 | |
366 | + /** |
|
367 | + * @param string $_itu |
|
368 | + * @param integer $_len |
|
369 | + * @param integer $_filler |
|
370 | + * @param string $aux |
|
371 | + */ |
|
354 | 372 | public function process_ais_itu($_itu, $_len, $_filler, $aux /*, $ais_ch*/) { |
355 | 373 | global $port; // tcpip port... |
356 | 374 | |
@@ -371,6 +389,10 @@ discard block |
||
371 | 389 | |
372 | 390 | // char* - AIS \r terminated string |
373 | 391 | // TCP based streams which send messages in full can use this instead of calling process_ais_buf |
392 | + |
|
393 | + /** |
|
394 | + * @param string $rawdata |
|
395 | + */ |
|
374 | 396 | public function process_ais_raw($rawdata, $aux = '') { // return int |
375 | 397 | static $num_seq; // 1 to 9 |
376 | 398 | static $seq; // 1 to 9 |
@@ -589,6 +611,9 @@ discard block |
||
589 | 611 | return $result; |
590 | 612 | } |
591 | 613 | |
614 | + /** |
|
615 | + * @param string $mmsi |
|
616 | + */ |
|
592 | 617 | public function mmsitype($mmsi) { |
593 | 618 | if (strlen($mmsi) == 9) { |
594 | 619 | if (substr($mmsi,0,3) == '974') return 'EPIRB (Emergency Position Indicating Radio Beacon) AIS'; |
@@ -57,7 +57,7 @@ discard block |
||
57 | 57 | return ($dec); |
58 | 58 | } |
59 | 59 | |
60 | - /* |
|
60 | + /* |
|
61 | 61 | $ais_map64 = array( |
62 | 62 | '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', // 48 |
63 | 63 | ':', ';', '<', '=', '>', '?', '@', 'A', 'B', 'C', |
@@ -97,13 +97,13 @@ discard block |
||
97 | 97 | // ' ' --- '?', // 0x20 - 0x3F |
98 | 98 | // '@' --- '_', // 0x40 - 0x5F |
99 | 99 | $ais_chars = array( |
100 | - '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', |
|
101 | - 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', |
|
102 | - 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\\', ']', |
|
103 | - '^', '_', ' ', '!', '\"', '#', '$', '%', '&', '\'', |
|
104 | - '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', |
|
105 | - '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', |
|
106 | - '<', '=', '>', '?' |
|
100 | + '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', |
|
101 | + 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', |
|
102 | + 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\\', ']', |
|
103 | + '^', '_', ' ', '!', '\"', '#', '$', '%', '&', '\'', |
|
104 | + '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', |
|
105 | + '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', |
|
106 | + '<', '=', '>', '?' |
|
107 | 107 | ); |
108 | 108 | // " |
109 | 109 | $rv = ''; |
@@ -419,8 +419,8 @@ discard block |
||
419 | 419 | } |
420 | 420 | if ($num_seq > 1) { // for multipart messages |
421 | 421 | if ($cmsg_sid != $msg_sid // different msg_sid |
422 | - || $msg_sid == -1 // invalid initial msg_sid |
|
423 | - || ($seq - $pseq) != 1 // not insequence |
|
422 | + || $msg_sid == -1 // invalid initial msg_sid |
|
423 | + || ($seq - $pseq) != 1 // not insequence |
|
424 | 424 | ) { // invalid for multipart message |
425 | 425 | $msg_sid = -1; |
426 | 426 | $cmsg_sid = -1; |
@@ -433,7 +433,7 @@ discard block |
||
433 | 433 | $itu = $itu.$pcs[5]; // get itu message |
434 | 434 | $filler += (int)$pcs[6][0]; // get filler |
435 | 435 | if ($num_seq == 1 // valid single message |
436 | - || $num_seq == $pseq // valid multi-part message |
|
436 | + || $num_seq == $pseq // valid multi-part message |
|
437 | 437 | ) { |
438 | 438 | if ($num_seq != 1) { // test |
439 | 439 | //echo $rawdata; |
@@ -516,13 +516,13 @@ discard block |
||
516 | 516 | else $pad = ''; |
517 | 517 | $rv = ''; |
518 | 518 | $ais_chars = array( |
519 | - '@'=>0, 'A'=>1, 'B'=>2, 'C'=>3, 'D'=>4, 'E'=>5, 'F'=>6, 'G'=>7, 'H'=>8, 'I'=>9, |
|
520 | - 'J'=>10, 'K'=>11, 'L'=>12, 'M'=>13, 'N'=>14, 'O'=>15, 'P'=>16, 'Q'=>17, 'R'=>18, 'S'=>19, |
|
521 | - 'T'=>20, 'U'=>21, 'V'=>22, 'W'=>23, 'X'=>24, 'Y'=>25, 'Z'=>26, '['=>27, '\\'=>28, ']'=>29, |
|
522 | - '^'=>30, '_'=>31, ' '=>32, '!'=>33, '\"'=>34, '#'=>35, '$'=>36, '%'=>37, '&'=>38, '\''=>39, |
|
523 | - '('=>40, ')'=>41, '*'=>42, '+'=>43, ','=>44, '-'=>45, '.'=>46, '/'=>47, '0'=>48, '1'=>49, |
|
524 | - '2'=>50, '3'=>51, '4'=>52, '5'=>53, '6'=>54, '7'=>55, '8'=>56, '9'=>57, ':'=>58, ';'=>59, |
|
525 | - '<'=>60, '='=>61, '>'=>62, '?'=>63 |
|
519 | + '@'=>0, 'A'=>1, 'B'=>2, 'C'=>3, 'D'=>4, 'E'=>5, 'F'=>6, 'G'=>7, 'H'=>8, 'I'=>9, |
|
520 | + 'J'=>10, 'K'=>11, 'L'=>12, 'M'=>13, 'N'=>14, 'O'=>15, 'P'=>16, 'Q'=>17, 'R'=>18, 'S'=>19, |
|
521 | + 'T'=>20, 'U'=>21, 'V'=>22, 'W'=>23, 'X'=>24, 'Y'=>25, 'Z'=>26, '['=>27, '\\'=>28, ']'=>29, |
|
522 | + '^'=>30, '_'=>31, ' '=>32, '!'=>33, '\"'=>34, '#'=>35, '$'=>36, '%'=>37, '&'=>38, '\''=>39, |
|
523 | + '('=>40, ')'=>41, '*'=>42, '+'=>43, ','=>44, '-'=>45, '.'=>46, '/'=>47, '0'=>48, '1'=>49, |
|
524 | + '2'=>50, '3'=>51, '4'=>52, '5'=>53, '6'=>54, '7'=>55, '8'=>56, '9'=>57, ':'=>58, ';'=>59, |
|
525 | + '<'=>60, '='=>61, '>'=>62, '?'=>63 |
|
526 | 526 | ); |
527 | 527 | // " |
528 | 528 | $_a = str_split($name); |
@@ -29,31 +29,31 @@ discard block |
||
29 | 29 | |
30 | 30 | private function make_latf($temp) { // unsigned long |
31 | 31 | $flat = 0.0; // float |
32 | - $temp = $temp & 0x07FFFFFF; |
|
33 | - if ($temp & 0x04000000) { |
|
34 | - $temp = $temp ^ 0x07FFFFFF; |
|
32 | + $temp = $temp&0x07FFFFFF; |
|
33 | + if ($temp&0x04000000) { |
|
34 | + $temp = $temp^0x07FFFFFF; |
|
35 | 35 | $temp += 1; |
36 | - $flat = (float)($temp / (60.0 * 10000.0)); |
|
36 | + $flat = (float) ($temp/(60.0*10000.0)); |
|
37 | 37 | $flat *= -1.0; |
38 | - } else $flat = (float)($temp / (60.0 * 10000.0)); |
|
38 | + } else $flat = (float) ($temp/(60.0*10000.0)); |
|
39 | 39 | return $flat; // float |
40 | 40 | } |
41 | 41 | |
42 | 42 | private function make_lonf($temp) { // unsigned long |
43 | 43 | $flon = 0.0; // float |
44 | - $temp = $temp & 0x0FFFFFFF; |
|
45 | - if ($temp & 0x08000000) { |
|
46 | - $temp = $temp ^ 0x0FFFFFFF; |
|
44 | + $temp = $temp&0x0FFFFFFF; |
|
45 | + if ($temp&0x08000000) { |
|
46 | + $temp = $temp^0x0FFFFFFF; |
|
47 | 47 | $temp += 1; |
48 | - $flon = (float)($temp / (60.0 * 10000.0)); |
|
48 | + $flon = (float) ($temp/(60.0*10000.0)); |
|
49 | 49 | $flon *= -1.0; |
50 | - } else $flon = (float)($temp / (60.0 * 10000.0)); |
|
50 | + } else $flon = (float) ($temp/(60.0*10000.0)); |
|
51 | 51 | return $flon; |
52 | 52 | } |
53 | 53 | |
54 | 54 | private function ascii_2_dec($chr) { |
55 | - $dec=ord($chr);//get decimal ascii code |
|
56 | - $hex=dechex($dec);//convert decimal to hex |
|
55 | + $dec = ord($chr); //get decimal ascii code |
|
56 | + $hex = dechex($dec); //convert decimal to hex |
|
57 | 57 | return ($dec); |
58 | 58 | } |
59 | 59 | |
@@ -72,15 +72,15 @@ discard block |
||
72 | 72 | //only process in the following range: 48-87, 96-119 |
73 | 73 | if ($ascii < 48) { } |
74 | 74 | else { |
75 | - if($ascii>119) { } |
|
75 | + if ($ascii > 119) { } |
|
76 | 76 | else { |
77 | - if ($ascii>87 && $ascii<96) ; |
|
77 | + if ($ascii > 87 && $ascii < 96); |
|
78 | 78 | else { |
79 | - $ascii=$ascii+40; |
|
80 | - if ($ascii>128){ |
|
81 | - $ascii=$ascii+32; |
|
79 | + $ascii = $ascii + 40; |
|
80 | + if ($ascii > 128) { |
|
81 | + $ascii = $ascii + 32; |
|
82 | 82 | } else { |
83 | - $ascii=$ascii+40; |
|
83 | + $ascii = $ascii + 40; |
|
84 | 84 | } |
85 | 85 | } |
86 | 86 | } |
@@ -89,7 +89,7 @@ discard block |
||
89 | 89 | } |
90 | 90 | |
91 | 91 | private function dec_2_6bit($dec) { |
92 | - $bin=decbin($dec); |
|
92 | + $bin = decbin($dec); |
|
93 | 93 | return(substr($bin, -6)); |
94 | 94 | } |
95 | 95 | |
@@ -107,11 +107,11 @@ discard block |
||
107 | 107 | ); |
108 | 108 | // " |
109 | 109 | $rv = ''; |
110 | - if ($_size % 6 == 0) { |
|
111 | - $len = $_size / 6; |
|
112 | - for ($i=0; $i<$len; $i++) { |
|
113 | - $offset = $i * 6; |
|
114 | - $rv .= $ais_chars[ bindec(substr($_str,$_start + $offset,6)) ]; |
|
110 | + if ($_size%6 == 0) { |
|
111 | + $len = $_size/6; |
|
112 | + for ($i = 0; $i < $len; $i++) { |
|
113 | + $offset = $i*6; |
|
114 | + $rv .= $ais_chars[bindec(substr($_str, $_start + $offset, 6))]; |
|
115 | 115 | } |
116 | 116 | } |
117 | 117 | return $rv; |
@@ -138,93 +138,93 @@ discard block |
||
138 | 138 | $ro->eta_hour = ''; |
139 | 139 | $ro->eta_minute = ''; |
140 | 140 | $ro->ts = time(); |
141 | - $ro->id = bindec(substr($_aisdata,0,6)); |
|
142 | - $ro->mmsi = bindec(substr($_aisdata,8,30)); |
|
141 | + $ro->id = bindec(substr($_aisdata, 0, 6)); |
|
142 | + $ro->mmsi = bindec(substr($_aisdata, 8, 30)); |
|
143 | 143 | if ($ro->id >= 1 && $ro->id <= 3) { |
144 | - $ro->cog = bindec(substr($_aisdata,116,12))/10; |
|
145 | - $ro->sog = bindec(substr($_aisdata,50,10))/10; |
|
146 | - $ro->lon = $this->make_lonf(bindec(substr($_aisdata,61,28))); |
|
147 | - $ro->lat = $this->make_latf(bindec(substr($_aisdata,89,27))); |
|
144 | + $ro->cog = bindec(substr($_aisdata, 116, 12))/10; |
|
145 | + $ro->sog = bindec(substr($_aisdata, 50, 10))/10; |
|
146 | + $ro->lon = $this->make_lonf(bindec(substr($_aisdata, 61, 28))); |
|
147 | + $ro->lat = $this->make_latf(bindec(substr($_aisdata, 89, 27))); |
|
148 | 148 | $ro->cls = 1; // class A |
149 | 149 | } else if ($ro->id == 4) { |
150 | - $ro->lon = $this->make_lonf(bindec(substr($_aisdata,79,28))); |
|
151 | - $ro->lat = $this->make_latf(bindec(substr($_aisdata,107,27))); |
|
150 | + $ro->lon = $this->make_lonf(bindec(substr($_aisdata, 79, 28))); |
|
151 | + $ro->lat = $this->make_latf(bindec(substr($_aisdata, 107, 27))); |
|
152 | 152 | $ro->cls = 1; // class A |
153 | 153 | } else if ($ro->id == 5) { |
154 | - $ro->imo = bindec(substr($_aisdata,40,30)); |
|
155 | - $ro->callsign = $this->binchar($_aisdata,70,42); |
|
156 | - $ro->name = $this->binchar($_aisdata,112,120); |
|
157 | - $ro->typeid = bindec(substr($_aisdata,232,8)); |
|
154 | + $ro->imo = bindec(substr($_aisdata, 40, 30)); |
|
155 | + $ro->callsign = $this->binchar($_aisdata, 70, 42); |
|
156 | + $ro->name = $this->binchar($_aisdata, 112, 120); |
|
157 | + $ro->typeid = bindec(substr($_aisdata, 232, 8)); |
|
158 | 158 | $ro->type = $this->getShipType($ro->typeid); |
159 | 159 | //$ro->to_bow = bindec(substr($_aisdata,240,9)); |
160 | 160 | //$ro->to_stern = bindec(substr($_aisdata,249,9)); |
161 | 161 | //$ro->to_port = bindec(substr($_aisdata,258,6)); |
162 | 162 | //$ro->to_starboard = bindec(substr($_aisdata,264,6)); |
163 | - $ro->eta_month = bindec(substr($_aisdata,274,4)); |
|
164 | - $ro->eta_day = bindec(substr($_aisdata,278,5)); |
|
165 | - $ro->eta_hour = bindec(substr($_aisdata,283,5)); |
|
166 | - $ro->eta_minute = bindec(substr($_aisdata,288,6)); |
|
163 | + $ro->eta_month = bindec(substr($_aisdata, 274, 4)); |
|
164 | + $ro->eta_day = bindec(substr($_aisdata, 278, 5)); |
|
165 | + $ro->eta_hour = bindec(substr($_aisdata, 283, 5)); |
|
166 | + $ro->eta_minute = bindec(substr($_aisdata, 288, 6)); |
|
167 | 167 | //$ro->draught = bindec(substr($_aisdata,294,8)); |
168 | - $ro->destination = $this->binchar($_aisdata,302,120); |
|
168 | + $ro->destination = $this->binchar($_aisdata, 302, 120); |
|
169 | 169 | $ro->cls = 1; // class A |
170 | 170 | } else if ($ro->id == 9) { |
171 | 171 | // Search and Rescue aircraft position report |
172 | 172 | } else if ($ro->id == 18) { |
173 | - $ro->cog = bindec(substr($_aisdata,112,12))/10; |
|
174 | - $ro->sog = bindec(substr($_aisdata,46,10))/10; |
|
175 | - $ro->lon = $this->make_lonf(bindec(substr($_aisdata,57,28))); |
|
176 | - $ro->lat = $this->make_latf(bindec(substr($_aisdata,85,27))); |
|
177 | - $ro->heading = bindec(substr($_aisdata,124,9)); |
|
173 | + $ro->cog = bindec(substr($_aisdata, 112, 12))/10; |
|
174 | + $ro->sog = bindec(substr($_aisdata, 46, 10))/10; |
|
175 | + $ro->lon = $this->make_lonf(bindec(substr($_aisdata, 57, 28))); |
|
176 | + $ro->lat = $this->make_latf(bindec(substr($_aisdata, 85, 27))); |
|
177 | + $ro->heading = bindec(substr($_aisdata, 124, 9)); |
|
178 | 178 | if ($ro->heading == 511) $ro->heading = ''; |
179 | 179 | $ro->cls = 2; // class B |
180 | 180 | } else if ($ro->id == 19) { |
181 | - $ro->cog = bindec(substr($_aisdata,112,12))/10; |
|
182 | - $ro->sog = bindec(substr($_aisdata,46,10))/10; |
|
183 | - $ro->lon = $this->make_lonf(bindec(substr($_aisdata,61,28))); |
|
184 | - $ro->lat = $this->make_latf(bindec(substr($_aisdata,89,27))); |
|
185 | - $ro->name = $this->binchar($_aisdata,143,120); |
|
181 | + $ro->cog = bindec(substr($_aisdata, 112, 12))/10; |
|
182 | + $ro->sog = bindec(substr($_aisdata, 46, 10))/10; |
|
183 | + $ro->lon = $this->make_lonf(bindec(substr($_aisdata, 61, 28))); |
|
184 | + $ro->lat = $this->make_latf(bindec(substr($_aisdata, 89, 27))); |
|
185 | + $ro->name = $this->binchar($_aisdata, 143, 120); |
|
186 | 186 | $ro->cls = 2; // class B |
187 | - $ro->heading = bindec(substr($_aisdata,124,9)); |
|
187 | + $ro->heading = bindec(substr($_aisdata, 124, 9)); |
|
188 | 188 | if ($ro->heading == 511) $ro->heading = ''; |
189 | - $ro->typeid = bindec(substr($_aisdata,263,8)); |
|
189 | + $ro->typeid = bindec(substr($_aisdata, 263, 8)); |
|
190 | 190 | $ro->type = $this->getShipType($ro->typeid); |
191 | 191 | //$ro->to_bow = bindec(substr($_aisdata,271,9)); |
192 | 192 | //$ro->to_stern = bindec(substr($_aisdata,280,9)); |
193 | 193 | //$ro->to_port = bindec(substr($_aisdata,289,6)); |
194 | 194 | //$ro->to_starboard = bindec(substr($_aisdata,295,6)); |
195 | 195 | } else if ($ro->id == 21) { |
196 | - $ro->lon = $this->make_lonf(bindec(substr($_aisdata,164,28))); |
|
197 | - $ro->lat = $this->make_latf(bindec(substr($_aisdata,192,27))); |
|
198 | - $ro->name = $this->binchar($_aisdata,43,120); |
|
196 | + $ro->lon = $this->make_lonf(bindec(substr($_aisdata, 164, 28))); |
|
197 | + $ro->lat = $this->make_latf(bindec(substr($_aisdata, 192, 27))); |
|
198 | + $ro->name = $this->binchar($_aisdata, 43, 120); |
|
199 | 199 | //$ro->to_bow = bindec(substr($_aisdata,219,9)); |
200 | 200 | //$ro->to_stern = bindec(substr($_aisdata,228,9)); |
201 | 201 | //$ro->to_port = bindec(substr($_aisdata,237,6)); |
202 | 202 | //$ro->to_starboard = bindec(substr($_aisdata,243,6)); |
203 | 203 | $ro->cls = 2; // class B |
204 | 204 | } else if ($ro->id == 24) { |
205 | - $pn = bindec(substr($_aisdata,38,2)); |
|
205 | + $pn = bindec(substr($_aisdata, 38, 2)); |
|
206 | 206 | if ($pn == 0) { |
207 | - $ro->name = $this->binchar($_aisdata,40,120); |
|
207 | + $ro->name = $this->binchar($_aisdata, 40, 120); |
|
208 | 208 | } |
209 | - $ro->typeid = bindec(substr($_aisdata,40,8)); |
|
209 | + $ro->typeid = bindec(substr($_aisdata, 40, 8)); |
|
210 | 210 | $ro->type = $this->getShipType($ro->typeid); |
211 | - $ro->callsign = $this->binchar($_aisdata,90,42); |
|
211 | + $ro->callsign = $this->binchar($_aisdata, 90, 42); |
|
212 | 212 | //$ro->to_bow = bindec(substr($_aisdata,132,9)); |
213 | 213 | //$ro->to_stern = bindec(substr($_aisdata,141,9)); |
214 | 214 | //$ro->to_port = bindec(substr($_aisdata,150,6)); |
215 | 215 | //$ro->to_starboard = bindec(substr($_aisdata,156,6)); |
216 | 216 | $ro->cls = 2; // class B |
217 | 217 | } else if ($ro->id == 27) { |
218 | - $ro->cog = bindec(substr($_aisdata,85,9)); |
|
218 | + $ro->cog = bindec(substr($_aisdata, 85, 9)); |
|
219 | 219 | if ($ro->cog == 511) $ro->cog = 0.0; |
220 | - $ro->sog = bindec(substr($_aisdata,79,6)); |
|
220 | + $ro->sog = bindec(substr($_aisdata, 79, 6)); |
|
221 | 221 | if ($ro->sog == 63) $ro->sog = 0.0; |
222 | - $ro->lon = $this->make_lonf(bindec(substr($_aisdata,44,18))*10); |
|
223 | - $ro->lat = $this->make_latf(bindec(substr($_aisdata,62,17))*10); |
|
222 | + $ro->lon = $this->make_lonf(bindec(substr($_aisdata, 44, 18))*10); |
|
223 | + $ro->lat = $this->make_latf(bindec(substr($_aisdata, 62, 17))*10); |
|
224 | 224 | $ro->cls = 1; // class A |
225 | 225 | |
226 | 226 | } |
227 | - $ro->statusid = bindec(substr($_aisdata,38,4)); |
|
227 | + $ro->statusid = bindec(substr($_aisdata, 38, 4)); |
|
228 | 228 | $ro->status = $this->getStatus($ro->statusid); |
229 | 229 | //var_dump($ro); // dump results here for demo purpose |
230 | 230 | return $ro; |
@@ -355,14 +355,14 @@ discard block |
||
355 | 355 | global $port; // tcpip port... |
356 | 356 | |
357 | 357 | static $debug_counter = 0; |
358 | - $aisdata168='';//six bit array of ascii characters |
|
358 | + $aisdata168 = ''; //six bit array of ascii characters |
|
359 | 359 | $ais_nmea_array = str_split($_itu); // convert to an array |
360 | 360 | foreach ($ais_nmea_array as $value) { |
361 | 361 | $dec = $this->ascii_2_dec($value); |
362 | 362 | $bit8 = $this->asciidec_2_8bit($dec); |
363 | 363 | $bit6 = $this->dec_2_6bit($bit8); |
364 | 364 | //echo $value ."-" .$bit6 .""; |
365 | - $aisdata168 .=$bit6; |
|
365 | + $aisdata168 .= $bit6; |
|
366 | 366 | } |
367 | 367 | //echo $aisdata168 . "<br/>"; |
368 | 368 | //return $this->decode_ais($aisdata168, $aux); |
@@ -385,20 +385,20 @@ discard block |
||
385 | 385 | // calculate checksum after ! till * |
386 | 386 | // assume 1st ! is valid |
387 | 387 | // find * ensure that it is at correct position |
388 | - $end = strrpos ( $rawdata , '*' ); |
|
388 | + $end = strrpos($rawdata, '*'); |
|
389 | 389 | if ($end === FALSE) return -1; // check for NULLS!!! |
390 | - $cs = substr( $rawdata, $end + 1 ); |
|
391 | - if ( strlen($cs) != 2 ) return -1; // correct cs length |
|
392 | - $dcs = (int)hexdec( $cs ); |
|
393 | - for ( $alias=1; $alias<$end; $alias++) $chksum ^= ord( $rawdata[$alias] ); // perform XOR for NMEA checksum |
|
394 | - if ( $chksum == $dcs ) { // NMEA checksum pass |
|
390 | + $cs = substr($rawdata, $end + 1); |
|
391 | + if (strlen($cs) != 2) return -1; // correct cs length |
|
392 | + $dcs = (int) hexdec($cs); |
|
393 | + for ($alias = 1; $alias < $end; $alias++) $chksum ^= ord($rawdata[$alias]); // perform XOR for NMEA checksum |
|
394 | + if ($chksum == $dcs) { // NMEA checksum pass |
|
395 | 395 | $pcs = explode(',', $rawdata); |
396 | 396 | // !AI??? identifier |
397 | - $num_seq = (int)$pcs[1]; // number of sequences |
|
398 | - $seq = (int)$pcs[2]; // get sequence |
|
397 | + $num_seq = (int) $pcs[1]; // number of sequences |
|
398 | + $seq = (int) $pcs[2]; // get sequence |
|
399 | 399 | // get msg sequence id |
400 | 400 | if ($pcs[3] == '') $msg_sid = -1; // non-multipart message, set to -1 |
401 | - else $msg_sid = (int)$pcs[3]; // multipart message |
|
401 | + else $msg_sid = (int) $pcs[3]; // multipart message |
|
402 | 402 | $ais_ch = $pcs[4]; // get AIS channel |
403 | 403 | // message sequence checking |
404 | 404 | if ($num_seq < 1 || $num_seq > 9) { |
@@ -431,7 +431,7 @@ discard block |
||
431 | 431 | } |
432 | 432 | } |
433 | 433 | $itu = $itu.$pcs[5]; // get itu message |
434 | - $filler += (int)$pcs[6][0]; // get filler |
|
434 | + $filler += (int) $pcs[6][0]; // get filler |
|
435 | 435 | if ($num_seq == 1 // valid single message |
436 | 436 | || $num_seq == $pseq // valid multi-part message |
437 | 437 | ) { |
@@ -451,13 +451,13 @@ discard block |
||
451 | 451 | $cbuf = $cbuf.$ibuf; |
452 | 452 | $last_pos = 0; |
453 | 453 | $result = new stdClass(); |
454 | - while ( ($start = strpos($cbuf,"VDM",$last_pos)) !== FALSE) { |
|
454 | + while (($start = strpos($cbuf, "VDM", $last_pos)) !== FALSE) { |
|
455 | 455 | //while ( ($start = strpos($cbuf,"!AI",$last_pos)) !== FALSE) { |
456 | 456 | //DEBUG echo $cbuf; |
457 | - if ( ($end = strpos($cbuf,"\r\n", $start)) !== FALSE) { //TBD need to trim? |
|
457 | + if (($end = strpos($cbuf, "\r\n", $start)) !== FALSE) { //TBD need to trim? |
|
458 | 458 | $tst = substr($cbuf, $start - 3, ($end - $start + 3)); |
459 | 459 | //DEBUG echo "[$start $end $tst]\n"; |
460 | - $result = $this->process_ais_raw( $tst, "" ); |
|
460 | + $result = $this->process_ais_raw($tst, ""); |
|
461 | 461 | $last_pos = $end + 1; |
462 | 462 | } else break; |
463 | 463 | } |
@@ -469,41 +469,41 @@ discard block |
||
469 | 469 | // incoming data from serial or IP comms |
470 | 470 | public function process_ais_line($cbuf) { |
471 | 471 | $result = new stdClass(); |
472 | - $start = strpos($cbuf,"VDM"); |
|
472 | + $start = strpos($cbuf, "VDM"); |
|
473 | 473 | $tst = substr($cbuf, $start - 3); |
474 | - $result = $this->process_ais_raw( $tst, "" ); |
|
474 | + $result = $this->process_ais_raw($tst, ""); |
|
475 | 475 | return $result; |
476 | 476 | } |
477 | 477 | |
478 | 478 | /* AIS Encoding |
479 | 479 | */ |
480 | - private function mk_ais_lat( $lat ) { |
|
480 | + private function mk_ais_lat($lat) { |
|
481 | 481 | //$lat = 1.2569; |
482 | - if ($lat<0.0) { |
|
482 | + if ($lat < 0.0) { |
|
483 | 483 | $lat = -$lat; |
484 | - $neg=true; |
|
485 | - } else $neg=false; |
|
484 | + $neg = true; |
|
485 | + } else $neg = false; |
|
486 | 486 | $latd = 0x00000000; |
487 | - $latd = intval ($lat * 600000.0); |
|
488 | - if ($neg==true) { |
|
487 | + $latd = intval($lat*600000.0); |
|
488 | + if ($neg == true) { |
|
489 | 489 | $latd = ~$latd; |
490 | - $latd+=1; |
|
490 | + $latd += 1; |
|
491 | 491 | $latd &= 0x07FFFFFF; |
492 | 492 | } |
493 | 493 | return $latd; |
494 | 494 | } |
495 | 495 | |
496 | - private function mk_ais_lon( $lon ) { |
|
496 | + private function mk_ais_lon($lon) { |
|
497 | 497 | //$lon = 103.851; |
498 | - if ($lon<0.0) { |
|
498 | + if ($lon < 0.0) { |
|
499 | 499 | $lon = -$lon; |
500 | - $neg=true; |
|
501 | - } else $neg=false; |
|
500 | + $neg = true; |
|
501 | + } else $neg = false; |
|
502 | 502 | $lond = 0x00000000; |
503 | - $lond = intval ($lon * 600000.0); |
|
504 | - if ($neg==true) { |
|
503 | + $lond = intval($lon*600000.0); |
|
504 | + if ($neg == true) { |
|
505 | 505 | $lond = ~$lond; |
506 | - $lond+=1; |
|
506 | + $lond += 1; |
|
507 | 507 | $lond &= 0x0FFFFFFF; |
508 | 508 | } |
509 | 509 | return $lond; |
@@ -511,8 +511,8 @@ discard block |
||
511 | 511 | |
512 | 512 | private function char2bin($name, $max_len) { |
513 | 513 | $len = strlen($name); |
514 | - if ($len > $max_len) $name = substr($name,0,$max_len); |
|
515 | - if ($len < $max_len) $pad = str_repeat('0', ($max_len - $len) * 6); |
|
514 | + if ($len > $max_len) $name = substr($name, 0, $max_len); |
|
515 | + if ($len < $max_len) $pad = str_repeat('0', ($max_len - $len)*6); |
|
516 | 516 | else $pad = ''; |
517 | 517 | $rv = ''; |
518 | 518 | $ais_chars = array( |
@@ -529,26 +529,26 @@ discard block |
||
529 | 529 | if ($_a) foreach ($_a as $_1) { |
530 | 530 | if (isset($ais_chars[$_1])) $dec = $ais_chars[$_1]; |
531 | 531 | else $dec = 0; |
532 | - $bin = str_pad(decbin( $dec ), 6, '0', STR_PAD_LEFT); |
|
532 | + $bin = str_pad(decbin($dec), 6, '0', STR_PAD_LEFT); |
|
533 | 533 | $rv .= $bin; |
534 | 534 | //echo "$_1 $dec ($bin)<br/>"; |
535 | 535 | } |
536 | 536 | return $rv.$pad; |
537 | 537 | } |
538 | 538 | |
539 | - private function mk_ais($_enc, $_part=1,$_total=1,$_seq='',$_ch='A') { |
|
539 | + private function mk_ais($_enc, $_part = 1, $_total = 1, $_seq = '', $_ch = 'A') { |
|
540 | 540 | $len_bit = strlen($_enc); |
541 | - $rem6 = $len_bit % 6; |
|
541 | + $rem6 = $len_bit%6; |
|
542 | 542 | $pad6_len = 0; |
543 | 543 | if ($rem6) $pad6_len = 6 - $rem6; |
544 | 544 | //echo $pad6_len.'<br>'; |
545 | 545 | $_enc .= str_repeat("0", $pad6_len); // pad the text... |
546 | - $len_enc = strlen($_enc) / 6; |
|
546 | + $len_enc = strlen($_enc)/6; |
|
547 | 547 | //echo $_enc.' '.$len_enc.'<br/>'; |
548 | 548 | $itu = ''; |
549 | - for ($i=0; $i<$len_enc; $i++) { |
|
550 | - $offset = $i * 6; |
|
551 | - $dec = bindec(substr($_enc,$offset,6)); |
|
549 | + for ($i = 0; $i < $len_enc; $i++) { |
|
550 | + $offset = $i*6; |
|
551 | + $dec = bindec(substr($_enc, $offset, 6)); |
|
552 | 552 | if ($dec < 40) $dec += 48; |
553 | 553 | else $dec += 56; |
554 | 554 | //echo chr($dec)." $dec<br/>"; |
@@ -558,15 +558,15 @@ discard block |
||
558 | 558 | $chksum = 0; |
559 | 559 | $itu = "AIVDM,$_part,$_total,$_seq,$_ch,".$itu.",0"; |
560 | 560 | $len_itu = strlen($itu); |
561 | - for ($i=0; $i<$len_itu; $i++) { |
|
562 | - $chksum ^= ord( $itu[$i] ); |
|
561 | + for ($i = 0; $i < $len_itu; $i++) { |
|
562 | + $chksum ^= ord($itu[$i]); |
|
563 | 563 | } |
564 | - $hex_arr = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'); |
|
565 | - $lsb = $chksum & 0x0F; |
|
566 | - if ($lsb >=0 && $lsb <= 15 ) $lsbc = $hex_arr[$lsb]; |
|
564 | + $hex_arr = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'); |
|
565 | + $lsb = $chksum&0x0F; |
|
566 | + if ($lsb >= 0 && $lsb <= 15) $lsbc = $hex_arr[$lsb]; |
|
567 | 567 | else $lsbc = '0'; |
568 | - $msb = (($chksum & 0xF0) >> 4) & 0x0F; |
|
569 | - if ($msb >=0 && $msb <= 15 ) $msbc = $hex_arr[$msb]; |
|
568 | + $msb = (($chksum&0xF0) >> 4)&0x0F; |
|
569 | + if ($msb >= 0 && $msb <= 15) $msbc = $hex_arr[$msb]; |
|
570 | 570 | else $msbc = '0'; |
571 | 571 | $itu = '!'.$itu."*{$msbc}{$lsbc}\r\n"; |
572 | 572 | return $itu; |
@@ -591,14 +591,14 @@ discard block |
||
591 | 591 | |
592 | 592 | public function mmsitype($mmsi) { |
593 | 593 | if (strlen($mmsi) == 9) { |
594 | - if (substr($mmsi,0,3) == '974') return 'EPIRB (Emergency Position Indicating Radio Beacon) AIS'; |
|
595 | - elseif (substr($mmsi,0,3) == '972') return 'MOB (Man Overboard) device'; |
|
596 | - elseif (substr($mmsi,0,3) == '970') return 'AIS SART (Search and Rescue Transmitter)'; |
|
597 | - elseif (substr($mmsi,0,3) == '111') return 'SAR (Search and Rescue) aircraft'; |
|
598 | - elseif (substr($mmsi,0,2) == '98') return 'Auxiliary craft associated with a parent ship'; |
|
599 | - elseif (substr($mmsi,0,2) == '99') return 'Aids to Navigation'; |
|
600 | - elseif (substr($mmsi,0,2) == '00') return 'Coastal stations'; |
|
601 | - elseif (substr($mmsi,0,1) == '0') return 'Group of ships'; |
|
594 | + if (substr($mmsi, 0, 3) == '974') return 'EPIRB (Emergency Position Indicating Radio Beacon) AIS'; |
|
595 | + elseif (substr($mmsi, 0, 3) == '972') return 'MOB (Man Overboard) device'; |
|
596 | + elseif (substr($mmsi, 0, 3) == '970') return 'AIS SART (Search and Rescue Transmitter)'; |
|
597 | + elseif (substr($mmsi, 0, 3) == '111') return 'SAR (Search and Rescue) aircraft'; |
|
598 | + elseif (substr($mmsi, 0, 2) == '98') return 'Auxiliary craft associated with a parent ship'; |
|
599 | + elseif (substr($mmsi, 0, 2) == '99') return 'Aids to Navigation'; |
|
600 | + elseif (substr($mmsi, 0, 2) == '00') return 'Coastal stations'; |
|
601 | + elseif (substr($mmsi, 0, 1) == '0') return 'Group of ships'; |
|
602 | 602 | else return 'Ship'; |
603 | 603 | } |
604 | 604 | |
@@ -609,19 +609,19 @@ discard block |
||
609 | 609 | global $globalDebug; |
610 | 610 | $result = array(); |
611 | 611 | $data = new stdClass(); |
612 | - $start = strpos($buffer,"VDM"); |
|
612 | + $start = strpos($buffer, "VDM"); |
|
613 | 613 | $tst = substr($buffer, $start - 3); |
614 | - $data = $this->process_ais_raw( $tst, "" ); |
|
614 | + $data = $this->process_ais_raw($tst, ""); |
|
615 | 615 | if (!is_object($data)) { |
616 | 616 | //if ($globalDebug) echo '==== Line format not supported : '.$buffer."\n"; |
617 | 617 | return array(); |
618 | 618 | } |
619 | 619 | if ($data->lon != 0) $result['longitude'] = $data->lon; |
620 | 620 | if ($data->lat != 0) $result['latitude'] = $data->lat; |
621 | - $result['ident'] = trim(str_replace('@','',$data->name)); |
|
621 | + $result['ident'] = trim(str_replace('@', '', $data->name)); |
|
622 | 622 | $result['timestamp'] = $data->ts; |
623 | 623 | $result['mmsi'] = $data->mmsi; |
624 | - if (strlen($result['mmsi']) == 8 && substr($result['mmsi'],0,3) == '669') $result['mmsi'] = '3'.$result['mmsi']; |
|
624 | + if (strlen($result['mmsi']) == 8 && substr($result['mmsi'], 0, 3) == '669') $result['mmsi'] = '3'.$result['mmsi']; |
|
625 | 625 | $result['mmsi_type'] = $this->mmsitype($result['mmsi']); |
626 | 626 | if ($data->sog != -1.0) $result['speed'] = $data->sog; |
627 | 627 | if ($data->heading != '') $result['heading'] = $data->heading; |
@@ -35,7 +35,9 @@ discard block |
||
35 | 35 | $temp += 1; |
36 | 36 | $flat = (float)($temp / (60.0 * 10000.0)); |
37 | 37 | $flat *= -1.0; |
38 | - } else $flat = (float)($temp / (60.0 * 10000.0)); |
|
38 | + } else { |
|
39 | + $flat = (float)($temp / (60.0 * 10000.0)); |
|
40 | + } |
|
39 | 41 | return $flat; // float |
40 | 42 | } |
41 | 43 | |
@@ -47,7 +49,9 @@ discard block |
||
47 | 49 | $temp += 1; |
48 | 50 | $flon = (float)($temp / (60.0 * 10000.0)); |
49 | 51 | $flon *= -1.0; |
50 | - } else $flon = (float)($temp / (60.0 * 10000.0)); |
|
52 | + } else { |
|
53 | + $flon = (float)($temp / (60.0 * 10000.0)); |
|
54 | + } |
|
51 | 55 | return $flon; |
52 | 56 | } |
53 | 57 | |
@@ -70,10 +74,8 @@ discard block |
||
70 | 74 | */ |
71 | 75 | private function asciidec_2_8bit($ascii) { |
72 | 76 | //only process in the following range: 48-87, 96-119 |
73 | - if ($ascii < 48) { } |
|
74 | - else { |
|
75 | - if($ascii>119) { } |
|
76 | - else { |
|
77 | + if ($ascii < 48) { } else { |
|
78 | + if($ascii>119) { } else { |
|
77 | 79 | if ($ascii>87 && $ascii<96) ; |
78 | 80 | else { |
79 | 81 | $ascii=$ascii+40; |
@@ -175,7 +177,9 @@ discard block |
||
175 | 177 | $ro->lon = $this->make_lonf(bindec(substr($_aisdata,57,28))); |
176 | 178 | $ro->lat = $this->make_latf(bindec(substr($_aisdata,85,27))); |
177 | 179 | $ro->heading = bindec(substr($_aisdata,124,9)); |
178 | - if ($ro->heading == 511) $ro->heading = ''; |
|
180 | + if ($ro->heading == 511) { |
|
181 | + $ro->heading = ''; |
|
182 | + } |
|
179 | 183 | $ro->cls = 2; // class B |
180 | 184 | } else if ($ro->id == 19) { |
181 | 185 | $ro->cog = bindec(substr($_aisdata,112,12))/10; |
@@ -185,7 +189,9 @@ discard block |
||
185 | 189 | $ro->name = $this->binchar($_aisdata,143,120); |
186 | 190 | $ro->cls = 2; // class B |
187 | 191 | $ro->heading = bindec(substr($_aisdata,124,9)); |
188 | - if ($ro->heading == 511) $ro->heading = ''; |
|
192 | + if ($ro->heading == 511) { |
|
193 | + $ro->heading = ''; |
|
194 | + } |
|
189 | 195 | $ro->typeid = bindec(substr($_aisdata,263,8)); |
190 | 196 | $ro->type = $this->getShipType($ro->typeid); |
191 | 197 | //$ro->to_bow = bindec(substr($_aisdata,271,9)); |
@@ -216,9 +222,13 @@ discard block |
||
216 | 222 | $ro->cls = 2; // class B |
217 | 223 | } else if ($ro->id == 27) { |
218 | 224 | $ro->cog = bindec(substr($_aisdata,85,9)); |
219 | - if ($ro->cog == 511) $ro->cog = 0.0; |
|
225 | + if ($ro->cog == 511) { |
|
226 | + $ro->cog = 0.0; |
|
227 | + } |
|
220 | 228 | $ro->sog = bindec(substr($_aisdata,79,6)); |
221 | - if ($ro->sog == 63) $ro->sog = 0.0; |
|
229 | + if ($ro->sog == 63) { |
|
230 | + $ro->sog = 0.0; |
|
231 | + } |
|
222 | 232 | $ro->lon = $this->make_lonf(bindec(substr($_aisdata,44,18))*10); |
223 | 233 | $ro->lat = $this->make_latf(bindec(substr($_aisdata,62,17))*10); |
224 | 234 | $ro->cls = 1; // class A |
@@ -267,88 +277,171 @@ discard block |
||
267 | 277 | } |
268 | 278 | |
269 | 279 | public function getShipType($code) { |
270 | - if ($code == 0) return 'Not available (default)'; |
|
271 | - elseif ($code >= 1 && $code <= 19) return 'Reserved for future use'; |
|
272 | - elseif ($code == 20) return 'Wing in ground (WIG), all ships of this type'; |
|
273 | - elseif ($code == 21) return 'Wing in ground (WIG), Hazardous category A'; |
|
274 | - elseif ($code == 22) return 'Wing in ground (WIG), Hazardous category B'; |
|
275 | - elseif ($code == 23) return 'Wing in ground (WIG), Hazardous category C'; |
|
276 | - elseif ($code == 24) return 'Wing in ground (WIG), Hazardous category D'; |
|
277 | - elseif ($code == 25) return 'Wing in ground (WIG), Reserved for future use'; |
|
278 | - elseif ($code == 26) return 'Wing in ground (WIG), Reserved for future use'; |
|
279 | - elseif ($code == 27) return 'Wing in ground (WIG), Reserved for future use'; |
|
280 | - elseif ($code == 28) return 'Wing in ground (WIG), Reserved for future use'; |
|
281 | - elseif ($code == 29) return 'Wing in ground (WIG), Reserved for future use'; |
|
282 | - elseif ($code == 30) return 'Fishing'; |
|
283 | - elseif ($code == 31) return 'Towing'; |
|
284 | - elseif ($code == 32) return 'Towing: length exceeds 200m or breadth exceeds 25m'; |
|
285 | - elseif ($code == 33) return 'Dredging or underwater ops'; |
|
286 | - elseif ($code == 34) return 'Diving ops'; |
|
287 | - elseif ($code == 35) return 'Military ops'; |
|
288 | - elseif ($code == 36) return 'Sailing'; |
|
289 | - elseif ($code == 37) return 'Pleasure Craft'; |
|
290 | - elseif ($code == 38) return 'Reserved'; |
|
291 | - elseif ($code == 39) return 'Reserved'; |
|
292 | - elseif ($code == 40) return 'High speed craft (HSC), all ships of this type'; |
|
293 | - elseif ($code == 41) return 'High speed craft (HSC), Hazardous category A'; |
|
294 | - elseif ($code == 42) return 'High speed craft (HSC), Hazardous category B'; |
|
295 | - elseif ($code == 43) return 'High speed craft (HSC), Hazardous category C'; |
|
296 | - elseif ($code == 44) return 'High speed craft (HSC), Hazardous category D'; |
|
297 | - elseif ($code == 45) return 'High speed craft (HSC), Reserved for future use'; |
|
298 | - elseif ($code == 46) return 'High speed craft (HSC), Reserved for future use'; |
|
299 | - elseif ($code == 47) return 'High speed craft (HSC), Reserved for future use'; |
|
300 | - elseif ($code == 48) return 'High speed craft (HSC), Reserved for future use'; |
|
301 | - elseif ($code == 49) return 'High speed craft (HSC), No additional information'; |
|
302 | - elseif ($code == 50) return 'Pilot Vessel'; |
|
303 | - elseif ($code == 51) return 'Search and Rescue vessel'; |
|
304 | - elseif ($code == 52) return 'Tug'; |
|
305 | - elseif ($code == 53) return 'Port Tender'; |
|
306 | - elseif ($code == 54) return 'Anti-pollution equipment'; |
|
307 | - elseif ($code == 55) return 'Law Enforcement'; |
|
308 | - elseif ($code == 56) return 'Spare - Local Vessel'; |
|
309 | - elseif ($code == 57) return 'Spare - Local Vessel'; |
|
310 | - elseif ($code == 58) return 'Medical Transport'; |
|
311 | - elseif ($code == 59) return 'Noncombatant ship according to RR Resolution No. 18'; |
|
312 | - elseif ($code == 60) return 'Passenger, all ships of this type'; |
|
313 | - elseif ($code == 61) return 'Passenger, Hazardous category A'; |
|
314 | - elseif ($code == 62) return 'Passenger, Hazardous category B'; |
|
315 | - elseif ($code == 63) return 'Passenger, Hazardous category C'; |
|
316 | - elseif ($code == 64) return 'Passenger, Hazardous category D'; |
|
317 | - elseif ($code == 65) return 'Passenger, Reserved for future use'; |
|
318 | - elseif ($code == 66) return 'Passenger, Reserved for future use'; |
|
319 | - elseif ($code == 67) return 'Passenger, Reserved for future use'; |
|
320 | - elseif ($code == 68) return 'Passenger, Reserved for future use'; |
|
321 | - elseif ($code == 69) return 'Passenger, No additional information'; |
|
322 | - elseif ($code == 70) return 'Cargo, all ships of this type'; |
|
323 | - elseif ($code == 71) return 'Cargo, Hazardous category A'; |
|
324 | - elseif ($code == 72) return 'Cargo, Hazardous category B'; |
|
325 | - elseif ($code == 73) return 'Cargo, Hazardous category C'; |
|
326 | - elseif ($code == 74) return 'Cargo, Hazardous category D'; |
|
327 | - elseif ($code == 75) return 'Cargo, Reserved for future use'; |
|
328 | - elseif ($code == 76) return 'Cargo, Reserved for future use'; |
|
329 | - elseif ($code == 77) return 'Cargo, Reserved for future use'; |
|
330 | - elseif ($code == 78) return 'Cargo, Reserved for future use'; |
|
331 | - elseif ($code == 79) return 'Cargo, No additional information'; |
|
332 | - elseif ($code == 80) return 'Tanker, all ships of this type'; |
|
333 | - elseif ($code == 81) return 'Tanker, Hazardous category A'; |
|
334 | - elseif ($code == 82) return 'Tanker, Hazardous category B'; |
|
335 | - elseif ($code == 83) return 'Tanker, Hazardous category C'; |
|
336 | - elseif ($code == 84) return 'Tanker, Hazardous category D'; |
|
337 | - elseif ($code == 85) return 'Tanker, Reserved for future use'; |
|
338 | - elseif ($code == 86) return 'Tanker, Reserved for future use'; |
|
339 | - elseif ($code == 87) return 'Tanker, Reserved for future use'; |
|
340 | - elseif ($code == 88) return 'Tanker, Reserved for future use'; |
|
341 | - elseif ($code == 89) return 'Tanker, No additional information'; |
|
342 | - elseif ($code == 90) return 'Other Type, all ships of this type'; |
|
343 | - elseif ($code == 91) return 'Other Type, Hazardous category A'; |
|
344 | - elseif ($code == 92) return 'Other Type, Hazardous category B'; |
|
345 | - elseif ($code == 93) return 'Other Type, Hazardous category C'; |
|
346 | - elseif ($code == 94) return 'Other Type, Hazardous category D'; |
|
347 | - elseif ($code == 95) return 'Other Type, Reserved for future use'; |
|
348 | - elseif ($code == 96) return 'Other Type, Reserved for future use'; |
|
349 | - elseif ($code == 97) return 'Other Type, Reserved for future use'; |
|
350 | - elseif ($code == 98) return 'Other Type, Reserved for future use'; |
|
351 | - elseif ($code == 99) return 'Other Type, no additional information'; |
|
280 | + if ($code == 0) { |
|
281 | + return 'Not available (default)'; |
|
282 | + } elseif ($code >= 1 && $code <= 19) { |
|
283 | + return 'Reserved for future use'; |
|
284 | + } elseif ($code == 20) { |
|
285 | + return 'Wing in ground (WIG), all ships of this type'; |
|
286 | + } elseif ($code == 21) { |
|
287 | + return 'Wing in ground (WIG), Hazardous category A'; |
|
288 | + } elseif ($code == 22) { |
|
289 | + return 'Wing in ground (WIG), Hazardous category B'; |
|
290 | + } elseif ($code == 23) { |
|
291 | + return 'Wing in ground (WIG), Hazardous category C'; |
|
292 | + } elseif ($code == 24) { |
|
293 | + return 'Wing in ground (WIG), Hazardous category D'; |
|
294 | + } elseif ($code == 25) { |
|
295 | + return 'Wing in ground (WIG), Reserved for future use'; |
|
296 | + } elseif ($code == 26) { |
|
297 | + return 'Wing in ground (WIG), Reserved for future use'; |
|
298 | + } elseif ($code == 27) { |
|
299 | + return 'Wing in ground (WIG), Reserved for future use'; |
|
300 | + } elseif ($code == 28) { |
|
301 | + return 'Wing in ground (WIG), Reserved for future use'; |
|
302 | + } elseif ($code == 29) { |
|
303 | + return 'Wing in ground (WIG), Reserved for future use'; |
|
304 | + } elseif ($code == 30) { |
|
305 | + return 'Fishing'; |
|
306 | + } elseif ($code == 31) { |
|
307 | + return 'Towing'; |
|
308 | + } elseif ($code == 32) { |
|
309 | + return 'Towing: length exceeds 200m or breadth exceeds 25m'; |
|
310 | + } elseif ($code == 33) { |
|
311 | + return 'Dredging or underwater ops'; |
|
312 | + } elseif ($code == 34) { |
|
313 | + return 'Diving ops'; |
|
314 | + } elseif ($code == 35) { |
|
315 | + return 'Military ops'; |
|
316 | + } elseif ($code == 36) { |
|
317 | + return 'Sailing'; |
|
318 | + } elseif ($code == 37) { |
|
319 | + return 'Pleasure Craft'; |
|
320 | + } elseif ($code == 38) { |
|
321 | + return 'Reserved'; |
|
322 | + } elseif ($code == 39) { |
|
323 | + return 'Reserved'; |
|
324 | + } elseif ($code == 40) { |
|
325 | + return 'High speed craft (HSC), all ships of this type'; |
|
326 | + } elseif ($code == 41) { |
|
327 | + return 'High speed craft (HSC), Hazardous category A'; |
|
328 | + } elseif ($code == 42) { |
|
329 | + return 'High speed craft (HSC), Hazardous category B'; |
|
330 | + } elseif ($code == 43) { |
|
331 | + return 'High speed craft (HSC), Hazardous category C'; |
|
332 | + } elseif ($code == 44) { |
|
333 | + return 'High speed craft (HSC), Hazardous category D'; |
|
334 | + } elseif ($code == 45) { |
|
335 | + return 'High speed craft (HSC), Reserved for future use'; |
|
336 | + } elseif ($code == 46) { |
|
337 | + return 'High speed craft (HSC), Reserved for future use'; |
|
338 | + } elseif ($code == 47) { |
|
339 | + return 'High speed craft (HSC), Reserved for future use'; |
|
340 | + } elseif ($code == 48) { |
|
341 | + return 'High speed craft (HSC), Reserved for future use'; |
|
342 | + } elseif ($code == 49) { |
|
343 | + return 'High speed craft (HSC), No additional information'; |
|
344 | + } elseif ($code == 50) { |
|
345 | + return 'Pilot Vessel'; |
|
346 | + } elseif ($code == 51) { |
|
347 | + return 'Search and Rescue vessel'; |
|
348 | + } elseif ($code == 52) { |
|
349 | + return 'Tug'; |
|
350 | + } elseif ($code == 53) { |
|
351 | + return 'Port Tender'; |
|
352 | + } elseif ($code == 54) { |
|
353 | + return 'Anti-pollution equipment'; |
|
354 | + } elseif ($code == 55) { |
|
355 | + return 'Law Enforcement'; |
|
356 | + } elseif ($code == 56) { |
|
357 | + return 'Spare - Local Vessel'; |
|
358 | + } elseif ($code == 57) { |
|
359 | + return 'Spare - Local Vessel'; |
|
360 | + } elseif ($code == 58) { |
|
361 | + return 'Medical Transport'; |
|
362 | + } elseif ($code == 59) { |
|
363 | + return 'Noncombatant ship according to RR Resolution No. 18'; |
|
364 | + } elseif ($code == 60) { |
|
365 | + return 'Passenger, all ships of this type'; |
|
366 | + } elseif ($code == 61) { |
|
367 | + return 'Passenger, Hazardous category A'; |
|
368 | + } elseif ($code == 62) { |
|
369 | + return 'Passenger, Hazardous category B'; |
|
370 | + } elseif ($code == 63) { |
|
371 | + return 'Passenger, Hazardous category C'; |
|
372 | + } elseif ($code == 64) { |
|
373 | + return 'Passenger, Hazardous category D'; |
|
374 | + } elseif ($code == 65) { |
|
375 | + return 'Passenger, Reserved for future use'; |
|
376 | + } elseif ($code == 66) { |
|
377 | + return 'Passenger, Reserved for future use'; |
|
378 | + } elseif ($code == 67) { |
|
379 | + return 'Passenger, Reserved for future use'; |
|
380 | + } elseif ($code == 68) { |
|
381 | + return 'Passenger, Reserved for future use'; |
|
382 | + } elseif ($code == 69) { |
|
383 | + return 'Passenger, No additional information'; |
|
384 | + } elseif ($code == 70) { |
|
385 | + return 'Cargo, all ships of this type'; |
|
386 | + } elseif ($code == 71) { |
|
387 | + return 'Cargo, Hazardous category A'; |
|
388 | + } elseif ($code == 72) { |
|
389 | + return 'Cargo, Hazardous category B'; |
|
390 | + } elseif ($code == 73) { |
|
391 | + return 'Cargo, Hazardous category C'; |
|
392 | + } elseif ($code == 74) { |
|
393 | + return 'Cargo, Hazardous category D'; |
|
394 | + } elseif ($code == 75) { |
|
395 | + return 'Cargo, Reserved for future use'; |
|
396 | + } elseif ($code == 76) { |
|
397 | + return 'Cargo, Reserved for future use'; |
|
398 | + } elseif ($code == 77) { |
|
399 | + return 'Cargo, Reserved for future use'; |
|
400 | + } elseif ($code == 78) { |
|
401 | + return 'Cargo, Reserved for future use'; |
|
402 | + } elseif ($code == 79) { |
|
403 | + return 'Cargo, No additional information'; |
|
404 | + } elseif ($code == 80) { |
|
405 | + return 'Tanker, all ships of this type'; |
|
406 | + } elseif ($code == 81) { |
|
407 | + return 'Tanker, Hazardous category A'; |
|
408 | + } elseif ($code == 82) { |
|
409 | + return 'Tanker, Hazardous category B'; |
|
410 | + } elseif ($code == 83) { |
|
411 | + return 'Tanker, Hazardous category C'; |
|
412 | + } elseif ($code == 84) { |
|
413 | + return 'Tanker, Hazardous category D'; |
|
414 | + } elseif ($code == 85) { |
|
415 | + return 'Tanker, Reserved for future use'; |
|
416 | + } elseif ($code == 86) { |
|
417 | + return 'Tanker, Reserved for future use'; |
|
418 | + } elseif ($code == 87) { |
|
419 | + return 'Tanker, Reserved for future use'; |
|
420 | + } elseif ($code == 88) { |
|
421 | + return 'Tanker, Reserved for future use'; |
|
422 | + } elseif ($code == 89) { |
|
423 | + return 'Tanker, No additional information'; |
|
424 | + } elseif ($code == 90) { |
|
425 | + return 'Other Type, all ships of this type'; |
|
426 | + } elseif ($code == 91) { |
|
427 | + return 'Other Type, Hazardous category A'; |
|
428 | + } elseif ($code == 92) { |
|
429 | + return 'Other Type, Hazardous category B'; |
|
430 | + } elseif ($code == 93) { |
|
431 | + return 'Other Type, Hazardous category C'; |
|
432 | + } elseif ($code == 94) { |
|
433 | + return 'Other Type, Hazardous category D'; |
|
434 | + } elseif ($code == 95) { |
|
435 | + return 'Other Type, Reserved for future use'; |
|
436 | + } elseif ($code == 96) { |
|
437 | + return 'Other Type, Reserved for future use'; |
|
438 | + } elseif ($code == 97) { |
|
439 | + return 'Other Type, Reserved for future use'; |
|
440 | + } elseif ($code == 98) { |
|
441 | + return 'Other Type, Reserved for future use'; |
|
442 | + } elseif ($code == 99) { |
|
443 | + return 'Other Type, no additional information'; |
|
444 | + } |
|
352 | 445 | } |
353 | 446 | |
354 | 447 | public function process_ais_itu($_itu, $_len, $_filler, $aux /*, $ais_ch*/) { |
@@ -386,19 +479,34 @@ discard block |
||
386 | 479 | // assume 1st ! is valid |
387 | 480 | // find * ensure that it is at correct position |
388 | 481 | $end = strrpos ( $rawdata , '*' ); |
389 | - if ($end === FALSE) return -1; // check for NULLS!!! |
|
482 | + if ($end === FALSE) { |
|
483 | + return -1; |
|
484 | + } |
|
485 | + // check for NULLS!!! |
|
390 | 486 | $cs = substr( $rawdata, $end + 1 ); |
391 | - if ( strlen($cs) != 2 ) return -1; // correct cs length |
|
487 | + if ( strlen($cs) != 2 ) { |
|
488 | + return -1; |
|
489 | + } |
|
490 | + // correct cs length |
|
392 | 491 | $dcs = (int)hexdec( $cs ); |
393 | - for ( $alias=1; $alias<$end; $alias++) $chksum ^= ord( $rawdata[$alias] ); // perform XOR for NMEA checksum |
|
492 | + for ( $alias=1; $alias<$end; $alias++) { |
|
493 | + $chksum ^= ord( $rawdata[$alias] ); |
|
494 | + } |
|
495 | + // perform XOR for NMEA checksum |
|
394 | 496 | if ( $chksum == $dcs ) { // NMEA checksum pass |
395 | 497 | $pcs = explode(',', $rawdata); |
396 | 498 | // !AI??? identifier |
397 | 499 | $num_seq = (int)$pcs[1]; // number of sequences |
398 | 500 | $seq = (int)$pcs[2]; // get sequence |
399 | 501 | // get msg sequence id |
400 | - if ($pcs[3] == '') $msg_sid = -1; // non-multipart message, set to -1 |
|
401 | - else $msg_sid = (int)$pcs[3]; // multipart message |
|
502 | + if ($pcs[3] == '') { |
|
503 | + $msg_sid = -1; |
|
504 | + } |
|
505 | + // non-multipart message, set to -1 |
|
506 | + else { |
|
507 | + $msg_sid = (int)$pcs[3]; |
|
508 | + } |
|
509 | + // multipart message |
|
402 | 510 | $ais_ch = $pcs[4]; // get AIS channel |
403 | 511 | // message sequence checking |
404 | 512 | if ($num_seq < 1 || $num_seq > 9) { |
@@ -459,10 +567,18 @@ discard block |
||
459 | 567 | //DEBUG echo "[$start $end $tst]\n"; |
460 | 568 | $result = $this->process_ais_raw( $tst, "" ); |
461 | 569 | $last_pos = $end + 1; |
462 | - } else break; |
|
570 | + } else { |
|
571 | + break; |
|
572 | + } |
|
573 | + } |
|
574 | + if ($last_pos > 0) { |
|
575 | + $cbuf = substr($cbuf, $last_pos); |
|
463 | 576 | } |
464 | - if ($last_pos > 0) $cbuf = substr($cbuf, $last_pos); // move... |
|
465 | - if (strlen($cbuf) > 1024) $cbuf = ""; // prevent overflow simple mode... |
|
577 | + // move... |
|
578 | + if (strlen($cbuf) > 1024) { |
|
579 | + $cbuf = ""; |
|
580 | + } |
|
581 | + // prevent overflow simple mode... |
|
466 | 582 | return $result; |
467 | 583 | } |
468 | 584 | |
@@ -482,7 +598,9 @@ discard block |
||
482 | 598 | if ($lat<0.0) { |
483 | 599 | $lat = -$lat; |
484 | 600 | $neg=true; |
485 | - } else $neg=false; |
|
601 | + } else { |
|
602 | + $neg=false; |
|
603 | + } |
|
486 | 604 | $latd = 0x00000000; |
487 | 605 | $latd = intval ($lat * 600000.0); |
488 | 606 | if ($neg==true) { |
@@ -498,7 +616,9 @@ discard block |
||
498 | 616 | if ($lon<0.0) { |
499 | 617 | $lon = -$lon; |
500 | 618 | $neg=true; |
501 | - } else $neg=false; |
|
619 | + } else { |
|
620 | + $neg=false; |
|
621 | + } |
|
502 | 622 | $lond = 0x00000000; |
503 | 623 | $lond = intval ($lon * 600000.0); |
504 | 624 | if ($neg==true) { |
@@ -511,9 +631,14 @@ discard block |
||
511 | 631 | |
512 | 632 | private function char2bin($name, $max_len) { |
513 | 633 | $len = strlen($name); |
514 | - if ($len > $max_len) $name = substr($name,0,$max_len); |
|
515 | - if ($len < $max_len) $pad = str_repeat('0', ($max_len - $len) * 6); |
|
516 | - else $pad = ''; |
|
634 | + if ($len > $max_len) { |
|
635 | + $name = substr($name,0,$max_len); |
|
636 | + } |
|
637 | + if ($len < $max_len) { |
|
638 | + $pad = str_repeat('0', ($max_len - $len) * 6); |
|
639 | + } else { |
|
640 | + $pad = ''; |
|
641 | + } |
|
517 | 642 | $rv = ''; |
518 | 643 | $ais_chars = array( |
519 | 644 | '@'=>0, 'A'=>1, 'B'=>2, 'C'=>3, 'D'=>4, 'E'=>5, 'F'=>6, 'G'=>7, 'H'=>8, 'I'=>9, |
@@ -526,9 +651,12 @@ discard block |
||
526 | 651 | ); |
527 | 652 | // " |
528 | 653 | $_a = str_split($name); |
529 | - if ($_a) foreach ($_a as $_1) { |
|
654 | + if ($_a) { |
|
655 | + foreach ($_a as $_1) { |
|
530 | 656 | if (isset($ais_chars[$_1])) $dec = $ais_chars[$_1]; |
531 | - else $dec = 0; |
|
657 | + } else { |
|
658 | + $dec = 0; |
|
659 | + } |
|
532 | 660 | $bin = str_pad(decbin( $dec ), 6, '0', STR_PAD_LEFT); |
533 | 661 | $rv .= $bin; |
534 | 662 | //echo "$_1 $dec ($bin)<br/>"; |
@@ -540,7 +668,9 @@ discard block |
||
540 | 668 | $len_bit = strlen($_enc); |
541 | 669 | $rem6 = $len_bit % 6; |
542 | 670 | $pad6_len = 0; |
543 | - if ($rem6) $pad6_len = 6 - $rem6; |
|
671 | + if ($rem6) { |
|
672 | + $pad6_len = 6 - $rem6; |
|
673 | + } |
|
544 | 674 | //echo $pad6_len.'<br>'; |
545 | 675 | $_enc .= str_repeat("0", $pad6_len); // pad the text... |
546 | 676 | $len_enc = strlen($_enc) / 6; |
@@ -549,8 +679,11 @@ discard block |
||
549 | 679 | for ($i=0; $i<$len_enc; $i++) { |
550 | 680 | $offset = $i * 6; |
551 | 681 | $dec = bindec(substr($_enc,$offset,6)); |
552 | - if ($dec < 40) $dec += 48; |
|
553 | - else $dec += 56; |
|
682 | + if ($dec < 40) { |
|
683 | + $dec += 48; |
|
684 | + } else { |
|
685 | + $dec += 56; |
|
686 | + } |
|
554 | 687 | //echo chr($dec)." $dec<br/>"; |
555 | 688 | $itu .= chr($dec); |
556 | 689 | } |
@@ -563,25 +696,41 @@ discard block |
||
563 | 696 | } |
564 | 697 | $hex_arr = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'); |
565 | 698 | $lsb = $chksum & 0x0F; |
566 | - if ($lsb >=0 && $lsb <= 15 ) $lsbc = $hex_arr[$lsb]; |
|
567 | - else $lsbc = '0'; |
|
699 | + if ($lsb >=0 && $lsb <= 15 ) { |
|
700 | + $lsbc = $hex_arr[$lsb]; |
|
701 | + } else { |
|
702 | + $lsbc = '0'; |
|
703 | + } |
|
568 | 704 | $msb = (($chksum & 0xF0) >> 4) & 0x0F; |
569 | - if ($msb >=0 && $msb <= 15 ) $msbc = $hex_arr[$msb]; |
|
570 | - else $msbc = '0'; |
|
705 | + if ($msb >=0 && $msb <= 15 ) { |
|
706 | + $msbc = $hex_arr[$msb]; |
|
707 | + } else { |
|
708 | + $msbc = '0'; |
|
709 | + } |
|
571 | 710 | $itu = '!'.$itu."*{$msbc}{$lsbc}\r\n"; |
572 | 711 | return $itu; |
573 | 712 | } |
574 | 713 | |
575 | 714 | public function parse($buffer) { |
576 | 715 | $data = $this->process_ais_buf($buffer); |
577 | - if (!is_object($data)) return array(); |
|
578 | - if ($data->lon != 0) $result['longitude'] = $data->lon; |
|
579 | - if ($data->lat != 0) $result['latitude'] = $data->lat; |
|
716 | + if (!is_object($data)) { |
|
717 | + return array(); |
|
718 | + } |
|
719 | + if ($data->lon != 0) { |
|
720 | + $result['longitude'] = $data->lon; |
|
721 | + } |
|
722 | + if ($data->lat != 0) { |
|
723 | + $result['latitude'] = $data->lat; |
|
724 | + } |
|
580 | 725 | $result['ident'] = trim($data->name); |
581 | 726 | $result['timestamp'] = $data->ts; |
582 | 727 | $result['mmsi'] = $data->mmsi; |
583 | - if ($data->sog != -1.0) $result['speed'] = $data->sog; |
|
584 | - if ($data->cog != 0) $result['heading'] = $data->cog; |
|
728 | + if ($data->sog != -1.0) { |
|
729 | + $result['speed'] = $data->sog; |
|
730 | + } |
|
731 | + if ($data->cog != 0) { |
|
732 | + $result['heading'] = $data->cog; |
|
733 | + } |
|
585 | 734 | /* |
586 | 735 | $ro->cls = 0; // AIS class undefined, also indicate unparsed msg |
587 | 736 | $ro->id = bindec(substr($_aisdata,0,6)); |
@@ -591,15 +740,25 @@ discard block |
||
591 | 740 | |
592 | 741 | public function mmsitype($mmsi) { |
593 | 742 | if (strlen($mmsi) == 9) { |
594 | - if (substr($mmsi,0,3) == '974') return 'EPIRB (Emergency Position Indicating Radio Beacon) AIS'; |
|
595 | - elseif (substr($mmsi,0,3) == '972') return 'MOB (Man Overboard) device'; |
|
596 | - elseif (substr($mmsi,0,3) == '970') return 'AIS SART (Search and Rescue Transmitter)'; |
|
597 | - elseif (substr($mmsi,0,3) == '111') return 'SAR (Search and Rescue) aircraft'; |
|
598 | - elseif (substr($mmsi,0,2) == '98') return 'Auxiliary craft associated with a parent ship'; |
|
599 | - elseif (substr($mmsi,0,2) == '99') return 'Aids to Navigation'; |
|
600 | - elseif (substr($mmsi,0,2) == '00') return 'Coastal stations'; |
|
601 | - elseif (substr($mmsi,0,1) == '0') return 'Group of ships'; |
|
602 | - else return 'Ship'; |
|
743 | + if (substr($mmsi,0,3) == '974') { |
|
744 | + return 'EPIRB (Emergency Position Indicating Radio Beacon) AIS'; |
|
745 | + } elseif (substr($mmsi,0,3) == '972') { |
|
746 | + return 'MOB (Man Overboard) device'; |
|
747 | + } elseif (substr($mmsi,0,3) == '970') { |
|
748 | + return 'AIS SART (Search and Rescue Transmitter)'; |
|
749 | + } elseif (substr($mmsi,0,3) == '111') { |
|
750 | + return 'SAR (Search and Rescue) aircraft'; |
|
751 | + } elseif (substr($mmsi,0,2) == '98') { |
|
752 | + return 'Auxiliary craft associated with a parent ship'; |
|
753 | + } elseif (substr($mmsi,0,2) == '99') { |
|
754 | + return 'Aids to Navigation'; |
|
755 | + } elseif (substr($mmsi,0,2) == '00') { |
|
756 | + return 'Coastal stations'; |
|
757 | + } elseif (substr($mmsi,0,1) == '0') { |
|
758 | + return 'Group of ships'; |
|
759 | + } else { |
|
760 | + return 'Ship'; |
|
761 | + } |
|
603 | 762 | } |
604 | 763 | |
605 | 764 | |
@@ -616,25 +775,48 @@ discard block |
||
616 | 775 | //if ($globalDebug) echo '==== Line format not supported : '.$buffer."\n"; |
617 | 776 | return array(); |
618 | 777 | } |
619 | - if ($data->lon != 0) $result['longitude'] = $data->lon; |
|
620 | - if ($data->lat != 0) $result['latitude'] = $data->lat; |
|
778 | + if ($data->lon != 0) { |
|
779 | + $result['longitude'] = $data->lon; |
|
780 | + } |
|
781 | + if ($data->lat != 0) { |
|
782 | + $result['latitude'] = $data->lat; |
|
783 | + } |
|
621 | 784 | $result['ident'] = trim(str_replace('@','',$data->name)); |
622 | 785 | $result['timestamp'] = $data->ts; |
623 | 786 | $result['mmsi'] = $data->mmsi; |
624 | - if (strlen($result['mmsi']) == 8 && substr($result['mmsi'],0,3) == '669') $result['mmsi'] = '3'.$result['mmsi']; |
|
787 | + if (strlen($result['mmsi']) == 8 && substr($result['mmsi'],0,3) == '669') { |
|
788 | + $result['mmsi'] = '3'.$result['mmsi']; |
|
789 | + } |
|
625 | 790 | $result['mmsi_type'] = $this->mmsitype($result['mmsi']); |
626 | - if ($data->sog != -1.0) $result['speed'] = $data->sog; |
|
627 | - if ($data->heading != '') $result['heading'] = $data->heading; |
|
628 | - elseif ($data->cog != 0) $result['heading'] = $data->cog; |
|
629 | - if ($data->status != '') $result['status'] = $data->status; |
|
630 | - if ($data->type != '') $result['type'] = $data->type; |
|
631 | - if ($data->typeid != '') $result['typeid'] = $data->typeid; |
|
632 | - if ($data->imo != '') $result['imo'] = $data->imo; |
|
633 | - if ($data->callsign != '') $result['callsign'] = $data->callsign; |
|
791 | + if ($data->sog != -1.0) { |
|
792 | + $result['speed'] = $data->sog; |
|
793 | + } |
|
794 | + if ($data->heading != '') { |
|
795 | + $result['heading'] = $data->heading; |
|
796 | + } elseif ($data->cog != 0) { |
|
797 | + $result['heading'] = $data->cog; |
|
798 | + } |
|
799 | + if ($data->status != '') { |
|
800 | + $result['status'] = $data->status; |
|
801 | + } |
|
802 | + if ($data->type != '') { |
|
803 | + $result['type'] = $data->type; |
|
804 | + } |
|
805 | + if ($data->typeid != '') { |
|
806 | + $result['typeid'] = $data->typeid; |
|
807 | + } |
|
808 | + if ($data->imo != '') { |
|
809 | + $result['imo'] = $data->imo; |
|
810 | + } |
|
811 | + if ($data->callsign != '') { |
|
812 | + $result['callsign'] = $data->callsign; |
|
813 | + } |
|
634 | 814 | if ($data->eta_month != '' && $data->eta_day != '' && $data->eta_hour != '' && $data->eta_minute != '') { |
635 | 815 | $result['eta_ts'] = strtotime(date('Y').'-'.$data->eta_month.'-'.$data->eta_day.' '.$data->eta_hour.':'.$data->eta_minute.':00'); |
636 | 816 | } |
637 | - if ($data->destination != '') $result['destination'] = $data->destination; |
|
817 | + if ($data->destination != '') { |
|
818 | + $result['destination'] = $data->destination; |
|
819 | + } |
|
638 | 820 | $result['all'] = (array) $data; |
639 | 821 | /* |
640 | 822 | $ro->cls = 0; // AIS class undefined, also indicate unparsed msg |
@@ -90,6 +90,10 @@ discard block |
||
90 | 90 | return strlen($headerLine); // Needed by curl |
91 | 91 | } |
92 | 92 | |
93 | + /** |
|
94 | + * @param string $url |
|
95 | + * @param string $file |
|
96 | + */ |
|
93 | 97 | public static function download($url, $file, $referer = '') { |
94 | 98 | global $globalDebug; |
95 | 99 | $fp = fopen($file, 'w'); |
@@ -190,7 +194,7 @@ discard block |
||
190 | 194 | * Check is distance realistic |
191 | 195 | * @param int $timeDifference the time between the reception of both messages |
192 | 196 | * @param float $distance distance covered |
193 | - * @return whether distance is realistic |
|
197 | + * @return boolean distance is realistic |
|
194 | 198 | */ |
195 | 199 | public function withinThreshold ($timeDifference, $distance) { |
196 | 200 | $x = abs($timeDifference); |
@@ -213,6 +217,9 @@ discard block |
||
213 | 217 | } |
214 | 218 | |
215 | 219 | |
220 | + /** |
|
221 | + * @param string $latlong |
|
222 | + */ |
|
216 | 223 | public function convertDec($dms,$latlong) { |
217 | 224 | if ($latlong == 'latitude') { |
218 | 225 | $deg = substr($dms, 0, 2); |
@@ -224,6 +231,9 @@ discard block |
||
224 | 231 | return $deg+(($min*60)/3600); |
225 | 232 | } |
226 | 233 | |
234 | + /** |
|
235 | + * @param string $latlong |
|
236 | + */ |
|
227 | 237 | public function convertDM($coord,$latlong) { |
228 | 238 | if ($latlong == 'latitude') { |
229 | 239 | if ($coord < 0) $NSEW = 'S'; |
@@ -352,7 +362,7 @@ discard block |
||
352 | 362 | /** |
353 | 363 | * Returns list of available locales |
354 | 364 | * |
355 | - * @return array |
|
365 | + * @return string[] |
|
356 | 366 | */ |
357 | 367 | public function listLocaleDir() |
358 | 368 | { |
@@ -37,8 +37,11 @@ discard block |
||
37 | 37 | } else { |
38 | 38 | curl_setopt($ch, CURLOPT_USERAGENT, $useragent); |
39 | 39 | } |
40 | - if ($timeout == '') curl_setopt($ch, CURLOPT_TIMEOUT, 10); |
|
41 | - else curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); |
|
40 | + if ($timeout == '') { |
|
41 | + curl_setopt($ch, CURLOPT_TIMEOUT, 10); |
|
42 | + } else { |
|
43 | + curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); |
|
44 | + } |
|
42 | 45 | curl_setopt($ch, CURLOPT_HEADERFUNCTION, array('Common',"curlResponseHeaderCallback")); |
43 | 46 | if ($type == 'post') { |
44 | 47 | curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); |
@@ -85,8 +88,9 @@ discard block |
||
85 | 88 | private function curlResponseHeaderCallback($ch, $headerLine) { |
86 | 89 | //global $cookies; |
87 | 90 | $cookies = array(); |
88 | - if (preg_match('/^Set-Cookie:\s*([^;]*)/mi', $headerLine, $cookie) == 1) |
|
89 | - $cookies[] = $cookie; |
|
91 | + if (preg_match('/^Set-Cookie:\s*([^;]*)/mi', $headerLine, $cookie) == 1) { |
|
92 | + $cookies[] = $cookie; |
|
93 | + } |
|
90 | 94 | return strlen($headerLine); // Needed by curl |
91 | 95 | } |
92 | 96 | |
@@ -97,11 +101,15 @@ discard block |
||
97 | 101 | curl_setopt($ch, CURLOPT_URL, $url); |
98 | 102 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); |
99 | 103 | curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); |
100 | - if ($referer != '') curl_setopt($ch, CURLOPT_REFERER, $referer); |
|
104 | + if ($referer != '') { |
|
105 | + curl_setopt($ch, CURLOPT_REFERER, $referer); |
|
106 | + } |
|
101 | 107 | curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 GTB5'); |
102 | 108 | curl_setopt($ch, CURLOPT_FILE, $fp); |
103 | 109 | curl_exec($ch); |
104 | - if (curl_errno($ch) && $globalDebug) echo 'Download error: '.curl_error($ch); |
|
110 | + if (curl_errno($ch) && $globalDebug) { |
|
111 | + echo 'Download error: '.curl_error($ch); |
|
112 | + } |
|
105 | 113 | curl_close($ch); |
106 | 114 | fclose($fp); |
107 | 115 | } |
@@ -112,10 +120,16 @@ discard block |
||
112 | 120 | * @return Array array of the tables in HTML page |
113 | 121 | */ |
114 | 122 | public function table2array($data) { |
115 | - if (!is_string($data)) return array(); |
|
116 | - if ($data == '') return array(); |
|
123 | + if (!is_string($data)) { |
|
124 | + return array(); |
|
125 | + } |
|
126 | + if ($data == '') { |
|
127 | + return array(); |
|
128 | + } |
|
117 | 129 | $html = str_get_html($data); |
118 | - if ($html === false) return array(); |
|
130 | + if ($html === false) { |
|
131 | + return array(); |
|
132 | + } |
|
119 | 133 | $tabledata=array(); |
120 | 134 | foreach($html->find('tr') as $element) |
121 | 135 | { |
@@ -150,7 +164,9 @@ discard block |
||
150 | 164 | */ |
151 | 165 | public function text2array($data) { |
152 | 166 | $html = str_get_html($data); |
153 | - if ($html === false) return array(); |
|
167 | + if ($html === false) { |
|
168 | + return array(); |
|
169 | + } |
|
154 | 170 | $tabledata=array(); |
155 | 171 | foreach($html->find('p') as $element) |
156 | 172 | { |
@@ -171,7 +187,9 @@ discard block |
||
171 | 187 | * @return Float Distance in $unit |
172 | 188 | */ |
173 | 189 | public function distance($lat, $lon, $latc, $lonc, $unit = 'km') { |
174 | - if ($lat == $latc && $lon == $lonc) return 0; |
|
190 | + if ($lat == $latc && $lon == $lonc) { |
|
191 | + return 0; |
|
192 | + } |
|
175 | 193 | $dist = rad2deg(acos(sin(deg2rad(floatval($lat)))*sin(deg2rad(floatval($latc)))+ cos(deg2rad(floatval($lat)))*cos(deg2rad(floatval($latc)))*cos(deg2rad(floatval($lon)-floatval($lonc)))))*60*1.1515; |
176 | 194 | if ($unit == "km") { |
177 | 195 | return round($dist * 1.609344); |
@@ -195,10 +213,16 @@ discard block |
||
195 | 213 | public function withinThreshold ($timeDifference, $distance) { |
196 | 214 | $x = abs($timeDifference); |
197 | 215 | $d = abs($distance); |
198 | - if ($x == 0 || $d == 0) return true; |
|
216 | + if ($x == 0 || $d == 0) { |
|
217 | + return true; |
|
218 | + } |
|
199 | 219 | // may be due to Internet jitter; distance is realistic |
200 | - if ($x < 0.7 && $d < 2000) return true; |
|
201 | - else return $d/$x < 1500*0.27778; // 1500 km/h max |
|
220 | + if ($x < 0.7 && $d < 2000) { |
|
221 | + return true; |
|
222 | + } else { |
|
223 | + return $d/$x < 1500*0.27778; |
|
224 | + } |
|
225 | + // 1500 km/h max |
|
202 | 226 | } |
203 | 227 | |
204 | 228 | |
@@ -226,11 +250,17 @@ discard block |
||
226 | 250 | |
227 | 251 | public function convertDM($coord,$latlong) { |
228 | 252 | if ($latlong == 'latitude') { |
229 | - if ($coord < 0) $NSEW = 'S'; |
|
230 | - else $NSEW = 'N'; |
|
253 | + if ($coord < 0) { |
|
254 | + $NSEW = 'S'; |
|
255 | + } else { |
|
256 | + $NSEW = 'N'; |
|
257 | + } |
|
231 | 258 | } elseif ($latlong == 'longitude') { |
232 | - if ($coord < 0) $NSEW = 'W'; |
|
233 | - else $NSEW = 'E'; |
|
259 | + if ($coord < 0) { |
|
260 | + $NSEW = 'W'; |
|
261 | + } else { |
|
262 | + $NSEW = 'E'; |
|
263 | + } |
|
234 | 264 | } |
235 | 265 | $coord = abs($coord); |
236 | 266 | $deg = floor($coord); |
@@ -273,7 +303,9 @@ discard block |
||
273 | 303 | public function hex2str($hex) { |
274 | 304 | $str = ''; |
275 | 305 | $hexln = strlen($hex); |
276 | - for($i=0;$i<$hexln;$i+=2) $str .= chr(hexdec(substr($hex,$i,2))); |
|
306 | + for($i=0;$i<$hexln;$i+=2) { |
|
307 | + $str .= chr(hexdec(substr($hex,$i,2))); |
|
308 | + } |
|
277 | 309 | return $str; |
278 | 310 | } |
279 | 311 | |
@@ -301,8 +333,11 @@ discard block |
||
301 | 333 | $b = $lat2 - $lat1; |
302 | 334 | $c = -($a*$lat1+$b*$lon1); |
303 | 335 | $d = $a*$lat3+$b*$lon3+$c; |
304 | - if ($d > -$approx && $d < $approx) return true; |
|
305 | - else return false; |
|
336 | + if ($d > -$approx && $d < $approx) { |
|
337 | + return true; |
|
338 | + } else { |
|
339 | + return false; |
|
340 | + } |
|
306 | 341 | } |
307 | 342 | |
308 | 343 | public function array_merge_noappend() { |
@@ -361,7 +396,9 @@ discard block |
||
361 | 396 | return $result; |
362 | 397 | } |
363 | 398 | $handle = @opendir('./locale'); |
364 | - if ($handle === false) return $result; |
|
399 | + if ($handle === false) { |
|
400 | + return $result; |
|
401 | + } |
|
365 | 402 | while (false !== ($file = readdir($handle))) { |
366 | 403 | $path = './locale'.'/'.$file.'/LC_MESSAGES/fam.mo'; |
367 | 404 | if ($file != "." && $file != ".." && @file_exists($path)) { |
@@ -428,8 +465,9 @@ discard block |
||
428 | 465 | $error = false; |
429 | 466 | if ($fp_out = gzopen($dest, $mode)) { |
430 | 467 | if ($fp_in = fopen($source,'rb')) { |
431 | - while (!feof($fp_in)) |
|
432 | - gzwrite($fp_out, fread($fp_in, 1024 * 512)); |
|
468 | + while (!feof($fp_in)) { |
|
469 | + gzwrite($fp_out, fread($fp_in, 1024 * 512)); |
|
470 | + } |
|
433 | 471 | fclose($fp_in); |
434 | 472 | } else { |
435 | 473 | $error = true; |
@@ -438,14 +476,17 @@ discard block |
||
438 | 476 | } else { |
439 | 477 | $error = true; |
440 | 478 | } |
441 | - if ($error) |
|
442 | - return false; |
|
443 | - else |
|
444 | - return $dest; |
|
479 | + if ($error) { |
|
480 | + return false; |
|
481 | + } else { |
|
482 | + return $dest; |
|
483 | + } |
|
445 | 484 | } |
446 | 485 | |
447 | 486 | public function remove_accents($string) { |
448 | - if ( !preg_match('/[\x80-\xff]/', $string) ) return $string; |
|
487 | + if ( !preg_match('/[\x80-\xff]/', $string) ) { |
|
488 | + return $string; |
|
489 | + } |
|
449 | 490 | $chars = array( |
450 | 491 | // Decompositions for Latin-1 Supplement |
451 | 492 | chr(195).chr(128) => 'A', chr(195).chr(129) => 'A', |
@@ -569,7 +610,9 @@ discard block |
||
569 | 610 | $ip = gethostbyname($host); |
570 | 611 | $s = socket_create(AF_INET, SOCK_STREAM, 0); |
571 | 612 | $r = @socket_connect($s, $ip, $port); |
572 | - if (!socket_set_nonblock($s)) echo "Unable to set nonblock on socket\n"; |
|
613 | + if (!socket_set_nonblock($s)) { |
|
614 | + echo "Unable to set nonblock on socket\n"; |
|
615 | + } |
|
573 | 616 | if ($r || socket_last_error() == 114 || socket_last_error() == 115) { |
574 | 617 | return $s; |
575 | 618 | } |
@@ -7,13 +7,13 @@ discard block |
||
7 | 7 | //protected $cookies = array(); |
8 | 8 | |
9 | 9 | /** |
10 | - * Get data from form result |
|
11 | - * @param String $url form URL |
|
12 | - * @param String $type type of submit form method (get or post) |
|
13 | - * @param String|Array $data values form post method |
|
14 | - * @param Array $headers header to submit with the form |
|
15 | - * @return String the result |
|
16 | - */ |
|
10 | + * Get data from form result |
|
11 | + * @param String $url form URL |
|
12 | + * @param String $type type of submit form method (get or post) |
|
13 | + * @param String|Array $data values form post method |
|
14 | + * @param Array $headers header to submit with the form |
|
15 | + * @return String the result |
|
16 | + */ |
|
17 | 17 | public function getData($url, $type = 'get', $data = '', $headers = '',$cookie = '',$referer = '',$timeout = '',$useragent = '') { |
18 | 18 | global $globalProxy, $globalForceIPv4; |
19 | 19 | $ch = curl_init(); |
@@ -107,10 +107,10 @@ discard block |
||
107 | 107 | } |
108 | 108 | |
109 | 109 | /** |
110 | - * Convert a HTML table to an array |
|
111 | - * @param String $data HTML page |
|
112 | - * @return Array array of the tables in HTML page |
|
113 | - */ |
|
110 | + * Convert a HTML table to an array |
|
111 | + * @param String $data HTML page |
|
112 | + * @return Array array of the tables in HTML page |
|
113 | + */ |
|
114 | 114 | public function table2array($data) { |
115 | 115 | if (!is_string($data)) return array(); |
116 | 116 | if ($data == '') return array(); |
@@ -144,10 +144,10 @@ discard block |
||
144 | 144 | } |
145 | 145 | |
146 | 146 | /** |
147 | - * Convert <p> part of a HTML page to an array |
|
148 | - * @param String $data HTML page |
|
149 | - * @return Array array of the <p> in HTML page |
|
150 | - */ |
|
147 | + * Convert <p> part of a HTML page to an array |
|
148 | + * @param String $data HTML page |
|
149 | + * @return Array array of the <p> in HTML page |
|
150 | + */ |
|
151 | 151 | public function text2array($data) { |
152 | 152 | $html = str_get_html($data); |
153 | 153 | if ($html === false) return array(); |
@@ -162,14 +162,14 @@ discard block |
||
162 | 162 | } |
163 | 163 | |
164 | 164 | /** |
165 | - * Give distance between 2 coordonnates |
|
166 | - * @param Float $lat latitude of first point |
|
167 | - * @param Float $lon longitude of first point |
|
168 | - * @param Float $latc latitude of second point |
|
169 | - * @param Float $lonc longitude of second point |
|
170 | - * @param String $unit km else no unit used |
|
171 | - * @return Float Distance in $unit |
|
172 | - */ |
|
165 | + * Give distance between 2 coordonnates |
|
166 | + * @param Float $lat latitude of first point |
|
167 | + * @param Float $lon longitude of first point |
|
168 | + * @param Float $latc latitude of second point |
|
169 | + * @param Float $lonc longitude of second point |
|
170 | + * @param String $unit km else no unit used |
|
171 | + * @return Float Distance in $unit |
|
172 | + */ |
|
173 | 173 | public function distance($lat, $lon, $latc, $lonc, $unit = 'km') { |
174 | 174 | if ($lat == $latc && $lon == $lonc) return 0; |
175 | 175 | $dist = rad2deg(acos(sin(deg2rad(floatval($lat)))*sin(deg2rad(floatval($latc)))+ cos(deg2rad(floatval($lat)))*cos(deg2rad(floatval($latc)))*cos(deg2rad(floatval($lon)-floatval($lonc)))))*60*1.1515; |
@@ -187,11 +187,11 @@ discard block |
||
187 | 187 | } |
188 | 188 | |
189 | 189 | /** |
190 | - * Check is distance realistic |
|
191 | - * @param int $timeDifference the time between the reception of both messages |
|
192 | - * @param float $distance distance covered |
|
193 | - * @return whether distance is realistic |
|
194 | - */ |
|
190 | + * Check is distance realistic |
|
191 | + * @param int $timeDifference the time between the reception of both messages |
|
192 | + * @param float $distance distance covered |
|
193 | + * @return whether distance is realistic |
|
194 | + */ |
|
195 | 195 | public function withinThreshold ($timeDifference, $distance) { |
196 | 196 | $x = abs($timeDifference); |
197 | 197 | $d = abs($distance); |
@@ -209,7 +209,7 @@ discard block |
||
209 | 209 | } |
210 | 210 | |
211 | 211 | public function isInteger($input){ |
212 | - return(ctype_digit(strval($input))); |
|
212 | + return(ctype_digit(strval($input))); |
|
213 | 213 | } |
214 | 214 | |
215 | 215 | |
@@ -240,11 +240,11 @@ discard block |
||
240 | 240 | } |
241 | 241 | |
242 | 242 | /** |
243 | - * Copy folder contents |
|
244 | - * @param string $source Source path |
|
245 | - * @param string $dest Destination path |
|
246 | - * @return bool Returns true on success, false on failure |
|
247 | - */ |
|
243 | + * Copy folder contents |
|
244 | + * @param string $source Source path |
|
245 | + * @param string $dest Destination path |
|
246 | + * @return bool Returns true on success, false on failure |
|
247 | + */ |
|
248 | 248 | public function xcopy($source, $dest) |
249 | 249 | { |
250 | 250 | $files = glob($source.'*.*'); |
@@ -256,20 +256,20 @@ discard block |
||
256 | 256 | } |
257 | 257 | |
258 | 258 | /** |
259 | - * Check if an url exist |
|
260 | - * @param String $url url to check |
|
261 | - * @return bool Return true on succes false on failure |
|
262 | - */ |
|
259 | + * Check if an url exist |
|
260 | + * @param String $url url to check |
|
261 | + * @return bool Return true on succes false on failure |
|
262 | + */ |
|
263 | 263 | public function urlexist($url){ |
264 | 264 | $headers=get_headers($url); |
265 | 265 | return stripos($headers[0],"200 OK")?true:false; |
266 | 266 | } |
267 | 267 | |
268 | 268 | /** |
269 | - * Convert hexa to string |
|
270 | - * @param String $hex data in hexa |
|
271 | - * @return String Return result |
|
272 | - */ |
|
269 | + * Convert hexa to string |
|
270 | + * @param String $hex data in hexa |
|
271 | + * @return String Return result |
|
272 | + */ |
|
273 | 273 | public function hex2str($hex) { |
274 | 274 | $str = ''; |
275 | 275 | $hexln = strlen($hex); |
@@ -278,10 +278,10 @@ discard block |
||
278 | 278 | } |
279 | 279 | |
280 | 280 | /** |
281 | - * Convert hexa color to rgb |
|
282 | - * @param String $hex data in hexa |
|
283 | - * @return String Return result |
|
284 | - */ |
|
281 | + * Convert hexa color to rgb |
|
282 | + * @param String $hex data in hexa |
|
283 | + * @return String Return result |
|
284 | + */ |
|
285 | 285 | public function hex2rgb($hex) { |
286 | 286 | $hex = str_replace('#','',$hex); |
287 | 287 | return sscanf($hex, "%02x%02x%02x"); |
@@ -359,9 +359,9 @@ discard block |
||
359 | 359 | } |
360 | 360 | |
361 | 361 | /** |
362 | - * Returns list of available locales |
|
363 | - * |
|
364 | - * @return array |
|
362 | + * Returns list of available locales |
|
363 | + * |
|
364 | + * @return array |
|
365 | 365 | */ |
366 | 366 | public function listLocaleDir() |
367 | 367 | { |
@@ -456,100 +456,100 @@ discard block |
||
456 | 456 | public function remove_accents($string) { |
457 | 457 | if ( !preg_match('/[\x80-\xff]/', $string) ) return $string; |
458 | 458 | $chars = array( |
459 | - // Decompositions for Latin-1 Supplement |
|
460 | - chr(195).chr(128) => 'A', chr(195).chr(129) => 'A', |
|
461 | - chr(195).chr(130) => 'A', chr(195).chr(131) => 'A', |
|
462 | - chr(195).chr(132) => 'A', chr(195).chr(133) => 'A', |
|
463 | - chr(195).chr(135) => 'C', chr(195).chr(136) => 'E', |
|
464 | - chr(195).chr(137) => 'E', chr(195).chr(138) => 'E', |
|
465 | - chr(195).chr(139) => 'E', chr(195).chr(140) => 'I', |
|
466 | - chr(195).chr(141) => 'I', chr(195).chr(142) => 'I', |
|
467 | - chr(195).chr(143) => 'I', chr(195).chr(145) => 'N', |
|
468 | - chr(195).chr(146) => 'O', chr(195).chr(147) => 'O', |
|
469 | - chr(195).chr(148) => 'O', chr(195).chr(149) => 'O', |
|
470 | - chr(195).chr(150) => 'O', chr(195).chr(153) => 'U', |
|
471 | - chr(195).chr(154) => 'U', chr(195).chr(155) => 'U', |
|
472 | - chr(195).chr(156) => 'U', chr(195).chr(157) => 'Y', |
|
473 | - chr(195).chr(159) => 's', chr(195).chr(160) => 'a', |
|
474 | - chr(195).chr(161) => 'a', chr(195).chr(162) => 'a', |
|
475 | - chr(195).chr(163) => 'a', chr(195).chr(164) => 'a', |
|
476 | - chr(195).chr(165) => 'a', chr(195).chr(167) => 'c', |
|
477 | - chr(195).chr(168) => 'e', chr(195).chr(169) => 'e', |
|
478 | - chr(195).chr(170) => 'e', chr(195).chr(171) => 'e', |
|
479 | - chr(195).chr(172) => 'i', chr(195).chr(173) => 'i', |
|
480 | - chr(195).chr(174) => 'i', chr(195).chr(175) => 'i', |
|
481 | - chr(195).chr(177) => 'n', chr(195).chr(178) => 'o', |
|
482 | - chr(195).chr(179) => 'o', chr(195).chr(180) => 'o', |
|
483 | - chr(195).chr(181) => 'o', chr(195).chr(182) => 'o', |
|
484 | - chr(195).chr(182) => 'o', chr(195).chr(185) => 'u', |
|
485 | - chr(195).chr(186) => 'u', chr(195).chr(187) => 'u', |
|
486 | - chr(195).chr(188) => 'u', chr(195).chr(189) => 'y', |
|
487 | - chr(195).chr(191) => 'y', |
|
488 | - // Decompositions for Latin Extended-A |
|
489 | - chr(196).chr(128) => 'A', chr(196).chr(129) => 'a', |
|
490 | - chr(196).chr(130) => 'A', chr(196).chr(131) => 'a', |
|
491 | - chr(196).chr(132) => 'A', chr(196).chr(133) => 'a', |
|
492 | - chr(196).chr(134) => 'C', chr(196).chr(135) => 'c', |
|
493 | - chr(196).chr(136) => 'C', chr(196).chr(137) => 'c', |
|
494 | - chr(196).chr(138) => 'C', chr(196).chr(139) => 'c', |
|
495 | - chr(196).chr(140) => 'C', chr(196).chr(141) => 'c', |
|
496 | - chr(196).chr(142) => 'D', chr(196).chr(143) => 'd', |
|
497 | - chr(196).chr(144) => 'D', chr(196).chr(145) => 'd', |
|
498 | - chr(196).chr(146) => 'E', chr(196).chr(147) => 'e', |
|
499 | - chr(196).chr(148) => 'E', chr(196).chr(149) => 'e', |
|
500 | - chr(196).chr(150) => 'E', chr(196).chr(151) => 'e', |
|
501 | - chr(196).chr(152) => 'E', chr(196).chr(153) => 'e', |
|
502 | - chr(196).chr(154) => 'E', chr(196).chr(155) => 'e', |
|
503 | - chr(196).chr(156) => 'G', chr(196).chr(157) => 'g', |
|
504 | - chr(196).chr(158) => 'G', chr(196).chr(159) => 'g', |
|
505 | - chr(196).chr(160) => 'G', chr(196).chr(161) => 'g', |
|
506 | - chr(196).chr(162) => 'G', chr(196).chr(163) => 'g', |
|
507 | - chr(196).chr(164) => 'H', chr(196).chr(165) => 'h', |
|
508 | - chr(196).chr(166) => 'H', chr(196).chr(167) => 'h', |
|
509 | - chr(196).chr(168) => 'I', chr(196).chr(169) => 'i', |
|
510 | - chr(196).chr(170) => 'I', chr(196).chr(171) => 'i', |
|
511 | - chr(196).chr(172) => 'I', chr(196).chr(173) => 'i', |
|
512 | - chr(196).chr(174) => 'I', chr(196).chr(175) => 'i', |
|
513 | - chr(196).chr(176) => 'I', chr(196).chr(177) => 'i', |
|
514 | - chr(196).chr(178) => 'IJ',chr(196).chr(179) => 'ij', |
|
515 | - chr(196).chr(180) => 'J', chr(196).chr(181) => 'j', |
|
516 | - chr(196).chr(182) => 'K', chr(196).chr(183) => 'k', |
|
517 | - chr(196).chr(184) => 'k', chr(196).chr(185) => 'L', |
|
518 | - chr(196).chr(186) => 'l', chr(196).chr(187) => 'L', |
|
519 | - chr(196).chr(188) => 'l', chr(196).chr(189) => 'L', |
|
520 | - chr(196).chr(190) => 'l', chr(196).chr(191) => 'L', |
|
521 | - chr(197).chr(128) => 'l', chr(197).chr(129) => 'L', |
|
522 | - chr(197).chr(130) => 'l', chr(197).chr(131) => 'N', |
|
523 | - chr(197).chr(132) => 'n', chr(197).chr(133) => 'N', |
|
524 | - chr(197).chr(134) => 'n', chr(197).chr(135) => 'N', |
|
525 | - chr(197).chr(136) => 'n', chr(197).chr(137) => 'N', |
|
526 | - chr(197).chr(138) => 'n', chr(197).chr(139) => 'N', |
|
527 | - chr(197).chr(140) => 'O', chr(197).chr(141) => 'o', |
|
528 | - chr(197).chr(142) => 'O', chr(197).chr(143) => 'o', |
|
529 | - chr(197).chr(144) => 'O', chr(197).chr(145) => 'o', |
|
530 | - chr(197).chr(146) => 'OE',chr(197).chr(147) => 'oe', |
|
531 | - chr(197).chr(148) => 'R',chr(197).chr(149) => 'r', |
|
532 | - chr(197).chr(150) => 'R',chr(197).chr(151) => 'r', |
|
533 | - chr(197).chr(152) => 'R',chr(197).chr(153) => 'r', |
|
534 | - chr(197).chr(154) => 'S',chr(197).chr(155) => 's', |
|
535 | - chr(197).chr(156) => 'S',chr(197).chr(157) => 's', |
|
536 | - chr(197).chr(158) => 'S',chr(197).chr(159) => 's', |
|
537 | - chr(197).chr(160) => 'S', chr(197).chr(161) => 's', |
|
538 | - chr(197).chr(162) => 'T', chr(197).chr(163) => 't', |
|
539 | - chr(197).chr(164) => 'T', chr(197).chr(165) => 't', |
|
540 | - chr(197).chr(166) => 'T', chr(197).chr(167) => 't', |
|
541 | - chr(197).chr(168) => 'U', chr(197).chr(169) => 'u', |
|
542 | - chr(197).chr(170) => 'U', chr(197).chr(171) => 'u', |
|
543 | - chr(197).chr(172) => 'U', chr(197).chr(173) => 'u', |
|
544 | - chr(197).chr(174) => 'U', chr(197).chr(175) => 'u', |
|
545 | - chr(197).chr(176) => 'U', chr(197).chr(177) => 'u', |
|
546 | - chr(197).chr(178) => 'U', chr(197).chr(179) => 'u', |
|
547 | - chr(197).chr(180) => 'W', chr(197).chr(181) => 'w', |
|
548 | - chr(197).chr(182) => 'Y', chr(197).chr(183) => 'y', |
|
549 | - chr(197).chr(184) => 'Y', chr(197).chr(185) => 'Z', |
|
550 | - chr(197).chr(186) => 'z', chr(197).chr(187) => 'Z', |
|
551 | - chr(197).chr(188) => 'z', chr(197).chr(189) => 'Z', |
|
552 | - chr(197).chr(190) => 'z', chr(197).chr(191) => 's' |
|
459 | + // Decompositions for Latin-1 Supplement |
|
460 | + chr(195).chr(128) => 'A', chr(195).chr(129) => 'A', |
|
461 | + chr(195).chr(130) => 'A', chr(195).chr(131) => 'A', |
|
462 | + chr(195).chr(132) => 'A', chr(195).chr(133) => 'A', |
|
463 | + chr(195).chr(135) => 'C', chr(195).chr(136) => 'E', |
|
464 | + chr(195).chr(137) => 'E', chr(195).chr(138) => 'E', |
|
465 | + chr(195).chr(139) => 'E', chr(195).chr(140) => 'I', |
|
466 | + chr(195).chr(141) => 'I', chr(195).chr(142) => 'I', |
|
467 | + chr(195).chr(143) => 'I', chr(195).chr(145) => 'N', |
|
468 | + chr(195).chr(146) => 'O', chr(195).chr(147) => 'O', |
|
469 | + chr(195).chr(148) => 'O', chr(195).chr(149) => 'O', |
|
470 | + chr(195).chr(150) => 'O', chr(195).chr(153) => 'U', |
|
471 | + chr(195).chr(154) => 'U', chr(195).chr(155) => 'U', |
|
472 | + chr(195).chr(156) => 'U', chr(195).chr(157) => 'Y', |
|
473 | + chr(195).chr(159) => 's', chr(195).chr(160) => 'a', |
|
474 | + chr(195).chr(161) => 'a', chr(195).chr(162) => 'a', |
|
475 | + chr(195).chr(163) => 'a', chr(195).chr(164) => 'a', |
|
476 | + chr(195).chr(165) => 'a', chr(195).chr(167) => 'c', |
|
477 | + chr(195).chr(168) => 'e', chr(195).chr(169) => 'e', |
|
478 | + chr(195).chr(170) => 'e', chr(195).chr(171) => 'e', |
|
479 | + chr(195).chr(172) => 'i', chr(195).chr(173) => 'i', |
|
480 | + chr(195).chr(174) => 'i', chr(195).chr(175) => 'i', |
|
481 | + chr(195).chr(177) => 'n', chr(195).chr(178) => 'o', |
|
482 | + chr(195).chr(179) => 'o', chr(195).chr(180) => 'o', |
|
483 | + chr(195).chr(181) => 'o', chr(195).chr(182) => 'o', |
|
484 | + chr(195).chr(182) => 'o', chr(195).chr(185) => 'u', |
|
485 | + chr(195).chr(186) => 'u', chr(195).chr(187) => 'u', |
|
486 | + chr(195).chr(188) => 'u', chr(195).chr(189) => 'y', |
|
487 | + chr(195).chr(191) => 'y', |
|
488 | + // Decompositions for Latin Extended-A |
|
489 | + chr(196).chr(128) => 'A', chr(196).chr(129) => 'a', |
|
490 | + chr(196).chr(130) => 'A', chr(196).chr(131) => 'a', |
|
491 | + chr(196).chr(132) => 'A', chr(196).chr(133) => 'a', |
|
492 | + chr(196).chr(134) => 'C', chr(196).chr(135) => 'c', |
|
493 | + chr(196).chr(136) => 'C', chr(196).chr(137) => 'c', |
|
494 | + chr(196).chr(138) => 'C', chr(196).chr(139) => 'c', |
|
495 | + chr(196).chr(140) => 'C', chr(196).chr(141) => 'c', |
|
496 | + chr(196).chr(142) => 'D', chr(196).chr(143) => 'd', |
|
497 | + chr(196).chr(144) => 'D', chr(196).chr(145) => 'd', |
|
498 | + chr(196).chr(146) => 'E', chr(196).chr(147) => 'e', |
|
499 | + chr(196).chr(148) => 'E', chr(196).chr(149) => 'e', |
|
500 | + chr(196).chr(150) => 'E', chr(196).chr(151) => 'e', |
|
501 | + chr(196).chr(152) => 'E', chr(196).chr(153) => 'e', |
|
502 | + chr(196).chr(154) => 'E', chr(196).chr(155) => 'e', |
|
503 | + chr(196).chr(156) => 'G', chr(196).chr(157) => 'g', |
|
504 | + chr(196).chr(158) => 'G', chr(196).chr(159) => 'g', |
|
505 | + chr(196).chr(160) => 'G', chr(196).chr(161) => 'g', |
|
506 | + chr(196).chr(162) => 'G', chr(196).chr(163) => 'g', |
|
507 | + chr(196).chr(164) => 'H', chr(196).chr(165) => 'h', |
|
508 | + chr(196).chr(166) => 'H', chr(196).chr(167) => 'h', |
|
509 | + chr(196).chr(168) => 'I', chr(196).chr(169) => 'i', |
|
510 | + chr(196).chr(170) => 'I', chr(196).chr(171) => 'i', |
|
511 | + chr(196).chr(172) => 'I', chr(196).chr(173) => 'i', |
|
512 | + chr(196).chr(174) => 'I', chr(196).chr(175) => 'i', |
|
513 | + chr(196).chr(176) => 'I', chr(196).chr(177) => 'i', |
|
514 | + chr(196).chr(178) => 'IJ',chr(196).chr(179) => 'ij', |
|
515 | + chr(196).chr(180) => 'J', chr(196).chr(181) => 'j', |
|
516 | + chr(196).chr(182) => 'K', chr(196).chr(183) => 'k', |
|
517 | + chr(196).chr(184) => 'k', chr(196).chr(185) => 'L', |
|
518 | + chr(196).chr(186) => 'l', chr(196).chr(187) => 'L', |
|
519 | + chr(196).chr(188) => 'l', chr(196).chr(189) => 'L', |
|
520 | + chr(196).chr(190) => 'l', chr(196).chr(191) => 'L', |
|
521 | + chr(197).chr(128) => 'l', chr(197).chr(129) => 'L', |
|
522 | + chr(197).chr(130) => 'l', chr(197).chr(131) => 'N', |
|
523 | + chr(197).chr(132) => 'n', chr(197).chr(133) => 'N', |
|
524 | + chr(197).chr(134) => 'n', chr(197).chr(135) => 'N', |
|
525 | + chr(197).chr(136) => 'n', chr(197).chr(137) => 'N', |
|
526 | + chr(197).chr(138) => 'n', chr(197).chr(139) => 'N', |
|
527 | + chr(197).chr(140) => 'O', chr(197).chr(141) => 'o', |
|
528 | + chr(197).chr(142) => 'O', chr(197).chr(143) => 'o', |
|
529 | + chr(197).chr(144) => 'O', chr(197).chr(145) => 'o', |
|
530 | + chr(197).chr(146) => 'OE',chr(197).chr(147) => 'oe', |
|
531 | + chr(197).chr(148) => 'R',chr(197).chr(149) => 'r', |
|
532 | + chr(197).chr(150) => 'R',chr(197).chr(151) => 'r', |
|
533 | + chr(197).chr(152) => 'R',chr(197).chr(153) => 'r', |
|
534 | + chr(197).chr(154) => 'S',chr(197).chr(155) => 's', |
|
535 | + chr(197).chr(156) => 'S',chr(197).chr(157) => 's', |
|
536 | + chr(197).chr(158) => 'S',chr(197).chr(159) => 's', |
|
537 | + chr(197).chr(160) => 'S', chr(197).chr(161) => 's', |
|
538 | + chr(197).chr(162) => 'T', chr(197).chr(163) => 't', |
|
539 | + chr(197).chr(164) => 'T', chr(197).chr(165) => 't', |
|
540 | + chr(197).chr(166) => 'T', chr(197).chr(167) => 't', |
|
541 | + chr(197).chr(168) => 'U', chr(197).chr(169) => 'u', |
|
542 | + chr(197).chr(170) => 'U', chr(197).chr(171) => 'u', |
|
543 | + chr(197).chr(172) => 'U', chr(197).chr(173) => 'u', |
|
544 | + chr(197).chr(174) => 'U', chr(197).chr(175) => 'u', |
|
545 | + chr(197).chr(176) => 'U', chr(197).chr(177) => 'u', |
|
546 | + chr(197).chr(178) => 'U', chr(197).chr(179) => 'u', |
|
547 | + chr(197).chr(180) => 'W', chr(197).chr(181) => 'w', |
|
548 | + chr(197).chr(182) => 'Y', chr(197).chr(183) => 'y', |
|
549 | + chr(197).chr(184) => 'Y', chr(197).chr(185) => 'Z', |
|
550 | + chr(197).chr(186) => 'z', chr(197).chr(187) => 'Z', |
|
551 | + chr(197).chr(188) => 'z', chr(197).chr(189) => 'Z', |
|
552 | + chr(197).chr(190) => 'z', chr(197).chr(191) => 's' |
|
553 | 553 | ); |
554 | 554 | $string = strtr($string, $chars); |
555 | 555 | return $string; |
@@ -14,12 +14,12 @@ discard block |
||
14 | 14 | * @param Array $headers header to submit with the form |
15 | 15 | * @return String the result |
16 | 16 | */ |
17 | - public function getData($url, $type = 'get', $data = '', $headers = '',$cookie = '',$referer = '',$timeout = '',$useragent = '') { |
|
17 | + public function getData($url, $type = 'get', $data = '', $headers = '', $cookie = '', $referer = '', $timeout = '', $useragent = '') { |
|
18 | 18 | global $globalProxy, $globalForceIPv4; |
19 | 19 | $ch = curl_init(); |
20 | 20 | curl_setopt($ch, CURLOPT_URL, $url); |
21 | 21 | if (isset($globalForceIPv4) && $globalForceIPv4) { |
22 | - if (defined('CURLOPT_IPRESOLVE') && defined('CURL_IPRESOLVE_V4')){ |
|
22 | + if (defined('CURLOPT_IPRESOLVE') && defined('CURL_IPRESOLVE_V4')) { |
|
23 | 23 | curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); |
24 | 24 | } |
25 | 25 | } |
@@ -29,7 +29,7 @@ discard block |
||
29 | 29 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); |
30 | 30 | curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); |
31 | 31 | curl_setopt($ch, CURLINFO_HEADER_OUT, true); |
32 | - curl_setopt($ch,CURLOPT_ENCODING , "gzip"); |
|
32 | + curl_setopt($ch, CURLOPT_ENCODING, "gzip"); |
|
33 | 33 | //curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 GTB5'); |
34 | 34 | // curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; Linux x86_64; rv:42.0) Gecko/20100101 Firefox/42.0'); |
35 | 35 | if ($useragent == '') { |
@@ -39,13 +39,13 @@ discard block |
||
39 | 39 | } |
40 | 40 | if ($timeout == '') curl_setopt($ch, CURLOPT_TIMEOUT, 10); |
41 | 41 | else curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); |
42 | - curl_setopt($ch, CURLOPT_HEADERFUNCTION, array('Common',"curlResponseHeaderCallback")); |
|
42 | + curl_setopt($ch, CURLOPT_HEADERFUNCTION, array('Common', "curlResponseHeaderCallback")); |
|
43 | 43 | if ($type == 'post') { |
44 | 44 | curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); |
45 | 45 | if (is_array($data)) { |
46 | 46 | curl_setopt($ch, CURLOPT_POST, count($data)); |
47 | 47 | $data_string = ''; |
48 | - foreach($data as $key=>$value) { $data_string .= $key.'='.$value.'&'; } |
|
48 | + foreach ($data as $key=>$value) { $data_string .= $key.'='.$value.'&'; } |
|
49 | 49 | rtrim($data_string, '&'); |
50 | 50 | curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); |
51 | 51 | } else { |
@@ -57,7 +57,7 @@ discard block |
||
57 | 57 | } |
58 | 58 | if ($cookie != '') { |
59 | 59 | if (is_array($cookie)) { |
60 | - curl_setopt($ch, CURLOPT_COOKIE, implode($cookie,';')); |
|
60 | + curl_setopt($ch, CURLOPT_COOKIE, implode($cookie, ';')); |
|
61 | 61 | } else { |
62 | 62 | curl_setopt($ch, CURLOPT_COOKIE, $cookie); |
63 | 63 | } |
@@ -69,13 +69,13 @@ discard block |
||
69 | 69 | $info = curl_getinfo($ch); |
70 | 70 | //var_dump($info); |
71 | 71 | curl_close($ch); |
72 | - if ($info['http_code'] == '503' && strstr($result,'DDoS protection by CloudFlare')) { |
|
72 | + if ($info['http_code'] == '503' && strstr($result, 'DDoS protection by CloudFlare')) { |
|
73 | 73 | echo "Cloudflare Detected\n"; |
74 | 74 | require_once(dirname(__FILE__).'/libs/cloudflare-bypass/libraries/cloudflareClass.php'); |
75 | 75 | $useragent = UAgent::random(); |
76 | 76 | cloudflare::useUserAgent($useragent); |
77 | 77 | if ($clearanceCookie = cloudflare::bypass($url)) { |
78 | - return $this->getData($url,'get',$data,$headers,$clearanceCookie,$referer,$timeout,$useragent); |
|
78 | + return $this->getData($url, 'get', $data, $headers, $clearanceCookie, $referer, $timeout, $useragent); |
|
79 | 79 | } |
80 | 80 | } else { |
81 | 81 | return $result; |
@@ -116,27 +116,27 @@ discard block |
||
116 | 116 | if ($data == '') return array(); |
117 | 117 | $html = str_get_html($data); |
118 | 118 | if ($html === false) return array(); |
119 | - $tabledata=array(); |
|
120 | - foreach($html->find('tr') as $element) |
|
119 | + $tabledata = array(); |
|
120 | + foreach ($html->find('tr') as $element) |
|
121 | 121 | { |
122 | 122 | $td = array(); |
123 | - foreach( $element->find('th') as $row) |
|
123 | + foreach ($element->find('th') as $row) |
|
124 | 124 | { |
125 | 125 | $td [] = trim($row->plaintext); |
126 | 126 | } |
127 | - $td=array_filter($td); |
|
127 | + $td = array_filter($td); |
|
128 | 128 | $tabledata[] = $td; |
129 | 129 | |
130 | 130 | $td = array(); |
131 | 131 | $tdi = array(); |
132 | - foreach( $element->find('td') as $row) |
|
132 | + foreach ($element->find('td') as $row) |
|
133 | 133 | { |
134 | 134 | $td [] = trim($row->plaintext); |
135 | 135 | $tdi [] = trim($row->innertext); |
136 | 136 | } |
137 | - $td=array_filter($td); |
|
138 | - $tdi=array_filter($tdi); |
|
139 | - $tabledata[]=array_merge($td,$tdi); |
|
137 | + $td = array_filter($td); |
|
138 | + $tdi = array_filter($tdi); |
|
139 | + $tabledata[] = array_merge($td, $tdi); |
|
140 | 140 | } |
141 | 141 | $html->clear(); |
142 | 142 | unset($html); |
@@ -151,8 +151,8 @@ discard block |
||
151 | 151 | public function text2array($data) { |
152 | 152 | $html = str_get_html($data); |
153 | 153 | if ($html === false) return array(); |
154 | - $tabledata=array(); |
|
155 | - foreach($html->find('p') as $element) |
|
154 | + $tabledata = array(); |
|
155 | + foreach ($html->find('p') as $element) |
|
156 | 156 | { |
157 | 157 | $tabledata [] = trim($element->plaintext); |
158 | 158 | } |
@@ -172,11 +172,11 @@ discard block |
||
172 | 172 | */ |
173 | 173 | public function distance($lat, $lon, $latc, $lonc, $unit = 'km') { |
174 | 174 | if ($lat == $latc && $lon == $lonc) return 0; |
175 | - $dist = rad2deg(acos(sin(deg2rad(floatval($lat)))*sin(deg2rad(floatval($latc)))+ cos(deg2rad(floatval($lat)))*cos(deg2rad(floatval($latc)))*cos(deg2rad(floatval($lon)-floatval($lonc)))))*60*1.1515; |
|
175 | + $dist = rad2deg(acos(sin(deg2rad(floatval($lat)))*sin(deg2rad(floatval($latc))) + cos(deg2rad(floatval($lat)))*cos(deg2rad(floatval($latc)))*cos(deg2rad(floatval($lon) - floatval($lonc)))))*60*1.1515; |
|
176 | 176 | if ($unit == "km") { |
177 | - return round($dist * 1.609344); |
|
177 | + return round($dist*1.609344); |
|
178 | 178 | } elseif ($unit == "m") { |
179 | - return round($dist * 1.609344 * 1000); |
|
179 | + return round($dist*1.609344*1000); |
|
180 | 180 | } elseif ($unit == "mile" || $unit == "mi") { |
181 | 181 | return round($dist); |
182 | 182 | } elseif ($unit == "nm") { |
@@ -192,7 +192,7 @@ discard block |
||
192 | 192 | * @param float $distance distance covered |
193 | 193 | * @return whether distance is realistic |
194 | 194 | */ |
195 | - public function withinThreshold ($timeDifference, $distance) { |
|
195 | + public function withinThreshold($timeDifference, $distance) { |
|
196 | 196 | $x = abs($timeDifference); |
197 | 197 | $d = abs($distance); |
198 | 198 | if ($x == 0 || $d == 0) return true; |
@@ -208,12 +208,12 @@ discard block |
||
208 | 208 | return ($array !== array_values($array)); |
209 | 209 | } |
210 | 210 | |
211 | - public function isInteger($input){ |
|
211 | + public function isInteger($input) { |
|
212 | 212 | return(ctype_digit(strval($input))); |
213 | 213 | } |
214 | 214 | |
215 | 215 | |
216 | - public function convertDec($dms,$latlong) { |
|
216 | + public function convertDec($dms, $latlong) { |
|
217 | 217 | if ($latlong == 'latitude') { |
218 | 218 | $deg = substr($dms, 0, 2); |
219 | 219 | $min = substr($dms, 2, 4); |
@@ -221,10 +221,10 @@ discard block |
||
221 | 221 | $deg = substr($dms, 0, 3); |
222 | 222 | $min = substr($dms, 3, 5); |
223 | 223 | } |
224 | - return $deg+(($min*60)/3600); |
|
224 | + return $deg + (($min*60)/3600); |
|
225 | 225 | } |
226 | 226 | |
227 | - public function convertDM($coord,$latlong) { |
|
227 | + public function convertDM($coord, $latlong) { |
|
228 | 228 | if ($latlong == 'latitude') { |
229 | 229 | if ($coord < 0) $NSEW = 'S'; |
230 | 230 | else $NSEW = 'N'; |
@@ -234,9 +234,9 @@ discard block |
||
234 | 234 | } |
235 | 235 | $coord = abs($coord); |
236 | 236 | $deg = floor($coord); |
237 | - $coord = ($coord-$deg)*60; |
|
237 | + $coord = ($coord - $deg)*60; |
|
238 | 238 | $min = $coord; |
239 | - return array('deg' => $deg,'min' => $min,'NSEW' => $NSEW); |
|
239 | + return array('deg' => $deg, 'min' => $min, 'NSEW' => $NSEW); |
|
240 | 240 | } |
241 | 241 | |
242 | 242 | /** |
@@ -248,8 +248,8 @@ discard block |
||
248 | 248 | public function xcopy($source, $dest) |
249 | 249 | { |
250 | 250 | $files = glob($source.'*.*'); |
251 | - foreach($files as $file){ |
|
252 | - $file_to_go = str_replace($source,$dest,$file); |
|
251 | + foreach ($files as $file) { |
|
252 | + $file_to_go = str_replace($source, $dest, $file); |
|
253 | 253 | copy($file, $file_to_go); |
254 | 254 | } |
255 | 255 | return true; |
@@ -260,9 +260,9 @@ discard block |
||
260 | 260 | * @param String $url url to check |
261 | 261 | * @return bool Return true on succes false on failure |
262 | 262 | */ |
263 | - public function urlexist($url){ |
|
264 | - $headers=get_headers($url); |
|
265 | - return stripos($headers[0],"200 OK")?true:false; |
|
263 | + public function urlexist($url) { |
|
264 | + $headers = get_headers($url); |
|
265 | + return stripos($headers[0], "200 OK") ? true : false; |
|
266 | 266 | } |
267 | 267 | |
268 | 268 | /** |
@@ -273,7 +273,7 @@ discard block |
||
273 | 273 | public function hex2str($hex) { |
274 | 274 | $str = ''; |
275 | 275 | $hexln = strlen($hex); |
276 | - for($i=0;$i<$hexln;$i+=2) $str .= chr(hexdec(substr($hex,$i,2))); |
|
276 | + for ($i = 0; $i < $hexln; $i += 2) $str .= chr(hexdec(substr($hex, $i, 2))); |
|
277 | 277 | return $str; |
278 | 278 | } |
279 | 279 | |
@@ -283,7 +283,7 @@ discard block |
||
283 | 283 | * @return String Return result |
284 | 284 | */ |
285 | 285 | public function hex2rgb($hex) { |
286 | - $hex = str_replace('#','',$hex); |
|
286 | + $hex = str_replace('#', '', $hex); |
|
287 | 287 | return sscanf($hex, "%02x%02x%02x"); |
288 | 288 | } |
289 | 289 | |
@@ -291,33 +291,33 @@ discard block |
||
291 | 291 | //difference in longitudinal coordinates |
292 | 292 | $dLon = deg2rad($lon2) - deg2rad($lon1); |
293 | 293 | //difference in the phi of latitudinal coordinates |
294 | - $dPhi = log(tan(deg2rad($lat2) / 2 + pi() / 4) / tan(deg2rad($lat1) / 2 + pi() / 4)); |
|
294 | + $dPhi = log(tan(deg2rad($lat2)/2 + pi()/4)/tan(deg2rad($lat1)/2 + pi()/4)); |
|
295 | 295 | //we need to recalculate $dLon if it is greater than pi |
296 | - if(abs($dLon) > pi()) { |
|
297 | - if($dLon > 0) { |
|
298 | - $dLon = (2 * pi() - $dLon) * -1; |
|
296 | + if (abs($dLon) > pi()) { |
|
297 | + if ($dLon > 0) { |
|
298 | + $dLon = (2*pi() - $dLon)*-1; |
|
299 | 299 | } else { |
300 | - $dLon = 2 * pi() + $dLon; |
|
300 | + $dLon = 2*pi() + $dLon; |
|
301 | 301 | } |
302 | 302 | } |
303 | 303 | //return the angle, normalized |
304 | - return (rad2deg(atan2($dLon, $dPhi)) + 360) % 360; |
|
304 | + return (rad2deg(atan2($dLon, $dPhi)) + 360)%360; |
|
305 | 305 | } |
306 | 306 | |
307 | - public function checkLine($lat1,$lon1,$lat2,$lon2,$lat3,$lon3,$approx = 0.2) { |
|
307 | + public function checkLine($lat1, $lon1, $lat2, $lon2, $lat3, $lon3, $approx = 0.2) { |
|
308 | 308 | //$a = ($lon2-$lon1)*$lat3+($lat2-$lat1)*$lon3+($lat1*$lon2+$lat2*$lon1); |
309 | - $a = -($lon2-$lon1); |
|
309 | + $a = -($lon2 - $lon1); |
|
310 | 310 | $b = $lat2 - $lat1; |
311 | - $c = -($a*$lat1+$b*$lon1); |
|
312 | - $d = $a*$lat3+$b*$lon3+$c; |
|
311 | + $c = -($a*$lat1 + $b*$lon1); |
|
312 | + $d = $a*$lat3 + $b*$lon3 + $c; |
|
313 | 313 | if ($d > -$approx && $d < $approx) return true; |
314 | 314 | else return false; |
315 | 315 | } |
316 | 316 | |
317 | 317 | public function array_merge_noappend() { |
318 | 318 | $output = array(); |
319 | - foreach(func_get_args() as $array) { |
|
320 | - foreach($array as $key => $value) { |
|
319 | + foreach (func_get_args() as $array) { |
|
320 | + foreach ($array as $key => $value) { |
|
321 | 321 | $output[$key] = isset($output[$key]) ? |
322 | 322 | array_merge($output[$key], $value) : $value; |
323 | 323 | } |
@@ -381,34 +381,34 @@ discard block |
||
381 | 381 | return $result; |
382 | 382 | } |
383 | 383 | |
384 | - public function nextcoord($latitude, $longitude, $speed, $heading, $archivespeed = 1){ |
|
384 | + public function nextcoord($latitude, $longitude, $speed, $heading, $archivespeed = 1) { |
|
385 | 385 | global $globalMapRefresh; |
386 | 386 | $distance = ($speed*0.514444*$globalMapRefresh*$archivespeed)/1000; |
387 | 387 | $r = 6378; |
388 | 388 | $latitude = deg2rad($latitude); |
389 | 389 | $longitude = deg2rad($longitude); |
390 | 390 | $bearing = deg2rad($heading); |
391 | - $latitude2 = asin( (sin($latitude) * cos($distance/$r)) + (cos($latitude) * sin($distance/$r) * cos($bearing)) ); |
|
392 | - $longitude2 = $longitude + atan2( sin($bearing)*sin($distance/$r)*cos($latitude), cos($distance/$r)-(sin($latitude)*sin($latitude2)) ); |
|
393 | - return array('latitude' => number_format(rad2deg($latitude2),5,'.',''),'longitude' => number_format(rad2deg($longitude2),5,'.','')); |
|
391 | + $latitude2 = asin((sin($latitude)*cos($distance/$r)) + (cos($latitude)*sin($distance/$r)*cos($bearing))); |
|
392 | + $longitude2 = $longitude + atan2(sin($bearing)*sin($distance/$r)*cos($latitude), cos($distance/$r) - (sin($latitude)*sin($latitude2))); |
|
393 | + return array('latitude' => number_format(rad2deg($latitude2), 5, '.', ''), 'longitude' => number_format(rad2deg($longitude2), 5, '.', '')); |
|
394 | 394 | } |
395 | 395 | |
396 | - public function getCoordfromDistanceBearing($latitude,$longitude,$bearing,$distance) { |
|
396 | + public function getCoordfromDistanceBearing($latitude, $longitude, $bearing, $distance) { |
|
397 | 397 | // distance in meter |
398 | 398 | $R = 6378.14; |
399 | - $latitude1 = $latitude * (M_PI/180); |
|
400 | - $longitude1 = $longitude * (M_PI/180); |
|
401 | - $brng = $bearing * (M_PI/180); |
|
399 | + $latitude1 = $latitude*(M_PI/180); |
|
400 | + $longitude1 = $longitude*(M_PI/180); |
|
401 | + $brng = $bearing*(M_PI/180); |
|
402 | 402 | $d = $distance; |
403 | 403 | |
404 | 404 | $latitude2 = asin(sin($latitude1)*cos($d/$R) + cos($latitude1)*sin($d/$R)*cos($brng)); |
405 | - $longitude2 = $longitude1 + atan2(sin($brng)*sin($d/$R)*cos($latitude1),cos($d/$R)-sin($latitude1)*sin($latitude2)); |
|
405 | + $longitude2 = $longitude1 + atan2(sin($brng)*sin($d/$R)*cos($latitude1), cos($d/$R) - sin($latitude1)*sin($latitude2)); |
|
406 | 406 | |
407 | - $latitude2 = $latitude2 * (180/M_PI); |
|
408 | - $longitude2 = $longitude2 * (180/M_PI); |
|
407 | + $latitude2 = $latitude2*(180/M_PI); |
|
408 | + $longitude2 = $longitude2*(180/M_PI); |
|
409 | 409 | |
410 | - $flat = round ($latitude2,6); |
|
411 | - $flong = round ($longitude2,6); |
|
410 | + $flat = round($latitude2, 6); |
|
411 | + $flong = round($longitude2, 6); |
|
412 | 412 | /* |
413 | 413 | $dx = $distance*cos($bearing); |
414 | 414 | $dy = $distance*sin($bearing); |
@@ -417,7 +417,7 @@ discard block |
||
417 | 417 | $flong = $longitude + $dlong; |
418 | 418 | $flat = $latitude + $dlat; |
419 | 419 | */ |
420 | - return array('latitude' => $flat,'longitude' => $flong); |
|
420 | + return array('latitude' => $flat, 'longitude' => $flong); |
|
421 | 421 | } |
422 | 422 | |
423 | 423 | /** |
@@ -431,14 +431,14 @@ discard block |
||
431 | 431 | * @param integer $level GZIP compression level (default: 9) |
432 | 432 | * @return string New filename (with .gz appended) if success, or false if operation fails |
433 | 433 | */ |
434 | - public function gzCompressFile($source, $level = 9){ |
|
435 | - $dest = $source . '.gz'; |
|
436 | - $mode = 'wb' . $level; |
|
434 | + public function gzCompressFile($source, $level = 9) { |
|
435 | + $dest = $source.'.gz'; |
|
436 | + $mode = 'wb'.$level; |
|
437 | 437 | $error = false; |
438 | 438 | if ($fp_out = gzopen($dest, $mode)) { |
439 | - if ($fp_in = fopen($source,'rb')) { |
|
439 | + if ($fp_in = fopen($source, 'rb')) { |
|
440 | 440 | while (!feof($fp_in)) |
441 | - gzwrite($fp_out, fread($fp_in, 1024 * 512)); |
|
441 | + gzwrite($fp_out, fread($fp_in, 1024*512)); |
|
442 | 442 | fclose($fp_in); |
443 | 443 | } else { |
444 | 444 | $error = true; |
@@ -454,7 +454,7 @@ discard block |
||
454 | 454 | } |
455 | 455 | |
456 | 456 | public function remove_accents($string) { |
457 | - if ( !preg_match('/[\x80-\xff]/', $string) ) return $string; |
|
457 | + if (!preg_match('/[\x80-\xff]/', $string)) return $string; |
|
458 | 458 | $chars = array( |
459 | 459 | // Decompositions for Latin-1 Supplement |
460 | 460 | chr(195).chr(128) => 'A', chr(195).chr(129) => 'A', |
@@ -511,7 +511,7 @@ discard block |
||
511 | 511 | chr(196).chr(172) => 'I', chr(196).chr(173) => 'i', |
512 | 512 | chr(196).chr(174) => 'I', chr(196).chr(175) => 'i', |
513 | 513 | chr(196).chr(176) => 'I', chr(196).chr(177) => 'i', |
514 | - chr(196).chr(178) => 'IJ',chr(196).chr(179) => 'ij', |
|
514 | + chr(196).chr(178) => 'IJ', chr(196).chr(179) => 'ij', |
|
515 | 515 | chr(196).chr(180) => 'J', chr(196).chr(181) => 'j', |
516 | 516 | chr(196).chr(182) => 'K', chr(196).chr(183) => 'k', |
517 | 517 | chr(196).chr(184) => 'k', chr(196).chr(185) => 'L', |
@@ -527,13 +527,13 @@ discard block |
||
527 | 527 | chr(197).chr(140) => 'O', chr(197).chr(141) => 'o', |
528 | 528 | chr(197).chr(142) => 'O', chr(197).chr(143) => 'o', |
529 | 529 | chr(197).chr(144) => 'O', chr(197).chr(145) => 'o', |
530 | - chr(197).chr(146) => 'OE',chr(197).chr(147) => 'oe', |
|
531 | - chr(197).chr(148) => 'R',chr(197).chr(149) => 'r', |
|
532 | - chr(197).chr(150) => 'R',chr(197).chr(151) => 'r', |
|
533 | - chr(197).chr(152) => 'R',chr(197).chr(153) => 'r', |
|
534 | - chr(197).chr(154) => 'S',chr(197).chr(155) => 's', |
|
535 | - chr(197).chr(156) => 'S',chr(197).chr(157) => 's', |
|
536 | - chr(197).chr(158) => 'S',chr(197).chr(159) => 's', |
|
530 | + chr(197).chr(146) => 'OE', chr(197).chr(147) => 'oe', |
|
531 | + chr(197).chr(148) => 'R', chr(197).chr(149) => 'r', |
|
532 | + chr(197).chr(150) => 'R', chr(197).chr(151) => 'r', |
|
533 | + chr(197).chr(152) => 'R', chr(197).chr(153) => 'r', |
|
534 | + chr(197).chr(154) => 'S', chr(197).chr(155) => 's', |
|
535 | + chr(197).chr(156) => 'S', chr(197).chr(157) => 's', |
|
536 | + chr(197).chr(158) => 'S', chr(197).chr(159) => 's', |
|
537 | 537 | chr(197).chr(160) => 'S', chr(197).chr(161) => 's', |
538 | 538 | chr(197).chr(162) => 'T', chr(197).chr(163) => 't', |
539 | 539 | chr(197).chr(164) => 'T', chr(197).chr(165) => 't', |
@@ -567,7 +567,7 @@ discard block |
||
567 | 567 | for ($i = 0, $int = '', $concat_flag = true; $i < $length; $i++) { |
568 | 568 | if (is_numeric($string[$i]) && $concat_flag) { |
569 | 569 | $int .= $string[$i]; |
570 | - } elseif(!$concat && $concat_flag && strlen($int) > 0) { |
|
570 | + } elseif (!$concat && $concat_flag && strlen($int) > 0) { |
|
571 | 571 | $concat_flag = false; |
572 | 572 | } |
573 | 573 | } |