Completed
Push — master ( 4e6661...237d29 )
by Yannick
18s
created
require/class.SBS.php 1 patch
Braces   +246 added lines, -86 removed lines patch added patch discarded remove patch
@@ -26,8 +26,11 @@  discard block
 block discarded – undo
26 26
 			}
27 27
 		}
28 28
 		//elseif ($typehex == '@' || $typehex == '%') $hex = substr($buffer,13,-13);
29
-		elseif ($typehex == '@' || $typehex == '%') $hex = substr($buffer,13,-1);
30
-		else $hex = substr($buffer,1,-1);
29
+		elseif ($typehex == '@' || $typehex == '%') {
30
+			$hex = substr($buffer,13,-1);
31
+		} else {
32
+			$hex = substr($buffer,1,-1);
33
+		}
31 34
 		$bin = gmp_strval( gmp_init($hex,16), 2);
32 35
 		//if (strlen($hex) == 28 && $this->parityCheck($hex,$bin)) {
33 36
 		//if (strlen($hex) == 28) {
@@ -95,8 +98,9 @@  discard block
 block discarded – undo
95 98
 					//  131072 is 2^17 since CPR latitude and longitude are encoded in 17 bits.
96 99
 					$cprlat = intval(substr($bin,54,17),2)/131072.0;
97 100
 					$cprlon = intval(substr($bin,71,17),2)/131072.0;
98
-					if ($oe == 0) $this::$latlon[$icao] = array('latitude' => $cprlat,'longitude' => $cprlon,'created' => time());
99
-					elseif (isset($this::$latlon[$icao]) && (time() - $this::$latlon[$icao]['created']) < 10) {
101
+					if ($oe == 0) {
102
+						$this::$latlon[$icao] = array('latitude' => $cprlat,'longitude' => $cprlon,'created' => time());
103
+					} elseif (isset($this::$latlon[$icao]) && (time() - $this::$latlon[$icao]['created']) < 10) {
100 104
 						$cprlat_odd = $cprlat;
101 105
 						$cprlon_odd = $cprlon;
102 106
 						$cprlat_even = $this::$latlon[$icao]['latitude'];
@@ -104,8 +108,12 @@  discard block
 block discarded – undo
104 108
 						$j = 59*$cprlat_even-60*$cprlat_odd+0.5;
105 109
 						$lat_even = (360.0/60)*($j%60+$cprlat_even);
106 110
 						$lat_odd = (360.0/59)*($j%59+$cprlat_odd);
107
-						if ($lat_even >= 270) $lat_even = $lat_even - 360;
108
-						if ($lat_odd >= 270) $lat_odd = $lat_odd - 360;
111
+						if ($lat_even >= 270) {
112
+							$lat_even = $lat_even - 360;
113
+						}
114
+						if ($lat_odd >= 270) {
115
+							$lat_odd = $lat_odd - 360;
116
+						}
109 117
 						// check latitude zone
110 118
 						if ($this->cprNL($lat_even) == $this->cprNL($lat_odd)) {
111 119
 							if ($this::$latlon[$icao]['created'] > time()) {
@@ -113,7 +121,9 @@  discard block
 block discarded – undo
113 121
 								$m = floor($cprlon_even*($this->cprNL($lat_even)-1) - $cprlon_odd * $this->cprNL($lat_even)+0.5);
114 122
 								$lon = (360.0/$ni)*($m%$ni+$cprlon_even);
115 123
 								$lat = $lat_even;
116
-								if ($lon > 180) $lon = $lon -360;
124
+								if ($lon > 180) {
125
+									$lon = $lon -360;
126
+								}
117 127
 								if ($lat > -91 && $lat < 91 && $lon > -181 && $lon < 181) {
118 128
 									//if ($globalDebug) echo 'cs : '.$cs.' - hex : '.$hex.' - lat : '.$lat.' - lon : '.$lon;
119 129
 									$data['latitude'] = $lat;
@@ -124,14 +134,18 @@  discard block
 block discarded – undo
124 134
 								$m = floor($cprlon_even*($this->cprNL($lat_odd)-1) - $cprlon_odd * $this->cprNL($lat_odd)+0.5);
125 135
 								$lon = (360.0/$ni)*($m%$ni+$cprlon_odd);
126 136
 								$lat = $lat_odd;
127
-								if ($lon > 180) $lon = $lon -360;
137
+								if ($lon > 180) {
138
+									$lon = $lon -360;
139
+								}
128 140
 								if ($lat > -91 && $lat < 91 && $lon > -181 && $lon < 181) {
129 141
 									//if ($globalDebug) echo 'icao : '.$icao.' - hex : '.$hex.' - lat : '.$lat.' - lon : '.$lon.' second'."\n";
130 142
 									$data['latitude'] = $lat;
131 143
 									$data['longitude'] = $lon;
132 144
 								}
133 145
 							}
134
-						} else echo "Not cprNL";
146
+						} else {
147
+							echo "Not cprNL";
148
+						}
135 149
 						unset($this::$latlon[$icao]);
136 150
 					}
137 151
 				} elseif ($tc == 19) {
@@ -140,11 +154,17 @@  discard block
 block discarded – undo
140 154
 					$v_ew = intval(substr($bin,46,10),2);
141 155
 					$v_ns_dir = intval(substr($bin,56,1));
142 156
 					$v_ns = intval(substr($bin,57,10),2);
143
-					if ($v_ew_dir) $v_ew = -1*$v_ew;
144
-					if ($v_ns_dir) $v_ns = -1*$v_ns;
157
+					if ($v_ew_dir) {
158
+						$v_ew = -1*$v_ew;
159
+					}
160
+					if ($v_ns_dir) {
161
+						$v_ns = -1*$v_ns;
162
+					}
145 163
 					$speed = sqrt($v_ns*$v_ns+$v_ew*$v_ew);
146 164
 					$heading = atan2($v_ew,$v_ns)*360.0/(2*pi());
147
-					if ($heading <0) $heading = $heading+360;
165
+					if ($heading <0) {
166
+						$heading = $heading+360;
167
+					}
148 168
 					$data['speed'] = $speed;
149 169
 					$data['heading'] = $heading;
150 170
 				}
