Completed
Push — master ( 294034...cc589d )
by Yannick
08:28
created
require/class.APRS.php 4 patches
Doc Comments   +7 added lines patch added patch discarded remove patch
@@ -89,6 +89,10 @@  discard block
 block discarded – undo
89 89
 	'y' => 'Yagi At QTH');
90 90
 	
91 91
 
92
+    /**
93
+     * @param integer $n
94
+     * @param integer $s
95
+     */
92 96
     private function urshift($n, $s) {
93 97
 	return ($n >= 0) ? ($n >> $s) :
94 98
 	    (($n & 0x7fffffff) >> $s) | 
@@ -483,6 +487,9 @@  discard block
 block discarded – undo
483 487
 	socket_close($this->socket);
484 488
     }
485 489
     
490
+    /**
491
+     * @param string $data
492
+     */
486 493
     public function send($data) {
487 494
 	global $globalDebug;
488 495
 	if ($this->connected === false) $this->connect();
Please login to merge, or discard this patch.
Indentation   +144 added lines, -144 removed lines patch added patch discarded remove patch
@@ -2,10 +2,10 @@  discard block
 block discarded – undo
2 2
 require_once(dirname(__FILE__).'/settings.php');
3 3
 require_once(dirname(__FILE__).'/class.Common.php');
4 4
 class aprs {
5
-    private $socket;
6
-    private $connected = false;
5
+	private $socket;
6
+	private $connected = false;
7 7
 
8
-    protected $symbols = array('!' => 'Police',
8
+	protected $symbols = array('!' => 'Police',
9 9
 	'#' => 'DIGI',
10 10
 	'$' => 'Phone',
11 11
 	'%' => 'DX Cluster',
@@ -89,13 +89,13 @@  discard block
 block discarded – undo
89 89
 	'y' => 'Yagi At QTH');
90 90
 	
91 91
 
92
-    private function urshift($n, $s) {
92
+	private function urshift($n, $s) {
93 93
 	return ($n >= 0) ? ($n >> $s) :
94
-	    (($n & 0x7fffffff) >> $s) | 
94
+		(($n & 0x7fffffff) >> $s) | 
95 95
 		(0x40000000 >> ($s - 1));
96
-    }
96
+	}
97 97
 
98
-    public function parse($input) {
98
+	public function parse($input) {
99 99
 	global $globalDebug;
100 100
 	$debug = false;
101 101
 	$result = array();
@@ -107,8 +107,8 @@  discard block
 block discarded – undo
107 107
 	
108 108
 	/* Check that end was found and body has at least one byte. */
109 109
 	if ($splitpos == 0 || $splitpos + 1 == $input_len || $splitpos === FALSE) {
110
-	    if ($globalDebug) echo '!!! APRS invalid : '.$input."\n";
111
-	    return false;
110
+		if ($globalDebug) echo '!!! APRS invalid : '.$input."\n";
111
+		return false;
112 112
 	}
113 113
 	
114 114
 	if ($debug) echo 'input : '.$input."\n";
@@ -122,31 +122,31 @@  discard block
 block discarded – undo
122 122
 	/* Parse source, target and path. */
123 123
 	//FLRDF0A52>APRS,qAS,LSTB
124 124
 	if (preg_match('/^([A-Z0-9\\-]{1,9})>(.*)$/',$header,$matches)) {
125
-	    $ident = $matches[1];
126
-	    $all_elements = $matches[2];
127
-	    if ($ident == 'AIRCRAFT') {
125
+		$ident = $matches[1];
126
+		$all_elements = $matches[2];
127
+		if ($ident == 'AIRCRAFT') {
128 128
 		$result['format_source'] = 'famaprs';
129 129
 		$result['source_type'] = 'modes';
130
-	    } elseif ($ident == 'MARINE') {
130
+		} elseif ($ident == 'MARINE') {
131 131
 		$result['format_source'] = 'famaprs';
132 132
 		$result['source_type'] = 'ais';
133
-	    } else {
133
+		} else {
134 134
 		if ($debug) echo 'ident : '.$ident."\n";
135 135
 		$result['ident'] = $ident;
136
-	    }
136
+		}
137 137
 	} else return false;
138 138
 	$elements = explode(',',$all_elements);
139 139
 	$source = end($elements);
140 140
 	$result['source'] = $source;
141 141
 	foreach ($elements as $element) {
142
-	    if (preg_match('/^([a-zA-Z0-9-]{1,9})([*]?)$/',$element)) {
143
-	        //echo "ok";
144
-	        //if ($element == 'TCPIP*') return false;
145
-	    } elseif (!preg_match('/^([0-9A-F]{32})$/',$element)) {
142
+		if (preg_match('/^([a-zA-Z0-9-]{1,9})([*]?)$/',$element)) {
143
+			//echo "ok";
144
+			//if ($element == 'TCPIP*') return false;
145
+		} elseif (!preg_match('/^([0-9A-F]{32})$/',$element)) {
146 146
 		if ($debug) echo 'element : '.$element."\n";
147 147
 		return false;
148
-	    }
149
-	    /*
148
+		}
149
+		/*
150 150
 	    } elseif (preg_match('/^([0-9A-F]{32})$/',$element)) {
151 151
 		//echo "ok";
152 152
 	    } else {
@@ -173,49 +173,49 @@  discard block
 block discarded – undo
173 173
 	$body_parse = substr($body,1);
174 174
 	//echo 'Body : '.$body."\n";
175 175
 	if (preg_match('/^;(.){9}\*/',$body,$matches)) {
176
-	    $body_parse = substr($body_parse,10);
177
-	    $find = true;
178
-	    //echo $body_parse."\n";
176
+		$body_parse = substr($body_parse,10);
177
+		$find = true;
178
+		//echo $body_parse."\n";
179 179
 	}
180 180
 	if (preg_match('/^`(.*)\//',$body,$matches)) {
181
-	    $body_parse = substr($body_parse,strlen($matches[1])-1);
182
-	    $find = true;
183
-	    //echo $body_parse."\n";
181
+		$body_parse = substr($body_parse,strlen($matches[1])-1);
182
+		$find = true;
183
+		//echo $body_parse."\n";
184 184
 	}
185 185
 	if (preg_match("/^'(.*)\//",$body,$matches)) {
186
-	    $body_parse = substr($body_parse,strlen($matches[1])-1);
187
-	    $find = true;
188
-	    //echo $body_parse."\n";
186
+		$body_parse = substr($body_parse,strlen($matches[1])-1);
187
+		$find = true;
188
+		//echo $body_parse."\n";
189 189
 	}
190 190
 	if (preg_match('/^([0-9]{2})([0-9]{2})([0-9]{2})([zh\\/])/',$body_parse,$matches)) {
191
-	    $find = true;
192
-	    //print_r($matches);
193
-	    $timestamp = $matches[0];
194
-	    if ($matches[4] == 'h') {
191
+		$find = true;
192
+		//print_r($matches);
193
+		$timestamp = $matches[0];
194
+		if ($matches[4] == 'h') {
195 195
 		$timestamp = strtotime(date('Ymd').' '.$matches[1].':'.$matches[2].':'.$matches[3]);
196 196
 		//echo 'timestamp : '.$timestamp.' - now : '.time()."\n";
197 197
 		/*
198 198
 		if (time() + 3900 < $timestamp) $timestamp -= 86400;
199 199
 		elseif (time() - 82500 > $timestamp) $timestamp += 86400;
200 200
 		*/
201
-	    } elseif ($matches[4] == 'z' || $matches[4] == '/') {
201
+		} elseif ($matches[4] == 'z' || $matches[4] == '/') {
202 202
 		// This work or not ?
203 203
 		$timestamp = strtotime(date('Ym').$matches[1].' '.$matches[2].':'.$matches[3]);
204
-	    }
205
-	    $body_parse = substr($body_parse,7);
206
-	    $result['timestamp'] = $timestamp;
207
-	    //echo date('Ymd H:i:s',$timestamp);
204
+		}
205
+		$body_parse = substr($body_parse,7);
206
+		$result['timestamp'] = $timestamp;
207
+		//echo date('Ymd H:i:s',$timestamp);
208 208
 	}
209 209
 	if (preg_match('/^([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})/',$body_parse,$matches)) {
210
-	    $find = true;
211
-	    $timestamp = strtotime(date('Y').$matches[1].$matches[2].' '.$matches[3].':'.$matches[4]);
212
-	    $body_parse = substr($body_parse,8);
213
-	    $result['timestamp'] = $timestamp;
214
-	    //echo date('Ymd H:i:s',$timestamp);
210
+		$find = true;
211
+		$timestamp = strtotime(date('Y').$matches[1].$matches[2].' '.$matches[3].':'.$matches[4]);
212
+		$body_parse = substr($body_parse,8);
213
+		$result['timestamp'] = $timestamp;
214
+		//echo date('Ymd H:i:s',$timestamp);
215 215
 	}
216 216
 	//if (strlen($body_parse) > 19) {
217
-	    if (preg_match('/^([0-9]{2})([0-7 ][0-9 ]\\.[0-9 ]{2})([NnSs])(.)([0-9]{3})([0-7 ][0-9 ]\\.[0-9 ]{2})([EeWw])(.)/',$body_parse,$matches)) {
218
-	    $find = true;
217
+		if (preg_match('/^([0-9]{2})([0-7 ][0-9 ]\\.[0-9 ]{2})([NnSs])(.)([0-9]{3})([0-7 ][0-9 ]\\.[0-9 ]{2})([EeWw])(.)/',$body_parse,$matches)) {
218
+		$find = true;
219 219
 		// 4658.70N/00707.78Ez
220 220
 		//print_r(str_split($body_parse));
221 221
 		
@@ -232,7 +232,7 @@  discard block
 block discarded – undo
232 232
 		$lon = intval($lon_deg);
233 233
 		if ($lat > 89 || $lon > 179) return false;
234 234
 	    
235
-	    /*
235
+		/*
236 236
 	    $tmp_5b = str_replace('.','',$lat_min);
237 237
 	    if (preg_match('/^([0-9]{0,4})( {0,4})$/',$tmp_5b,$matches)) {
238 238
 	        print_r($matches);
@@ -246,9 +246,9 @@  discard block
 block discarded – undo
246 246
 		$result['longitude'] = $longitude;
247 247
 		$body_parse = substr($body_parse,18);
248 248
 		$body_parse_len = strlen($body_parse);
249
-	    }
250
-	    $body_parse_len = strlen($body_parse);
251
-	    if ($body_parse_len > 0) {
249
+		}
250
+		$body_parse_len = strlen($body_parse);
251
+		if ($body_parse_len > 0) {
252 252
 		/*
253 253
 		if (!isset($result['timestamp']) && !isset($result['latitude'])) {
254 254
 			$body_split = str_split($body);
@@ -278,95 +278,95 @@  discard block
 block discarded – undo
278 278
 			if (isset($this->symbols[$symbol_code])) $result['symbol'] = $this->symbols[$symbol_code];
279 279
 			if ($symbol_code != '_') {
280 280
 			}
281
-		    //$body_parse = substr($body_parse,1);
282
-		    //$body_parse = trim($body_parse);
283
-		    //$body_parse_len = strlen($body_parse);
284
-		    if ($body_parse_len >= 7) {
281
+			//$body_parse = substr($body_parse,1);
282
+			//$body_parse = trim($body_parse);
283
+			//$body_parse_len = strlen($body_parse);
284
+			if ($body_parse_len >= 7) {
285 285
 			
286
-		        if (preg_match('/^([0-9\\. ]{3})\\/([0-9\\. ]{3})/',$body_parse)) {
287
-		    	    $course = substr($body_parse,0,3);
288
-		    	    $tmp_s = intval($course);
289
-		    	    if ($tmp_s >= 1 && $tmp_s <= 360) $result['heading'] = intval($course);
290
-		    	    $speed = substr($body_parse,4,3);
291
-		    	    if ($speed != '...') {
292
-		    		//$result['speed'] = round($speed*1.852);
293
-		    		$result['speed'] = intval($speed);
294
-		    	    }
295
-		    	    $body_parse = substr($body_parse,7);
296
-		        }
297
-		        // Check PHGR, PHG, RNG
298
-		    } 
299
-		    /*
286
+				if (preg_match('/^([0-9\\. ]{3})\\/([0-9\\. ]{3})/',$body_parse)) {
287
+					$course = substr($body_parse,0,3);
288
+					$tmp_s = intval($course);
289
+					if ($tmp_s >= 1 && $tmp_s <= 360) $result['heading'] = intval($course);
290
+					$speed = substr($body_parse,4,3);
291
+					if ($speed != '...') {
292
+					//$result['speed'] = round($speed*1.852);
293
+					$result['speed'] = intval($speed);
294
+					}
295
+					$body_parse = substr($body_parse,7);
296
+				}
297
+				// Check PHGR, PHG, RNG
298
+			} 
299
+			/*
300 300
 		    else if ($body_parse_len > 0) {
301 301
 			$rest = $body_parse;
302 302
 		    }
303 303
 		    */
304
-		    if (strlen($body_parse) > 0) {
305
-		        if (preg_match('/\\/A=(-[0-9]{5}|[0-9]{6})/',$body_parse,$matches)) {
306
-		            $altitude = intval($matches[1]);
307
-		            //$result['altitude'] = round($altitude*0.3048);
308
-		            $result['altitude'] = $altitude;
309
-		            //$body_parse = trim(substr($body_parse,strlen($matches[0])));
310
-		            $body_parse = trim(preg_replace('/\\/A=(-[0-9]{5}|[0-9]{6})/','',$body_parse));
311
-		        }
312
-		    }
304
+			if (strlen($body_parse) > 0) {
305
+				if (preg_match('/\\/A=(-[0-9]{5}|[0-9]{6})/',$body_parse,$matches)) {
306
+					$altitude = intval($matches[1]);
307
+					//$result['altitude'] = round($altitude*0.3048);
308
+					$result['altitude'] = $altitude;
309
+					//$body_parse = trim(substr($body_parse,strlen($matches[0])));
310
+					$body_parse = trim(preg_replace('/\\/A=(-[0-9]{5}|[0-9]{6})/','',$body_parse));
311
+				}
312
+			}
313 313
 		    
314
-		    // Telemetry
315
-		    /*
314
+			// Telemetry
315
+			/*
316 316
 		    if (preg_match('/^([0-9]+),(-?)([0-9]{1,6}|[0-9]+\\.[0-9]+|\\.[0-9]+)?,(-?)([0-9]{1,6}|[0-9]+\\.[0-9]+|\\.[0-9]+)?,(-?)([0-9]{1,6}|[0-9]+\\.[0-9]+|\\.[0-9]+)?,(-?)([0-9]{1,6}|[0-9]+\\.[0-9]+|\\.[0-9]+)?,(-?)([0-9]{1,6}|[0-9]+\\.[0-9]+|\\.[0-9]+)?,([01]{0,8})/',$body_parse,$matches)) {
317 317
 		        // Nothing yet...
318 318
 		    }
319 319
 		    */
320
-		    // DAO
320
+			// DAO
321 321
 		    
322
-		    if (preg_match('/^!([0-9A-Z]{3})/',$body_parse,$matches)) {
322
+			if (preg_match('/^!([0-9A-Z]{3})/',$body_parse,$matches)) {
323 323
 			    
324
-			    $dao = $matches[1];
325
-			    if (preg_match('/^([A-Z])([0-9]{2})/',$dao)) {
324
+				$dao = $matches[1];
325
+				if (preg_match('/^([A-Z])([0-9]{2})/',$dao)) {
326 326
 				$dao_split = str_split($dao);
327
-			        $lat_off = (($dao_split[1])-48.0)*0.001/60.0;
328
-			        $lon_off = (($dao_split[2])-48.0)*0.001/60.0;
327
+					$lat_off = (($dao_split[1])-48.0)*0.001/60.0;
328
+					$lon_off = (($dao_split[2])-48.0)*0.001/60.0;
329 329
 			    
330 330
 				if ($result['latitude'] < 0) $result['latitude'] -= $lat_off;
331 331
 				else $result['latitude'] += $lat_off;
332 332
 				if ($result['longitude'] < 0) $result['longitude'] -= $lon_off;
333 333
 				else $result['longitude'] += $lon_off;
334
-			    }
334
+				}
335 335
 			    
336
-		            $body_parse = substr($body_parse,6);
337
-		    }
336
+					$body_parse = substr($body_parse,6);
337
+			}
338 338
 		    
339
-		    if (preg_match('/CS=([0-9A-Z_]*)/',$body_parse,$matches)) {
339
+			if (preg_match('/CS=([0-9A-Z_]*)/',$body_parse,$matches)) {
340 340
 			$result['ident'] = str_replace('_',' ',$matches[1]);
341
-		    }
342
-		    if (preg_match('/SQ=([0-9]{4})/',$body_parse,$matches)) {
341
+			}
342
+			if (preg_match('/SQ=([0-9]{4})/',$body_parse,$matches)) {
343 343
 			$result['squawk'] = $matches[1];
344
-		    }
345
-		    if (preg_match('/AI=([0-9A-Z]{4})/',$body_parse,$matches)) {
344
+			}
345
+			if (preg_match('/AI=([0-9A-Z]{4})/',$body_parse,$matches)) {
346 346
 			$result['aircraft_icao'] = $matches[1];
347
-		    }
348
-		    if (preg_match('/VR=([0-9]*)/',$body_parse,$matches)) {
347
+			}
348
+			if (preg_match('/VR=([0-9]*)/',$body_parse,$matches)) {
349 349
 			$result['verticalrate'] = $matches[1];
350
-		    }
351
-		    if (preg_match('/TI=([0-9]*)/',$body_parse,$matches)) {
350
+			}
351
+			if (preg_match('/TI=([0-9]*)/',$body_parse,$matches)) {
352 352
 			$result['typeid'] = $matches[1];
353
-		    }
354
-		    if (preg_match('/SI=([0-9]*)/',$body_parse,$matches)) {
353
+			}
354
+			if (preg_match('/SI=([0-9]*)/',$body_parse,$matches)) {
355 355
 			$result['statusid'] = $matches[1];
356
-		    }
357
-		    if (preg_match('/IMO=([0-9]{7})/',$body_parse,$matches)) {
356
+			}
357
+			if (preg_match('/IMO=([0-9]{7})/',$body_parse,$matches)) {
358 358
 			$result['imo'] = $matches[1];
359
-		    }
360
-		    if (preg_match('/AD=([0-9]*)/',$body_parse,$matches)) {
359
+			}
360
+			if (preg_match('/AD=([0-9]*)/',$body_parse,$matches)) {
361 361
 			$result['arrival_date'] = $matches[1];
362
-		    }
363
-		    if (preg_match('/AC=([0-9A-Z_]*)/',$body_parse,$matches)) {
362
+			}
363
+			if (preg_match('/AC=([0-9A-Z_]*)/',$body_parse,$matches)) {
364 364
 			$result['arrival_code'] = str_replace('_',' ',$matches[1]);
365
-		    }
366
-		    // OGN comment
365
+			}
366
+			// OGN comment
367 367
 		   // echo "Before OGN : ".$body_parse."\n";
368
-		    //if (preg_match('/^id([0-9A-F]{8}) ([+-])([0-9]{3,4})fpm ([+-])([0-9.]{3,4})rot (.*)$/',$body_parse,$matches)) {
369
-		    if (preg_match('/^id([0-9A-F]{8})/',$body_parse,$matches)) {
368
+			//if (preg_match('/^id([0-9A-F]{8}) ([+-])([0-9]{3,4})fpm ([+-])([0-9.]{3,4})rot (.*)$/',$body_parse,$matches)) {
369
+			if (preg_match('/^id([0-9A-F]{8})/',$body_parse,$matches)) {
370 370
 			$id = $matches[1];
371 371
 			//$mode = substr($id,0,2);
372 372
 			$address = substr($id,2);
@@ -396,53 +396,53 @@  discard block
 block discarded – undo
396 396
 			$stealth = (intval(substr($id,0,2), 16) & 0b10000000) != 0;
397 397
 			$result['stealth'] = $stealth;
398 398
 			$result['address'] = $address;
399
-		    }
399
+			}
400 400
 		    
401
-		    //Comment
402
-		    $result['comment'] = trim($body_parse);
401
+			//Comment
402
+			$result['comment'] = trim($body_parse);
403 403
 		} else {
404
-		    // parse weather
405
-		    //$body_parse = substr($body_parse,1);
406
-		    //$body_parse_len = strlen($body_parse);
404
+			// parse weather
405
+			//$body_parse = substr($body_parse,1);
406
+			//$body_parse_len = strlen($body_parse);
407 407
 
408
-		    if (preg_match('/^_{0,1}([0-9 \\.\\-]{3})\\/([0-9 \\.]{3})g([0-9 \\.]+)t(-{0,1}[0-9 \\.]+)/',$body_parse,$matches)) {
409
-			    $result['wind_dir'] = intval($matches[1]);
410
-			    $result['wind_speed'] = round(intval($matches[2])*1.60934,1);
411
-			    $result['wind_gust'] = round(intval($matches[3])*1.60934,1);
412
-			    $result['temp'] = round(5/9*((intval($matches[4]))-32),1);
413
-		    	    $body_parse = substr($body_parse,strlen($matches[0])+1);
414
-		    } elseif (preg_match('/^_{0,1}c([0-9 \\.\\-]{3})s([0-9 \\.]{3})g([0-9 \\.]+)t(-{0,1}[0-9 \\.]+)/',$body_parse,$matches)) {
408
+			if (preg_match('/^_{0,1}([0-9 \\.\\-]{3})\\/([0-9 \\.]{3})g([0-9 \\.]+)t(-{0,1}[0-9 \\.]+)/',$body_parse,$matches)) {
409
+				$result['wind_dir'] = intval($matches[1]);
410
+				$result['wind_speed'] = round(intval($matches[2])*1.60934,1);
411
+				$result['wind_gust'] = round(intval($matches[3])*1.60934,1);
412
+				$result['temp'] = round(5/9*((intval($matches[4]))-32),1);
413
+					$body_parse = substr($body_parse,strlen($matches[0])+1);
414
+			} elseif (preg_match('/^_{0,1}c([0-9 \\.\\-]{3})s([0-9 \\.]{3})g([0-9 \\.]+)t(-{0,1}[0-9 \\.]+)/',$body_parse,$matches)) {
415 415
 			$result['wind_dir'] = intval($matches[1]);
416 416
 			$result['wind_speed'] = round($matches[2]*1.60934,1);
417 417
 			$result['wind_gust'] = round($matches[3]*1.60934,1);
418 418
 			$result['temp'] = round(5/9*(($matches[4])-32),1);
419
-		        $body_parse = substr($body_parse,strlen($matches[0])+1);
420
-		    } elseif (preg_match('/^_{0,1}([0-9 \\.\\-]{3})\\/([0-9 \\.]{3})t(-{0,1}[0-9 \\.]+)/',$body_parse,$matches)) {
419
+				$body_parse = substr($body_parse,strlen($matches[0])+1);
420
+			} elseif (preg_match('/^_{0,1}([0-9 \\.\\-]{3})\\/([0-9 \\.]{3})t(-{0,1}[0-9 \\.]+)/',$body_parse,$matches)) {
421 421
 			$result['wind_dir'] = intval($matches[1]);
422 422
 			$result['wind_speed'] = round($matches[2]*1.60934,1);
423 423
 			$result['wind_gust'] = round($matches[3]*1.60934,1);
424
-		        $body_parse = substr($body_parse,strlen($matches[0])+1);
425
-		    } elseif (preg_match('/^_{0,1}([0-9 \\.\\-]{3})\\/([0-9 \\.]{3})g([0-9 \\.]+)/',$body_parse,$matches)) {
424
+				$body_parse = substr($body_parse,strlen($matches[0])+1);
425
+			} elseif (preg_match('/^_{0,1}([0-9 \\.\\-]{3})\\/([0-9 \\.]{3})g([0-9 \\.]+)/',$body_parse,$matches)) {
426 426
 			$result['wind_dir'] = intval($matches[1]);
427 427
 			$result['wind_speed'] = round($matches[2]*1.60934,1);
428 428
 			$result['wind_gust'] = round($matches[3]*1.60934,1);
429
-		        $body_parse = substr($body_parse,strlen($matches[0])+1);
430
-		    }
431
-		    if (!isset($result['temp']) && strlen($body_parse) > 0 && preg_match('/^g([0-9]+)t(-?[0-9 \\.]{1,3})/',$body_parse,$matches)) {
429
+				$body_parse = substr($body_parse,strlen($matches[0])+1);
430
+			}
431
+			if (!isset($result['temp']) && strlen($body_parse) > 0 && preg_match('/^g([0-9]+)t(-?[0-9 \\.]{1,3})/',$body_parse,$matches)) {
432 432
 			$result['temp'] = round(5/9*(($matches[1])-32),1);
433
-		    }
433
+			}
434 434
 		}
435 435
 		} else $result['comment'] = trim($body_parse);
436 436
 
437
-	    }
437
+		}
438 438
 	//}
439 439
 	if (isset($result['latitude'])) $result['latitude'] = round($result['latitude'],4);
440 440
 	if (isset($result['longitude'])) $result['longitude'] = round($result['longitude'],4);
441 441
 	if ($debug) print_r($result);
442 442
 	return $result;
443
-    }
443
+	}
444 444
     
445
-    public function connect() {
445
+	public function connect() {
446 446
 	global $globalAPRSversion, $globalServerAPRSssid, $globalServerAPRSpass,$globalName, $globalServerAPRShost, $globalServerAPRSport;
447 447
 	$aprs_connect = 0;
448 448
 	$aprs_keep = 120;
@@ -466,24 +466,24 @@  discard block
 block discarded – undo
466 466
 		socket_set_option($this->socket,SOL_SOCKET,SO_KEEPALIVE,1);
467 467
 		while ($msgin = socket_read($this->socket, 1000,PHP_NORMAL_READ)) {
468 468
 			if (strpos($msgin, "$aprs_ssid verified") !== FALSE) {
469
-			    echo 'APRS user verified !'."\n";
470
-			    $this->connected = true;
471
-			    return true;
472
-			    break;
469
+				echo 'APRS user verified !'."\n";
470
+				$this->connected = true;
471
+				return true;
472
+				break;
473 473
 			}
474 474
 			if (time()-$authstart > 5) {
475
-			    echo 'APRS timeout'."\n";
476
-			    break;
475
+				echo 'APRS timeout'."\n";
476
+				break;
477 477
 			}
478 478
 		}
479 479
 	}
480
-    }
480
+	}
481 481
 
482
-    public function disconnect() {
482
+	public function disconnect() {
483 483
 	socket_close($this->socket);
484
-    }
484
+	}
485 485
     
486
-    public function send($data) {
486
+	public function send($data) {
487 487
 	global $globalDebug;
488 488
 	if ($this->connected === false) $this->connect();
489 489
 	$send = socket_send( $this->socket  , $data , strlen($data),0);
@@ -492,7 +492,7 @@  discard block
 block discarded – undo
492 492
 		socket_close($this->socket);
493 493
 		$this->connect();
494 494
 	}
495
-    }
495
+	}
496 496
 }