@@ -159,72 +179,194 @@  discard block
 block discarded – undo
159 179
 	 * Lookup table to convert the latitude to index.
160 180
 	*/
161 181
 	private function cprNL($lat) {
162
-		if ($lat < 0) $lat = -$lat;             // Table is simmetric about the equator.
163
-		if ($lat < 10.47047130) return 59;
164
-		if ($lat < 14.82817437) return 58;
165
-		if ($lat < 18.18626357) return 57;
166
-		if ($lat < 21.02939493) return 56;
167
-		if ($lat < 23.54504487) return 55;
168
-		if ($lat < 25.82924707) return 54;
169
-		if ($lat < 27.93898710) return 53;
170
-		if ($lat < 29.91135686) return 52;
171
-		if ($lat < 31.77209708) return 51;
172
-		if ($lat < 33.53993436) return 50;
173
-		if ($lat < 35.22899598) return 49;
174
-		if ($lat < 36.85025108) return 48;
175
-		if ($lat < 38.41241892) return 47;
176
-		if ($lat < 39.92256684) return 46;
177
-		if ($lat < 41.38651832) return 45;
178
-		if ($lat < 42.80914012) return 44;
179
-		if ($lat < 44.19454951) return 43;
180
-		if ($lat < 45.54626723) return 42;
181
-		if ($lat < 46.86733252) return 41;
182
-		if ($lat < 48.16039128) return 40;
183
-		if ($lat < 49.42776439) return 39;
184
-		if ($lat < 50.67150166) return 38;
185
-		if ($lat < 51.89342469) return 37;
186
-		if ($lat < 53.09516153) return 36;
187
-		if ($lat < 54.27817472) return 35;
188
-		if ($lat < 55.44378444) return 34;
189
-		if ($lat < 56.59318756) return 33;
190
-		if ($lat < 57.72747354) return 32;
191
-		if ($lat < 58.84763776) return 31;
192
-		if ($lat < 59.95459277) return 30;
193
-		if ($lat < 61.04917774) return 29;
194
-		if ($lat < 62.13216659) return 28;
195
-		if ($lat < 63.20427479) return 27;
196
-		if ($lat < 64.26616523) return 26;
197
-		if ($lat < 65.31845310) return 25;
198
-		if ($lat < 66.36171008) return 24;
199
-		if ($lat < 67.39646774) return 23;
200
-		if ($lat < 68.42322022) return 22;
201
-		if ($lat < 69.44242631) return 21;
202
-		if ($lat < 70.45451075) return 20;
203
-		if ($lat < 71.45986473) return 19;
204
-		if ($lat < 72.45884545) return 18;
205
-		if ($lat < 73.45177442) return 17;
206
-		if ($lat < 74.43893416) return 16;
207
-		if ($lat < 75.42056257) return 15;
208
-		if ($lat < 76.39684391) return 14;
209
-		if ($lat < 77.36789461) return 13;
210
-		if ($lat < 78.33374083) return 12;
211
-		if ($lat < 79.29428225) return 11;
212
-		if ($lat < 80.24923213) return 10;
213
-		if ($lat < 81.19801349) return 9;
214
-		if ($lat < 82.13956981) return 8;
215
-		if ($lat < 83.07199445) return 7;
216
-		if ($lat < 83.99173563) return 6;
217
-		if ($lat < 84.89166191) return 5;
218
-		if ($lat < 85.75541621) return 4;
219
-		if ($lat < 86.53536998) return 3;
220
-		if ($lat < 87.00000000) return 2;
182
+		if ($lat < 0) {
183
+			$lat = -$lat;
184
+		}
185
+		// Table is simmetric about the equator.
186
+		if ($lat < 10.47047130) {
187
+			return 59;
188
+		}
189
+		if ($lat < 14.82817437) {
190
+			return 58;
191
+		}
192
+		if ($lat < 18.18626357) {
193
+			return 57;
194
+		}
195
+		if ($lat < 21.02939493) {
196
+			return 56;
197
+		}
198
+		if ($lat < 23.54504487) {
199
+			return 55;
200
+		}
201
+		if ($lat < 25.82924707) {
202
+			return 54;
203
+		}
204
+		if ($lat < 27.93898710) {
205
+			return 53;
206
+		}
207
+		if ($lat < 29.91135686) {
208
+			return 52;
209
+		}
210
+		if ($lat < 31.77209708) {
211
+			return 51;
212
+		}
213
+		if ($lat < 33.53993436) {
214
+			return 50;
215
+		}
216
+		if ($lat < 35.22899598) {
217
+			return 49;
218
+		}
219
+		if ($lat < 36.85025108) {
220
+			return 48;
221
+		}
222
+		if ($lat < 38.41241892) {
223
+			return 47;
224
+		}
225
+		if ($lat < 39.92256684) {
226
+			return 46;
227
+		}
228
+		if ($lat < 41.38651832) {
229
+			return 45;
230
+		}
231
+		if ($lat < 42.80914012) {
232
+			return 44;
233
+		}
234
+		if ($lat < 44.19454951) {
235
+			return 43;
236
+		}
237
+		if ($lat < 45.54626723) {
238
+			return 42;
239
+		}
240
+		if ($lat < 46.86733252) {
241
+			return 41;
242
+		}
243
+		if ($lat < 48.16039128) {
244
+			return 40;
245
+		}
246
+		if ($lat < 49.42776439) {
247
+			return 39;
248
+		}
249
+		if ($lat < 50.67150166) {
250
+			return 38;
251
+		}
252
+		if ($lat < 51.89342469) {
253
+			return 37;
254
+		}
255
+		if ($lat < 53.09516153) {
256
+			return 36;
257
+		}
258
+		if ($lat < 54.27817472) {
259
+			return 35;
260
+		}
261
+		if ($lat < 55.44378444) {
262
+			return 34;
263
+		}
264
+		if ($lat < 56.59318756) {
265
+			return 33;
266
+		}
267
+		if ($lat < 57.72747354) {
268
+			return 32;
269
+		}
270
+		if ($lat < 58.84763776) {
271
+			return 31;
272
+		}
273
+		if ($lat < 59.95459277) {
274
+			return 30;
275
+		}
276
+		if ($lat < 61.04917774) {
277
+			return 29;
278
+		}
279
+		if ($lat < 62.13216659) {
280
+			return 28;
281
+		}
282
+		if ($lat < 63.20427479) {
283
+			return 27;
284
+		}
285
+		if ($lat < 64.26616523) {
286
+			return 26;
287
+		}
288
+		if ($lat < 65.31845310) {
289
+			return 25;
290
+		}
291
+		if ($lat < 66.36171008) {
292
+			return 24;
293
+		}
294
+		if ($lat < 67.39646774) {
295
+			return 23;
296
+		}
297
+		if ($lat < 68.42322022) {
298
+			return 22;
299
+		}
300
+		if ($lat < 69.44242631) {
301
+			return 21;
302
+		}
303
+		if ($lat < 70.45451075) {
304
+			return 20;
305
+		}
306
+		if ($lat < 71.45986473) {
307
+			return 19;
308
+		}
309
+		if ($lat < 72.45884545) {
310
+			return 18;
311
+		}
312
+		if ($lat < 73.45177442) {
313
+			return 17;
314
+		}
315
+		if ($lat < 74.43893416) {
316
+			return 16;
317
+		}
318
+		if ($lat < 75.42056257) {
319
+			return 15;
320
+		}
321
+		if ($lat < 76.39684391) {
322
+			return 14;
323
+		}
324
+		if ($lat < 77.36789461) {
325
+			return 13;
326
+		}
327
+		if ($lat < 78.33374083) {
328
+			return 12;
329
+		}
330
+		if ($lat < 79.29428225) {
331
+			return 11;
332
+		}
333
+		if ($lat < 80.24923213) {
334
+			return 10;
335
+		}
336
+		if ($lat < 81.19801349) {
337
+			return 9;
338
+		}
339
+		if ($lat < 82.13956981) {
340
+			return 8;
341
+		}
342
+		if ($lat < 83.07199445) {
343
+			return 7;
344
+		}
345
+		if ($lat < 83.99173563) {
346
+			return 6;
347
+		}
348
+		if ($lat < 84.89166191) {
349
+			return 5;
350
+		}
351
+		if ($lat < 85.75541621) {
352
+			return 4;
353
+		}
354
+		if ($lat < 86.53536998) {
355
+			return 3;
356
+		}
357
+		if ($lat < 87.00000000) {
358
+			return 2;
359
+		}
221 360
 		return 1;
222 361
 	}