497 497
 
498 498
 class APRSSpotter extends APRS {
Please login to merge, or discard this patch.
Spacing   +103 added lines, -104 removed lines patch added patch discarded remove patch
@@ -90,8 +90,7 @@  discard block
 block discarded – undo
90 90
 	
91 91
 
92 92
     private function urshift($n, $s) {
93
-	return ($n >= 0) ? ($n >> $s) :
94
-	    (($n & 0x7fffffff) >> $s) | 
93
+	return ($n >= 0) ? ($n >> $s) : (($n&0x7fffffff) >> $s)| 
95 94
 		(0x40000000 >> ($s - 1));
96 95
     }
97 96
 
@@ -103,7 +102,7 @@  discard block
 block discarded – undo
103 102
 	//$split_input = str_split($input);
104 103
 
105 104
 	/* Find the end of header checking for NULL bytes while doing it. */
106
-	$splitpos = strpos($input,':');
105
+	$splitpos = strpos($input, ':');
107 106
 	
108 107
 	/* Check that end was found and body has at least one byte. */
109 108
 	if ($splitpos == 0 || $splitpos + 1 == $input_len || $splitpos === FALSE) {
@@ -113,15 +112,15 @@  discard block
 block discarded – undo
113 112
 	
114 113
 	if ($debug) echo 'input : '.$input."\n";
115 114
 	/* Save header and body. */
116
-	$body = substr($input,$splitpos+1,$input_len);
115
+	$body = substr($input, $splitpos + 1, $input_len);
117 116
 	$body_len = strlen($body);
118
-	$header = substr($input,0,$splitpos);
117
+	$header = substr($input, 0, $splitpos);
119 118
 	//$header_len = strlen($header);
120 119
 	if ($debug) echo 'header : '.$header."\n";
121 120
 	
122 121
 	/* Parse source, target and path. */
123 122
 	//FLRDF0A52>APRS,qAS,LSTB
124
-	if (preg_match('/^([A-Z0-9\\-]{1,9})>(.*)$/',$header,$matches)) {
123
+	if (preg_match('/^([A-Z0-9\\-]{1,9})>(.*)$/', $header, $matches)) {
125 124
 	    $ident = $matches[1];
126 125
 	    $all_elements = $matches[2];
127 126
 	    if ($ident == 'AIRCRAFT') {
@@ -135,14 +134,14 @@  discard block
 block discarded – undo
135 134
 		$result['ident'] = $ident;
136 135
 	    }
137 136
 	} else return false;
138
-	$elements = explode(',',$all_elements);
137
+	$elements = explode(',', $all_elements);
139 138
 	$source = end($elements);
140 139
 	$result['source'] = $source;
141 140
 	foreach ($elements as $element) {
142
-	    if (preg_match('/^([a-zA-Z0-9-]{1,9})([*]?)$/',$element)) {
141
+	    if (preg_match('/^([a-zA-Z0-9-]{1,9})([*]?)$/', $element)) {
143 142
 	        //echo "ok";
144 143
 	        //if ($element == 'TCPIP*') return false;
145
-	    } elseif (!preg_match('/^([0-9A-F]{32})$/',$element)) {
144
+	    } elseif (!preg_match('/^([0-9A-F]{32})$/', $element)) {
146 145
 		if ($debug) echo 'element : '.$element."\n";
147 146
 		return false;
148 147
 	    }
@@ -155,14 +154,14 @@  discard block
 block discarded – undo
155 154
 	    */
156 155
 	}
157 156
 	
158
-	$type = substr($body,0,1);
157
+	$type = substr($body, 0, 1);
159 158
 	if ($debug) echo 'type : '.$type."\n";
160 159
 	if ($type == ';') {
161 160
 		if (isset($result['source_type']) && $result['source_type'] == 'modes') {
162
-			$result['address'] = trim(substr($body,1,9));
161
+			$result['address'] = trim(substr($body, 1, 9));
163 162
 		} elseif (isset($result['source_type']) && $result['source_type'] == 'ais') {
164
-			$result['mmsi'] = trim(substr($body,1,9));
165
-		} else $result['ident'] = trim(substr($body,1,9));
163
+			$result['mmsi'] = trim(substr($body, 1, 9));
164
+		} else $result['ident'] = trim(substr($body, 1, 9));
166 165
 	} elseif ($type == ',') {
167 166
 		// Invalid data or test data
168 167
 		return false;
@@ -170,24 +169,24 @@  discard block
 block discarded – undo
170 169
 	
171 170
 	// Check for Timestamp
172 171
 	$find = false;
173
-	$body_parse = substr($body,1);
172
+	$body_parse = substr($body, 1);
174 173
 	//echo 'Body : '.$body."\n";
175
-	if (preg_match('/^;(.){9}\*/',$body,$matches)) {
176
-	    $body_parse = substr($body_parse,10);
174
+	if (preg_match('/^;(.){9}\*/', $body, $matches)) {
175
+	    $body_parse = substr($body_parse, 10);
177 176
 	    $find = true;
178 177
 	    //echo $body_parse."\n";
179 178
 	}
180
-	if (preg_match('/^`(.*)\//',$body,$matches)) {
181
-	    $body_parse = substr($body_parse,strlen($matches[1])-1);
179
+	if (preg_match('/^`(.*)\//', $body, $matches)) {
180
+	    $body_parse = substr($body_parse, strlen($matches[1]) - 1);
182 181
 	    $find = true;
183 182
 	    //echo $body_parse."\n";
184 183
 	}
185
-	if (preg_match("/^'(.*)\//",$body,$matches)) {
186
-	    $body_parse = substr($body_parse,strlen($matches[1])-1);
184
+	if (preg_match("/^'(.*)\//", $body, $matches)) {
185
+	    $body_parse = substr($body_parse, strlen($matches[1]) - 1);
187 186
 	    $find = true;
188 187
 	    //echo $body_parse."\n";
189 188
 	}
190
-	if (preg_match('/^([0-9]{2})([0-9]{2})([0-9]{2})([zh\\/])/',$body_parse,$matches)) {
189
+	if (preg_match('/^([0-9]{2})([0-9]{2})([0-9]{2})([zh\\/])/', $body_parse, $matches)) {
191 190
 	    $find = true;
192 191
 	    //print_r($matches);
193 192
 	    $timestamp = $matches[0];
@@ -202,19 +201,19 @@  discard block
 block discarded – undo
202 201
 		// This work or not ?
203 202
 		$timestamp = strtotime(date('Ym').$matches[1].' '.$matches[2].':'.$matches[3]);
204 203
 	    }
205
-	    $body_parse = substr($body_parse,7);
204
+	    $body_parse = substr($body_parse, 7);
206 205
 	    $result['timestamp'] = $timestamp;
207 206
 	    //echo date('Ymd H:i:s',$timestamp);
208 207
 	}
209
-	if (preg_match('/^([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})/',$body_parse,$matches)) {
208
+	if (preg_match('/^([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})/', $body_parse, $matches)) {
210 209
 	    $find = true;
211 210
 	    $timestamp = strtotime(date('Y').$matches[1].$matches[2].' '.$matches[3].':'.$matches[4]);
212
-	    $body_parse = substr($body_parse,8);
211
+	    $body_parse = substr($body_parse, 8);
213 212
 	    $result['timestamp'] = $timestamp;
214 213
 	    //echo date('Ymd H:i:s',$timestamp);
215 214
 	}
216 215
 	//if (strlen($body_parse) > 19) {
217
-	    if (preg_match('/^([0-9]{2})([0-7 ][0-9 ]\\.[0-9 ]{2})([NnSs])(.)([0-9]{3})([0-7 ][0-9 ]\\.[0-9 ]{2})([EeWw])(.)/',$body_parse,$matches)) {
216
+	    if (preg_match('/^([0-9]{2})([0-7 ][0-9 ]\\.[0-9 ]{2})([NnSs])(.)([0-9]{3})([0-7 ][0-9 ]\\.[0-9 ]{2})([EeWw])(.)/', $body_parse, $matches)) {
218 217
 	    $find = true;
219 218
 		// 4658.70N/00707.78Ez
220 219
 		//print_r(str_split($body_parse));
@@ -240,11 +239,11 @@  discard block
 block discarded – undo
240 239
 	    */
241 240
 		$latitude = $lat + floatval($lat_min)/60;
242 241
 		$longitude = $lon + floatval($lon_min)/60;
243
-		if ($sind == 'S') $latitude = 0-$latitude;
244
-		if ($wind == 'W') $longitude = 0-$longitude;
242
+		if ($sind == 'S') $latitude = 0 - $latitude;
243
+		if ($wind == 'W') $longitude = 0 - $longitude;
245 244
 		$result['latitude'] = $latitude;
246 245
 		$result['longitude'] = $longitude;
247
-		$body_parse = substr($body_parse,18);
246
+		$body_parse = substr($body_parse, 18);
248 247
 		$body_parse_len = strlen($body_parse);
249 248
 	    }
250 249
 	    $body_parse_len = strlen($body_parse);
@@ -272,7 +271,7 @@  discard block
 block discarded – undo
272 271
 		//echo $body_parse;
273 272
 			//if ($type != ';' && $type != '>') {
274 273
 			if ($type != '') {
275
-			$body_parse = substr($body_parse,1);
274
+			$body_parse = substr($body_parse, 1);
276 275
 			$body_parse_len = strlen($body_parse);
277 276
 			$result['symbol_code'] = $symbol_code;
278 277
 			if (isset($this->symbols[$symbol_code])) $result['symbol'] = $this->symbols[$symbol_code];
@@ -283,16 +282,16 @@  discard block
 block discarded – undo
283 282
 		    //$body_parse_len = strlen($body_parse);
284 283
 		    if ($body_parse_len >= 7) {
285 284
 			
286
-		        if (preg_match('/^([0-9\\. ]{3})\\/([0-9\\. ]{3})/',$body_parse)) {
287
-		    	    $course = substr($body_parse,0,3);
285
+		        if (preg_match('/^([0-9\\. ]{3})\\/([0-9\\. ]{3})/', $body_parse)) {
286
+		    	    $course = substr($body_parse, 0, 3);
288 287
 		    	    $tmp_s = intval($course);
289 288
 		    	    if ($tmp_s >= 1 && $tmp_s <= 360) $result['heading'] = intval($course);
290
-		    	    $speed = substr($body_parse,4,3);
289
+		    	    $speed = substr($body_parse, 4, 3);
291 290
 		    	    if ($speed != '...') {
292 291
 		    		//$result['speed'] = round($speed*1.852);
293 292
 		    		$result['speed'] = intval($speed);
294 293
 		    	    }
295
-		    	    $body_parse = substr($body_parse,7);
294
+		    	    $body_parse = substr($body_parse, 7);
296 295
 		        }
297 296
 		        // Check PHGR, PHG, RNG
298 297
 		    } 
@@ -302,12 +301,12 @@  discard block
 block discarded – undo
302 301
 		    }
303 302
 		    */
304 303
 		    if (strlen($body_parse) > 0) {
305
-		        if (preg_match('/\\/A=(-[0-9]{5}|[0-9]{6})/',$body_parse,$matches)) {
304
+		        if (preg_match('/\\/A=(-[0-9]{5}|[0-9]{6})/', $body_parse, $matches)) {
306 305
 		            $altitude = intval($matches[1]);
307 306
 		            //$result['altitude'] = round($altitude*0.3048);
308 307
 		            $result['altitude'] = $altitude;
309 308
 		            //$body_parse = trim(substr($body_parse,strlen($matches[0])));
310
-		            $body_parse = trim(preg_replace('/\\/A=(-[0-9]{5}|[0-9]{6})/','',$body_parse));
309
+		            $body_parse = trim(preg_replace('/\\/A=(-[0-9]{5}|[0-9]{6})/', '', $body_parse));
311 310
 		        }
312 311
 		    }
313 312
 		    
@@ -319,13 +318,13 @@  discard block
 block discarded – undo
319 318
 		    */
320 319
 		    // DAO
321 320
 		    
322
-		    if (preg_match('/^!([0-9A-Z]{3})/',$body_parse,$matches)) {
321
+		    if (preg_match('/^!([0-9A-Z]{3})/', $body_parse, $matches)) {
323 322
 			    
324 323
 			    $dao = $matches[1];
325
-			    if (preg_match('/^([A-Z])([0-9]{2})/',$dao)) {
324
+			    if (preg_match('/^([A-Z])([0-9]{2})/', $dao)) {
326 325
 				$dao_split = str_split($dao);
327
-			        $lat_off = (($dao_split[1])-48.0)*0.001/60.0;
328
-			        $lon_off = (($dao_split[2])-48.0)*0.001/60.0;
326
+			        $lat_off = (($dao_split[1]) - 48.0)*0.001/60.0;
327
+			        $lon_off = (($dao_split[2]) - 48.0)*0.001/60.0;
329 328
 			    
330 329
 				if ($result['latitude'] < 0) $result['latitude'] -= $lat_off;
331 330
 				else $result['latitude'] += $lat_off;
@@ -333,50 +332,50 @@  discard block
 block discarded – undo
333 332
 				else $result['longitude'] += $lon_off;
334 333
 			    }
335 334
 			    
336
-		            $body_parse = substr($body_parse,6);
335
+		            $body_parse = substr($body_parse, 6);
337 336
 		    }
338 337
 		    
339
-		    if (preg_match('/CS=([0-9A-Z_]*)/',$body_parse,$matches)) {
340
-			$result['ident'] = str_replace('_',' ',$matches[1]);
338
+		    if (preg_match('/CS=([0-9A-Z_]*)/', $body_parse, $matches)) {
339
+			$result['ident'] = str_replace('_', ' ', $matches[1]);
341 340
 		    }
342
-		    if (preg_match('/SQ=([0-9]{4})/',$body_parse,$matches)) {
341
+		    if (preg_match('/SQ=([0-9]{4})/', $body_parse, $matches)) {
343 342
 			$result['squawk'] = $matches[1];
344 343
 		    }
345
-		    if (preg_match('/AI=([0-9A-Z]{4})/',$body_parse,$matches)) {
344
+		    if (preg_match('/AI=([0-9A-Z]{4})/', $body_parse, $matches)) {
346 345
 			$result['aircraft_icao'] = $matches[1];
347 346
 		    }
348
-		    if (preg_match('/VR=([0-9]*)/',$body_parse,$matches)) {
347
+		    if (preg_match('/VR=([0-9]*)/', $body_parse, $matches)) {
349 348
 			$result['verticalrate'] = $matches[1];
350 349
 		    }
351
-		    if (preg_match('/TI=([0-9]*)/',$body_parse,$matches)) {
350
+		    if (preg_match('/TI=([0-9]*)/', $body_parse, $matches)) {
352 351
 			$result['typeid'] = $matches[1];
353 352
 		    }
354
-		    if (preg_match('/SI=([0-9]*)/',$body_parse,$matches)) {
353
+		    if (preg_match('/SI=([0-9]*)/', $body_parse, $matches)) {
355 354
 			$result['statusid'] = $matches[1];
356 355
 		    }
357
-		    if (preg_match('/IMO=([0-9]{7})/',$body_parse,$matches)) {
356
+		    if (preg_match('/IMO=([0-9]{7})/', $body_parse, $matches)) {
358 357
 			$result['imo'] = $matches[1];
359 358
 		    }
360
-		    if (preg_match('/AD=([0-9]*)/',$body_parse,$matches)) {
359
+		    if (preg_match('/AD=([0-9]*)/', $body_parse, $matches)) {
361 360
 			$result['arrival_date'] = $matches[1];
362 361
 		    }
363
-		    if (preg_match('/AC=([0-9A-Z_]*)/',$body_parse,$matches)) {
364
-			$result['arrival_code'] = str_replace('_',' ',$matches[1]);
362
+		    if (preg_match('/AC=([0-9A-Z_]*)/', $body_parse, $matches)) {
363
+			$result['arrival_code'] = str_replace('_', ' ', $matches[1]);
365 364
 		    }
366 365
 		    // OGN comment
367 366
 		   // echo "Before OGN : ".$body_parse."\n";
368 367
 		    //if (preg_match('/^id([0-9A-F]{8}) ([+-])([0-9]{3,4})fpm ([+-])([0-9.]{3,4})rot (.*)$/',$body_parse,$matches)) {
369
-		    if (preg_match('/^id([0-9A-F]{8})/',$body_parse,$matches)) {
368
+		    if (preg_match('/^id([0-9A-F]{8})/', $body_parse, $matches)) {
370 369
 			$id = $matches[1];
371 370
 			//$mode = substr($id,0,2);
372
-			$address = substr($id,2);
371
+			$address = substr($id, 2);
373 372
 			//print_r($matches);
374
-			$addressType = (intval(substr($id,0,2),16))&3;
373
+			$addressType = (intval(substr($id, 0, 2), 16))&3;
375 374
 			if ($addressType == 0) $result['addresstype'] = "RANDOM";
376 375
 			elseif ($addressType == 1) $result['addresstype'] = "ICAO";
377 376
 			elseif ($addressType == 2) $result['addresstype'] = "FLARM";
378 377
 			elseif ($addressType == 3) $result['addresstype'] = "OGN";
379
-			$aircraftType = $this->urshift(((intval(substr($id,0,2),16)) & 0b1111100),2);
378
+			$aircraftType = $this->urshift(((intval(substr($id, 0, 2), 16))&0b1111100), 2);
380 379
 			$result['aircrafttype_code'] = $aircraftType;
381 380
 			if ($aircraftType == 0) $result['aircrafttype'] = "UNKNOWN";
382 381
 			elseif ($aircraftType == 1) $result['aircrafttype'] = "GLIDER";
@@ -393,7 +392,7 @@  discard block
 block discarded – undo
393 392
 			elseif ($aircraftType == 12) $result['aircrafttype'] = "AIRSHIP";
394 393
 			elseif ($aircraftType == 13) $result['aircrafttype'] = "UAV";
395 394
 			elseif ($aircraftType == 15) $result['aircrafttype'] = "STATIC_OBJECT";
396
-			$stealth = (intval(substr($id,0,2), 16) & 0b10000000) != 0;
395
+			$stealth = (intval(substr($id, 0, 2), 16)&0b10000000) != 0;
397 396
 			$result['stealth'] = $stealth;
398 397
 			$result['address'] = $address;
399 398
 		    }
@@ -405,73 +404,73 @@  discard block
 block discarded – undo
405 404
 		    //$body_parse = substr($body_parse,1);
406 405
 		    //$body_parse_len = strlen($body_parse);
407 406
 
408
-		    if (preg_match('/^_{0,1}([0-9 \\.\\-]{3})\\/([0-9 \\.]{3})g([0-9 \\.]+)t(-{0,1}[0-9 \\.]+)/',$body_parse,$matches)) {
407
+		    if (preg_match('/^_{0,1}([0-9 \\.\\-]{3})\\/([0-9 \\.]{3})g([0-9 \\.]+)t(-{0,1}[0-9 \\.]+)/', $body_parse, $matches)) {
409 408
 			    $result['wind_dir'] = intval($matches[1]);
410
-			    $result['wind_speed'] = round(intval($matches[2])*1.60934,1);
411
-			    $result['wind_gust'] = round(intval($matches[3])*1.60934,1);
412
-			    $result['temp'] = round(5/9*((intval($matches[4]))-32),1);
413
-		    	    $body_parse = substr($body_parse,strlen($matches[0])+1);
414
-		    } elseif (preg_match('/^_{0,1}c([0-9 \\.\\-]{3})s([0-9 \\.]{3})g([0-9 \\.]+)t(-{0,1}[0-9 \\.]+)/',$body_parse,$matches)) {
409
+			    $result['wind_speed'] = round(intval($matches[2])*1.60934, 1);
410
+			    $result['wind_gust'] = round(intval($matches[3])*1.60934, 1);
411
+			    $result['temp'] = round(5/9*((intval($matches[4])) - 32), 1);
412
+		    	    $body_parse = substr($body_parse, strlen($matches[0]) + 1);
413
+		    } elseif (preg_match('/^_{0,1}c([0-9 \\.\\-]{3})s([0-9 \\.]{3})g([0-9 \\.]+)t(-{0,1}[0-9 \\.]+)/', $body_parse, $matches)) {
415 414
 			$result['wind_dir'] = intval($matches[1]);
416
-			$result['wind_speed'] = round($matches[2]*1.60934,1);
417
-			$result['wind_gust'] = round($matches[3]*1.60934,1);
418
-			$result['temp'] = round(5/9*(($matches[4])-32),1);
419
-		        $body_parse = substr($body_parse,strlen($matches[0])+1);
420
-		    } elseif (preg_match('/^_{0,1}([0-9 \\.\\-]{3})\\/([0-9 \\.]{3})t(-{0,1}[0-9 \\.]+)/',$body_parse,$matches)) {
415
+			$result['wind_speed'] = round($matches[2]*1.60934, 1);
416
+			$result['wind_gust'] = round($matches[3]*1.60934, 1);
417
+			$result['temp'] = round(5/9*(($matches[4]) - 32), 1);
418
+		        $body_parse = substr($body_parse, strlen($matches[0]) + 1);
419
+		    } elseif (preg_match('/^_{0,1}([0-9 \\.\\-]{3})\\/([0-9 \\.]{3})t(-{0,1}[0-9 \\.]+)/', $body_parse, $matches)) {
421 420
 			$result['wind_dir'] = intval($matches[1]);
422
-			$result['wind_speed'] = round($matches[2]*1.60934,1);
423
-			$result['wind_gust'] = round($matches[3]*1.60934,1);
424
-		        $body_parse = substr($body_parse,strlen($matches[0])+1);
425
-		    } elseif (preg_match('/^_{0,1}([0-9 \\.\\-]{3})\\/([0-9 \\.]{3})g([0-9 \\.]+)/',$body_parse,$matches)) {
421
+			$result['wind_speed'] = round($matches[2]*1.60934, 1);
422
+			$result['wind_gust'] = round($matches[3]*1.60934, 1);
423
+		        $body_parse = substr($body_parse, strlen($matches[0]) + 1);
424
+		    } elseif (preg_match('/^_{0,1}([0-9 \\.\\-]{3})\\/([0-9 \\.]{3})g([0-9 \\.]+)/', $body_parse, $matches)) {
426 425
 			$result['wind_dir'] = intval($matches[1]);
427
-			$result['wind_speed'] = round($matches[2]*1.60934,1);
428
-			$result['wind_gust'] = round($matches[3]*1.60934,1);
429
-		        $body_parse = substr($body_parse,strlen($matches[0])+1);
426
+			$result['wind_speed'] = round($matches[2]*1.60934, 1);
427
+			$result['wind_gust'] = round($matches[3]*1.60934, 1);
428
+		        $body_parse = substr($body_parse, strlen($matches[0]) + 1);
430 429
 		    }
431
-		    if (!isset($result['temp']) && strlen($body_parse) > 0 && preg_match('/^g([0-9]+)t(-?[0-9 \\.]{1,3})/',$body_parse,$matches)) {
432
-			$result['temp'] = round(5/9*(($matches[1])-32),1);
430
+		    if (!isset($result['temp']) && strlen($body_parse) > 0 && preg_match('/^g([0-9]+)t(-?[0-9 \\.]{1,3})/', $body_parse, $matches)) {
431
+			$result['temp'] = round(5/9*(($matches[1]) - 32), 1);
433 432
 		    }
434 433
 		}
435 434
 		} else $result['comment'] = trim($body_parse);
436 435
 
437 436
 	    }
438 437
 	//}
439
-	if (isset($result['latitude'])) $result['latitude'] = round($result['latitude'],4);
440
-	if (isset($result['longitude'])) $result['longitude'] = round($result['longitude'],4);
438
+	if (isset($result['latitude'])) $result['latitude'] = round($result['latitude'], 4);
439
+	if (isset($result['longitude'])) $result['longitude'] = round($result['longitude'], 4);
441 440
 	if ($debug) print_r($result);
442 441
 	return $result;
443 442
     }
444 443
     
445 444
     public function connect() {
446
-	global $globalAPRSversion, $globalServerAPRSssid, $globalServerAPRSpass,$globalName, $globalServerAPRShost, $globalServerAPRSport;
445
+	global $globalAPRSversion, $globalServerAPRSssid, $globalServerAPRSpass, $globalName, $globalServerAPRShost, $globalServerAPRSport;
447 446
 	$aprs_connect = 0;
448 447
 	$aprs_keep = 120;
449 448
 	$aprs_last_tx = time();
450 449
 	if (isset($globalAPRSversion)) $aprs_version = $globalAPRSversion;
451
-	else $aprs_version = 'FlightAirMap '.str_replace(' ','_',$globalName);
450
+	else $aprs_version = 'FlightAirMap '.str_replace(' ', '_', $globalName);
452 451
 	if (isset($globalServerAPRSssid)) $aprs_ssid = $globalServerAPRSssid;
453
-	else $aprs_ssid = substr('FAM'.strtoupper(str_replace(' ','_',$globalName)),0,8);
452
+	else $aprs_ssid = substr('FAM'.strtoupper(str_replace(' ', '_', $globalName)), 0, 8);
454 453
 	if (isset($globalServerAPRSpass)) $aprs_pass = $globalServerAPRSpass;
455 454
 	else $aprs_pass = '-1';
456 455
 	
457
-	$aprs_filter  = '';
456
+	$aprs_filter = '';
458 457
 	$aprs_login = "user {$aprs_ssid} pass {$aprs_pass} vers {$aprs_version}\n";
459 458
 	$Common = new Common();
460
-	$s = $Common->create_socket($globalServerAPRShost,$globalServerAPRSport,$errno,$errstr);
459
+	$s = $Common->create_socket($globalServerAPRShost, $globalServerAPRSport, $errno, $errstr);
461 460
 	if ($s !== false) {
462 461
 		echo 'Connected to APRS server! '."\n";
463 462
 		$authstart = time();
464 463
 		$this->socket = $s;
465
-		$send = socket_send( $this->socket  , $aprs_login , strlen($aprs_login) , 0 );
466
-		socket_set_option($this->socket,SOL_SOCKET,SO_KEEPALIVE,1);
467
-		while ($msgin = socket_read($this->socket, 1000,PHP_NORMAL_READ)) {
464
+		$send = socket_send($this->socket, $aprs_login, strlen($aprs_login), 0);
465
+		socket_set_option($this->socket, SOL_SOCKET, SO_KEEPALIVE, 1);
466
+		while ($msgin = socket_read($this->socket, 1000, PHP_NORMAL_READ)) {
468 467
 			if (strpos($msgin, "$aprs_ssid verified") !== FALSE) {
469 468
 			    echo 'APRS user verified !'."\n";
470 469
 			    $this->connected = true;
471 470
 			    return true;
472 471
 			    break;
473 472
 			}
474
-			if (time()-$authstart > 5) {
473
+			if (time() - $authstart > 5) {
475 474
 			    echo 'APRS timeout'."\n";
476 475
 			    break;
477 476
 			}
@@ -486,7 +485,7 @@  discard block
 block discarded – undo
486 485
     public function send($data) {
487 486
 	global $globalDebug;
488 487
 	if ($this->connected === false) $this->connect();
489
-	$send = socket_send( $this->socket  , $data , strlen($data),0);
488
+	$send = socket_send($this->socket, $data, strlen($data), 0);
490 489
 	if ($send === FALSE) {
491 490
 		if ($globalDebug) echo 'Reconnect...';
492 491
 		socket_close($this->socket);
@@ -496,14 +495,14 @@  discard block
 block discarded – undo
496 495
 }
497 496
 
498 497
 class APRSSpotter extends APRS {
499
-	public function addLiveSpotterData($id,$ident,$aircraft_icao,$departure_airport,$arrival_airport,$latitude,$longitude,$waypoints,$altitude,$altitude_real,$heading,$speed,$datetime,$departure_airport_time,$arrival_airport_time,$squawk,$route_stop,$hex,$putinarchive,$registration,$pilot_id,$pilot_name, $verticalrate, $noarchive, $ground,$format_source,$source_name,$over_country) {
498
+	public function addLiveSpotterData($id, $ident, $aircraft_icao, $departure_airport, $arrival_airport, $latitude, $longitude, $waypoints, $altitude, $altitude_real, $heading, $speed, $datetime, $departure_airport_time, $arrival_airport_time, $squawk, $route_stop, $hex, $putinarchive, $registration, $pilot_id, $pilot_name, $verticalrate, $noarchive, $ground, $format_source, $source_name, $over_country) {
500 499
 		$Common = new Common();
501 500
 		if ($latitude != '' && $longitude != '') {
502
-			$latitude = $Common->convertDM($latitude,'latitude');
503
-			$longitude = $Common->convertDM($longitude,'longitude');
504
-			$coordinate = sprintf("%02d",$latitude['deg']).str_pad(number_format($latitude['min'],2,'.',''),5,'0',STR_PAD_LEFT).$latitude['NSEW'].'/'.sprintf("%03d",$longitude['deg']).str_pad(number_format($longitude['min'],2,'.',''),5,'0',STR_PAD_LEFT).$longitude['NSEW'];
505
-			$w1 = abs(ceil(($latitude['min'] - number_format($latitude['min'],2,'.',''))*1000));
506
-			$w2 = abs(ceil(($longitude['min'] - number_format($longitude['min'],2,'.',''))*1000));
501
+			$latitude = $Common->convertDM($latitude, 'latitude');
502
+			$longitude = $Common->convertDM($longitude, 'longitude');
503
+			$coordinate = sprintf("%02d", $latitude['deg']).str_pad(number_format($latitude['min'], 2, '.', ''), 5, '0', STR_PAD_LEFT).$latitude['NSEW'].'/'.sprintf("%03d", $longitude['deg']).str_pad(number_format($longitude['min'], 2, '.', ''), 5, '0', STR_PAD_LEFT).$longitude['NSEW'];
504
+			$w1 = abs(ceil(($latitude['min'] - number_format($latitude['min'], 2, '.', ''))*1000));
505
+			$w2 = abs(ceil(($longitude['min'] - number_format($longitude['min'], 2, '.', ''))*1000));
507 506
 			$w = $w1.$w2;
508 507
 			//$w = '00';
509 508
 			$custom = '';
@@ -524,25 +523,25 @@  discard block
 block discarded – undo
524 523
 				$custom .= 'AI='.$aircraft_icao;
525 524
 			}
526 525
 			if ($custom != '') $custom = ' '.$custom;
527
-			$this->send('AIRCRAFT>APRS,TCPIP*:;'.$hex.'   *'.date('His',strtotime($datetime)).'h'.$coordinate.'^'.str_pad($heading,3,'0',STR_PAD_LEFT).'/'.str_pad($speed,3,'0',STR_PAD_LEFT).'/A='.str_pad($altitude_real,6,'0',STR_PAD_LEFT).' !W'.$w.'!'.$custom."\n");
526
+			$this->send('AIRCRAFT>APRS,TCPIP*:;'.$hex.'   *'.date('His', strtotime($datetime)).'h'.$coordinate.'^'.str_pad($heading, 3, '0', STR_PAD_LEFT).'/'.str_pad($speed, 3, '0', STR_PAD_LEFT).'/A='.str_pad($altitude_real, 6, '0', STR_PAD_LEFT).' !W'.$w.'!'.$custom."\n");
528 527
 		}
529 528
 	}
530 529
 }
531 530
 class APRSMarine extends APRS {
532
-	public function addLiveMarineData($id, $ident, $latitude, $longitude, $heading, $speed,$datetime, $putinarchive,$mmsi,$type,$typeid,$imo,$callsign,$arrival_code,$arrival_date,$status,$statusid,$noarchive,$format_source,$source_name,$over_country) {
531
+	public function addLiveMarineData($id, $ident, $latitude, $longitude, $heading, $speed, $datetime, $putinarchive, $mmsi, $type, $typeid, $imo, $callsign, $arrival_code, $arrival_date, $status, $statusid, $noarchive, $format_source, $source_name, $over_country) {
533 532
 		$Common = new Common();
534 533
 		if ($latitude != '' && $longitude != '') {
535
-			$latitude = $Common->convertDM($latitude,'latitude');
536
-			$longitude = $Common->convertDM($longitude,'longitude');
537
-			$coordinate = sprintf("%02d",$latitude['deg']).str_pad(number_format($latitude['min'],2,'.',''),5,'0',STR_PAD_LEFT).$latitude['NSEW'].'/'.sprintf("%03d",$longitude['deg']).str_pad(number_format($longitude['min'],2,'.',''),5,'0',STR_PAD_LEFT).$longitude['NSEW'];
538
-			$w1 = abs(ceil(($latitude['min'] - number_format($latitude['min'],2,'.',''))*1000));
539
-			$w2 = abs(ceil(($longitude['min'] - number_format($longitude['min'],2,'.',''))*1000));
534
+			$latitude = $Common->convertDM($latitude, 'latitude');
535
+			$longitude = $Common->convertDM($longitude, 'longitude');
536
+			$coordinate = sprintf("%02d", $latitude['deg']).str_pad(number_format($latitude['min'], 2, '.', ''), 5, '0', STR_PAD_LEFT).$latitude['NSEW'].'/'.sprintf("%03d", $longitude['deg']).str_pad(number_format($longitude['min'], 2, '.', ''), 5, '0', STR_PAD_LEFT).$longitude['NSEW'];
537
+			$w1 = abs(ceil(($latitude['min'] - number_format($latitude['min'], 2, '.', ''))*1000));
538
+			$w2 = abs(ceil(($longitude['min'] - number_format($longitude['min'], 2, '.', ''))*1000));
540 539
 			$w = $w1.$w2;
541 540
 			//$w = '00';
542 541
 			$custom = '';
543 542
 			if ($ident != '') {
544 543
 				if ($custom != '') $custom .= '/';
545
-				$custom .= 'CS='.str_replace(' ','_',$ident);
544
+				$custom .= 'CS='.str_replace(' ', '_', $ident);
546 545
 			}
547 546
 			if ($typeid != '') {
548 547
 				if ($custom != '') $custom .= '/';
@@ -562,11 +561,11 @@  discard block
 block discarded – undo
562 561
 			}
563 562
 			if ($arrival_code != '') {
564 563
 				if ($custom != '') $custom .= '/';
565
-				$custom .= 'AC='.str_replace(' ','_',$arrival_code);
564
+				$custom .= 'AC='.str_replace(' ', '_', $arrival_code);
566 565
 			}
567 566
 			if ($custom != '') $custom = ' '.$custom;
568 567
 			$altitude = 0;
569
-			$this->send('MARINE>APRS,TCPIP*:;'.$mmsi.'*'.date('His',strtotime($datetime)).'h'.$coordinate.'s'.str_pad($heading,3,'0',STR_PAD_LEFT).'/'.str_pad($speed,3,'0',STR_PAD_LEFT).'/A='.str_pad($altitude,6,'0',STR_PAD_LEFT).' !W'.$w.'!'.$custom."\n");
568
+			$this->send('MARINE>APRS,TCPIP*:;'.$mmsi.'*'.date('His', strtotime($datetime)).'h'.$coordinate.'s'.str_pad($heading, 3, '0', STR_PAD_LEFT).'/'.str_pad($speed, 3, '0', STR_PAD_LEFT).'/A='.str_pad($altitude, 6, '0', STR_PAD_LEFT).' !W'.$w.'!'.$custom."\n");
570 569
 		}
571 570
 	}
572 571
 }
Please login to merge, or discard this patch.
Braces   +158 added lines, -60 removed lines patch added patch discarded remove patch
@@ -107,17 +107,23 @@  discard block
 block discarded – undo
107 107
 	
108 108
 	/* Check that end was found and body has at least one byte. */
109 109
 	if ($splitpos == 0 || $splitpos + 1 == $input_len || $splitpos === FALSE) {
110
-	    if ($globalDebug) echo '!!! APRS invalid : '.$input."\n";
110
+	    if ($globalDebug) {
111
+	    	echo '!!! APRS invalid : '.$input."\n";
112
+	    }
111 113
 	    return false;
112 114
 	}
113 115
 	
114
-	if ($debug) echo 'input : '.$input."\n";
116
+	if ($debug) {
117
+		echo 'input : '.$input."\n";
118
+	}
115 119
 	/* Save header and body. */
116 120
 	$body = substr($input,$splitpos+1,$input_len);
117 121
 	$body_len = strlen($body);
118 122
 	$header = substr($input,0,$splitpos);
119 123
 	//$header_len = strlen($header);
120
-	if ($debug) echo 'header : '.$header."\n";
124
+	if ($debug) {
125
+		echo 'header : '.$header."\n";
126
+	}
121 127
 	
122 128
 	/* Parse source, target and path. */
123 129
 	//FLRDF0A52>APRS,qAS,LSTB
@@ -131,10 +137,14 @@  discard block
 block discarded – undo
131 137
 		$result['format_source'] = 'famaprs';
132 138
 		$result['source_type'] = 'ais';
133 139
 	    } else {
134
-		if ($debug) echo 'ident : '.$ident."\n";
140
+		if ($debug) {
141
+			echo 'ident : '.$ident."\n";
142
+		}
135 143
 		$result['ident'] = $ident;
136 144
 	    }
137
-	} else return false;
145
+	} else {
146
+		return false;
147
+	}
138 148
 	$elements = explode(',',$all_elements);
139 149
 	$source = end($elements);
140 150
 	$result['source'] = $source;
@@ -143,7 +153,9 @@  discard block
 block discarded – undo
143 153
 	        //echo "ok";
144 154
 	        //if ($element == 'TCPIP*') return false;
145 155
 	    } elseif (!preg_match('/^([0-9A-F]{32})$/',$element)) {
146
-		if ($debug) echo 'element : '.$element."\n";
156
+		if ($debug) {
157
+			echo 'element : '.$element."\n";
158
+		}
147 159
 		return false;
148 160
 	    }
149 161
 	    /*
@@ -156,13 +168,17 @@  discard block
 block discarded – undo
156 168
 	}
157 169
 	
158 170
 	$type = substr($body,0,1);
159
-	if ($debug) echo 'type : '.$type."\n";
171
+	if ($debug) {
172
+		echo 'type : '.$type."\n";
173
+	}
160 174
 	if ($type == ';') {
161 175
 		if (isset($result['source_type']) && $result['source_type'] == 'modes') {
162 176
 			$result['address'] = trim(substr($body,1,9));
163 177
 		} elseif (isset($result['source_type']) && $result['source_type'] == 'ais') {
164 178
 			$result['mmsi'] = trim(substr($body,1,9));
165
-		} else $result['ident'] = trim(substr($body,1,9));
179
+		} else {
180
+			$result['ident'] = trim(substr($body,1,9));
181
+		}
166 182
 	} elseif ($type == ',') {
167 183
 		// Invalid data or test data
168 184
 		return false;
@@ -230,7 +246,9 @@  discard block
 block discarded – undo
230 246
 		//$symbol_table = $matches[4];
231 247
 		$lat = intval($lat_deg);
232 248
 		$lon = intval($lon_deg);
233
-		if ($lat > 89 || $lon > 179) return false;
249
+		if ($lat > 89 || $lon > 179) {
250
+			return false;
251
+		}
234 252
 	    
235 253
 	    /*
236 254
 	    $tmp_5b = str_replace('.','',$lat_min);
@@ -240,8 +258,12 @@  discard block
 block discarded – undo
240 258
 	    */
241 259
 		$latitude = $lat + floatval($lat_min)/60;
242 260
 		$longitude = $lon + floatval($lon_min)/60;
243
-		if ($sind == 'S') $latitude = 0-$latitude;
244
-		if ($wind == 'W') $longitude = 0-$longitude;
261
+		if ($sind == 'S') {
262
+			$latitude = 0-$latitude;
263
+		}
264
+		if ($wind == 'W') {
265
+			$longitude = 0-$longitude;
266
+		}
245 267
 		$result['latitude'] = $latitude;
246 268
 		$result['longitude'] = $longitude;
247 269
 		$body_parse = substr($body_parse,18);
@@ -275,7 +297,9 @@  discard block
 block discarded – undo
275 297
 			$body_parse = substr($body_parse,1);
276 298
 			$body_parse_len = strlen($body_parse);
277 299
 			$result['symbol_code'] = $symbol_code;
278
-			if (isset($this->symbols[$symbol_code])) $result['symbol'] = $this->symbols[$symbol_code];
300
+			if (isset($this->symbols[$symbol_code])) {
301
+				$result['symbol'] = $this->symbols[$symbol_code];
302
+			}
279 303
 			if ($symbol_code != '_') {
280 304
 			}
281 305
 		    //$body_parse = substr($body_parse,1);
@@ -286,7 +310,9 @@  discard block
 block discarded – undo
286 310
 		        if (preg_match('/^([0-9\\. ]{3})\\/([0-9\\. ]{3})/',$body_parse)) {
287 311
 		    	    $course = substr($body_parse,0,3);
288 312
 		    	    $tmp_s = intval($course);
289
-		    	    if ($tmp_s >= 1 && $tmp_s <= 360) $result['heading'] = intval($course);
313
+		    	    if ($tmp_s >= 1 && $tmp_s <= 360) {
314
+		    	    	$result['heading'] = intval($course);
315
+		    	    }
290 316
 		    	    $speed = substr($body_parse,4,3);
291 317
 		    	    if ($speed != '...') {
292 318
 		    		//$result['speed'] = round($speed*1.852);
@@ -327,10 +353,16 @@  discard block
 block discarded – undo
327 353
 			        $lat_off = (($dao_split[1])-48.0)*0.001/60.0;
328 354
 			        $lon_off = (($dao_split[2])-48.0)*0.001/60.0;
329 355
 			    
330
-				if ($result['latitude'] < 0) $result['latitude'] -= $lat_off;
331
-				else $result['latitude'] += $lat_off;
332
-				if ($result['longitude'] < 0) $result['longitude'] -= $lon_off;
333
-				else $result['longitude'] += $lon_off;
356
+				if ($result['latitude'] < 0) {
357
+					$result['latitude'] -= $lat_off;
358
+				} else {
359
+					$result['latitude'] += $lat_off;
360
+				}
361
+				if ($result['longitude'] < 0) {
362
+					$result['longitude'] -= $lon_off;
363
+				} else {
364
+					$result['longitude'] += $lon_off;
365
+				}
334 366
 			    }
335 367
 			    
336 368
 		            $body_parse = substr($body_parse,6);
@@ -372,27 +404,48 @@  discard block
 block discarded – undo
372 404
 			$address = substr($id,2);
373 405
 			//print_r($matches);
374 406
 			$addressType = (intval(substr($id,0,2),16))&3;
375
-			if ($addressType == 0) $result['addresstype'] = "RANDOM";
376
-			elseif ($addressType == 1) $result['addresstype'] = "ICAO";
377
-			elseif ($addressType == 2) $result['addresstype'] = "FLARM";
378
-			elseif ($addressType == 3) $result['addresstype'] = "OGN";
407
+			if ($addressType == 0) {
408
+				$result['addresstype'] = "RANDOM";
409
+			} elseif ($addressType == 1) {
410
+				$result['addresstype'] = "ICAO";
411
+			} elseif ($addressType == 2) {
412
+				$result['addresstype'] = "FLARM";
413
+			} elseif ($addressType == 3) {
414
+				$result['addresstype'] = "OGN";
415
+			}
379 416
 			$aircraftType = $this->urshift(((intval(substr($id,0,2),16)) & 0b1111100),2);
380 417
 			$result['aircrafttype_code'] = $aircraftType;
381
-			if ($aircraftType == 0) $result['aircrafttype'] = "UNKNOWN";
382
-			elseif ($aircraftType == 1) $result['aircrafttype'] = "GLIDER";
383
-			elseif ($aircraftType == 2) $result['aircrafttype'] = "TOW_PLANE";
384
-			elseif ($aircraftType == 3) $result['aircrafttype'] = "HELICOPTER_ROTORCRAFT";
385
-			elseif ($aircraftType == 4) $result['aircrafttype'] = "PARACHUTE";
386
-			elseif ($aircraftType == 5) $result['aircrafttype'] = "DROP_PLANE";
387
-			elseif ($aircraftType == 6) $result['aircrafttype'] = "HANG_GLIDER";
388
-			elseif ($aircraftType == 7) $result['aircrafttype'] = "PARA_GLIDER";
389
-			elseif ($aircraftType == 8) $result['aircrafttype'] = "POWERED_AIRCRAFT";
390
-			elseif ($aircraftType == 9) $result['aircrafttype'] = "JET_AIRCRAFT";
391
-			elseif ($aircraftType == 10) $result['aircrafttype'] = "UFO";
392
-			elseif ($aircraftType == 11) $result['aircrafttype'] = "BALLOON";
393
-			elseif ($aircraftType == 12) $result['aircrafttype'] = "AIRSHIP";
394
-			elseif ($aircraftType == 13) $result['aircrafttype'] = "UAV";
395
-			elseif ($aircraftType == 15) $result['aircrafttype'] = "STATIC_OBJECT";
418
+			if ($aircraftType == 0) {
419
+				$result['aircrafttype'] = "UNKNOWN";
420
+			} elseif ($aircraftType == 1) {
421
+				$result['aircrafttype'] = "GLIDER";
422
+			} elseif ($aircraftType == 2) {
423
+				$result['aircrafttype'] = "TOW_PLANE";
424
+			} elseif ($aircraftType == 3) {
425
+				$result['aircrafttype'] = "HELICOPTER_ROTORCRAFT";
426
+			} elseif ($aircraftType == 4) {
427
+				$result['aircrafttype'] = "PARACHUTE";
428
+			} elseif ($aircraftType == 5) {
429
+				$result['aircrafttype'] = "DROP_PLANE";
430
+			} elseif ($aircraftType == 6) {
431
+				$result['aircrafttype'] = "HANG_GLIDER";
432
+			} elseif ($aircraftType == 7) {
433
+				$result['aircrafttype'] = "PARA_GLIDER";
434
+			} elseif ($aircraftType == 8) {
435
+				$result['aircrafttype'] = "POWERED_AIRCRAFT";
436
+			} elseif ($aircraftType == 9) {
437
+				$result['aircrafttype'] = "JET_AIRCRAFT";
438
+			} elseif ($aircraftType == 10) {
439
+				$result['aircrafttype'] = "UFO";
440
+			} elseif ($aircraftType == 11) {
441
+				$result['aircrafttype'] = "BALLOON";
442
+			} elseif ($aircraftType == 12) {
443
+				$result['aircrafttype'] = "AIRSHIP";
444
+			} elseif ($aircraftType == 13) {
445
+				$result['aircrafttype'] = "UAV";
446
+			} elseif ($aircraftType == 15) {
447
+				$result['aircrafttype'] = "STATIC_OBJECT";
448
+			}
396 449
 			$stealth = (intval(substr($id,0,2), 16) & 0b10000000) != 0;
397 450
 			$result['stealth'] = $stealth;
398 451
 			$result['address'] = $address;
@@ -432,13 +485,21 @@  discard block
 block discarded – undo
432 485
 			$result['temp'] = round(5/9*(($matches[1])-32),1);
433 486
 		    }
434 487
 		}
435
-		} else $result['comment'] = trim($body_parse);
488
+		} else {
489
+			$result['comment'] = trim($body_parse);
490
+		}
436 491
 
437 492
 	    }
438 493
 	//}
439
-	if (isset($result['latitude'])) $result['latitude'] = round($result['latitude'],4);
440
-	if (isset($result['longitude'])) $result['longitude'] = round($result['longitude'],4);
441
-	if ($debug) print_r($result);
494
+	if (isset($result['latitude'])) {
495
+		$result['latitude'] = round($result['latitude'],4);
496
+	}
497
+	if (isset($result['longitude'])) {
498
+		$result['longitude'] = round($result['longitude'],4);
499
+	}
500
+	if ($debug) {
501
+		print_r($result);
502
+	}
442 503
 	return $result;
443 504
     }
444 505
     
@@ -447,12 +508,21 @@  discard block
 block discarded – undo
447 508
 	$aprs_connect = 0;
448 509
 	$aprs_keep = 120;
449 510
 	$aprs_last_tx = time();
450
-	if (isset($globalAPRSversion)) $aprs_version = $globalAPRSversion;
451
-	else $aprs_version = 'FlightAirMap '.str_replace(' ','_',$globalName);
452
-	if (isset($globalServerAPRSssid)) $aprs_ssid = $globalServerAPRSssid;
453
-	else $aprs_ssid = substr('FAM'.strtoupper(str_replace(' ','_',$globalName)),0,8);
454
-	if (isset($globalServerAPRSpass)) $aprs_pass = $globalServerAPRSpass;
455
-	else $aprs_pass = '-1';
511
+	if (isset($globalAPRSversion)) {
512
+		$aprs_version = $globalAPRSversion;
513
+	} else {
514
+		$aprs_version = 'FlightAirMap '.str_replace(' ','_',$globalName);
515
+	}
516
+	if (isset($globalServerAPRSssid)) {
517
+		$aprs_ssid = $globalServerAPRSssid;
518
+	} else {
519
+		$aprs_ssid = substr('FAM'.strtoupper(str_replace(' ','_',$globalName)),0,8);
520
+	}
521
+	if (isset($globalServerAPRSpass)) {
522
+		$aprs_pass = $globalServerAPRSpass;
523
+	} else {
524
+		$aprs_pass = '-1';
525
+	}
456 526
 	
457 527
 	$aprs_filter  = '';
458 528
 	$aprs_login = "user {$aprs_ssid} pass {$aprs_pass} vers {$aprs_version}\n";
@@ -485,10 +555,14 @@  discard block
 block discarded – undo
485 555
     
486 556
     public function send($data) {
487 557
 	global $globalDebug;
488
-	if ($this->connected === false) $this->connect();
558
+	if ($this->connected === false) {
559
+		$this->connect();
560
+	}
489 561
 	$send = socket_send( $this->socket  , $data , strlen($data),0);
490 562
 	if ($send === FALSE) {
491
-		if ($globalDebug) echo 'Reconnect...';
563
+		if ($globalDebug) {
564
+			echo 'Reconnect...';
565
+		}
492 566
 		socket_close($this->socket);
493 567
 		$this->connect();
494 568
 	}
@@ -508,22 +582,32 @@  discard block
 block discarded – undo
508 582
 			//$w = '00';
509 583
 			$custom = '';
510 584
 			if ($ident != '') {
511
-				if ($custom != '') $custom .= '/';
585
+				if ($custom != '') {
586
+					$custom .= '/';
587
+				}
512 588
 				$custom .= 'CS='.$ident;
513 589
 			}
514 590
 			if ($squawk != '') {
515
-				if ($custom != '') $custom .= '/';
591
+				if ($custom != '') {
592
+					$custom .= '/';
593
+				}
516 594
 				$custom .= 'SQ='.$squawk;
517 595
 			}
518 596
 			if ($verticalrate != '') {
519
-				if ($custom != '') $custom .= '/';
597
+				if ($custom != '') {
598
+					$custom .= '/';
599
+				}
520 600
 				$custom .= 'VR='.$verticalrate;
521 601
 			}
522 602
 			if ($aircraft_icao != '' && $aircraft_icao != 'NA') {
523
-				if ($custom != '') $custom .= '/';
603
+				if ($custom != '') {
604
+					$custom .= '/';
605
+				}
524 606
 				$custom .= 'AI='.$aircraft_icao;
525 607
 			}
526
-			if ($custom != '') $custom = ' '.$custom;
608
+			if ($custom != '') {
609
+				$custom = ' '.$custom;
610
+			}
527 611
 			$this->send('AIRCRAFT>APRS,TCPIP*:;'.$hex.'   *'.date('His',strtotime($datetime)).'h'.$coordinate.'^'.str_pad($heading,3,'0',STR_PAD_LEFT).'/'.str_pad($speed,3,'0',STR_PAD_LEFT).'/A='.str_pad($altitude_real,6,'0',STR_PAD_LEFT).' !W'.$w.'!'.$custom."\n");
528 612
 		}
529 613
 	}
@@ -541,30 +625,44 @@  discard block
 block discarded – undo
541 625
 			//$w = '00';
542 626
 			$custom = '';
543 627
 			if ($ident != '') {
544
-				if ($custom != '') $custom .= '/';
628
+				if ($custom != '') {
629
+					$custom .= '/';
630
+				}
545 631
 				$custom .= 'CS='.str_replace(' ','_',$ident);
546 632
 			}
547 633
 			if ($typeid != '') {
548
-				if ($custom != '') $custom .= '/';
634
+				if ($custom != '') {
635
+					$custom .= '/';
636
+				}
549 637
 				$custom .= 'TI='.$typeid;
550 638
 			}
551 639
 			if ($statusid != '') {
552
-				if ($custom != '') $custom .= '/';
640
+				if ($custom != '') {
641
+					$custom .= '/';
642
+				}
553 643
 				$custom .= 'SI='.$statusid;
554 644
 			}
555 645
 			if ($imo != '') {
556
-				if ($custom != '') $custom .= '/';
646
+				if ($custom != '') {
647
+					$custom .= '/';
648
+				}
557 649
 				$custom .= 'IMO='.$imo;
558 650
 			}
559 651
 			if ($arrival_date != '') {
560
-				if ($custom != '') $custom .= '/';
652
+				if ($custom != '') {
653
+					$custom .= '/';
654
+				}
561 655
 				$custom .= 'AD='.strtotime($arrival_date);
562 656
 			}
563 657
 			if ($arrival_code != '') {
564
-				if ($custom != '') $custom .= '/';
658
+				if ($custom != '') {
659
+					$custom .= '/';
660
+				}
565 661
 				$custom .= 'AC='.str_replace(' ','_',$arrival_code);
566 662
 			}
567
-			if ($custom != '') $custom = ' '.$custom;
663
+			if ($custom != '') {
664
+				$custom = ' '.$custom;
665
+			}
568 666
 			$altitude = 0;
569 667
 			$this->send('MARINE>APRS,TCPIP*:;'.$mmsi.'*'.date('His',strtotime($datetime)).'h'.$coordinate.'s'.str_pad($heading,3,'0',STR_PAD_LEFT).'/'.str_pad($speed,3,'0',STR_PAD_LEFT).'/A='.str_pad($altitude,6,'0',STR_PAD_LEFT).' !W'.$w.'!'.$custom."\n");
570 668
 		}
Please login to merge, or discard this patch.