223 362
 
224 363
 	private function cprN($lat,$isodd) {
225 364
 		$nl = $this->cprNL($lat) - $isodd;
226
-		if ($nl > 1) return $nl;
227
-		else return 1;
365
+		if ($nl > 1) {
366
+			return $nl;
367
+		} else {
368
+			return 1;
369
+		}
228 370
 	}
229 371
 
230 372
 	private function parityCheck($msg, $bin) {
@@ -247,10 +389,13 @@  discard block
 block discarded – undo
247 389
 		$crc = 0;
248 390
 		$checksum = intval(substr($msg,22,6),16);
249 391
 		for ($j = 0; $j < strlen($bin); $j++) {
250
-			if ($bin[$j]) $crc = $crc^intval($modes_checksum_table[$j],0);
392
+			if ($bin[$j]) {
393
+				$crc = $crc^intval($modes_checksum_table[$j],0);
394
+			}
251 395
 		}
252
-		if ($crc == $checksum) return true;
253
-		else {
396
+		if ($crc == $checksum) {
397
+			return true;
398
+		} else {
254 399
 			//echo "**** CRC ERROR ****\n";
255 400
 			return false;
256 401
 		}
@@ -300,22 +445,37 @@  discard block
 block discarded – undo
300 445
 			$msg['date_log'] = date('Y/m/d',$data['timestamp']);
301 446
 			$msg['time_log'] = date('H:i:s',$data['timestamp']).'.180';
302 447
 			$msg['callsign'] = '';
303
-			if (isset($data['altitude'])) $msg['altitude'] = $data['altitude'];
304
-			else $msg['altitude'] = '';
448
+			if (isset($data['altitude'])) {
449
+				$msg['altitude'] = $data['altitude'];
450
+			} else {
451
+				$msg['altitude'] = '';
452
+			}
305 453
 			$msg['speed'] = $data['speed'];
306
-			if (isset($data['heading'])) $msg['track'] = $data['heading'];
307
-			else $msg['track'] = '';
454
+			if (isset($data['heading'])) {
455
+				$msg['track'] = $data['heading'];
456
+			} else {
457
+				$msg['track'] = '';
458
+			}
308 459
 			$msg['latitude'] = $data['latitude'];
309 460
 			$msg['longitude'] = $data['longitude'];
310
-			if (isset($data['verticalrate'])) $msg['verticalrate'] = $data['verticalrate'];
311
-			else $msg['verticalrate'] = '';
312
-			if (isset($data['squawk'])) $msg['squawk'] = $data['squawk'];
313
-			else $msg['squawk'] = 0;
461
+			if (isset($data['verticalrate'])) {
462
+				$msg['verticalrate'] = $data['verticalrate'];
463
+			} else {
464
+				$msg['verticalrate'] = '';
465
+			}
466
+			if (isset($data['squawk'])) {
467
+				$msg['squawk'] = $data['squawk'];
468
+			} else {
469
+				$msg['squawk'] = 0;
470
+			}
314 471
 			$msg['alert'] = 0;
315 472
 			$msg['emergency'] = 0;
316 473
 			$msg['SPI'] = 0;
317
-			if (isset($data['ground'])) $msg['ground'] = 1;
318
-			else $msg['ground'] = 0;
474
+			if (isset($data['ground'])) {
475
+				$msg['ground'] = 1;
476
+			} else {
477
+				$msg['ground'] = 0;
478
+			}
319 479
 			$result[] = implode(',',$msg);
320 480
 		}
321 481
 		return $result;
Please login to merge, or discard this patch.