Completed
Push — master ( 1fed4c...6bbecb )
by Yannick
05:53
created
notam-data.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -7,7 +7,7 @@
 block discarded – undo
7 7
 <button type="button" class="close">&times;</button>
8 8
 <?php
9 9
 
10
-$notamref = filter_input(INPUT_GET,'notam',FILTER_SANITIZE_STRING);
10
+$notamref = filter_input(INPUT_GET, 'notam', FILTER_SANITIZE_STRING);
11 11
 $notamref = urldecode($notamref);
12 12
 $NOTAM = new NOTAM();
13 13
 $notam = $NOTAM->getNOTAMbyRef($notamref);
Please login to merge, or discard this patch.
require/class.NOTAM.php 4 patches
Indentation   +942 added lines, -942 removed lines patch added patch discarded remove patch
@@ -7,964 +7,964 @@
 block discarded – undo
7 7
 class NOTAM {
8 8
 	public $db;
9 9
 	private $abbr = array(
10
-	                    'A/A' => 'Air-to-air',
11
-	                    'A/G' => 'Air-to-ground',
12
-	                    'AAL' => 'Above Aerodrome Level',
13
-	                    'ABM' => 'Abeam',
14
-	                    'ABN' => 'Aerodrome Beacon',
15
-	                    'ABT' => 'About',
16
-	                    'ABV' => 'Above',
17
-	                    'ACC' => 'Area Control',
18
-	                    'ACFT' => 'Aircraft',
19
-	                    'ACK' => 'Acknowledge',
20
-	                    'ACL' => 'Altimeter Check Location',
21
-	                    'ACN' => 'Aircraft Classification Number',
22
-	                    'ACPT' => 'Accepted',
23
-	                    'ACT' => 'Active',
24
-	                    'AD' => 'Aerodrome',
25
-	                    'ADA' => 'Advisory Area',
26
-	                    'ADC' => 'Aerodrome Chart',
27
-	                    'ADDN' => 'Additional',
28
-	                    'ADIZ' => 'Air defense identification zone',
29
-	                    'ADJ' => 'Adjacent',
30
-	                    'ADR' => 'Advisory Route',
31
-	                    'ADS' => 'Automatic Dependent Surveillance',
32
-	                    'ADVS' => 'Advisory Service',
33
-	                    'ADZ' => 'Advised',
34
-	                    'AFIL' => 'Flight Plan Filed In The Air',
35
-	                    'AFIS' => 'Airport flight information service',
36
-	                    'AFM' => 'Affirm',
37
-	                    'AFT' => 'After',
38
-	                    'AGA' => 'Aerodromes, Air Routes and Ground Aids',
39
-	                    'AGN' => 'Again',
40
-	                    'AIS' => 'Aeronautical information service',
41
-	                    'ALERFA' => 'Alert Phase',
42
-	                    'ALRS' => 'Alerting Service',
43
-	                    'ALS' => 'Approach Lighting System',
44
-	                    'ALT' => 'Altitude',
45
-	                    'ALTN' => 'Alternate',
46
-	                    'AMA' => 'Area Minimum Altitude',
47
-	                    'ANC' => 'Aeronautical Chart',
48
-	                    'ANCS' => 'Aeronautical Navigation Chart',
49
-	                    'ANS' => 'Answer',
50
-	                    'AOC' => 'Aerodrome Obstacle Chart',
51
-	                    'AP' => 'Airport',
52
-	                    'APCH' => 'Approach',
53
-	                    'APDC' => 'Aircraft Parking/docking Chart',
54
-	                    'APN' => 'Apron',
55
-	                    'APNS' => 'Aprons',
56
-	                    'APP' => 'Approach Control',
57
-	                    'APR' => 'April',
58
-	                    'APRX' => 'Approximately',
59
-	                    'APSG' => 'After Passing',
60
-	                    'APV' => 'Approved',
61
-	                    'ARC' => 'Area Chart',
62
-	                    'ARNG' => 'Arrange',
63
-	                    'ARO' => 'Air Traffic Services Reporting Office',
64
-	                    'ARP' => 'Aerodrome Reference Point',
65
-	                    'ARR' => 'Arriving',
66
-	                    'ARST' => 'Arresting',
67
-	                    'ASC' => 'Ascend To',
68
-	                    'ASDA' => 'Accelerate-Stop Distance Available',
69
-	                    'ASPEEDG' => 'Airspeed Gain',
70
-	                    'ASPEEDL' => 'Airspeed Loss',
71
-	                    'ASPH' => 'Asphalt',
72
-	                    'ATA' => 'Actual Time of Arrival',
73
-	                    'ATD' => 'Actual Time of Departure',
74
-	                    'ATFM' => 'Air Traffic Flow Management',
75
-	                    'ATIS' => 'Automatic terminal information service',
76
-	                    'ATM' => 'Air Traffic Management',
77
-	                    'ATP' => 'At',
78
-	                    'ATTN' => 'Attention',
79
-	                    'ATZ' => 'Aerodrome Traffic Zone',
80
-	                    'AUG' => 'August',
81
-	                    'AUTH' => 'Authorization',
82
-	                    'AUW' => 'All Up Weight',
83
-	                    'AUX' => 'Auxiliary',
84
-	                    'AVBL' => 'Available',
85
-	                    'AVG' => 'Average',
86
-	                    'AVGAS' => 'Aviation Gasoline',
87
-	                    'AWTA' => 'Advise At What Time Able',
88
-	                    'AWY' => 'Airway',
89
-	                    'AWYS' => 'Airways',
90
-	                    'AZM' => 'Azimuth',
91
-	                    'BA' => 'Braking Action',
92
-	                    'BCN' => 'Beacon',
93
-	                    'BCST' => 'Broadcast',
94
-	                    'BDRY' => 'Boundary',
95
-	                    'BFR' => 'Before',
96
-	                    'BLDG' => 'Building',
97
-	                    'BLO' => 'Below Clouds',
98
-	                    'BLW' => 'Below',
99
-	                    'BRF' => 'Short',
100
-	                    'BRG' => 'Bearing',
101
-	                    'BRKG' => 'Breaking',
102
-	                    'BTL' => 'Between Layers',
103
-	                    'BTN' => 'Between',
104
-	                    'CD' => 'Candela',
105
-	                    'CDN' => 'Coordination',
106
-	                    'CF' => 'Change Frequency To',
107
-	                    'CFM' => 'Confirm',
108
-	                    'CGL' => 'Circling Guidance Light(s)',
109
-	                    'CH' => 'Channel',
110
-	                    'CHG' => 'Changed',
111
-	                    'CIT' => 'Near or Over Large Towns',
112
-	                    'CIV' => 'Civil',
113
-	                    'CK' => 'Check',
114
-	                    'CL' => 'Centre Line',
115
-	                    'CLBR' => 'Calibration',
116
-	                    'CLD' => 'Cloud',
117
-	                    'CLG' => 'Calling',
118
-	                    'CLIMB-OUT' => 'Climb-out Area',
119
-	                    'CLR' => 'Clearance',
120
-	                    'CLRD' => 'Cleared',
121
-	                    'CLSD' => 'Closed',
122
-	                    'CMB' => 'Climb',
123
-	                    'CMPL' => 'Complete',
124
-	                    'CNL' => 'Cancel',
125
-	                    'CNS' => 'Communications, Navigation And Surveillance',
126
-	                    'COM' => 'Communications',
127
-	                    'CONC' => 'Concrete',
128
-	                    'COND' => 'Condition',
129
-	                    'CONS' => 'Continuous',
130
-	                    'CONST' => 'Construction',
131
-	                    'CONT' => 'Continued',
132
-	                    'COOR' => 'Coordination',
133
-	                    'COORD' => 'Coordinates',
134
-	                    'COP' => 'Change-over Point',
135
-	                    'COR' => 'Correction',
136
-	                    'COT' => 'At The Coast',
137
-	                    'COV' => 'Covered',
138
-	                    'CPDLC' => 'Controller-pilot Data Link Communications',
139
-	                    'CPL' => 'Current Flight Plan',
140
-	                    'CRC' => 'Cyclic Redundancy Check',
141
-	                    'CRZ' => 'Cruise',
142
-	                    'CTA' => 'Control area',
143
-	                    'CTAM' => 'Climb To And Maintain',
144
-	                    'CTC' => 'Contact',
145
-	                    'CTL' => 'Control',
146
-	                    'CTN' => 'Caution',
147
-	                    'CTR' => 'Control Zone',
148
-	                    'CVR' => 'Cockpit Voice Recorder',
149
-	                    'CW' => 'Continuous Wave',
150
-	                    'CWY' => 'Clearway',
151
-	                    'DA' => 'Decision Altitude',
152
-	                    'DCKG' => 'Docking',
153
-	                    'DCP' => 'Datum Crossing Point',
154
-	                    'DCPC' => 'Direct Controller-pilot Communications',
155
-	                    'DCT' => 'Direct',
156
-	                    'DEC' => 'December',
157
-	                    'DEG' => 'Degrees',
158
-	                    'DEP' => 'Departing',
159
-	                    'DES' => 'Descend',
160
-	                    'DEST' => 'Destination',
161
-	                    'DETRESFA' => 'Distress Phase',
162
-	                    'DEV' => 'Deviating',
163
-	                    'DFDR' => 'Digital Flight Data Recorder',
164
-	                    'DFTI' => 'Distance From Touchdown Indicator',
165
-	                    'DH' => 'Decision Height',
166
-	                    'DIP' => 'Diffuse',
167
-	                    'DIST' => 'Distance',
168
-	                    'DIV' => 'Divert',
169
-	                    'DLA' => 'Delay',
170
-	                    'DLY' => 'Daily',
171
-	                    'DME' => 'Distance measuring equipment',
172
-	                    'DNG' => 'Dangerous',
173
-	                    'DOM' => 'Domestic',
174
-	                    'DPT' => 'Depth',
175
-	                    'DR' => 'Dead Reckoning',
176
-	                    'DRG' => 'During',
177
-	                    'DTAM' => 'Descend To And Maintain',
178
-	                    'DTG' => 'Date-time Group',
179
-	                    'DTHR' => 'Displaced Runway Threshold',
180
-	                    'DTRT' => 'Deteriorating',
181
-	                    'DTW' => 'Dual Tandem Wheels',
182
-	                    'DUPE' => 'This Is A Duplicate Message',
183
-	                    'DUR' => 'Duration',
184
-	                    'DVOR' => 'Doppler VOR',
185
-	                    'DW' => 'Dual Wheels',
186
-	                    'EAT' => 'Expected Approach Time',
187
-	                    'EB' => 'Eastbound',
188
-	                    'EDA' => 'Elevation Differential Area',
189
-	                    'EET' => 'Estimated Elapsed Time',
190
-	                    'EFC' => 'Expect Further Clearance',
191
-	                    'ELBA' => 'Emergency Location Beacon',
192
-	                    'ELEV' => 'Elevation',
193
-	                    'ELR' => 'Extra Long Range',
194
-	                    'EM' => 'Emission',
195
-	                    'EMERG' => 'Emergency',
196
-	                    'END' => 'Stop-end',
197
-	                    'ENE' => 'East-north-east',
198
-	                    'ENG' => 'Engine',
199
-	                    'ENR' => 'En-route',
200
-	                    'ENRC' => 'En-route Chart',
201
-	                    'EOBT' => 'Estimated Off-block Time',
202
-	                    'EQPT' => 'Equipment',
203
-	                    'ER' => 'Here',
204
-	                    'ESE' => 'East-south-east',
205
-	                    'EST' => 'Estimate',
206
-	                    'ETA' => 'Estimated Time Of Arrival',
207
-	                    'ETD' => 'Estimated Time Of Departure',
208
-	                    'ETO' => 'Estimated Time Over Significant Point',
209
-	                    'EV' => 'Every',
210
-	                    'EXC' => 'Except',
211
-	                    'EXER' => 'Exercise',
212
-	                    'EXP' => 'Expect',
213
-	                    'EXTD' => 'Extend',
214
-	                    'FAC' => 'Facilities',
215
-	                    'FAF' => 'Final Approach Fix',
216
-	                    'FAL' => 'Facilitation of International Airtransport',
217
-	                    'FAP' => 'Final Approach Point',
218
-	                    'FATO' => 'Final Approach And Take-off Area',
219
-	                    'FAX' => 'Fax',
220
-	                    'FBL' => 'Light',
221
-	                    'FCST' => 'Forecast',
222
-	                    'FCT' => 'Friction Coefficient',
223
-	                    'FDPS' => 'Flight Data Processing System',
224
-	                    'FEB' => 'February',
225
-	                    'FIR' => 'Flight information region',
226
-	                    'FIS' => 'Flight information service',
227
-	                    'FLD' => 'Field',
228
-	                    'FLG' => 'Flashing',
229
-	                    'FLR' => 'Flares',
230
-	                    'FLT' => 'Flight',
231
-	                    'FLTS' => 'Flights',
232
-	                    'FLTCK' => 'Flight Check',
233
-	                    'FLUC' => 'Fluctuating',
234
-	                    'FLW' => 'Follow(s)',
235
-	                    'FLY' => 'Fly',
236
-	                    'FM' => 'From',
237
-	                    'FMS' => 'Flight Management System',
238
-	                    'FMU' => 'Flow Management Unit',
239
-	                    'FNA' => 'Final Approach',
240
-	                    'FPAP' => 'Flight Path Alignment Point',
241
-	                    'FPL' => 'Flight Plan',
242
-	                    'FPLS' => 'Flight Plans',
243
-	                    'FPM' => 'Feet Per Minute',
244
-	                    'FPR' => 'Flight Plan Route',
245
-	                    'FR' => 'Fuel Remaining',
246
-	                    'FREQ' => 'Frequency',
247
-	                    'FRI' => 'Friday',
248
-	                    'FRMG' => 'Missile, gun or rocket firing',
249
-	                    'FRNG' => 'Firing',
250
-	                    'FRONT' => 'Front',
251
-	                    'FRQ' => 'Frequent',
252
-	                    'FSL' => 'Full Stop Landing',
253
-	                    'FSS' => 'Flight Service Station',
254
-	                    'FST' => 'First',
255
-	                    'FTP' => 'Fictitious Threshold Point',
256
-	                    'G/A' => 'Ground-to-air',
257
-	                    'G/A/G' => 'Ground-to-air and Air-to-ground',
258
-	                    'GARP' => 'GBAS Azimuth Reference Point',
259
-	                    'GBAS' => 'Ground-based Augmentation System',
260
-	                    'GCAJ' => 'Ground Controlled Approach',
261
-	                    'GCA' => 'Ground Controlled Approach System',
262
-	                    'GEN' => 'General',
263
-	                    'GEO' => 'Geographic or True',
264
-	                    'GES' => 'Ground Earth Station',
265
-	                    'GLD' => 'Glider',
266
-	                    'GMC' => 'Ground Movement Chart',
267
-	                    'GND' => 'Ground',
268
-	                    'GNDCK' => 'Ground Check',
269
-	                    'GP' => 'Glide Path',
270
-	                    'GRASS' => 'Grass landing area',
271
-	                    'GRVL' => 'Gravel',
272
-	                    'GUND' => 'Geoid Undulation',
273
-	                    'H24' => '24 Hours',
274
-	                    'HAPI' => 'Helicopter Approach Path Indicator',
275
-	                    'HBN' => 'Hazard Beacon',
276
-	                    'HDG' => 'Heading',
277
-	                    'HEL' => 'Helicopter',
278
-	                    'HGT' => 'Height',
279
-	                    'HJ' => 'Sunrise to Sunset',
280
-	                    'HLDG' => 'Holding',
281
-	                    'HN' => 'Sunset to Sunrise',
282
-	                    'HO' => 'Service Available To Meet Operational Requirements',
283
-	                    'HOL' => 'Holiday',
284
-	                    'HOSP' => 'Hospital Aircraft',
285
-	                    'HOT' => 'Height',
286
-	                    'HPA' => 'Hectopascal',
287
-	                    'HR' => 'Hours',
288
-	                    'HRS' => 'Hours',
289
-	                    'HS' => 'Service Available During Hours Of Scheduled Operations',
290
-	                    'HURCN' => 'Hurricane',
291
-	                    'HVY' => 'Heavy',
292
-	                    'HX' => 'No Specific Working Hours',
293
-	                    'HYR' => 'Higher',
294
-	                    'IAC' => 'Instrument Approach Chart',
295
-	                    'IAF' => 'Initial Approach Fix',
296
-	                    'IAO' => 'In And Out Of Clouds',
297
-	                    'IAP' => 'Instrument Approach Procedure',
298
-	                    'IAR' => 'Intersection Of Air Routes',
299
-	                    'IBN' => 'Identification Beacon',
300
-	                    'ID' => 'Identifier',
301
-	                    'IDENT' => 'Identification',
302
-	                    'IFF' => 'Identification Friend/Foe',
303
-	                    'IGA' => 'International General Aviation',
304
-	                    'IM' => 'Inner Marker',
305
-	                    'IMPR' => 'Improving',
306
-	                    'IMT' => 'Immediately',
307
-	                    'INA' => 'Initial Approach',
308
-	                    'INBD' => 'Inbound',
309
-	                    'INCERFA' => 'Uncertainty Phase',
310
-	                    'INFO' => 'Information',
311
-	                    'INOP' => 'Inoperative',
312
-	                    'INP' => 'If Not Possible',
313
-	                    'INPR' => 'In Progress',
314
-	                    'INSTL' => 'Installation',
315
-	                    'INSTR' => 'Instrument',
316
-	                    'INT' => 'Intersection',
317
-	                    'INTS' => 'Intersections',
318
-	                    'INTL' => 'International',
319
-	                    'INTRG' => 'Interrogator',
320
-	                    'INTRP' => 'Interruption',
321
-	                    'INTSF' => 'Intensifying',
322
-	                    'INTST' => 'Intensity',
323
-	                    'ISA' => 'International Standard Atmosphere',
324
-	                    'JAN' => 'January',
325
-	                    'JTST' => 'Jet stream',
326
-	                    'JUL' => 'July',
327
-	                    'JUN' => 'June',
328
-	                    'KMH' => 'Kilometres Per Hour',
329
-	                    'KPA' => 'Kilopascal',
330
-	                    'KT' => 'Knots',
331
-	                    'KW' => 'Kilowatts',
332
-	                    'LAN' => 'Inland',
333
-	                    'LAT' => 'Latitude',
334
-	                    'LDA' => 'Landing Distance Available',
335
-	                    'LDAH' => 'Landing Distance Available, Helicopter',
336
-	                    'LDG' => 'Landing',
337
-	                    'LDI' => 'Landing Direction Indicator',
338
-	                    'LEN' => 'Length',
339
-	                    'LGT' => 'Lighting',
340
-	                    'LGTD' => 'Lighted',
341
-	                    'LIH' => 'Light Intensity High',
342
-	                    'LIL' => 'Light Intensity Low',
343
-	                    'LIM' => 'Light Intensity Medium',
344
-	                    'LLZ' => 'Localizer',
345
-	                    'LM' => 'Locator, Middle',
346
-	                    'LMT' => 'Local Mean Time',
347
-	                    'LNG' => 'Long',
348
-	                    'LO' => 'Locator, Outer',
349
-	                    'LOG' => 'Located',
350
-	                    'LONG' => 'Longitude',
351
-	                    'LRG' => 'Long Range',
352
-	                    'LTD' => 'Limited',
353
-	                    'LTP' => 'Landing Threshold Point',
354
-	                    'LVE' => 'Leaving',
355
-	                    'LVL' => 'Level',
356
-	                    'LYR' => 'Layer',
357
-	                    'MAA' => 'Maximum Authorized Altitude',
358
-	                    'MAG' => 'Magnetic',
359
-	                    'MAINT' => 'Maintenance',
360
-	                    'MAP' => 'Aeronautical Maps and Charts',
361
-	                    'MAPT' => 'Missed Approach Point',
362
-	                    'MAR' => 'March',
363
-	                    'MAX' => 'Maximum',
364
-	                    'MAY' => 'May',
365
-	                    'MBST' => 'Microburst',
366
-	                    'MCA' => 'Minimum Crossing Altitude',
367
-	                    'MCW' => 'Modulated Continuous Wave',
368
-	                    'MDA' => 'Minimum Descent Altitude',
369
-	                    'MDH' => 'Minimum Descent Height',
370
-	                    'MEA' => 'Minimum En-route Altitude',
371
-	                    'MEHT' => 'Minimum Eye Height Over Threshold',
372
-	                    'MET' => 'Meteorological',
373
-	                    'MID' => 'Mid-point',
374
-	                    'MIL' => 'Military',
375
-	                    'MIN' => 'Minutes',
376
-	                    'MKR' => 'Marker Radio Beacon',
377
-	                    'MLS' => 'Microwave Landing System',
378
-	                    'MM' => 'Middle Marker',
379
-	                    'MNM' => 'Minimum',
380
-	                    'MNPS' => 'Minimum Navigation Performance Specifications',
381
-	                    'MNT' => 'Monitor',
382
-	                    'MNTN' => 'Maintain',
383
-	                    'MOA' => 'Military Operating Area',
384
-	                    'MOC' => 'Minimum Obstacle Clearance',
385
-	                    'MOD' => 'Moderate',
386
-	                    'MON' => 'Monday',
387
-	                    'MOPS' => 'Minimum Operational Performance Standards',
388
-	                    'MOV' => 'Movement',
389
-	                    'MRA' => 'Minimum Reception Altitude',
390
-	                    'MRG' => 'Medium Range',
391
-	                    'MRP' => 'ATS/MET Reporting Point',
392
-	                    'MS' => 'Minus',
393
-	                    'MSA' => 'Minimum Sector Altitude',
394
-	                    'MSAW' => 'Minimum Safe Altitude Warning',
395
-	                    'MSG' => 'Message',
396
-	                    'MSSR' => 'Monopulse Secondary Surveillance Radar',
397
-	                    'MT' => 'Mountain',
398
-	                    'MTU' => 'Metric Units',
399
-	                    'MTW' => 'Mountain Waves',
400
-	                    'NASC' => 'National AIS System Centre',
401
-	                    'NAT' => 'North Atlantic',
402
-	                    'NAV' => 'Navigation',
403
-	                    'NB' => 'Northbound',
404
-	                    'NBFR' => 'Not Before',
405
-	                    'NE' => 'North-east',
406
-	                    'NEB' => 'North-eastbound',
407
-	                    'NEG' => 'Negative',
408
-	                    'NGT' => 'Night',
409
-	                    'NIL' => 'None',
410
-	                    'NML' => 'Normal',
411
-	                    'NNE' => 'North-north-east',
412
-	                    'NNW' => 'North-north-west',
413
-	                    'NOF' => 'International NOTAM Office',
414
-	                    'NOV' => 'November',
415
-	                    'NOZ' => 'Normal Operating Zone',
416
-	                    'NR' => 'Number',
417
-	                    'NRH' => 'No Reply Heard',
418
-	                    'NTL' => 'National',
419
-	                    'NTZ' => 'No Transgression Zone',
420
-	                    'NW' => 'North-west',
421
-	                    'NWB' => 'North-westbound',
422
-	                    'NXT' => 'Next',
423
-	                    'O/R' => 'On Request',
424
-	                    'OAC' => 'Oceanic Area Control Centre',
425
-	                    'OAS' => 'Obstacle Assessment Surface',
426
-	                    'OBS' => 'Observe',
427
-	                    'OBST' => 'Obstacle',
428
-	                    'OBSTS' => 'Obstacles',
429
-	                    'OCA' => 'Oceanic Control Area',
430
-	                    'OCH' => 'Obstacle Clearance Height',
431
-	                    'OCL' => 'Obstacle Clearance Limit',
432
-	                    'OCS' => 'Obstacle Clearance Surface',
433
-	                    'OCT' => 'October',
434
-	                    'OFZ' => 'Obstacle Free Zone',
435
-	                    'OGN' => 'Originate',
436
-	                    'OHD' => 'Overhead',
437
-	                    'OM' => 'Outer Marker',
438
-	                    'OPC' => 'Control Indicated Is Operational Control',
439
-	                    'OPMET' => 'Operational Meteorological',
440
-	                    'OPN' => 'Open',
441
-	                    'OPR' => 'Operate',
442
-	                    'OPS' => 'Operations',
443
-	                    'ORD' => 'Order',
444
-	                    'OSV' => 'Ocean Station Vessel',
445
-	                    'OTLK' => 'Outlook',
446
-	                    'OTP' => 'On Top',
447
-	                    'OTS' => 'Organized Track System',
448
-	                    'OUBD' => 'Outbound',
449
-	                    'PA' => 'Precision Approach',
450
-	                    'PALS' => 'Precision Approach Lighting System',
451
-	                    'PANS' => 'Procedures for Air Navigation Services',
452
-	                    'PAR' => 'Precision Approach Radar',
453
-	                    'PARL' => 'Parallel',
454
-	                    'PATC' => 'Precision Approach Terrain Chart',
455
-	                    'PAX' => 'Passenger(s)',
456
-	                    'PCD' => 'Proceed',
457
-	                    'PCL' => 'Pilot-controlled Lighting',
458
-	                    'PCN' => 'Pavement Classification Number',
459
-	                    'PDC' => 'Pre-departure Clearance',
460
-	                    'PDG' => 'Procedure Design Gradient',
461
-	                    'PER' => 'Performance',
462
-	                    'PERM' => 'Permanent',
463
-	                    'PIB' => 'Pre-flight Information Bulletin',
464
-	                    'PJE' => 'Parachute Jumping Exercise',
465
-	                    'PLA' => 'Practice Low Approach',
466
-	                    'PLN' => 'Flight Plan',
467
-	                    'PLVL' => 'Present Level',
468
-	                    'PN' => 'Prior Notice Required',
469
-	                    'PNR' => 'Point Of No Return',
470
-	                    'POB' => 'Persons On Board',
471
-	                    'POSS' => 'Possible',
472
-	                    'PPI' => 'Plan Position Indicator',
473
-	                    'PPR' => 'Prior Permission Required',
474
-	                    'PPSN' => 'Present Position',
475
-	                    'PRI' => 'Primary',
476
-	                    'PRKG' => 'Parking',
477
-	                    'PROB' => 'Probability',
478
-	                    'PROC' => 'Procedure',
479
-	                    'PROV' => 'Provisional',
480
-	                    'PS' => 'Plus',
481
-	                    'PSG' => 'Passing',
482
-	                    'PSN' => 'Position',
483
-	                    'PSNS' => 'Positions',
484
-	                    'PSR' => 'Primary Surveillance Radar',
485
-	                    'PSYS' => 'Pressure System(s)',
486
-	                    'PTN' => 'Procedure Turn',
487
-	                    'PTS' => 'Polar Track Structure',
488
-	                    'PWR' => 'Power',
489
-	                    'QUAD' => 'Quadrant',
490
-	                    'RAC' => 'Rules of The Air and Air Traffic Services',
491
-	                    'RAG' => 'Runway Arresting Gear',
492
-	                    'RAI' => 'Runway Alignment Indicator',
493
-	                    'RASC' => 'Regional AIS System Centre',
494
-	                    'RASS' => 'Remote Altimeter Setting Source',
495
-	                    'RB' => 'Rescue Boat',
496
-	                    'RCA' => 'Reach Cruising Altitude',
497
-	                    'RCC' => 'Rescue Coordination Centre',
498
-	                    'RCF' => 'Radiocommunication Failure',
499
-	                    'RCH' => 'Reaching',
500
-	                    'RCL' => 'Runway Centre Line',
501
-	                    'RCLL' => 'Runway Centre Line Light(s)',
502
-	                    'RCLR' => 'Recleared',
503
-	                    'RDH' => 'Reference Datum Height',
504
-	                    'RDL' => 'Radial',
505
-	                    'RDO' => 'Radio',
506
-	                    'RE' => 'Recent',
507
-	                    'REC' => 'Receiver',
508
-	                    'REDL' => 'Runway Edge Light(s)',
509
-	                    'REF' => 'Refer To',
510
-	                    'REG' => 'Registration',
511
-	                    'RENL' => 'Runway End Light(s)',
512
-	                    'REP' => 'Report',
513
-	                    'REQ' => 'Requested',
514
-	                    'RERTE' => 'Re-route',
515
-	                    'RESA' => 'Runway End Safety Area',
516
-	                    'RG' => 'Range (lights)',
517
-	                    'RHC' => 'Right-hand Circuit',
518
-	                    'RIF' => 'Reclearance In Flight',
519
-	                    'RITE' => 'Right',
520
-	                    'RL' => 'Report Leaving',
521
-	                    'RLA' => 'Relay To',
522
-	                    'RLCE' => 'Request Level Change En Route',
523
-	                    'RLLS' => 'Runway Lead-in Lighting System',
524
-	                    'RLNA' => 'Request Level Not Available',
525
-	                    'RMAC' => 'Radar Minimum Altitude Chart',
526
-	                    'RMK' => 'Remark',
527
-	                    'RNG' => 'Radio Range',
528
-	                    'RNP' => 'Required Navigation Performance',
529
-	                    'ROC' => 'Rate Of Climb',
530
-	                    'ROD' => 'Rate Of Descent',
531
-	                    'ROFOR' => 'Route Forecast',
532
-	                    'RON' => 'Receiving Only',
533
-	                    'RPI' => 'Radar Position Indicator',
534
-	                    'RPL' => 'Repetitive Flight Plan',
535
-	                    'RPLC' => 'Replaced',
536
-	                    'RPS' => 'Radar Position Symbol',
537
-	                    'RQMNTS' => 'Requirements',
538
-	                    'RQP' => 'Request Flight Plan',
539
-	                    'RQS' => 'Request Supplementary Flight Plan',
540
-	                    'RR' => 'Report Reaching',
541
-	                    'RSC' => 'Rescue Sub-centre',
542
-	                    'RSCD' => 'Runway Surface Condition',
543
-	                    'RSP' => 'Responder Beacon',
544
-	                    'RSR' => 'En-route Surveillance Radar',
545
-	                    'RTE' => 'Route',
546
-	                    'RTES' => 'Routes',
547
-	                    'RTF' => 'Radiotelephone',
548
-	                    'RTG' => 'Radiotelegraph',
549
-	                    'RTHL' => 'Runway Threshold Light(s)',
550
-	                    'RTN' => 'Return',
551
-	                    'RTODAH' => 'Rejected Take-off Distance Available, Helicopter',
552
-	                    'RTS' => 'Return To Service',
553
-	                    'RTT' => 'Radioteletypewriter',
554
-	                    'RTZL' => 'Runway Touchdown Zone Light(s)',
555
-	                    'RUT' => 'Standard Regional Route Transmitting Frequencies',
556
-	                    'RV' => 'Rescue Vessel',
557
-	                    'RVSM' => 'Reduced Vertical Separation Minimum',
558
-	                    'RWY' => 'Runway',
559
-	                    'RWYS' => 'Runways',
560
-	                    'SALS' => 'Simple Approach Lighting System',
561
-	                    'SAN' => 'Sanitary',
562
-	                    'SAP' => 'As Soon As Possible',
563
-	                    'SAR' => 'Search and Rescue',
564
-	                    'SARPS' => 'Standards and Recommended Practices',
565
-	                    'SAT' => 'Saturday',
566
-	                    'SATCOM' => 'Satellite Communication',
567
-	                    'SB' => 'Southbound',
568
-	                    'SBAS' => 'Satellite-based Augmentation System',
569
-	                    'SDBY' => 'Stand by',
570
-	                    'SE' => 'South-east',
571
-	                    'SEA' => 'Sea',
572
-	                    'SEB' => 'South-eastbound',
573
-	                    'SEC' => 'Seconds',
574
-	                    'SECN' => 'Section',
575
-	                    'SECT' => 'Sector',
576
-	                    'SELCAL' => 'Selective calling system',
577
-	                    'SEP' => 'September',
578
-	                    'SER' => 'Service',
579
-	                    'SEV' => 'Severe',
580
-	                    'SFC' => 'Surface',
581
-	                    'SGL' => 'Signal',
582
-	                    'SID' => 'Standard Instrument Departure',
583
-	                    'SIF' => 'Selective Identification Feature',
584
-	                    'SIG' => 'Significant',
585
-	                    'SIMUL' => 'Simultaneous',
586
-	                    'SKED' => 'Schedule',
587
-	                    'SLP' => 'Speed Limiting Point',
588
-	                    'SLW' => 'Slow',
589
-	                    'SMC' => 'Surface Movement Control',
590
-	                    'SMR' => 'Surface Movement Radar',
591
-	                    'SPL' => 'Supplementary Flight Plan',
592
-	                    'SPOC' => 'SAR Point Of Contact',
593
-	                    'SPOT' => 'Spot Wind',
594
-	                    'SR' => 'Sunrise',
595
-	                    'SRA' => 'Surveillance Radar Approach',
596
-	                    'SRE' => 'Surveillance Radar Element Of Precision Approach Radar System',
597
-	                    'SRG' => 'Short Range',
598
-	                    'SRR' => 'Search and Rescue Region',
599
-	                    'SRY' => 'Secondary',
600
-	                    'SS' => 'Sunset',
601
-	                    'SSE' => 'South-south-east',
602
-	                    'SSR' => 'Secondary Surveillance Radar',
603
-	                    'SST' => 'Supersonic Transport',
604
-	                    'SSW' => 'South-south-west',
605
-	                    'STA' => 'Straight-in Approach',
606
-	                    'STAR' => 'Standard Instrument Arrival',
607
-	                    'STD' => 'Standard',
608
-	                    'STN' => 'Station',
609
-	                    'STNR' => 'Stationary',
610
-	                    'STOL' => 'Short Take-off and Landing',
611
-	                    'STS' => 'Status',
612
-	                    'STWL' => 'Stopway Light(s)',
613
-	                    'SUBJ' => 'Subject To',
614
-	                    'SUN' => 'Sunday',
615
-	                    'SUP' => 'Supplement',
616
-	                    'SUPPS' => 'Regional Supplementary Procedures Service Message',
617
-	                    'SVCBL' => 'Serviceable',
618
-	                    'SW' => 'South-west',
619
-	                    'SWB' => 'South-westbound',
620
-	                    'SWY' => 'Stopway',
621
-	                    'TA' => 'Transition Altitude',
622
-	                    'TAA' => 'Terminal Arrival Altitude',
623
-	                    'TAF' => 'Aerodrome Forecast',
624
-	                    'TAIL' => 'Tail Wind',
625
-	                    'TAR' => 'Terminal Area Surveillance Radar',
626
-	                    'TAX' => 'Taxi',
627
-	                    'TCAC' => 'Tropical Cyclone Advisory Centre',
628
-	                    'TDO' => 'Tornado',
629
-	                    'TDZ' => 'Touchdown Zone',
630
-	                    'TECR' => 'Technical Reason',
631
-	                    'TEMPO' => 'Temporarily',
632
-	                    'TFC' => 'Traffic',
633
-	                    'TGL' => 'Touch-and-go',
634
-	                    'TGS' => 'Taxiing Guidance System',
635
-	                    'THR' => 'Threshold',
636
-	                    'THRU' => 'Through',
637
-	                    'THU' => 'Thursday',
638
-	                    'TIBA' => 'Traffic Information Broadcast By Aircraft',
639
-	                    'TIL' => 'Until',
640
-	                    'TIP' => 'Until Past',
641
-	                    'TKOF' => 'Take-off',
642
-	                    'TL' => 'Till',
643
-	                    'TLOF' => 'Touchdown And Lift-off Area',
644
-	                    'TMA' => 'Terminal Control Area',
645
-	                    'TNA' => 'Turn Altitude',
646
-	                    'TNH' => 'Turn Height',
647
-	                    'TOC' => 'Top of Climb',
648
-	                    'TODA' => 'Take-off Distance Available',
649
-	                    'TODAH' => 'Take-off Distance Available, Helicopter',
650
-	                    'TORA' => 'Take-off Run Available',
651
-	                    'TP' => 'Turning Point',
652
-	                    'TR' => 'Track',
653
-	                    'TRA' => 'Temporary Reserved Airspace',
654
-	                    'TRANS' => 'Transmitter',
655
-	                    'TRL' => 'Transition Level',
656
-	                    'TUE' => 'Tuesday',
657
-	                    'TURB' => 'Turbulence',
658
-	                    'TVOR' => 'Terminal VOR',
659
-	                    'TWR' => 'Tower',
660
-	                    'TWY' => 'Taxiway',
661
-	                    'TWYL' => 'Taxiway-link',
662
-	                    'TXT' => 'Text',
663
-	                    'TYP' => 'Type of Aircraft',
664
-	                    'U/S' => 'Unserviceable',
665
-	                    'UAB' => 'Until Advised By',
666
-	                    'UAC' => 'Upper Area Control Centre',
667
-	                    'UAR' => 'Upper Air Route',
668
-	                    'UDA' => 'Upper advisory area',
669
-	                    'UFN' => 'Until Further Notice',
670
-	                    'UHDT' => 'Unable Higher Due Traffic',
671
-	                    'UIC' => 'Upper Information Centre',
672
-	                    'UIR' => 'Upper Flight Information Region',
673
-	                    'ULR' => 'Ultra Long Range',
674
-	                    'UNA' => 'Unable',
675
-	                    'UNAP' => 'Unable To Approve',
676
-	                    'UNL' => 'Unlimited',
677
-	                    'UNREL' => 'Unreliable',
678
-	                    'UTA' => 'Upper Control Area',
679
-	                    'VAAC' => 'Volcanic Ash Advisory Centre',
680
-	                    'VAC' => 'Visual Approach Chart',
681
-	                    'VAL' => 'In Valleys',
682
-	                    'VAN' => 'Runway Control Van',
683
-	                    'VAR' => 'Visual-aural Radio Range',
684
-	                    'VC' => 'Vicinity',
685
-	                    'VCY' => 'Vicinity',
686
-	                    'VER' => 'Vertical',
687
-	                    'VIS' => 'Visibility',
688
-	                    'VLR' => 'Very Long Range',
689
-	                    'VPA' => 'Vertical Path Angle',
690
-	                    'VRB' => 'Variable',
691
-	                    'VSA' => 'By Visual Reference To The Ground',
692
-	                    'VSP' => 'Vertical Speed',
693
-	                    'VTOL' => 'Vertical Take-off And Landing',
694
-	                    'WAC' => 'World Aeronautical Chart',
695
-	                    'WAFC' => 'World Area Forecast Centre',
696
-	                    'WB' => 'Westbound',
697
-	                    'WBAR' => 'Wing Bar Lights',
698
-	                    'WDI' => 'Wind Direction Indicator',
699
-	                    'WDSPR' => 'Widespread',
700
-	                    'WED' => 'Wednesday',
701
-	                    'WEF' => 'Effective From',
702
-	                    'WI' => 'Within',
703
-	                    'WID' => 'Width',
704
-	                    'WIE' => 'Effective Immediately',
705
-	                    'WILCO' => 'Will Comply',
706
-	                    'WIND' => 'Wind',
707
-	                    'WINTEM' => 'Forecast Upper Wind And Temperature For Aviation',
708
-	                    'WIP' => 'Work In Progress',
709
-	                    'WKN' => 'Weaken',
710
-	                    'WNW' => 'West-north-west',
711
-	                    'WO' => 'Without',
712
-	                    'WPT' => 'Way-point',
713
-	                    'WRNG' => 'Warning',
714
-	                    'WSW' => 'West-south-west',
715
-	                    'WT' => 'Weight',
716
-	                    'WWW' => 'Worldwide Web',
717
-	                    'WX' => 'Weather',
718
-	                    'XBAR' => 'Crossbar',
719
-	                    'XNG' => 'Crossing',
720
-	                    'XS' => 'Atmospherics',
721
-	                    'YCZ' => 'Yellow Caution Zone',
722
-	                    'YR' => 'Your');
10
+						'A/A' => 'Air-to-air',
11
+						'A/G' => 'Air-to-ground',
12
+						'AAL' => 'Above Aerodrome Level',
13
+						'ABM' => 'Abeam',
14
+						'ABN' => 'Aerodrome Beacon',
15
+						'ABT' => 'About',
16
+						'ABV' => 'Above',
17
+						'ACC' => 'Area Control',
18
+						'ACFT' => 'Aircraft',
19
+						'ACK' => 'Acknowledge',
20
+						'ACL' => 'Altimeter Check Location',
21
+						'ACN' => 'Aircraft Classification Number',
22
+						'ACPT' => 'Accepted',
23
+						'ACT' => 'Active',
24
+						'AD' => 'Aerodrome',
25
+						'ADA' => 'Advisory Area',
26
+						'ADC' => 'Aerodrome Chart',
27
+						'ADDN' => 'Additional',
28
+						'ADIZ' => 'Air defense identification zone',
29
+						'ADJ' => 'Adjacent',
30
+						'ADR' => 'Advisory Route',
31
+						'ADS' => 'Automatic Dependent Surveillance',
32
+						'ADVS' => 'Advisory Service',
33
+						'ADZ' => 'Advised',
34
+						'AFIL' => 'Flight Plan Filed In The Air',
35
+						'AFIS' => 'Airport flight information service',
36
+						'AFM' => 'Affirm',
37
+						'AFT' => 'After',
38
+						'AGA' => 'Aerodromes, Air Routes and Ground Aids',
39
+						'AGN' => 'Again',
40
+						'AIS' => 'Aeronautical information service',
41
+						'ALERFA' => 'Alert Phase',
42
+						'ALRS' => 'Alerting Service',
43
+						'ALS' => 'Approach Lighting System',
44
+						'ALT' => 'Altitude',
45
+						'ALTN' => 'Alternate',
46
+						'AMA' => 'Area Minimum Altitude',
47
+						'ANC' => 'Aeronautical Chart',
48
+						'ANCS' => 'Aeronautical Navigation Chart',
49
+						'ANS' => 'Answer',
50
+						'AOC' => 'Aerodrome Obstacle Chart',
51
+						'AP' => 'Airport',
52
+						'APCH' => 'Approach',
53
+						'APDC' => 'Aircraft Parking/docking Chart',
54
+						'APN' => 'Apron',
55
+						'APNS' => 'Aprons',
56
+						'APP' => 'Approach Control',
57
+						'APR' => 'April',
58
+						'APRX' => 'Approximately',
59
+						'APSG' => 'After Passing',
60
+						'APV' => 'Approved',
61
+						'ARC' => 'Area Chart',
62
+						'ARNG' => 'Arrange',
63
+						'ARO' => 'Air Traffic Services Reporting Office',
64
+						'ARP' => 'Aerodrome Reference Point',
65
+						'ARR' => 'Arriving',
66
+						'ARST' => 'Arresting',
67
+						'ASC' => 'Ascend To',
68
+						'ASDA' => 'Accelerate-Stop Distance Available',
69
+						'ASPEEDG' => 'Airspeed Gain',
70
+						'ASPEEDL' => 'Airspeed Loss',
71
+						'ASPH' => 'Asphalt',
72
+						'ATA' => 'Actual Time of Arrival',
73
+						'ATD' => 'Actual Time of Departure',
74
+						'ATFM' => 'Air Traffic Flow Management',
75
+						'ATIS' => 'Automatic terminal information service',
76
+						'ATM' => 'Air Traffic Management',
77
+						'ATP' => 'At',
78
+						'ATTN' => 'Attention',
79
+						'ATZ' => 'Aerodrome Traffic Zone',
80
+						'AUG' => 'August',
81
+						'AUTH' => 'Authorization',
82
+						'AUW' => 'All Up Weight',
83
+						'AUX' => 'Auxiliary',
84
+						'AVBL' => 'Available',
85
+						'AVG' => 'Average',
86
+						'AVGAS' => 'Aviation Gasoline',
87
+						'AWTA' => 'Advise At What Time Able',
88
+						'AWY' => 'Airway',
89
+						'AWYS' => 'Airways',
90
+						'AZM' => 'Azimuth',
91
+						'BA' => 'Braking Action',
92
+						'BCN' => 'Beacon',
93
+						'BCST' => 'Broadcast',
94
+						'BDRY' => 'Boundary',
95
+						'BFR' => 'Before',
96
+						'BLDG' => 'Building',
97
+						'BLO' => 'Below Clouds',
98
+						'BLW' => 'Below',
99
+						'BRF' => 'Short',
100
+						'BRG' => 'Bearing',
101
+						'BRKG' => 'Breaking',
102
+						'BTL' => 'Between Layers',
103
+						'BTN' => 'Between',
104
+						'CD' => 'Candela',
105
+						'CDN' => 'Coordination',
106
+						'CF' => 'Change Frequency To',
107
+						'CFM' => 'Confirm',
108
+						'CGL' => 'Circling Guidance Light(s)',
109
+						'CH' => 'Channel',
110
+						'CHG' => 'Changed',
111
+						'CIT' => 'Near or Over Large Towns',
112
+						'CIV' => 'Civil',
113
+						'CK' => 'Check',
114
+						'CL' => 'Centre Line',
115
+						'CLBR' => 'Calibration',
116
+						'CLD' => 'Cloud',
117
+						'CLG' => 'Calling',
118
+						'CLIMB-OUT' => 'Climb-out Area',
119
+						'CLR' => 'Clearance',
120
+						'CLRD' => 'Cleared',
121
+						'CLSD' => 'Closed',
122
+						'CMB' => 'Climb',
123
+						'CMPL' => 'Complete',
124
+						'CNL' => 'Cancel',
125
+						'CNS' => 'Communications, Navigation And Surveillance',
126
+						'COM' => 'Communications',
127
+						'CONC' => 'Concrete',
128
+						'COND' => 'Condition',
129
+						'CONS' => 'Continuous',
130
+						'CONST' => 'Construction',
131
+						'CONT' => 'Continued',
132
+						'COOR' => 'Coordination',
133
+						'COORD' => 'Coordinates',
134
+						'COP' => 'Change-over Point',
135
+						'COR' => 'Correction',
136
+						'COT' => 'At The Coast',
137
+						'COV' => 'Covered',
138
+						'CPDLC' => 'Controller-pilot Data Link Communications',
139
+						'CPL' => 'Current Flight Plan',
140
+						'CRC' => 'Cyclic Redundancy Check',
141
+						'CRZ' => 'Cruise',
142
+						'CTA' => 'Control area',
143
+						'CTAM' => 'Climb To And Maintain',
144
+						'CTC' => 'Contact',
145
+						'CTL' => 'Control',
146
+						'CTN' => 'Caution',
147
+						'CTR' => 'Control Zone',
148
+						'CVR' => 'Cockpit Voice Recorder',
149
+						'CW' => 'Continuous Wave',
150
+						'CWY' => 'Clearway',
151
+						'DA' => 'Decision Altitude',
152
+						'DCKG' => 'Docking',
153
+						'DCP' => 'Datum Crossing Point',
154
+						'DCPC' => 'Direct Controller-pilot Communications',
155
+						'DCT' => 'Direct',
156
+						'DEC' => 'December',
157
+						'DEG' => 'Degrees',
158
+						'DEP' => 'Departing',
159
+						'DES' => 'Descend',
160
+						'DEST' => 'Destination',
161
+						'DETRESFA' => 'Distress Phase',
162
+						'DEV' => 'Deviating',
163
+						'DFDR' => 'Digital Flight Data Recorder',
164
+						'DFTI' => 'Distance From Touchdown Indicator',
165
+						'DH' => 'Decision Height',
166
+						'DIP' => 'Diffuse',
167
+						'DIST' => 'Distance',
168
+						'DIV' => 'Divert',
169
+						'DLA' => 'Delay',
170
+						'DLY' => 'Daily',
171
+						'DME' => 'Distance measuring equipment',
172
+						'DNG' => 'Dangerous',
173
+						'DOM' => 'Domestic',
174
+						'DPT' => 'Depth',
175
+						'DR' => 'Dead Reckoning',
176
+						'DRG' => 'During',
177
+						'DTAM' => 'Descend To And Maintain',
178
+						'DTG' => 'Date-time Group',
179
+						'DTHR' => 'Displaced Runway Threshold',
180
+						'DTRT' => 'Deteriorating',
181
+						'DTW' => 'Dual Tandem Wheels',
182
+						'DUPE' => 'This Is A Duplicate Message',
183
+						'DUR' => 'Duration',
184
+						'DVOR' => 'Doppler VOR',
185
+						'DW' => 'Dual Wheels',
186
+						'EAT' => 'Expected Approach Time',
187
+						'EB' => 'Eastbound',
188
+						'EDA' => 'Elevation Differential Area',
189
+						'EET' => 'Estimated Elapsed Time',
190
+						'EFC' => 'Expect Further Clearance',
191
+						'ELBA' => 'Emergency Location Beacon',
192
+						'ELEV' => 'Elevation',
193
+						'ELR' => 'Extra Long Range',
194
+						'EM' => 'Emission',
195
+						'EMERG' => 'Emergency',
196
+						'END' => 'Stop-end',
197
+						'ENE' => 'East-north-east',
198
+						'ENG' => 'Engine',
199
+						'ENR' => 'En-route',
200
+						'ENRC' => 'En-route Chart',
201
+						'EOBT' => 'Estimated Off-block Time',
202
+						'EQPT' => 'Equipment',
203
+						'ER' => 'Here',
204
+						'ESE' => 'East-south-east',
205
+						'EST' => 'Estimate',
206
+						'ETA' => 'Estimated Time Of Arrival',
207
+						'ETD' => 'Estimated Time Of Departure',
208
+						'ETO' => 'Estimated Time Over Significant Point',
209
+						'EV' => 'Every',
210
+						'EXC' => 'Except',
211
+						'EXER' => 'Exercise',
212
+						'EXP' => 'Expect',
213
+						'EXTD' => 'Extend',
214
+						'FAC' => 'Facilities',
215
+						'FAF' => 'Final Approach Fix',
216
+						'FAL' => 'Facilitation of International Airtransport',
217
+						'FAP' => 'Final Approach Point',
218
+						'FATO' => 'Final Approach And Take-off Area',
219
+						'FAX' => 'Fax',
220
+						'FBL' => 'Light',
221
+						'FCST' => 'Forecast',
222
+						'FCT' => 'Friction Coefficient',
223
+						'FDPS' => 'Flight Data Processing System',
224
+						'FEB' => 'February',
225
+						'FIR' => 'Flight information region',
226
+						'FIS' => 'Flight information service',
227
+						'FLD' => 'Field',
228
+						'FLG' => 'Flashing',
229
+						'FLR' => 'Flares',
230
+						'FLT' => 'Flight',
231
+						'FLTS' => 'Flights',
232
+						'FLTCK' => 'Flight Check',
233
+						'FLUC' => 'Fluctuating',
234
+						'FLW' => 'Follow(s)',
235
+						'FLY' => 'Fly',
236
+						'FM' => 'From',
237
+						'FMS' => 'Flight Management System',
238
+						'FMU' => 'Flow Management Unit',
239
+						'FNA' => 'Final Approach',
240
+						'FPAP' => 'Flight Path Alignment Point',
241
+						'FPL' => 'Flight Plan',
242
+						'FPLS' => 'Flight Plans',
243
+						'FPM' => 'Feet Per Minute',
244
+						'FPR' => 'Flight Plan Route',
245
+						'FR' => 'Fuel Remaining',
246
+						'FREQ' => 'Frequency',
247
+						'FRI' => 'Friday',
248
+						'FRMG' => 'Missile, gun or rocket firing',
249
+						'FRNG' => 'Firing',
250
+						'FRONT' => 'Front',
251
+						'FRQ' => 'Frequent',
252
+						'FSL' => 'Full Stop Landing',
253
+						'FSS' => 'Flight Service Station',
254
+						'FST' => 'First',
255
+						'FTP' => 'Fictitious Threshold Point',
256
+						'G/A' => 'Ground-to-air',
257
+						'G/A/G' => 'Ground-to-air and Air-to-ground',
258
+						'GARP' => 'GBAS Azimuth Reference Point',
259
+						'GBAS' => 'Ground-based Augmentation System',
260
+						'GCAJ' => 'Ground Controlled Approach',
261
+						'GCA' => 'Ground Controlled Approach System',
262
+						'GEN' => 'General',
263
+						'GEO' => 'Geographic or True',
264
+						'GES' => 'Ground Earth Station',
265
+						'GLD' => 'Glider',
266
+						'GMC' => 'Ground Movement Chart',
267
+						'GND' => 'Ground',
268
+						'GNDCK' => 'Ground Check',
269
+						'GP' => 'Glide Path',
270
+						'GRASS' => 'Grass landing area',
271
+						'GRVL' => 'Gravel',
272
+						'GUND' => 'Geoid Undulation',
273
+						'H24' => '24 Hours',
274
+						'HAPI' => 'Helicopter Approach Path Indicator',
275
+						'HBN' => 'Hazard Beacon',
276
+						'HDG' => 'Heading',
277
+						'HEL' => 'Helicopter',
278
+						'HGT' => 'Height',
279
+						'HJ' => 'Sunrise to Sunset',
280
+						'HLDG' => 'Holding',
281
+						'HN' => 'Sunset to Sunrise',
282
+						'HO' => 'Service Available To Meet Operational Requirements',
283
+						'HOL' => 'Holiday',
284
+						'HOSP' => 'Hospital Aircraft',
285
+						'HOT' => 'Height',
286
+						'HPA' => 'Hectopascal',
287
+						'HR' => 'Hours',
288
+						'HRS' => 'Hours',
289
+						'HS' => 'Service Available During Hours Of Scheduled Operations',
290
+						'HURCN' => 'Hurricane',
291
+						'HVY' => 'Heavy',
292
+						'HX' => 'No Specific Working Hours',
293
+						'HYR' => 'Higher',
294
+						'IAC' => 'Instrument Approach Chart',
295
+						'IAF' => 'Initial Approach Fix',
296
+						'IAO' => 'In And Out Of Clouds',
297
+						'IAP' => 'Instrument Approach Procedure',
298
+						'IAR' => 'Intersection Of Air Routes',
299
+						'IBN' => 'Identification Beacon',
300
+						'ID' => 'Identifier',
301
+						'IDENT' => 'Identification',
302
+						'IFF' => 'Identification Friend/Foe',
303
+						'IGA' => 'International General Aviation',
304
+						'IM' => 'Inner Marker',
305
+						'IMPR' => 'Improving',
306
+						'IMT' => 'Immediately',
307
+						'INA' => 'Initial Approach',
308
+						'INBD' => 'Inbound',
309
+						'INCERFA' => 'Uncertainty Phase',
310
+						'INFO' => 'Information',
311
+						'INOP' => 'Inoperative',
312
+						'INP' => 'If Not Possible',
313
+						'INPR' => 'In Progress',
314
+						'INSTL' => 'Installation',
315
+						'INSTR' => 'Instrument',
316
+						'INT' => 'Intersection',
317
+						'INTS' => 'Intersections',
318
+						'INTL' => 'International',
319
+						'INTRG' => 'Interrogator',
320
+						'INTRP' => 'Interruption',
321
+						'INTSF' => 'Intensifying',
322
+						'INTST' => 'Intensity',
323
+						'ISA' => 'International Standard Atmosphere',
324
+						'JAN' => 'January',
325
+						'JTST' => 'Jet stream',
326
+						'JUL' => 'July',
327
+						'JUN' => 'June',
328
+						'KMH' => 'Kilometres Per Hour',
329
+						'KPA' => 'Kilopascal',
330
+						'KT' => 'Knots',
331
+						'KW' => 'Kilowatts',
332
+						'LAN' => 'Inland',
333
+						'LAT' => 'Latitude',
334
+						'LDA' => 'Landing Distance Available',
335
+						'LDAH' => 'Landing Distance Available, Helicopter',
336
+						'LDG' => 'Landing',
337
+						'LDI' => 'Landing Direction Indicator',
338
+						'LEN' => 'Length',
339
+						'LGT' => 'Lighting',
340
+						'LGTD' => 'Lighted',
341
+						'LIH' => 'Light Intensity High',
342
+						'LIL' => 'Light Intensity Low',
343
+						'LIM' => 'Light Intensity Medium',
344
+						'LLZ' => 'Localizer',
345
+						'LM' => 'Locator, Middle',
346
+						'LMT' => 'Local Mean Time',
347
+						'LNG' => 'Long',
348
+						'LO' => 'Locator, Outer',
349
+						'LOG' => 'Located',
350
+						'LONG' => 'Longitude',
351
+						'LRG' => 'Long Range',
352
+						'LTD' => 'Limited',
353
+						'LTP' => 'Landing Threshold Point',
354
+						'LVE' => 'Leaving',
355
+						'LVL' => 'Level',
356
+						'LYR' => 'Layer',
357
+						'MAA' => 'Maximum Authorized Altitude',
358
+						'MAG' => 'Magnetic',
359
+						'MAINT' => 'Maintenance',
360
+						'MAP' => 'Aeronautical Maps and Charts',
361
+						'MAPT' => 'Missed Approach Point',
362
+						'MAR' => 'March',
363
+						'MAX' => 'Maximum',
364
+						'MAY' => 'May',
365
+						'MBST' => 'Microburst',
366
+						'MCA' => 'Minimum Crossing Altitude',
367
+						'MCW' => 'Modulated Continuous Wave',
368
+						'MDA' => 'Minimum Descent Altitude',
369
+						'MDH' => 'Minimum Descent Height',
370
+						'MEA' => 'Minimum En-route Altitude',
371
+						'MEHT' => 'Minimum Eye Height Over Threshold',
372
+						'MET' => 'Meteorological',
373
+						'MID' => 'Mid-point',
374
+						'MIL' => 'Military',
375
+						'MIN' => 'Minutes',
376
+						'MKR' => 'Marker Radio Beacon',
377
+						'MLS' => 'Microwave Landing System',
378
+						'MM' => 'Middle Marker',
379
+						'MNM' => 'Minimum',
380
+						'MNPS' => 'Minimum Navigation Performance Specifications',
381
+						'MNT' => 'Monitor',
382
+						'MNTN' => 'Maintain',
383
+						'MOA' => 'Military Operating Area',
384
+						'MOC' => 'Minimum Obstacle Clearance',
385
+						'MOD' => 'Moderate',
386
+						'MON' => 'Monday',
387
+						'MOPS' => 'Minimum Operational Performance Standards',
388
+						'MOV' => 'Movement',
389
+						'MRA' => 'Minimum Reception Altitude',
390
+						'MRG' => 'Medium Range',
391
+						'MRP' => 'ATS/MET Reporting Point',
392
+						'MS' => 'Minus',
393
+						'MSA' => 'Minimum Sector Altitude',
394
+						'MSAW' => 'Minimum Safe Altitude Warning',
395
+						'MSG' => 'Message',
396
+						'MSSR' => 'Monopulse Secondary Surveillance Radar',
397
+						'MT' => 'Mountain',
398
+						'MTU' => 'Metric Units',
399
+						'MTW' => 'Mountain Waves',
400
+						'NASC' => 'National AIS System Centre',
401
+						'NAT' => 'North Atlantic',
402
+						'NAV' => 'Navigation',
403
+						'NB' => 'Northbound',
404
+						'NBFR' => 'Not Before',
405
+						'NE' => 'North-east',
406
+						'NEB' => 'North-eastbound',
407
+						'NEG' => 'Negative',
408
+						'NGT' => 'Night',
409
+						'NIL' => 'None',
410
+						'NML' => 'Normal',
411
+						'NNE' => 'North-north-east',
412
+						'NNW' => 'North-north-west',
413
+						'NOF' => 'International NOTAM Office',
414
+						'NOV' => 'November',
415
+						'NOZ' => 'Normal Operating Zone',
416
+						'NR' => 'Number',
417
+						'NRH' => 'No Reply Heard',
418
+						'NTL' => 'National',
419
+						'NTZ' => 'No Transgression Zone',
420
+						'NW' => 'North-west',
421
+						'NWB' => 'North-westbound',
422
+						'NXT' => 'Next',
423
+						'O/R' => 'On Request',
424
+						'OAC' => 'Oceanic Area Control Centre',
425
+						'OAS' => 'Obstacle Assessment Surface',
426
+						'OBS' => 'Observe',
427
+						'OBST' => 'Obstacle',
428
+						'OBSTS' => 'Obstacles',
429
+						'OCA' => 'Oceanic Control Area',
430
+						'OCH' => 'Obstacle Clearance Height',
431
+						'OCL' => 'Obstacle Clearance Limit',
432
+						'OCS' => 'Obstacle Clearance Surface',
433
+						'OCT' => 'October',
434
+						'OFZ' => 'Obstacle Free Zone',
435
+						'OGN' => 'Originate',
436
+						'OHD' => 'Overhead',
437
+						'OM' => 'Outer Marker',
438
+						'OPC' => 'Control Indicated Is Operational Control',
439
+						'OPMET' => 'Operational Meteorological',
440
+						'OPN' => 'Open',
441
+						'OPR' => 'Operate',
442
+						'OPS' => 'Operations',
443
+						'ORD' => 'Order',
444
+						'OSV' => 'Ocean Station Vessel',
445
+						'OTLK' => 'Outlook',
446
+						'OTP' => 'On Top',
447
+						'OTS' => 'Organized Track System',
448
+						'OUBD' => 'Outbound',
449
+						'PA' => 'Precision Approach',
450
+						'PALS' => 'Precision Approach Lighting System',
451
+						'PANS' => 'Procedures for Air Navigation Services',
452
+						'PAR' => 'Precision Approach Radar',
453
+						'PARL' => 'Parallel',
454
+						'PATC' => 'Precision Approach Terrain Chart',
455
+						'PAX' => 'Passenger(s)',
456
+						'PCD' => 'Proceed',
457
+						'PCL' => 'Pilot-controlled Lighting',
458
+						'PCN' => 'Pavement Classification Number',
459
+						'PDC' => 'Pre-departure Clearance',
460
+						'PDG' => 'Procedure Design Gradient',
461
+						'PER' => 'Performance',
462
+						'PERM' => 'Permanent',
463
+						'PIB' => 'Pre-flight Information Bulletin',
464
+						'PJE' => 'Parachute Jumping Exercise',
465
+						'PLA' => 'Practice Low Approach',
466
+						'PLN' => 'Flight Plan',
467
+						'PLVL' => 'Present Level',
468
+						'PN' => 'Prior Notice Required',
469
+						'PNR' => 'Point Of No Return',
470
+						'POB' => 'Persons On Board',
471
+						'POSS' => 'Possible',
472
+						'PPI' => 'Plan Position Indicator',
473
+						'PPR' => 'Prior Permission Required',
474
+						'PPSN' => 'Present Position',
475
+						'PRI' => 'Primary',
476
+						'PRKG' => 'Parking',
477
+						'PROB' => 'Probability',
478
+						'PROC' => 'Procedure',
479
+						'PROV' => 'Provisional',
480
+						'PS' => 'Plus',
481
+						'PSG' => 'Passing',
482
+						'PSN' => 'Position',
483
+						'PSNS' => 'Positions',
484
+						'PSR' => 'Primary Surveillance Radar',
485
+						'PSYS' => 'Pressure System(s)',
486
+						'PTN' => 'Procedure Turn',
487
+						'PTS' => 'Polar Track Structure',
488
+						'PWR' => 'Power',
489
+						'QUAD' => 'Quadrant',
490
+						'RAC' => 'Rules of The Air and Air Traffic Services',
491
+						'RAG' => 'Runway Arresting Gear',
492
+						'RAI' => 'Runway Alignment Indicator',
493
+						'RASC' => 'Regional AIS System Centre',
494
+						'RASS' => 'Remote Altimeter Setting Source',
495
+						'RB' => 'Rescue Boat',
496
+						'RCA' => 'Reach Cruising Altitude',
497
+						'RCC' => 'Rescue Coordination Centre',
498
+						'RCF' => 'Radiocommunication Failure',
499
+						'RCH' => 'Reaching',
500
+						'RCL' => 'Runway Centre Line',
501
+						'RCLL' => 'Runway Centre Line Light(s)',
502
+						'RCLR' => 'Recleared',
503
+						'RDH' => 'Reference Datum Height',
504
+						'RDL' => 'Radial',
505
+						'RDO' => 'Radio',
506
+						'RE' => 'Recent',
507
+						'REC' => 'Receiver',
508
+						'REDL' => 'Runway Edge Light(s)',
509
+						'REF' => 'Refer To',
510
+						'REG' => 'Registration',
511
+						'RENL' => 'Runway End Light(s)',
512
+						'REP' => 'Report',
513
+						'REQ' => 'Requested',
514
+						'RERTE' => 'Re-route',
515
+						'RESA' => 'Runway End Safety Area',
516
+						'RG' => 'Range (lights)',
517
+						'RHC' => 'Right-hand Circuit',
518
+						'RIF' => 'Reclearance In Flight',
519
+						'RITE' => 'Right',
520
+						'RL' => 'Report Leaving',
521
+						'RLA' => 'Relay To',
522
+						'RLCE' => 'Request Level Change En Route',
523
+						'RLLS' => 'Runway Lead-in Lighting System',
524
+						'RLNA' => 'Request Level Not Available',
525
+						'RMAC' => 'Radar Minimum Altitude Chart',
526
+						'RMK' => 'Remark',
527
+						'RNG' => 'Radio Range',
528
+						'RNP' => 'Required Navigation Performance',
529
+						'ROC' => 'Rate Of Climb',
530
+						'ROD' => 'Rate Of Descent',
531
+						'ROFOR' => 'Route Forecast',
532
+						'RON' => 'Receiving Only',
533
+						'RPI' => 'Radar Position Indicator',
534
+						'RPL' => 'Repetitive Flight Plan',
535
+						'RPLC' => 'Replaced',
536
+						'RPS' => 'Radar Position Symbol',
537
+						'RQMNTS' => 'Requirements',
538
+						'RQP' => 'Request Flight Plan',
539
+						'RQS' => 'Request Supplementary Flight Plan',
540
+						'RR' => 'Report Reaching',
541
+						'RSC' => 'Rescue Sub-centre',
542
+						'RSCD' => 'Runway Surface Condition',
543
+						'RSP' => 'Responder Beacon',
544
+						'RSR' => 'En-route Surveillance Radar',
545
+						'RTE' => 'Route',
546
+						'RTES' => 'Routes',
547
+						'RTF' => 'Radiotelephone',
548
+						'RTG' => 'Radiotelegraph',
549
+						'RTHL' => 'Runway Threshold Light(s)',
550
+						'RTN' => 'Return',
551
+						'RTODAH' => 'Rejected Take-off Distance Available, Helicopter',
552
+						'RTS' => 'Return To Service',
553
+						'RTT' => 'Radioteletypewriter',
554
+						'RTZL' => 'Runway Touchdown Zone Light(s)',
555
+						'RUT' => 'Standard Regional Route Transmitting Frequencies',
556
+						'RV' => 'Rescue Vessel',
557
+						'RVSM' => 'Reduced Vertical Separation Minimum',
558
+						'RWY' => 'Runway',
559
+						'RWYS' => 'Runways',
560
+						'SALS' => 'Simple Approach Lighting System',
561
+						'SAN' => 'Sanitary',
562
+						'SAP' => 'As Soon As Possible',
563
+						'SAR' => 'Search and Rescue',
564
+						'SARPS' => 'Standards and Recommended Practices',
565
+						'SAT' => 'Saturday',
566
+						'SATCOM' => 'Satellite Communication',
567
+						'SB' => 'Southbound',
568
+						'SBAS' => 'Satellite-based Augmentation System',
569
+						'SDBY' => 'Stand by',
570
+						'SE' => 'South-east',
571
+						'SEA' => 'Sea',
572
+						'SEB' => 'South-eastbound',
573
+						'SEC' => 'Seconds',
574
+						'SECN' => 'Section',
575
+						'SECT' => 'Sector',
576
+						'SELCAL' => 'Selective calling system',
577
+						'SEP' => 'September',
578
+						'SER' => 'Service',
579
+						'SEV' => 'Severe',
580
+						'SFC' => 'Surface',
581
+						'SGL' => 'Signal',
582
+						'SID' => 'Standard Instrument Departure',
583
+						'SIF' => 'Selective Identification Feature',
584
+						'SIG' => 'Significant',
585
+						'SIMUL' => 'Simultaneous',
586
+						'SKED' => 'Schedule',
587
+						'SLP' => 'Speed Limiting Point',
588
+						'SLW' => 'Slow',
589
+						'SMC' => 'Surface Movement Control',
590
+						'SMR' => 'Surface Movement Radar',
591
+						'SPL' => 'Supplementary Flight Plan',
592
+						'SPOC' => 'SAR Point Of Contact',
593
+						'SPOT' => 'Spot Wind',
594
+						'SR' => 'Sunrise',
595
+						'SRA' => 'Surveillance Radar Approach',
596
+						'SRE' => 'Surveillance Radar Element Of Precision Approach Radar System',
597
+						'SRG' => 'Short Range',
598
+						'SRR' => 'Search and Rescue Region',
599
+						'SRY' => 'Secondary',
600
+						'SS' => 'Sunset',
601
+						'SSE' => 'South-south-east',
602
+						'SSR' => 'Secondary Surveillance Radar',
603
+						'SST' => 'Supersonic Transport',
604
+						'SSW' => 'South-south-west',
605
+						'STA' => 'Straight-in Approach',
606
+						'STAR' => 'Standard Instrument Arrival',
607
+						'STD' => 'Standard',
608
+						'STN' => 'Station',
609
+						'STNR' => 'Stationary',
610
+						'STOL' => 'Short Take-off and Landing',
611
+						'STS' => 'Status',
612
+						'STWL' => 'Stopway Light(s)',
613
+						'SUBJ' => 'Subject To',
614
+						'SUN' => 'Sunday',
615
+						'SUP' => 'Supplement',
616
+						'SUPPS' => 'Regional Supplementary Procedures Service Message',
617
+						'SVCBL' => 'Serviceable',
618
+						'SW' => 'South-west',
619
+						'SWB' => 'South-westbound',
620
+						'SWY' => 'Stopway',
621
+						'TA' => 'Transition Altitude',
622
+						'TAA' => 'Terminal Arrival Altitude',
623
+						'TAF' => 'Aerodrome Forecast',
624
+						'TAIL' => 'Tail Wind',
625
+						'TAR' => 'Terminal Area Surveillance Radar',
626
+						'TAX' => 'Taxi',
627
+						'TCAC' => 'Tropical Cyclone Advisory Centre',
628
+						'TDO' => 'Tornado',
629
+						'TDZ' => 'Touchdown Zone',
630
+						'TECR' => 'Technical Reason',
631
+						'TEMPO' => 'Temporarily',
632
+						'TFC' => 'Traffic',
633
+						'TGL' => 'Touch-and-go',
634
+						'TGS' => 'Taxiing Guidance System',
635
+						'THR' => 'Threshold',
636
+						'THRU' => 'Through',
637
+						'THU' => 'Thursday',
638
+						'TIBA' => 'Traffic Information Broadcast By Aircraft',
639
+						'TIL' => 'Until',
640
+						'TIP' => 'Until Past',
641
+						'TKOF' => 'Take-off',
642
+						'TL' => 'Till',
643
+						'TLOF' => 'Touchdown And Lift-off Area',
644
+						'TMA' => 'Terminal Control Area',
645
+						'TNA' => 'Turn Altitude',
646
+						'TNH' => 'Turn Height',
647
+						'TOC' => 'Top of Climb',
648
+						'TODA' => 'Take-off Distance Available',
649
+						'TODAH' => 'Take-off Distance Available, Helicopter',
650
+						'TORA' => 'Take-off Run Available',
651
+						'TP' => 'Turning Point',
652
+						'TR' => 'Track',
653
+						'TRA' => 'Temporary Reserved Airspace',
654
+						'TRANS' => 'Transmitter',
655
+						'TRL' => 'Transition Level',
656
+						'TUE' => 'Tuesday',
657
+						'TURB' => 'Turbulence',
658
+						'TVOR' => 'Terminal VOR',
659
+						'TWR' => 'Tower',
660
+						'TWY' => 'Taxiway',
661
+						'TWYL' => 'Taxiway-link',
662
+						'TXT' => 'Text',
663
+						'TYP' => 'Type of Aircraft',
664
+						'U/S' => 'Unserviceable',
665
+						'UAB' => 'Until Advised By',
666
+						'UAC' => 'Upper Area Control Centre',
667
+						'UAR' => 'Upper Air Route',
668
+						'UDA' => 'Upper advisory area',
669
+						'UFN' => 'Until Further Notice',
670
+						'UHDT' => 'Unable Higher Due Traffic',
671
+						'UIC' => 'Upper Information Centre',
672
+						'UIR' => 'Upper Flight Information Region',
673
+						'ULR' => 'Ultra Long Range',
674
+						'UNA' => 'Unable',
675
+						'UNAP' => 'Unable To Approve',
676
+						'UNL' => 'Unlimited',
677
+						'UNREL' => 'Unreliable',
678
+						'UTA' => 'Upper Control Area',
679
+						'VAAC' => 'Volcanic Ash Advisory Centre',
680
+						'VAC' => 'Visual Approach Chart',
681
+						'VAL' => 'In Valleys',
682
+						'VAN' => 'Runway Control Van',
683
+						'VAR' => 'Visual-aural Radio Range',
684
+						'VC' => 'Vicinity',
685
+						'VCY' => 'Vicinity',
686
+						'VER' => 'Vertical',
687
+						'VIS' => 'Visibility',
688
+						'VLR' => 'Very Long Range',
689
+						'VPA' => 'Vertical Path Angle',
690
+						'VRB' => 'Variable',
691
+						'VSA' => 'By Visual Reference To The Ground',
692
+						'VSP' => 'Vertical Speed',
693
+						'VTOL' => 'Vertical Take-off And Landing',
694
+						'WAC' => 'World Aeronautical Chart',
695
+						'WAFC' => 'World Area Forecast Centre',
696
+						'WB' => 'Westbound',
697
+						'WBAR' => 'Wing Bar Lights',
698
+						'WDI' => 'Wind Direction Indicator',
699
+						'WDSPR' => 'Widespread',
700
+						'WED' => 'Wednesday',
701
+						'WEF' => 'Effective From',
702
+						'WI' => 'Within',
703
+						'WID' => 'Width',
704
+						'WIE' => 'Effective Immediately',
705
+						'WILCO' => 'Will Comply',
706
+						'WIND' => 'Wind',
707
+						'WINTEM' => 'Forecast Upper Wind And Temperature For Aviation',
708
+						'WIP' => 'Work In Progress',
709
+						'WKN' => 'Weaken',
710
+						'WNW' => 'West-north-west',
711
+						'WO' => 'Without',
712
+						'WPT' => 'Way-point',
713
+						'WRNG' => 'Warning',
714
+						'WSW' => 'West-south-west',
715
+						'WT' => 'Weight',
716
+						'WWW' => 'Worldwide Web',
717
+						'WX' => 'Weather',
718
+						'XBAR' => 'Crossbar',
719
+						'XNG' => 'Crossing',
720
+						'XS' => 'Atmospherics',
721
+						'YCZ' => 'Yellow Caution Zone',
722
+						'YR' => 'Your');
723 723
 	public $code_airspace = array(
724
-			    'AA' => 'Minimum altitude',
725
-			    'AC' => 'Class B, C, D, or E Surface Area',
726
-			    'AD' => 'Air defense identification zone',
727
-			    'AE' => 'Control area',
728
-			    'AF' => 'Flight information region',
729
-			    'AH' => 'Upper control area',
730
-			    'AL' => 'Minimum usable flight level',
731
-			    'AN' => 'Area navigation route',
732
-			    'AO' => 'Oceanic control area',
733
-			    'AP' => 'Reporting point',
734
-			    'AR' => 'ATS route',
735
-			    'AT' => 'Class B Airspace',
736
-			    'AU' => 'Upper flight information region',
737
-			    'AV' => 'Upper advisory area',
738
-			    'AX' => 'Intersection',
739
-			    'AZ' => 'Aerodrome traffic zone');
724
+				'AA' => 'Minimum altitude',
725
+				'AC' => 'Class B, C, D, or E Surface Area',
726
+				'AD' => 'Air defense identification zone',
727
+				'AE' => 'Control area',
728
+				'AF' => 'Flight information region',
729
+				'AH' => 'Upper control area',
730
+				'AL' => 'Minimum usable flight level',
731
+				'AN' => 'Area navigation route',
732
+				'AO' => 'Oceanic control area',
733
+				'AP' => 'Reporting point',
734
+				'AR' => 'ATS route',
735
+				'AT' => 'Class B Airspace',
736
+				'AU' => 'Upper flight information region',
737
+				'AV' => 'Upper advisory area',
738
+				'AX' => 'Intersection',
739
+				'AZ' => 'Aerodrome traffic zone');
740 740
 	public $code_comradar = array(
741
-			    'CA' => 'Air/ground',
742
-			    'CE' => 'En route surveillance radar',
743
-			    'CG' => 'Ground controlled approach system',
744
-			    'CL' => 'Selective calling system',
745
-			    'CM' => 'Surface movement radar',
746
-			    'CP' => 'Precision approach radar',
747
-			    'CR' => 'Surveillance radar element of precision approach radar system',
748
-			    'CS' => 'Secondary surveillance radar',
749
-			    'CT' => 'Terminal area surveillance radar');
741
+				'CA' => 'Air/ground',
742
+				'CE' => 'En route surveillance radar',
743
+				'CG' => 'Ground controlled approach system',
744
+				'CL' => 'Selective calling system',
745
+				'CM' => 'Surface movement radar',
746
+				'CP' => 'Precision approach radar',
747
+				'CR' => 'Surveillance radar element of precision approach radar system',
748
+				'CS' => 'Secondary surveillance radar',
749
+				'CT' => 'Terminal area surveillance radar');
750 750
 	public $code_facilities = array(
751
-			    'FA' => 'airport',
752
-			    'FB' => 'Braking action measurement equipment',
753
-			    'FC' => 'Ceiling measurement equipment',
754
-			    'FD' => 'Docking system',
755
-			    'FF' => 'Fire fighting and rescue',
756
-			    'FG' => 'Ground movement control',
757
-			    'FH' => 'Helicopter alighting area/platform',
758
-			    'FL' => 'Landing direction indicator',
759
-			    'FM' => 'Meteorological service',
760
-			    'FO' => 'Fog dispersal system',
761
-			    'FP' => 'Heliport',
762
-			    'FS' => 'Snow removal equipment',
763
-			    'FT' => 'Transmissometer',
764
-			    'FU' => 'Fuel availability',
765
-			    'FW' => 'Wind direction indicator',
766
-			    'FZ' => 'Customs');
751
+				'FA' => 'airport',
752
+				'FB' => 'Braking action measurement equipment',
753
+				'FC' => 'Ceiling measurement equipment',
754
+				'FD' => 'Docking system',
755
+				'FF' => 'Fire fighting and rescue',
756
+				'FG' => 'Ground movement control',
757
+				'FH' => 'Helicopter alighting area/platform',
758
+				'FL' => 'Landing direction indicator',
759
+				'FM' => 'Meteorological service',
760
+				'FO' => 'Fog dispersal system',
761
+				'FP' => 'Heliport',
762
+				'FS' => 'Snow removal equipment',
763
+				'FT' => 'Transmissometer',
764
+				'FU' => 'Fuel availability',
765
+				'FW' => 'Wind direction indicator',
766
+				'FZ' => 'Customs');
767 767
 	public $code_instrumentlanding = array(
768
-			    'ID' => 'DME associated with ILS',
769
-			    'IG' => 'Glide path',
770
-			    'II' => 'Inner marker',
771
-			    'IL' => 'Localizer',
772
-			    'IM' => 'Middle marker',
773
-			    'IO' => 'Outer marker',
774
-			    'IS' => 'ILS Category I',
775
-			    'IT' => 'ILS Category II',
776
-			    'IU' => 'ILS Category III',
777
-			    'IW' => 'Microwave landing system',
778
-			    'IX' => 'Locator, outer',
779
-			    'IY' => 'Locator, middle');
768
+				'ID' => 'DME associated with ILS',
769
+				'IG' => 'Glide path',
770
+				'II' => 'Inner marker',
771
+				'IL' => 'Localizer',
772
+				'IM' => 'Middle marker',
773
+				'IO' => 'Outer marker',
774
+				'IS' => 'ILS Category I',
775
+				'IT' => 'ILS Category II',
776
+				'IU' => 'ILS Category III',
777
+				'IW' => 'Microwave landing system',
778
+				'IX' => 'Locator, outer',
779
+				'IY' => 'Locator, middle');
780 780
 	public $code_lightingfacilities = array(
781
-			    'LA' => 'Approach lighting system',
782
-			    'LB' => 'Airport beacon',
783
-			    'LC' => 'Runway center line lights',
784
-			    'LD' => 'Landing direction indicator lights',
785
-			    'LE' => 'Runway edge lights',
786
-			    'LF' => 'Sequenced flashing lights',
787
-			    'LH' => 'High intensity runway lights',
788
-			    'LI' => 'Runway end identifier lights',
789
-			    'LK' => 'Category II components of approach lighting system',
790
-			    'LL' => 'Low intensity runway lights',
791
-			    'LM' => 'Medium intensity runway lights',
792
-			    'LP' => 'Precision approach path indicator',
793
-			    'LR' => 'All landing area lighting facilities',
794
-			    'LS' => 'Stopway lights',
795
-			    'LT' => 'Threshold lights',
796
-			    'LV' => 'Visual approach slope indicator system',
797
-			    'LW' => 'Heliport lighting',
798
-			    'LX' => 'Taxiway center line lights',
799
-			    'LY' => 'Taxiway edge lights',
800
-			    'LZ' => 'Runway touchdown zone lights');
781
+				'LA' => 'Approach lighting system',
782
+				'LB' => 'Airport beacon',
783
+				'LC' => 'Runway center line lights',
784
+				'LD' => 'Landing direction indicator lights',
785
+				'LE' => 'Runway edge lights',
786
+				'LF' => 'Sequenced flashing lights',
787
+				'LH' => 'High intensity runway lights',
788
+				'LI' => 'Runway end identifier lights',
789
+				'LK' => 'Category II components of approach lighting system',
790
+				'LL' => 'Low intensity runway lights',
791
+				'LM' => 'Medium intensity runway lights',
792
+				'LP' => 'Precision approach path indicator',
793
+				'LR' => 'All landing area lighting facilities',
794
+				'LS' => 'Stopway lights',
795
+				'LT' => 'Threshold lights',
796
+				'LV' => 'Visual approach slope indicator system',
797
+				'LW' => 'Heliport lighting',
798
+				'LX' => 'Taxiway center line lights',
799
+				'LY' => 'Taxiway edge lights',
800
+				'LZ' => 'Runway touchdown zone lights');
801 801
 	public $code_movementareas = array(
802
-			    'MA' => 'Movement area',
803
-			    'MB' => 'Bearing strength',
804
-			    'MC' => 'Clearway',
805
-			    'MD' => 'Declared distances',
806
-			    'MG' => 'Taxiing guidance system',
807
-			    'MH' => 'Runway arresting gear',
808
-			    'MK' => 'Parking area',
809
-			    'MM' => 'Daylight markings',
810
-			    'MN' => 'Apron',
811
-			    'MP' => 'Aircraft stands',
812
-			    'MR' => 'Runway',
813
-			    'MS' => 'Stopway',
814
-			    'MT' => 'Threshold',
815
-			    'MU' => 'Runway turning bay',
816
-			    'MW' => 'Strip',
817
-			    'MX' => 'Taxiway');
802
+				'MA' => 'Movement area',
803
+				'MB' => 'Bearing strength',
804
+				'MC' => 'Clearway',
805
+				'MD' => 'Declared distances',
806
+				'MG' => 'Taxiing guidance system',
807
+				'MH' => 'Runway arresting gear',
808
+				'MK' => 'Parking area',
809
+				'MM' => 'Daylight markings',
810
+				'MN' => 'Apron',
811
+				'MP' => 'Aircraft stands',
812
+				'MR' => 'Runway',
813
+				'MS' => 'Stopway',
814
+				'MT' => 'Threshold',
815
+				'MU' => 'Runway turning bay',
816
+				'MW' => 'Strip',
817
+				'MX' => 'Taxiway');
818 818
 	public $code_terminalfacilities = array(
819
-			    'NA' => 'All radio navigation facilities',
820
-			    'NB' => 'Non directional beacon',
821
-			    'NC' => 'DECCA',
822
-			    'ND' => 'Distance measuring equipment',
823
-			    'NF' => 'Fan marker',
824
-			    'NL' => 'Locator',
825
-			    'NM' => 'VOR/DME',
826
-			    'NN' => 'TACAN',
827
-			    'NO' => 'OMEGA',
828
-			    'NT' => 'VORTAC',
829
-			    'NV' => 'VOR',
830
-			    'NX' => 'Direction finding station');
819
+				'NA' => 'All radio navigation facilities',
820
+				'NB' => 'Non directional beacon',
821
+				'NC' => 'DECCA',
822
+				'ND' => 'Distance measuring equipment',
823
+				'NF' => 'Fan marker',
824
+				'NL' => 'Locator',
825
+				'NM' => 'VOR/DME',
826
+				'NN' => 'TACAN',
827
+				'NO' => 'OMEGA',
828
+				'NT' => 'VORTAC',
829
+				'NV' => 'VOR',
830
+				'NX' => 'Direction finding station');
831 831
 	public $code_information = array(
832
-			    'OA' => 'Aeronautical information service',
833
-			    'OB' => 'Obstacle',
834
-			    'OE' => 'Aircraft entry requirements',
835
-			    'OL' => 'Obstacle lights on',
836
-			    'OR' => 'Rescue coordination centre');
832
+				'OA' => 'Aeronautical information service',
833
+				'OB' => 'Obstacle',
834
+				'OE' => 'Aircraft entry requirements',
835
+				'OL' => 'Obstacle lights on',
836
+				'OR' => 'Rescue coordination centre');
837 837
 	public $code_airtraffic = array(
838
-			    'PA' => 'Standard instrument arrival',
839
-			    'PD' => 'Standard instrument departure',
840
-			    'PF' => 'Flow control procedure',
841
-			    'PH' => 'Holding procedure',
842
-			    'PI' => 'Instrument approach procedure',
843
-			    'PL' => 'Obstacle clearance limit',
844
-			    'PM' => 'Aerodrome operating minima',
845
-			    'PO' => 'Obstacle clearance altitude',
846
-			    'PP' => 'Obstacle clearance height',
847
-			    'PR' => 'Radio failure procedure',
848
-			    'PT' => 'Transition altitude',
849
-			    'PU' => 'Missed approach procedure',
850
-			    'PX' => 'Minimum holding altitude',
851
-			    'PZ' => 'ADIZ procedure');
838
+				'PA' => 'Standard instrument arrival',
839
+				'PD' => 'Standard instrument departure',
840
+				'PF' => 'Flow control procedure',
841
+				'PH' => 'Holding procedure',
842
+				'PI' => 'Instrument approach procedure',
843
+				'PL' => 'Obstacle clearance limit',
844
+				'PM' => 'Aerodrome operating minima',
845
+				'PO' => 'Obstacle clearance altitude',
846
+				'PP' => 'Obstacle clearance height',
847
+				'PR' => 'Radio failure procedure',
848
+				'PT' => 'Transition altitude',
849
+				'PU' => 'Missed approach procedure',
850
+				'PX' => 'Minimum holding altitude',
851
+				'PZ' => 'ADIZ procedure');
852 852
 	public $code_navigationw = array(
853
-			    'RA' => 'Airspace reservation',
854
-			    'RD' => 'Danger area',
855
-			    'RO' => 'Overflying of',
856
-			    'RP' => 'Prohibited area',
857
-			    'RR' => 'Restricted area',
858
-			    'RT' => 'Temporary restricted area');
853
+				'RA' => 'Airspace reservation',
854
+				'RD' => 'Danger area',
855
+				'RO' => 'Overflying of',
856
+				'RP' => 'Prohibited area',
857
+				'RR' => 'Restricted area',
858
+				'RT' => 'Temporary restricted area');
859 859
 	public $code_volmet = array(
860
-			    'SA' => 'Automatic terminal information service',
861
-			    'SB' => 'ATS reporting office',
862
-			    'SC' => 'Area control center',
863
-			    'SE' => 'Flight information service',
864
-			    'SF' => 'Airport flight information service',
865
-			    'SL' => 'Flow control centre',
866
-			    'SO' => 'Oceanic area control centre',
867
-			    'SP' => 'Approach control service',
868
-			    'SS' => 'Flight service station',
869
-			    'ST' => 'Airport control tower',
870
-			    'SU' => 'Upper area control centre',
871
-			    'SV' => 'VOLMET broadcast',
872
-			    'SY' => 'Upper advisory service');
860
+				'SA' => 'Automatic terminal information service',
861
+				'SB' => 'ATS reporting office',
862
+				'SC' => 'Area control center',
863
+				'SE' => 'Flight information service',
864
+				'SF' => 'Airport flight information service',
865
+				'SL' => 'Flow control centre',
866
+				'SO' => 'Oceanic area control centre',
867
+				'SP' => 'Approach control service',
868
+				'SS' => 'Flight service station',
869
+				'ST' => 'Airport control tower',
870
+				'SU' => 'Upper area control centre',
871
+				'SV' => 'VOLMET broadcast',
872
+				'SY' => 'Upper advisory service');
873 873
 	public $code_warnings = array(
874
-			    'WA' => 'Air display',
875
-			    'WB' => 'Aerobatics',
876
-			    'WC' => 'Captive balloon or kite',
877
-			    'WD' => 'Demolition of explosives',
878
-			    'WE' => 'Exercises',
879
-			    'WF' => 'Air refueling',
880
-			    'WG' => 'Glider flying',
881
-			    'WJ' => 'Banner/target towing',
882
-			    'WL' => 'Ascent of free balloon',
883
-			    'WM' => 'Missile, gun or rocket firing',
884
-			    'WP' => 'Parachute jumping exercise',
885
-			    'WS' => 'Burning or blowing gas',
886
-			    'WT' => 'Mass movement of aircraft',
887
-			    'WV' => 'Formation flight',
888
-			    'WZ' => 'model flying');
874
+				'WA' => 'Air display',
875
+				'WB' => 'Aerobatics',
876
+				'WC' => 'Captive balloon or kite',
877
+				'WD' => 'Demolition of explosives',
878
+				'WE' => 'Exercises',
879
+				'WF' => 'Air refueling',
880
+				'WG' => 'Glider flying',
881
+				'WJ' => 'Banner/target towing',
882
+				'WL' => 'Ascent of free balloon',
883
+				'WM' => 'Missile, gun or rocket firing',
884
+				'WP' => 'Parachute jumping exercise',
885
+				'WS' => 'Burning or blowing gas',
886
+				'WT' => 'Mass movement of aircraft',
887
+				'WV' => 'Formation flight',
888
+				'WZ' => 'model flying');
889 889
 	public $code_sp_availabity = array(
890
-			    'AC' => 'Withdrawn for maintenance',
891
-			    'AD' => 'Available for daylight operation',
892
-			    'AF' => 'Flight checked and found reliable',
893
-			    'AG' => 'Operating but ground checked only, awaiting flight check',
894
-			    'AH' => 'Hours of service are now',
895
-			    'AK' => 'Resumed normal operations',
896
-			    'AM' => 'Military operations only',
897
-			    'AN' => 'Available for night operation',
898
-			    'AO' => 'Operational',
899
-			    'AP' => 'Available, prior permission required',
900
-			    'AR' => 'Available on request',
901
-			    'AS' => 'Unserviceable',
902
-			    'AU' => 'Not available',
903
-			    'AW' => 'Completely withdrawn',
904
-			    'AX' => 'Previously promulgated shutdown has been cancelled');
890
+				'AC' => 'Withdrawn for maintenance',
891
+				'AD' => 'Available for daylight operation',
892
+				'AF' => 'Flight checked and found reliable',
893
+				'AG' => 'Operating but ground checked only, awaiting flight check',
894
+				'AH' => 'Hours of service are now',
895
+				'AK' => 'Resumed normal operations',
896
+				'AM' => 'Military operations only',
897
+				'AN' => 'Available for night operation',
898
+				'AO' => 'Operational',
899
+				'AP' => 'Available, prior permission required',
900
+				'AR' => 'Available on request',
901
+				'AS' => 'Unserviceable',
902
+				'AU' => 'Not available',
903
+				'AW' => 'Completely withdrawn',
904
+				'AX' => 'Previously promulgated shutdown has been cancelled');
905 905
 	public $code_sp_changes = array(
906
-			    'CA' => 'Activated',
907
-			    'CC' => 'Completed',
908
-			    'CD' => 'Deactivated',
909
-			    'CE' => 'Erected',
910
-			    'CF' => 'Operating frequency(ies) changed to',
911
-			    'CG' => 'Downgraded to',
912
-			    'CH' => 'Changed',
913
-			    'CI' => 'dentification or radio call sign changed to',
914
-			    'CL' => 'Realigned',
915
-			    'CM' => 'Displaced',
916
-			    'CO' => 'Operating',
917
-			    'CP' => 'Operating on reduced power',
918
-			    'CR' => 'Temporarily replaced by',
919
-			    'CS' => 'Installed',
920
-			    'CT' => 'On test, do not use');
906
+				'CA' => 'Activated',
907
+				'CC' => 'Completed',
908
+				'CD' => 'Deactivated',
909
+				'CE' => 'Erected',
910
+				'CF' => 'Operating frequency(ies) changed to',
911
+				'CG' => 'Downgraded to',
912
+				'CH' => 'Changed',
913
+				'CI' => 'dentification or radio call sign changed to',
914
+				'CL' => 'Realigned',
915
+				'CM' => 'Displaced',
916
+				'CO' => 'Operating',
917
+				'CP' => 'Operating on reduced power',
918
+				'CR' => 'Temporarily replaced by',
919
+				'CS' => 'Installed',
920
+				'CT' => 'On test, do not use');
921 921
 	public $code_sp_hazardous = array(
922
-			    'HA' => 'Braking action is',
923
-			    'HB' => 'Braking coefficient is',
924
-			    'HC' => 'Covered by compacted snow to depth of x Ft',
925
-			    'HD' => 'Covered by dry snow to a depth of x Ft',
926
-			    'HE' => 'Covered by water to a depth of x Ft',
927
-			    'HF' => 'Totally free of snow and ice',
928
-			    'HG' => 'Grass cutting in progress',
929
-			    'HH' => 'Hazard due to',
930
-			    'HI' => 'Covered by ice',
931
-			    'HJ' => 'Launch planned',
932
-			    'HK' => 'Migration in progress',
933
-			    'HL' => 'Snow clearance completed',
934
-			    'HM' => 'Marked by',
935
-			    'HN' => 'Covered by wet snow or slush to a depth of x Ft',
936
-			    'HO' => 'Obscured by snow',
937
-			    'HP' => 'Snow clearance in progress',
938
-			    'HQ' => 'Operation cancelled',
939
-			    'HR' => 'Standing water',
940
-			    'HS' => 'Sanding in progress',
941
-			    'HT' => 'Approach according to signal area only',
942
-			    'HU' => 'Launch in progress',
943
-			    'HV' => 'Work completed',
944
-			    'HW' => 'Work in progress',
945
-			    'HX' => 'Concentration of birds',
946
-			    'HY' => 'Snow banks exist',
947
-			    'HZ' => 'Covered by frozen ruts and ridges');
922
+				'HA' => 'Braking action is',
923
+				'HB' => 'Braking coefficient is',
924
+				'HC' => 'Covered by compacted snow to depth of x Ft',
925
+				'HD' => 'Covered by dry snow to a depth of x Ft',
926
+				'HE' => 'Covered by water to a depth of x Ft',
927
+				'HF' => 'Totally free of snow and ice',
928
+				'HG' => 'Grass cutting in progress',
929
+				'HH' => 'Hazard due to',
930
+				'HI' => 'Covered by ice',
931
+				'HJ' => 'Launch planned',
932
+				'HK' => 'Migration in progress',
933
+				'HL' => 'Snow clearance completed',
934
+				'HM' => 'Marked by',
935
+				'HN' => 'Covered by wet snow or slush to a depth of x Ft',
936
+				'HO' => 'Obscured by snow',
937
+				'HP' => 'Snow clearance in progress',
938
+				'HQ' => 'Operation cancelled',
939
+				'HR' => 'Standing water',
940
+				'HS' => 'Sanding in progress',
941
+				'HT' => 'Approach according to signal area only',
942
+				'HU' => 'Launch in progress',
943
+				'HV' => 'Work completed',
944
+				'HW' => 'Work in progress',
945
+				'HX' => 'Concentration of birds',
946
+				'HY' => 'Snow banks exist',
947
+				'HZ' => 'Covered by frozen ruts and ridges');
948 948
 	public $code_sp_limitations = array(
949
-			    'LA' => 'Operating on Auxiliary Power Supply',
950
-			    'LB' => 'Reserved for aircraft based therein',
951
-			    'LC' => 'Closed',
952
-			    'LD' => 'Unsafe',
953
-			    'LE' => 'Operated without auxiliary power supply',
954
-			    'LF' => 'Interference from',
955
-			    'LG' => 'Operating without identification',
956
-			    'LH' => 'Unserviceable for aircraft heavier than',
957
-			    'LI' => 'Close to IFR operations',
958
-			    'LK' => 'Operating as a fixed light',
959
-			    'LL' => 'Usable for lenght of... and width of...',
960
-			    'LN' => 'Close to all night operations',
961
-			    'LP' => 'Prohibited to',
962
-			    'LR' => 'Aircraft restricted to runways and taxiways',
963
-			    'LS' => 'Subject to interruption',
964
-			    'LT' => 'Limited to',
965
-			    'LV' => 'Close to VFR operations',
966
-			    'LW' => 'Will take place',
967
-			    'LX' => 'Operating but caution advised to'); 
949
+				'LA' => 'Operating on Auxiliary Power Supply',
950
+				'LB' => 'Reserved for aircraft based therein',
951
+				'LC' => 'Closed',
952
+				'LD' => 'Unsafe',
953
+				'LE' => 'Operated without auxiliary power supply',
954
+				'LF' => 'Interference from',
955
+				'LG' => 'Operating without identification',
956
+				'LH' => 'Unserviceable for aircraft heavier than',
957
+				'LI' => 'Close to IFR operations',
958
+				'LK' => 'Operating as a fixed light',
959
+				'LL' => 'Usable for lenght of... and width of...',
960
+				'LN' => 'Close to all night operations',
961
+				'LP' => 'Prohibited to',
962
+				'LR' => 'Aircraft restricted to runways and taxiways',
963
+				'LS' => 'Subject to interruption',
964
+				'LT' => 'Limited to',
965
+				'LV' => 'Close to VFR operations',
966
+				'LW' => 'Will take place',
967
+				'LX' => 'Operating but caution advised to'); 
968 968
 
969 969
 	public function __construct($dbc = null) {
970 970
 		$Connection = new Connection($dbc);
Please login to merge, or discard this patch.
Doc Comments   +14 added lines patch added patch discarded remove patch
@@ -1098,6 +1098,10 @@  discard block
 block discarded – undo
1098 1098
 		else return array();
1099 1099
 	}
1100 1100
 
1101
+	/**
1102
+	 * @param string $type
1103
+	 * @param string $rules
1104
+	 */
1101 1105
 	public function addNOTAM($ref,$title,$type,$fir,$code,$rules,$scope,$lower_limit,$upper_limit,$center_latitude,$center_longitude,$radius,$date_begin,$date_end,$permanent,$text,$full_notam) {
1102 1106
 		$query = "INSERT INTO notam (ref,title,notam_type,fir,code,rules,scope,lower_limit,upper_limit,center_latitude,center_longitude,radius,date_begin,date_end,permanent,notam_text,full_notam) VALUES (:ref,:title,:type,:fir,:code,:rules,:scope,:lower_limit,:upper_limit,:center_latitude,:center_longitude,:radius,:date_begin,:date_end,:permanent,:text,:full_notam)";
1103 1107
 		$query_values = array(':ref' => $ref,':title' => $title,':type' => $type,':fir' => $fir,':code' => $code,':rules' => $rules,':scope' => $scope,':lower_limit' => $lower_limit,':upper_limit' => $upper_limit,':center_latitude' => $center_latitude,':center_longitude' => $center_longitude,':radius' => $radius,':date_begin' => $date_begin,':date_end' => $date_end,':permanent' => $permanent,':text' => $text,':full_notam' => $full_notam);
@@ -1179,6 +1183,10 @@  discard block
 block discarded – undo
1179 1183
 			}
1180 1184
 		}
1181 1185
 	}
1186
+
1187
+	/**
1188
+	 * @param string $filename
1189
+	 */
1182 1190
 	public function updateNOTAMfromTextFile($filename) {
1183 1191
 		$alldata = $this->parseNOTAMtextFile($filename);
1184 1192
 		if (count($alldata) > 0) {
@@ -1223,6 +1231,9 @@  discard block
 block discarded – undo
1223 1231
 		}
1224 1232
 	}
1225 1233
 
1234
+	/**
1235
+	 * @param string $icao
1236
+	 */
1226 1237
 	public function downloadNOTAM($icao) {
1227 1238
 		date_default_timezone_set("UTC");
1228 1239
 		$Common = new Common();
@@ -1359,6 +1370,9 @@  discard block
 block discarded – undo
1359 1370
 		return $result;
1360 1371
 	}
1361 1372
 	
1373
+	/**
1374
+	 * @param string $code
1375
+	 */
1362 1376
 	public function parse_code($code) {
1363 1377
 		$code = str_split($code);
1364 1378
 		$code_fp = $code[1].$code[2];
Please login to merge, or discard this patch.
Spacing   +53 added lines, -53 removed lines patch added patch discarded remove patch
@@ -982,19 +982,19 @@  discard block
 block discarded – undo
982 982
 		try {
983 983
 			$sth = $this->db->prepare($query);
984 984
 			$sth->execute($query_values);
985
-		} catch(PDOException $e) {
985
+		} catch (PDOException $e) {
986 986
 			echo "error : ".$e->getMessage();
987 987
 		}
988 988
 		$all = $sth->fetchAll(PDO::FETCH_ASSOC);
989 989
 		return $all;
990 990
 	}
991 991
 	public function getAllNOTAMtext() {
992
-		$query  = 'SELECT full_notam FROM notam';
992
+		$query = 'SELECT full_notam FROM notam';
993 993
 		$query_values = array();
994 994
 		try {
995 995
 			$sth = $this->db->prepare($query);
996 996
 			$sth->execute($query_values);
997
-		} catch(PDOException $e) {
997
+		} catch (PDOException $e) {
998 998
 			echo "error : ".$e->getMessage();
999 999
 		}
1000 1000
 		$all = $sth->fetchAll(PDO::FETCH_ASSOC);
@@ -1003,13 +1003,13 @@  discard block
 block discarded – undo
1003 1003
 	public function createNOTAMtextFile($filename) {
1004 1004
 		$allnotam_result = $this->getAllNOTAMtext();
1005 1005
 		$notamtext = '';
1006
-		foreach($allnotam_result as $notam) {
1006
+		foreach ($allnotam_result as $notam) {
1007 1007
 			$notamtext .= '%%'."\n";
1008 1008
 			$notamtext .= $notam['full_notam'];
1009 1009
 			$notamtext .= "\n".'%%'."\n";
1010 1010
 		}
1011 1011
 		//$allnotam = implode('\n%%%%\n',$allnotam_result);
1012
-		file_put_contents($filename,$notamtext);
1012
+		file_put_contents($filename, $notamtext);
1013 1013
 	}
1014 1014
 	public function parseNOTAMtextFile($filename) {
1015 1015
 		$data = file_get_contents($filename);
@@ -1030,7 +1030,7 @@  discard block
 block discarded – undo
1030 1030
 		try {
1031 1031
 			$sth = $this->db->prepare($query);
1032 1032
 			$sth->execute($query_values);
1033
-		} catch(PDOException $e) {
1033
+		} catch (PDOException $e) {
1034 1034
 			echo "error : ".$e->getMessage();
1035 1035
 		}
1036 1036
 		$all = $sth->fetchAll(PDO::FETCH_ASSOC);
@@ -1039,10 +1039,10 @@  discard block
 block discarded – undo
1039 1039
 	public function getAllNOTAMbyCoord($coord) {
1040 1040
 		global $globalDBdriver;
1041 1041
 		if (is_array($coord)) {
1042
-			$minlong = filter_var($coord[0],FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION);
1043
-			$minlat = filter_var($coord[1],FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION);
1044
-			$maxlong = filter_var($coord[2],FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION);
1045
-			$maxlat = filter_var($coord[3],FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION);
1042
+			$minlong = filter_var($coord[0], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
1043
+			$minlat = filter_var($coord[1], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
1044
+			$maxlong = filter_var($coord[2], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
1045
+			$maxlat = filter_var($coord[3], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
1046 1046
 		} else return array();
1047 1047
 		if ($globalDBdriver == 'mysql') {
1048 1048
 			$query  = 'SELECT * FROM notam WHERE center_latitude BETWEEN '.$minlat.' AND '.$maxlat.' AND center_longitude BETWEEN '.$minlong.' AND '.$maxlong.' AND radius > 0 AND date_end > UTC_TIMESTAMP() AND date_begin < UTC_TIMESTAMP()';
@@ -1054,19 +1054,19 @@  discard block
 block discarded – undo
1054 1054
 		try {
1055 1055
 			$sth = $this->db->prepare($query);
1056 1056
 			$sth->execute($query_values);
1057
-		} catch(PDOException $e) {
1057
+		} catch (PDOException $e) {
1058 1058
 			echo "error : ".$e->getMessage();
1059 1059
 		}
1060 1060
 		$all = $sth->fetchAll(PDO::FETCH_ASSOC);
1061 1061
 		return $all;
1062 1062
 	}
1063
-	public function getAllNOTAMbyCoordScope($coord,$scope) {
1063
+	public function getAllNOTAMbyCoordScope($coord, $scope) {
1064 1064
 		global $globalDBdriver;
1065 1065
 		if (is_array($coord)) {
1066
-			$minlong = filter_var($coord[0],FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION);
1067
-			$minlat = filter_var($coord[1],FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION);
1068
-			$maxlong = filter_var($coord[2],FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION);
1069
-			$maxlat = filter_var($coord[3],FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION);
1066
+			$minlong = filter_var($coord[0], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
1067
+			$minlat = filter_var($coord[1], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
1068
+			$maxlong = filter_var($coord[2], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
1069
+			$maxlat = filter_var($coord[3], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
1070 1070
 		} else return array();
1071 1071
 		if ($globalDBdriver == 'mysql') {
1072 1072
 			$query  = 'SELECT * FROM notam WHERE center_latitude BETWEEN '.$minlat.' AND '.$maxlat.' AND center_longitude BETWEEN '.$minlong.' AND '.$maxlong.' AND radius > 0 AND date_end > UTC_TIMESTAMP() AND date_begin < UTC_TIMESTAMP() AND scope = :scope';
@@ -1078,7 +1078,7 @@  discard block
 block discarded – undo
1078 1078
 		try {
1079 1079
 			$sth = $this->db->prepare($query);
1080 1080
 			$sth->execute($query_values);
1081
-		} catch(PDOException $e) {
1081
+		} catch (PDOException $e) {
1082 1082
 			echo "error : ".$e->getMessage();
1083 1083
 		}
1084 1084
 		$all = $sth->fetchAll(PDO::FETCH_ASSOC);
@@ -1090,7 +1090,7 @@  discard block
 block discarded – undo
1090 1090
 		try {
1091 1091
 			$sth = $this->db->prepare($query);
1092 1092
 			$sth->execute($query_values);
1093
-		} catch(PDOException $e) {
1093
+		} catch (PDOException $e) {
1094 1094
 			return "error : ".$e->getMessage();
1095 1095
 		}
1096 1096
 		$all = $sth->fetchAll(PDO::FETCH_ASSOC);
@@ -1098,13 +1098,13 @@  discard block
 block discarded – undo
1098 1098
 		else return array();
1099 1099
 	}
1100 1100
 
1101
-	public function addNOTAM($ref,$title,$type,$fir,$code,$rules,$scope,$lower_limit,$upper_limit,$center_latitude,$center_longitude,$radius,$date_begin,$date_end,$permanent,$text,$full_notam) {
1101
+	public function addNOTAM($ref, $title, $type, $fir, $code, $rules, $scope, $lower_limit, $upper_limit, $center_latitude, $center_longitude, $radius, $date_begin, $date_end, $permanent, $text, $full_notam) {
1102 1102
 		$query = "INSERT INTO notam (ref,title,notam_type,fir,code,rules,scope,lower_limit,upper_limit,center_latitude,center_longitude,radius,date_begin,date_end,permanent,notam_text,full_notam) VALUES (:ref,:title,:type,:fir,:code,:rules,:scope,:lower_limit,:upper_limit,:center_latitude,:center_longitude,:radius,:date_begin,:date_end,:permanent,:text,:full_notam)";
1103
-		$query_values = array(':ref' => $ref,':title' => $title,':type' => $type,':fir' => $fir,':code' => $code,':rules' => $rules,':scope' => $scope,':lower_limit' => $lower_limit,':upper_limit' => $upper_limit,':center_latitude' => $center_latitude,':center_longitude' => $center_longitude,':radius' => $radius,':date_begin' => $date_begin,':date_end' => $date_end,':permanent' => $permanent,':text' => $text,':full_notam' => $full_notam);
1103
+		$query_values = array(':ref' => $ref, ':title' => $title, ':type' => $type, ':fir' => $fir, ':code' => $code, ':rules' => $rules, ':scope' => $scope, ':lower_limit' => $lower_limit, ':upper_limit' => $upper_limit, ':center_latitude' => $center_latitude, ':center_longitude' => $center_longitude, ':radius' => $radius, ':date_begin' => $date_begin, ':date_end' => $date_end, ':permanent' => $permanent, ':text' => $text, ':full_notam' => $full_notam);
1104 1104
 		try {
1105 1105
 			$sth = $this->db->prepare($query);
1106 1106
 			$sth->execute($query_values);
1107
-		} catch(PDOException $e) {
1107
+		} catch (PDOException $e) {
1108 1108
 			return "error : ".$e->getMessage();
1109 1109
 		}
1110 1110
 	}
@@ -1115,7 +1115,7 @@  discard block
 block discarded – undo
1115 1115
 		try {
1116 1116
 			$sth = $this->db->prepare($query);
1117 1117
 			$sth->execute($query_values);
1118
-		} catch(PDOException $e) {
1118
+		} catch (PDOException $e) {
1119 1119
 			return "error : ".$e->getMessage();
1120 1120
 		}
1121 1121
 	}
@@ -1130,7 +1130,7 @@  discard block
 block discarded – undo
1130 1130
 		try {
1131 1131
 			$sth = $this->db->prepare($query);
1132 1132
 			$sth->execute($query_values);
1133
-		} catch(PDOException $e) {
1133
+		} catch (PDOException $e) {
1134 1134
 			return "error : ".$e->getMessage();
1135 1135
 		}
1136 1136
 	}
@@ -1140,7 +1140,7 @@  discard block
 block discarded – undo
1140 1140
 		try {
1141 1141
 			$sth = $this->db->prepare($query);
1142 1142
 			$sth->execute($query_values);
1143
-		} catch(PDOException $e) {
1143
+		} catch (PDOException $e) {
1144 1144
 			return "error : ".$e->getMessage();
1145 1145
 		}
1146 1146
 	}
@@ -1149,7 +1149,7 @@  discard block
 block discarded – undo
1149 1149
 		try {
1150 1150
 			$sth = $this->db->prepare($query);
1151 1151
 			$sth->execute();
1152
-		} catch(PDOException $e) {
1152
+		} catch (PDOException $e) {
1153 1153
 			return "error : ".$e->getMessage();
1154 1154
 		}
1155 1155
 	}
@@ -1158,7 +1158,7 @@  discard block
 block discarded – undo
1158 1158
 		try {
1159 1159
 			$sth = $this->db->prepare($query);
1160 1160
 			$sth->execute();
1161
-		} catch(PDOException $e) {
1161
+		} catch (PDOException $e) {
1162 1162
 			return "error : ".$e->getMessage();
1163 1163
 		}
1164 1164
 	}
@@ -1166,14 +1166,14 @@  discard block
 block discarded – undo
1166 1166
 	public function updateNOTAM() {
1167 1167
 		global $globalNOTAMAirports;
1168 1168
 		if (isset($globalNOTAMAirports) && is_array($globalNOTAMAirports) && count($globalNOTAMAirports) > 0) {
1169
-			foreach (array_chunk($globalNOTAMAirports,10) as $airport) {
1170
-				$airport_icao = implode(',',$airport);
1169
+			foreach (array_chunk($globalNOTAMAirports, 10) as $airport) {
1170
+				$airport_icao = implode(',', $airport);
1171 1171
 				$alldata = $this->downloadNOTAM($airport_icao);
1172 1172
 				if (count($alldata) > 0) {
1173 1173
 					foreach ($alldata as $initial_data) {
1174 1174
 						$data = $this->parse($initial_data);
1175 1175
 						$notamref = $this->getNOTAMbyRef($data['ref']);
1176
-						if (count($notamref) == 0) $this->addNOTAM($data['ref'],$data['title'],'',$data['fir'],$data['code'],'',$data['scope'],$data['lower_limit'],$data['upper_limit'],$data['latitude'],$data['longitude'],$data['radius'],$data['date_begin'],$data['date_end'],$data['permanent'],$data['text'],$data['full_notam']);
1176
+						if (count($notamref) == 0) $this->addNOTAM($data['ref'], $data['title'], '', $data['fir'], $data['code'], '', $data['scope'], $data['lower_limit'], $data['upper_limit'], $data['latitude'], $data['longitude'], $data['radius'], $data['date_begin'], $data['date_end'], $data['permanent'], $data['text'], $data['full_notam']);
1177 1177
 					}
1178 1178
 				}
1179 1179
 			}
@@ -1186,7 +1186,7 @@  discard block
 block discarded – undo
1186 1186
 			foreach ($alldata as $initial_data) {
1187 1187
 				$data = $this->parse($initial_data);
1188 1188
 				$notamref = $this->getNOTAMbyRef($data['ref']);
1189
-				if (!isset($notamref['notam_id'])) $this->addNOTAM($data['ref'],$data['title'],'',$data['fir'],$data['code'],'',$data['scope'],$data['lower_limit'],$data['upper_limit'],$data['latitude'],$data['longitude'],$data['radius'],$data['date_begin'],$data['date_end'],$data['permanent'],$data['text'],$data['full_notam']);
1189
+				if (!isset($notamref['notam_id'])) $this->addNOTAM($data['ref'], $data['title'], '', $data['fir'], $data['code'], '', $data['scope'], $data['lower_limit'], $data['upper_limit'], $data['latitude'], $data['longitude'], $data['radius'], $data['date_begin'], $data['date_end'], $data['permanent'], $data['text'], $data['full_notam']);
1190 1190
 			}
1191 1191
 		}
1192 1192
 	}
@@ -1195,12 +1195,12 @@  discard block
 block discarded – undo
1195 1195
 		global $globalTransaction;
1196 1196
 		$Spotter = new Spotter();
1197 1197
 		$allairports = $Spotter->getAllAirportInfo();
1198
-		foreach (array_chunk($allairports,20) as $airport) {
1198
+		foreach (array_chunk($allairports, 20) as $airport) {
1199 1199
 			$airports_icao = array();
1200
-			foreach($airport as $icao) {
1200
+			foreach ($airport as $icao) {
1201 1201
 				if (isset($icao['icao'])) $airports_icao[] = $icao['icao'];
1202 1202
 			}
1203
-			$airport_icao = implode(',',$airports_icao);
1203
+			$airport_icao = implode(',', $airports_icao);
1204 1204
 			$alldata = $this->downloadNOTAM($airport_icao);
1205 1205
 			if ($globalTransaction) $this->db->beginTransaction();
1206 1206
 			if (count($alldata) > 0) {
@@ -1213,7 +1213,7 @@  discard block
 block discarded – undo
1213 1213
 						if (count($notamref) == 0) {
1214 1214
 							if (isset($data['ref_replaced'])) $this->deleteNOTAMbyRef($data['ref_replaced']);
1215 1215
 							if (isset($data['ref_cancelled'])) $this->deleteNOTAMbyRef($data['ref_cancelled']);
1216
-							elseif (isset($data['latitude']) && isset($data['scope']) && isset($data['text']) && isset($data['permanent'])) echo $this->addNOTAM($data['ref'],'','',$data['fir'],$data['code'],'',$data['scope'],$data['lower_limit'],$data['upper_limit'],$data['latitude'],$data['longitude'],$data['radius'],$data['date_begin'],$data['date_end'],$data['permanent'],$data['text'],$data['full_notam']);
1216
+							elseif (isset($data['latitude']) && isset($data['scope']) && isset($data['text']) && isset($data['permanent'])) echo $this->addNOTAM($data['ref'], '', '', $data['fir'], $data['code'], '', $data['scope'], $data['lower_limit'], $data['upper_limit'], $data['latitude'], $data['longitude'], $data['radius'], $data['date_begin'], $data['date_end'], $data['permanent'], $data['text'], $data['full_notam']);
1217 1217
 						}
1218 1218
 					}
1219 1219
 				}
@@ -1227,7 +1227,7 @@  discard block
 block discarded – undo
1227 1227
 		date_default_timezone_set("UTC");
1228 1228
 		$Common = new Common();
1229 1229
 		//$url = str_replace('{icao}',$icao,'https://pilotweb.nas.faa.gov/PilotWeb/notamRetrievalByICAOAction.do?method=displayByICAOs&reportType=RAW&formatType=DOMESTIC&retrieveLocId={icao}&actionType=notamRetrievalByICAOs');
1230
-		$url = str_replace('{icao}',$icao,'https://pilotweb.nas.faa.gov/PilotWeb/notamRetrievalByICAOAction.do?method=displayByICAOs&reportType=RAW&formatType=ICAO&retrieveLocId={icao}&actionType=notamRetrievalByICAOs');
1230
+		$url = str_replace('{icao}', $icao, 'https://pilotweb.nas.faa.gov/PilotWeb/notamRetrievalByICAOAction.do?method=displayByICAOs&reportType=RAW&formatType=ICAO&retrieveLocId={icao}&actionType=notamRetrievalByICAOs');
1231 1231
 		$data = $Common->getData($url);
1232 1232
 		preg_match_all("/<pre>(.+?)<\/pre>/is", $data, $matches);
1233 1233
 		//print_r($matches);
@@ -1239,14 +1239,14 @@  discard block
 block discarded – undo
1239 1239
 		$Common = new Common();
1240 1240
 		$result = array();
1241 1241
 		$result['full_notam'] = $data;
1242
-		$data = str_ireplace(array("\r","\n",'\r','\n'),' ',$data);
1243
-		$data = preg_split('#(?=([A-Z]\)\s))#',$data);
1242
+		$data = str_ireplace(array("\r", "\n", '\r', '\n'), ' ', $data);
1243
+		$data = preg_split('#(?=([A-Z]\)\s))#', $data);
1244 1244
 		//print_r($data);
1245 1245
 		foreach ($data as $line) {
1246 1246
 			$line = trim($line);
1247
-			if (preg_match('#Q\) (.*)#',$line,$matches)) {
1248
-				$line = str_replace(' ','',$line);
1249
-				if (preg_match('#Q\)([A-Z]{4})\/([A-Z]{5})\/(IV|I|V)\/([A-Z]{1,3})\/([A-Z]{1,2})\/([0-9]{3})\/([0-9]{3})\/([0-9]{4})(N|S)([0-9]{5})(E|W)([0-9]{3})#',$line,$matches)) {
1247
+			if (preg_match('#Q\) (.*)#', $line, $matches)) {
1248
+				$line = str_replace(' ', '', $line);
1249
+				if (preg_match('#Q\)([A-Z]{4})\/([A-Z]{5})\/(IV|I|V)\/([A-Z]{1,3})\/([A-Z]{1,2})\/([0-9]{3})\/([0-9]{3})\/([0-9]{4})(N|S)([0-9]{5})(E|W)([0-9]{3})#', $line, $matches)) {
1250 1250
 				//if (preg_match('#Q\)([A-Z]{4})\/([A-Z]{5})\/(IV|I|V)\/([A-Z]{1,3})\/([A-Z]{1,2})\/([0-9]{3})\/([0-9]{3})\/([0-9]{4})(N|S)([0-9]{5})(E|W)([0-9]{3})#',$line,$matches)) {
1251 1251
 					//print_r($matches);
1252 1252
 					$result['fir'] = $matches[1];
@@ -1292,30 +1292,30 @@  discard block
 block discarded – undo
1292 1292
 					elseif ($matches[5] == 'AW') $result['scope'] = 'Airport/Navigation warning';
1293 1293
 					$result['lower_limit'] = $matches[6];
1294 1294
 					$result['upper_limit'] = $matches[7];
1295
-					$latitude = $Common->convertDec($matches[8],'latitude');
1295
+					$latitude = $Common->convertDec($matches[8], 'latitude');
1296 1296
 					if ($matches[9] == 'S') $latitude = -$latitude;
1297
-					$longitude = $Common->convertDec($matches[10],'longitude');
1297
+					$longitude = $Common->convertDec($matches[10], 'longitude');
1298 1298
 					if ($matches[11] == 'W') $longitude = -$longitude;
1299 1299
 					$result['latitude'] = $latitude;
1300 1300
 					$result['longitude'] = $longitude;
1301 1301
 					$result['radius'] = intval($matches[12]);
1302 1302
 				} else echo 'ERROR : '.$line."\n";
1303 1303
 			}
1304
-			elseif (preg_match('#A\) (.*)#',$line,$matches)) {
1304
+			elseif (preg_match('#A\) (.*)#', $line, $matches)) {
1305 1305
 				$result['icao'] = $matches[1];
1306 1306
 			}
1307
-			elseif (preg_match('#B\) ([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})#',$line,$matches)) {
1307
+			elseif (preg_match('#B\) ([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})#', $line, $matches)) {
1308 1308
 				if ($matches[1] > 50) $year = '19'.$matches[1];
1309 1309
 				else $year = '20'.$matches[1];
1310 1310
 				$result['date_begin'] = $year.'/'.$matches[2].'/'.$matches[3].' '.$matches[4].':'.$matches[5];
1311 1311
 			}
1312
-			elseif (preg_match('#C\) ([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})$#',$line,$matches)) {
1312
+			elseif (preg_match('#C\) ([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})$#', $line, $matches)) {
1313 1313
 				if ($matches[1] > 50) $year = '19'.$matches[1];
1314 1314
 				else $year = '20'.$matches[1];
1315 1315
 				$result['date_end'] = $year.'/'.$matches[2].'/'.$matches[3].' '.$matches[4].':'.$matches[5];
1316 1316
 				$result['permanent'] = 0;
1317 1317
 			}
1318
-			elseif (preg_match('#C\) ([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2}) (EST|PERM)$#',$line,$matches)) {
1318
+			elseif (preg_match('#C\) ([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2}) (EST|PERM)$#', $line, $matches)) {
1319 1319
 				if ($matches[1] > 50) $year = '19'.$matches[1];
1320 1320
 				else $year = '20'.$matches[1];
1321 1321
 				$result['date_end'] = $year.'/'.$matches[2].'/'.$matches[3].' '.$matches[4].':'.$matches[5];
@@ -1324,26 +1324,26 @@  discard block
 block discarded – undo
1324 1324
 				if ($matches[6] == 'PERM') $result['permanent'] = 1;
1325 1325
 				else $result['permanent'] = 0;
1326 1326
 			}
1327
-			elseif (preg_match('#C\) (EST|PERM)$#',$line,$matches)) {
1327
+			elseif (preg_match('#C\) (EST|PERM)$#', $line, $matches)) {
1328 1328
 				$result['date_end'] = '2030/12/20 12:00';
1329 1329
 				if ($matches[1] == 'EST') $result['estimated'] = 1;
1330 1330
 				else $result['estimated'] = 0;
1331 1331
 				if ($matches[1] == 'PERM') $result['permanent'] = 1;
1332 1332
 				else $result['permanent'] = 0;
1333 1333
 			}
1334
-			elseif (preg_match('#E\) (.*)#',$line,$matches)) {
1334
+			elseif (preg_match('#E\) (.*)#', $line, $matches)) {
1335 1335
 				$rtext = array();
1336
-				$text = explode(' ',$matches[1]);
1336
+				$text = explode(' ', $matches[1]);
1337 1337
 				foreach ($text as $word) {
1338 1338
 					if (isset($this->abbr[$word])) $rtext[] = strtoupper($this->abbr[$word]);
1339
-					elseif (ctype_digit(strval(substr($word,3))) && isset($this->abbr[substr($word,0,3)])) $rtext[] = strtoupper($this->abbr[substr($word,0,3)]).' '.substr($word,3);
1339
+					elseif (ctype_digit(strval(substr($word, 3))) && isset($this->abbr[substr($word, 0, 3)])) $rtext[] = strtoupper($this->abbr[substr($word, 0, 3)]).' '.substr($word, 3);
1340 1340
 					else $rtext[] = $word;
1341 1341
 				}
1342
-				$result['text'] = implode(' ',$rtext);
1342
+				$result['text'] = implode(' ', $rtext);
1343 1343
 			//} elseif (preg_match('#F\) (.*)#',$line,$matches)) {
1344 1344
 			//} elseif (preg_match('#G\) (.*)#',$line,$matches)) {
1345
-			} elseif (preg_match('#(NOTAMN|NOTAMR|NOTAMC)#',$line,$matches)) {
1346
-				$text = explode(' ',$line);
1345
+			} elseif (preg_match('#(NOTAMN|NOTAMR|NOTAMC)#', $line, $matches)) {
1346
+				$text = explode(' ', $line);
1347 1347
 				$result['ref'] = $text[0];
1348 1348
 				if ($matches[1] == 'NOTAMN') $result['type'] = 'new';
1349 1349
 				if ($matches[1] == 'NOTAMC') {
Please login to merge, or discard this patch.
Braces   +208 added lines, -88 removed lines patch added patch discarded remove patch
@@ -1015,8 +1015,11 @@  discard block
 block discarded – undo
1015 1015
 		$data = file_get_contents($filename);
1016 1016
 		preg_match_all("/%%(.+?)%%/is", $data, $matches);
1017 1017
 		//print_r($matches);
1018
-		if (isset($matches[1])) return $matches[1];
1019
-		else return array();
1018
+		if (isset($matches[1])) {
1019
+			return $matches[1];
1020
+		} else {
1021
+			return array();
1022
+		}
1020 1023
 	}
1021 1024
 	public function getAllNOTAMbyScope($scope) {
1022 1025
 		global $globalDBdriver;
@@ -1043,7 +1046,9 @@  discard block
 block discarded – undo
1043 1046
 			$minlat = filter_var($coord[1],FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION);
1044 1047
 			$maxlong = filter_var($coord[2],FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION);
1045 1048
 			$maxlat = filter_var($coord[3],FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION);
1046
-		} else return array();
1049
+		} else {
1050
+			return array();
1051
+		}
1047 1052
 		if ($globalDBdriver == 'mysql') {
1048 1053
 			$query  = 'SELECT * FROM notam WHERE center_latitude BETWEEN '.$minlat.' AND '.$maxlat.' AND center_longitude BETWEEN '.$minlong.' AND '.$maxlong.' AND radius > 0 AND date_end > UTC_TIMESTAMP() AND date_begin < UTC_TIMESTAMP()';
1049 1054
 		} else {
@@ -1067,7 +1072,9 @@  discard block
 block discarded – undo
1067 1072
 			$minlat = filter_var($coord[1],FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION);
1068 1073
 			$maxlong = filter_var($coord[2],FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION);
1069 1074
 			$maxlat = filter_var($coord[3],FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION);
1070
-		} else return array();
1075
+		} else {
1076
+			return array();
1077
+		}
1071 1078
 		if ($globalDBdriver == 'mysql') {
1072 1079
 			$query  = 'SELECT * FROM notam WHERE center_latitude BETWEEN '.$minlat.' AND '.$maxlat.' AND center_longitude BETWEEN '.$minlong.' AND '.$maxlong.' AND radius > 0 AND date_end > UTC_TIMESTAMP() AND date_begin < UTC_TIMESTAMP() AND scope = :scope';
1073 1080
 		} else {
@@ -1094,8 +1101,11 @@  discard block
 block discarded – undo
1094 1101
 			return "error : ".$e->getMessage();
1095 1102
 		}
1096 1103
 		$all = $sth->fetchAll(PDO::FETCH_ASSOC);
1097
-		if (isset($all[0])) return $all[0];
1098
-		else return array();
1104
+		if (isset($all[0])) {
1105
+			return $all[0];
1106
+		} else {
1107
+			return array();
1108
+		}
1099 1109
 	}
1100 1110
 
1101 1111
 	public function addNOTAM($ref,$title,$type,$fir,$code,$rules,$scope,$lower_limit,$upper_limit,$center_latitude,$center_longitude,$radius,$date_begin,$date_end,$permanent,$text,$full_notam) {
@@ -1173,7 +1183,9 @@  discard block
 block discarded – undo
1173 1183
 					foreach ($alldata as $initial_data) {
1174 1184
 						$data = $this->parse($initial_data);
1175 1185
 						$notamref = $this->getNOTAMbyRef($data['ref']);
1176
-						if (count($notamref) == 0) $this->addNOTAM($data['ref'],$data['title'],'',$data['fir'],$data['code'],'',$data['scope'],$data['lower_limit'],$data['upper_limit'],$data['latitude'],$data['longitude'],$data['radius'],$data['date_begin'],$data['date_end'],$data['permanent'],$data['text'],$data['full_notam']);
1186
+						if (count($notamref) == 0) {
1187
+							$this->addNOTAM($data['ref'],$data['title'],'',$data['fir'],$data['code'],'',$data['scope'],$data['lower_limit'],$data['upper_limit'],$data['latitude'],$data['longitude'],$data['radius'],$data['date_begin'],$data['date_end'],$data['permanent'],$data['text'],$data['full_notam']);
1188
+						}
1177 1189
 					}
1178 1190
 				}
1179 1191
 			}
@@ -1186,7 +1198,9 @@  discard block
 block discarded – undo
1186 1198
 			foreach ($alldata as $initial_data) {
1187 1199
 				$data = $this->parse($initial_data);
1188 1200
 				$notamref = $this->getNOTAMbyRef($data['ref']);
1189
-				if (!isset($notamref['notam_id'])) $this->addNOTAM($data['ref'],$data['title'],'',$data['fir'],$data['code'],'',$data['scope'],$data['lower_limit'],$data['upper_limit'],$data['latitude'],$data['longitude'],$data['radius'],$data['date_begin'],$data['date_end'],$data['permanent'],$data['text'],$data['full_notam']);
1201
+				if (!isset($notamref['notam_id'])) {
1202
+					$this->addNOTAM($data['ref'],$data['title'],'',$data['fir'],$data['code'],'',$data['scope'],$data['lower_limit'],$data['upper_limit'],$data['latitude'],$data['longitude'],$data['radius'],$data['date_begin'],$data['date_end'],$data['permanent'],$data['text'],$data['full_notam']);
1203
+				}
1190 1204
 			}
1191 1205
 		}
1192 1206
 	}
@@ -1198,11 +1212,15 @@  discard block
 block discarded – undo
1198 1212
 		foreach (array_chunk($allairports,20) as $airport) {
1199 1213
 			$airports_icao = array();
1200 1214
 			foreach($airport as $icao) {
1201
-				if (isset($icao['icao'])) $airports_icao[] = $icao['icao'];
1215
+				if (isset($icao['icao'])) {
1216
+					$airports_icao[] = $icao['icao'];
1217
+				}
1202 1218
 			}
1203 1219
 			$airport_icao = implode(',',$airports_icao);
1204 1220
 			$alldata = $this->downloadNOTAM($airport_icao);
1205
-			if ($globalTransaction) $this->db->beginTransaction();
1221
+			if ($globalTransaction) {
1222
+				$this->db->beginTransaction();
1223
+			}
1206 1224
 			if (count($alldata) > 0) {
1207 1225
 				foreach ($alldata as $initial_data) {
1208 1226
 					//print_r($initial_data);
@@ -1211,14 +1229,23 @@  discard block
 block discarded – undo
1211 1229
 					if (isset($data['ref'])) {
1212 1230
 						$notamref = $this->getNOTAMbyRef($data['ref']);
1213 1231
 						if (count($notamref) == 0) {
1214
-							if (isset($data['ref_replaced'])) $this->deleteNOTAMbyRef($data['ref_replaced']);
1215
-							if (isset($data['ref_cancelled'])) $this->deleteNOTAMbyRef($data['ref_cancelled']);
1216
-							elseif (isset($data['latitude']) && isset($data['scope']) && isset($data['text']) && isset($data['permanent'])) echo $this->addNOTAM($data['ref'],'','',$data['fir'],$data['code'],'',$data['scope'],$data['lower_limit'],$data['upper_limit'],$data['latitude'],$data['longitude'],$data['radius'],$data['date_begin'],$data['date_end'],$data['permanent'],$data['text'],$data['full_notam']);
1232
+							if (isset($data['ref_replaced'])) {
1233
+								$this->deleteNOTAMbyRef($data['ref_replaced']);
1234
+							}
1235
+							if (isset($data['ref_cancelled'])) {
1236
+								$this->deleteNOTAMbyRef($data['ref_cancelled']);
1237
+							} elseif (isset($data['latitude']) && isset($data['scope']) && isset($data['text']) && isset($data['permanent'])) {
1238
+								echo $this->addNOTAM($data['ref'],'','',$data['fir'],$data['code'],'',$data['scope'],$data['lower_limit'],$data['upper_limit'],$data['latitude'],$data['longitude'],$data['radius'],$data['date_begin'],$data['date_end'],$data['permanent'],$data['text'],$data['full_notam']);
1239
+							}
1217 1240
 						}
1218 1241
 					}
1219 1242
 				}
1220
-			} else echo 'Error on download. Nothing matches for '.$airport_icao."\n";
1221
-			if ($globalTransaction) $this->db->commit();
1243
+			} else {
1244
+				echo 'Error on download. Nothing matches for '.$airport_icao."\n";
1245
+			}
1246
+			if ($globalTransaction) {
1247
+				$this->db->commit();
1248
+			}
1222 1249
 			sleep(5);
1223 1250
 		}
1224 1251
 	}
@@ -1231,8 +1258,11 @@  discard block
 block discarded – undo
1231 1258
 		$data = $Common->getData($url);
1232 1259
 		preg_match_all("/<pre>(.+?)<\/pre>/is", $data, $matches);
1233 1260
 		//print_r($matches);
1234
-		if (isset($matches[1])) return $matches[1];
1235
-		else return array();
1261
+		if (isset($matches[1])) {
1262
+			return $matches[1];
1263
+		} else {
1264
+			return array();
1265
+		}
1236 1266
 	}
1237 1267
 
1238 1268
 	public function parse($data) {
@@ -1255,89 +1285,145 @@  discard block
 block discarded – undo
1255 1285
 					$rules = str_split($matches[3]);
1256 1286
 					foreach ($rules as $rule) {
1257 1287
 						if ($rule == 'I') {
1258
-							if (isset($result['rules'])) $result['rules'] = $result['rules'].'/IFR';
1259
-							else $result['rules'] = 'IFR';
1288
+							if (isset($result['rules'])) {
1289
+								$result['rules'] = $result['rules'].'/IFR';
1290
+							} else {
1291
+								$result['rules'] = 'IFR';
1292
+							}
1260 1293
 						} elseif ($rule == 'V') {
1261
-							if (isset($result['rules'])) $result['rules'] = $result['rules'].'/VFR';
1262
-							else $result['rules'] = 'VFR';
1294
+							if (isset($result['rules'])) {
1295
+								$result['rules'] = $result['rules'].'/VFR';
1296
+							} else {
1297
+								$result['rules'] = 'VFR';
1298
+							}
1263 1299
 						} elseif ($rule == 'K') {
1264
-							if (isset($result['rules'])) $result['rules'] = $result['rules'].'/Checklist';
1265
-							else $result['rules'] = 'Checklist';
1300
+							if (isset($result['rules'])) {
1301
+								$result['rules'] = $result['rules'].'/Checklist';
1302
+							} else {
1303
+								$result['rules'] = 'Checklist';
1304
+							}
1266 1305
 						}
1267 1306
 					}
1268 1307
 					$attentions = str_split($matches[4]);
1269 1308
 					foreach ($attentions as $attention) {
1270 1309
 						if ($attention == 'N') {
1271
-							if (isset($result['attention'])) $result['attention'] = $result['attention'].' / Immediate attention';
1272
-							else $result['rules'] = 'Immediate attention';
1310
+							if (isset($result['attention'])) {
1311
+								$result['attention'] = $result['attention'].' / Immediate attention';
1312
+							} else {
1313
+								$result['rules'] = 'Immediate attention';
1314
+							}
1273 1315
 						} elseif ($attention == 'B') {
1274
-							if (isset($result['attention'])) $result['attention'] = $result['attention'].' / Operational significance';
1275
-							else $result['rules'] = 'Operational significance';
1316
+							if (isset($result['attention'])) {
1317
+								$result['attention'] = $result['attention'].' / Operational significance';
1318
+							} else {
1319
+								$result['rules'] = 'Operational significance';
1320
+							}
1276 1321
 						} elseif ($attention == 'O') {
1277
-							if (isset($result['attention'])) $result['attention'] = $result['attention'].' / Flight operations';
1278
-							else $result['rules'] = 'Flight operations';
1322
+							if (isset($result['attention'])) {
1323
+								$result['attention'] = $result['attention'].' / Flight operations';
1324
+							} else {
1325
+								$result['rules'] = 'Flight operations';
1326
+							}
1279 1327
 						} elseif ($attention == 'M') {
1280
-							if (isset($result['attention'])) $result['attention'] = $result['attention'].' / Misc';
1281
-							else $result['rules'] = 'Misc';
1328
+							if (isset($result['attention'])) {
1329
+								$result['attention'] = $result['attention'].' / Misc';
1330
+							} else {
1331
+								$result['rules'] = 'Misc';
1332
+							}
1282 1333
 						} elseif ($attention == 'K') {
1283
-							if (isset($result['attention'])) $result['attention'] = $result['attention'].' / Checklist';
1284
-							else $result['rules'] = 'Checklist';
1334
+							if (isset($result['attention'])) {
1335
+								$result['attention'] = $result['attention'].' / Checklist';
1336
+							} else {
1337
+								$result['rules'] = 'Checklist';
1338
+							}
1285 1339
 						}
1286 1340
 					}
1287
-					if ($matches[5] == 'A') $result['scope'] = 'Airport warning';
1288
-					elseif ($matches[5] == 'E') $result['scope'] = 'Enroute warning';
1289
-					elseif ($matches[5] == 'W') $result['scope'] = 'Navigation warning';
1290
-					elseif ($matches[5] == 'K') $result['scope'] = 'Checklist';
1291
-					elseif ($matches[5] == 'AE') $result['scope'] = 'Airport/Enroute warning';
1292
-					elseif ($matches[5] == 'AW') $result['scope'] = 'Airport/Navigation warning';
1341
+					if ($matches[5] == 'A') {
1342
+						$result['scope'] = 'Airport warning';
1343
+					} elseif ($matches[5] == 'E') {
1344
+						$result['scope'] = 'Enroute warning';
1345
+					} elseif ($matches[5] == 'W') {
1346
+						$result['scope'] = 'Navigation warning';
1347
+					} elseif ($matches[5] == 'K') {
1348
+						$result['scope'] = 'Checklist';
1349
+					} elseif ($matches[5] == 'AE') {
1350
+						$result['scope'] = 'Airport/Enroute warning';
1351
+					} elseif ($matches[5] == 'AW') {
1352
+						$result['scope'] = 'Airport/Navigation warning';
1353
+					}
1293 1354
 					$result['lower_limit'] = $matches[6];
1294 1355
 					$result['upper_limit'] = $matches[7];
1295 1356
 					$latitude = $Common->convertDec($matches[8],'latitude');
1296
-					if ($matches[9] == 'S') $latitude = -$latitude;
1357
+					if ($matches[9] == 'S') {
1358
+						$latitude = -$latitude;
1359
+					}
1297 1360
 					$longitude = $Common->convertDec($matches[10],'longitude');
1298
-					if ($matches[11] == 'W') $longitude = -$longitude;
1361
+					if ($matches[11] == 'W') {
1362
+						$longitude = -$longitude;
1363
+					}
1299 1364
 					$result['latitude'] = $latitude;
1300 1365
 					$result['longitude'] = $longitude;
1301 1366
 					$result['radius'] = intval($matches[12]);
1302
-				} else echo 'ERROR : '.$line."\n";
1303
-			}
1304
-			elseif (preg_match('#A\) (.*)#',$line,$matches)) {
1367
+				} else {
1368
+					echo 'ERROR : '.$line."\n";
1369
+				}
1370
+			} elseif (preg_match('#A\) (.*)#',$line,$matches)) {
1305 1371
 				$result['icao'] = $matches[1];
1306
-			}
1307
-			elseif (preg_match('#B\) ([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})#',$line,$matches)) {
1308
-				if ($matches[1] > 50) $year = '19'.$matches[1];
1309
-				else $year = '20'.$matches[1];
1372
+			} elseif (preg_match('#B\) ([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})#',$line,$matches)) {
1373
+				if ($matches[1] > 50) {
1374
+					$year = '19'.$matches[1];
1375
+				} else {
1376
+					$year = '20'.$matches[1];
1377
+				}
1310 1378
 				$result['date_begin'] = $year.'/'.$matches[2].'/'.$matches[3].' '.$matches[4].':'.$matches[5];
1311
-			}
1312
-			elseif (preg_match('#C\) ([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})$#',$line,$matches)) {
1313
-				if ($matches[1] > 50) $year = '19'.$matches[1];
1314
-				else $year = '20'.$matches[1];
1379
+			} elseif (preg_match('#C\) ([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})$#',$line,$matches)) {
1380
+				if ($matches[1] > 50) {
1381
+					$year = '19'.$matches[1];
1382
+				} else {
1383
+					$year = '20'.$matches[1];
1384
+				}
1315 1385
 				$result['date_end'] = $year.'/'.$matches[2].'/'.$matches[3].' '.$matches[4].':'.$matches[5];
1316 1386
 				$result['permanent'] = 0;
1317
-			}
1318
-			elseif (preg_match('#C\) ([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2}) (EST|PERM)$#',$line,$matches)) {
1319
-				if ($matches[1] > 50) $year = '19'.$matches[1];
1320
-				else $year = '20'.$matches[1];
1387
+			} elseif (preg_match('#C\) ([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2}) (EST|PERM)$#',$line,$matches)) {
1388
+				if ($matches[1] > 50) {
1389
+					$year = '19'.$matches[1];
1390
+				} else {
1391
+					$year = '20'.$matches[1];
1392
+				}
1321 1393
 				$result['date_end'] = $year.'/'.$matches[2].'/'.$matches[3].' '.$matches[4].':'.$matches[5];
1322
-				if ($matches[6] == 'EST') $result['estimated'] = 1;
1323
-				else $result['estimated'] = 0;
1324
-				if ($matches[6] == 'PERM') $result['permanent'] = 1;
1325
-				else $result['permanent'] = 0;
1326
-			}
1327
-			elseif (preg_match('#C\) (EST|PERM)$#',$line,$matches)) {
1394
+				if ($matches[6] == 'EST') {
1395
+					$result['estimated'] = 1;
1396
+				} else {
1397
+					$result['estimated'] = 0;
1398
+				}
1399
+				if ($matches[6] == 'PERM') {
1400
+					$result['permanent'] = 1;
1401
+				} else {
1402
+					$result['permanent'] = 0;
1403
+				}
1404
+			} elseif (preg_match('#C\) (EST|PERM)$#',$line,$matches)) {
1328 1405
 				$result['date_end'] = '2030/12/20 12:00';
1329
-				if ($matches[1] == 'EST') $result['estimated'] = 1;
1330
-				else $result['estimated'] = 0;
1331
-				if ($matches[1] == 'PERM') $result['permanent'] = 1;
1332
-				else $result['permanent'] = 0;
1333
-			}
1334
-			elseif (preg_match('#E\) (.*)#',$line,$matches)) {
1406
+				if ($matches[1] == 'EST') {
1407
+					$result['estimated'] = 1;
1408
+				} else {
1409
+					$result['estimated'] = 0;
1410
+				}
1411
+				if ($matches[1] == 'PERM') {
1412
+					$result['permanent'] = 1;
1413
+				} else {
1414
+					$result['permanent'] = 0;
1415
+				}
1416
+			} elseif (preg_match('#E\) (.*)#',$line,$matches)) {
1335 1417
 				$rtext = array();
1336 1418
 				$text = explode(' ',$matches[1]);
1337 1419
 				foreach ($text as $word) {
1338
-					if (isset($this->abbr[$word])) $rtext[] = strtoupper($this->abbr[$word]);
1339
-					elseif (ctype_digit(strval(substr($word,3))) && isset($this->abbr[substr($word,0,3)])) $rtext[] = strtoupper($this->abbr[substr($word,0,3)]).' '.substr($word,3);
1340
-					else $rtext[] = $word;
1420
+					if (isset($this->abbr[$word])) {
1421
+						$rtext[] = strtoupper($this->abbr[$word]);
1422
+					} elseif (ctype_digit(strval(substr($word,3))) && isset($this->abbr[substr($word,0,3)])) {
1423
+						$rtext[] = strtoupper($this->abbr[substr($word,0,3)]).' '.substr($word,3);
1424
+					} else {
1425
+						$rtext[] = $word;
1426
+					}
1341 1427
 				}
1342 1428
 				$result['text'] = implode(' ',$rtext);
1343 1429
 			//} elseif (preg_match('#F\) (.*)#',$line,$matches)) {
@@ -1345,7 +1431,9 @@  discard block
 block discarded – undo
1345 1431
 			} elseif (preg_match('#(NOTAMN|NOTAMR|NOTAMC)#',$line,$matches)) {
1346 1432
 				$text = explode(' ',$line);
1347 1433
 				$result['ref'] = $text[0];
1348
-				if ($matches[1] == 'NOTAMN') $result['type'] = 'new';
1434
+				if ($matches[1] == 'NOTAMN') {
1435
+					$result['type'] = 'new';
1436
+				}
1349 1437
 				if ($matches[1] == 'NOTAMC') {
1350 1438
 					$result['type'] = 'cancel';
1351 1439
 					$result['ref_cancelled'] = $text[2];
@@ -1367,69 +1455,101 @@  discard block
 block discarded – undo
1367 1455
 		switch ($code[1]) {
1368 1456
 			case 'A':
1369 1457
 				$result = 'Airspace organization ';
1370
-				if (isset($this->code_airspace[$code_fp])) $result .= $this->code_airspace[$code_fp];
1458
+				if (isset($this->code_airspace[$code_fp])) {
1459
+					$result .= $this->code_airspace[$code_fp];
1460
+				}
1371 1461
 				break;
1372 1462
 			case 'C':
1373 1463
 				$result = 'Communications and radar facilities ';
1374
-				if (isset($this->code_comradar[$code_fp])) $result .= $this->code_comradar[$code_fp];
1464
+				if (isset($this->code_comradar[$code_fp])) {
1465
+					$result .= $this->code_comradar[$code_fp];
1466
+				}
1375 1467
 				break;
1376 1468
 			case 'F':
1377 1469
 				$result = 'Facilities and services ';
1378
-				if (isset($this->code_facilities[$code_fp])) $result .= $this->code_facilities[$code_fp];
1470
+				if (isset($this->code_facilities[$code_fp])) {
1471
+					$result .= $this->code_facilities[$code_fp];
1472
+				}
1379 1473
 				break;
1380 1474
 			case 'I':
1381 1475
 				$result = 'Instrument and Microwave Landing System ';
1382
-				if (isset($this->code_instrumentlanding[$code_fp])) $result .= $this->code_instrumentlanding[$code_fp];
1476
+				if (isset($this->code_instrumentlanding[$code_fp])) {
1477
+					$result .= $this->code_instrumentlanding[$code_fp];
1478
+				}
1383 1479
 				break;
1384 1480
 			case 'L':
1385 1481
 				$result = 'Lighting facilities ';
1386
-				if (isset($this->code_lightingfacilities[$code_fp])) $result .= $this->code_lightingfacilities[$code_fp];
1482
+				if (isset($this->code_lightingfacilities[$code_fp])) {
1483
+					$result .= $this->code_lightingfacilities[$code_fp];
1484
+				}
1387 1485
 				break;
1388 1486
 			case 'M':
1389 1487
 				$result = 'Movement and landing areas ';
1390
-				if (isset($this->code_movementareas[$code_fp])) $result .= $this->code_movementareas[$code_fp];
1488
+				if (isset($this->code_movementareas[$code_fp])) {
1489
+					$result .= $this->code_movementareas[$code_fp];
1490
+				}
1391 1491
 				break;
1392 1492
 			case 'N':
1393 1493
 				$result = 'Terminal and En Route Navigation Facilities ';
1394
-				if (isset($this->code_terminalfacilities[$code_fp])) $result .= $this->code_terminalfacilities[$code_fp];
1494
+				if (isset($this->code_terminalfacilities[$code_fp])) {
1495
+					$result .= $this->code_terminalfacilities[$code_fp];
1496
+				}
1395 1497
 				break;
1396 1498
 			case 'O':
1397 1499
 				$result = 'Other information ';
1398
-				if (isset($this->code_information[$code_fp])) $result .= $this->code_information[$code_fp];
1500
+				if (isset($this->code_information[$code_fp])) {
1501
+					$result .= $this->code_information[$code_fp];
1502
+				}
1399 1503
 				break;
1400 1504
 			case 'P':
1401 1505
 				$result = 'Air Traffic procedures ';
1402
-				if (isset($this->code_airtraffic[$code_fp])) $result .= $this->code_airtraffic[$code_fp];
1506
+				if (isset($this->code_airtraffic[$code_fp])) {
1507
+					$result .= $this->code_airtraffic[$code_fp];
1508
+				}
1403 1509
 				break;
1404 1510
 			case 'R':
1405 1511
 				$result = 'Navigation Warnings: Airspace Restrictions ';
1406
-				if (isset($this->code_navigationw[$code_fp])) $result .= $this->code_navigationw[$code_fp];
1512
+				if (isset($this->code_navigationw[$code_fp])) {
1513
+					$result .= $this->code_navigationw[$code_fp];
1514
+				}
1407 1515
 				break;
1408 1516
 			case 'S':
1409 1517
 				$result = 'Air Traffic and VOLMET Services ';
1410
-				if (isset($this->code_volmet[$code_fp])) $result .= $this->code_volmet[$code_fp];
1518
+				if (isset($this->code_volmet[$code_fp])) {
1519
+					$result .= $this->code_volmet[$code_fp];
1520
+				}
1411 1521
 				break;
1412 1522
 			case 'W':
1413 1523
 				$result = 'Navigation Warnings: Warnings ';
1414
-				if (isset($this->code_warnings[$code_fp])) $result .= $this->code_warnings[$code_fp];
1524
+				if (isset($this->code_warnings[$code_fp])) {
1525
+					$result .= $this->code_warnings[$code_fp];
1526
+				}
1415 1527
 				break;
1416 1528
 		}
1417 1529
 		switch ($code[3]) {
1418 1530
 			case 'A':
1419 1531
 				// Availability
1420
-				if (isset($this->code_sp_availabity[$code_sp])) $result .= ' '.$this->code_sp_availabity[$code_sp];
1532
+				if (isset($this->code_sp_availabity[$code_sp])) {
1533
+					$result .= ' '.$this->code_sp_availabity[$code_sp];
1534
+				}
1421 1535
 				break;
1422 1536
 			case 'C':
1423 1537
 				// Changes
1424
-				if (isset($this->code_sp_changes[$code_sp])) $result .= ' '.$this->code_sp_changes[$code_sp];
1538
+				if (isset($this->code_sp_changes[$code_sp])) {
1539
+					$result .= ' '.$this->code_sp_changes[$code_sp];
1540
+				}
1425 1541
 				break;
1426 1542
 			case 'H':
1427 1543
 				// Hazardous conditions
1428
-				if (isset($this->code_sp_hazardous[$code_sp])) $result .= ' '.$this->code_sp_hazardous[$code_sp];
1544
+				if (isset($this->code_sp_hazardous[$code_sp])) {
1545
+					$result .= ' '.$this->code_sp_hazardous[$code_sp];
1546
+				}
1429 1547
 				break;
1430 1548
 			case 'L':
1431 1549
 				// Limitations
1432
-				if (isset($this->code_sp_limitations[$code_sp])) $result .= ' '.$this->code_sp_limitations[$code_sp];
1550
+				if (isset($this->code_sp_limitations[$code_sp])) {
1551
+					$result .= ' '.$this->code_sp_limitations[$code_sp];
1552
+				}
1433 1553
 				break;
1434 1554
 			case 'X':
1435 1555
 				// Other Information
Please login to merge, or discard this patch.
waypoints-geojson.php 2 patches
Indentation   +16 added lines, -16 removed lines patch added patch discarded remove patch
@@ -26,7 +26,7 @@  discard block
 block discarded – undo
26 26
 		date_default_timezone_set('UTC');
27 27
 		//waypoint plotting
28 28
 		$output .= '{"type": "Feature",';
29
-		    $output .= '"properties": {';
29
+			$output .= '"properties": {';
30 30
 			$output .= '"segment_name": "'.$spotter_item['segment_name'].'",';
31 31
 			$output .= '"base": "'.$spotter_item['base'].'",';
32 32
 			$output .= '"top": "'.$spotter_item['top'].'",';
@@ -49,15 +49,15 @@  discard block
 block discarded – undo
49 49
 				$output .= '"stroke": "#f0f0f0",';
50 50
 				$output .= '"stroke-width": 2';
51 51
 //			}
52
-		    $output .= '},';
53
-		    $output .= '"geometry": {';
52
+			$output .= '},';
53
+			$output .= '"geometry": {';
54 54
 			$output .= '"type": "LineString",';
55 55
 			$output .= '"coordinates": [';
56
-			    //$output .= '['.$spotter_item['longitude_begin'].', '.$spotter_item['latitude_begin'].'], ['.$spotter_item['longitude_end'].', '.$spotter_item['latitude_end'].'], ['.$spotter_item['longitude_end_seg2'].', '.$spotter_item['latitude_end_seg2'].']';
57
-			    $output .= '['.$spotter_item['longitude_begin'].', '.$spotter_item['latitude_begin'].','.round($spotter_item['base']*100*0.3048).'], ['.$spotter_item['longitude_end'].', '.$spotter_item['latitude_end'].','.round($spotter_item['base']*100*0.3048).']';
56
+				//$output .= '['.$spotter_item['longitude_begin'].', '.$spotter_item['latitude_begin'].'], ['.$spotter_item['longitude_end'].', '.$spotter_item['latitude_end'].'], ['.$spotter_item['longitude_end_seg2'].', '.$spotter_item['latitude_end_seg2'].']';
57
+				$output .= '['.$spotter_item['longitude_begin'].', '.$spotter_item['latitude_begin'].','.round($spotter_item['base']*100*0.3048).'], ['.$spotter_item['longitude_end'].', '.$spotter_item['latitude_end'].','.round($spotter_item['base']*100*0.3048).']';
58 58
 			//    $output .= '['.$spotter_item['latitude_begin'].', '.$spotter_item['longitude_begin'].'], ['.$spotter_item['latitude_end'].', '.$spotter_item['longitude_end'].']';
59 59
 			$output .= ']';
60
-		    $output .= '}';
60
+			$output .= '}';
61 61
 /*		    $output .= '"geometry": {';
62 62
 			$output .= '"type": "Point",';
63 63
 			$output .= '"coordinates": [';
@@ -68,7 +68,7 @@  discard block
 block discarded – undo
68 68
 		$output .= '},';
69 69
 		//waypoint plotting
70 70
 		$output .= '{"type": "Feature",';
71
-		    $output .= '"properties": {';
71
+			$output .= '"properties": {';
72 72
 			$output .= '"ident": "'.$spotter_item['name_begin'].'",';
73 73
 			$output .= '"high": "'.$spotter_item['high'].'",';
74 74
 			$output .= '"alt": "'.$spotter_item['base'].'",';
@@ -98,17 +98,17 @@  discard block
 block discarded – undo
98 98
 				$output .= '"marker-size": "small",';
99 99
 				$output .= '"marker-color": "#0000ff"';
100 100
 			}
101
-		    $output .= '},';
102
-		    $output .= '"geometry": {';
101
+			$output .= '},';
102
+			$output .= '"geometry": {';
103 103
 			$output .= '"type": "Point",';
104 104
 			$output .= '"coordinates": [';
105
-			    $output .= $spotter_item['longitude_begin'].', '.$spotter_item['latitude_begin'].', '.round($spotter_item['base']*100*0.3048);;
105
+				$output .= $spotter_item['longitude_begin'].', '.$spotter_item['latitude_begin'].', '.round($spotter_item['base']*100*0.3048);;
106 106
 			$output .= ']';
107
-		    $output .= '}';
107
+			$output .= '}';
108 108
 
109 109
 		$output .= '},';
110 110
 		$output .= '{"type": "Feature",';
111
-		    $output .= '"properties": {';
111
+			$output .= '"properties": {';
112 112
 			$output .= '"ident": "'.$spotter_item['name_end'].'",';
113 113
 			$output .= '"high": "'.$spotter_item['high'].'",';
114 114
 			$output .= '"alt": "'.$spotter_item['top'].'",';
@@ -145,13 +145,13 @@  discard block
 block discarded – undo
145 145
 				$output .= '"marker-size": "small",';
146 146
 				$output .= '"marker-color": "#0000ff"';
147 147
 			}
148
-		    $output .= '},';
149
-		    $output .= '"geometry": {';
148
+			$output .= '},';
149
+			$output .= '"geometry": {';
150 150
 			$output .= '"type": "Point",';
151 151
 			$output .= '"coordinates": [';
152
-			    $output .= $spotter_item['longitude_end'].', '.$spotter_item['latitude_end'].', '.round($spotter_item['base']*100*0.3048);
152
+				$output .= $spotter_item['longitude_end'].', '.$spotter_item['latitude_end'].', '.round($spotter_item['base']*100*0.3048);
153 153
 			$output .= ']';
154
-		    $output .= '}';
154
+			$output .= '}';
155 155
 
156 156
 		$output .= '},';
157 157
 	}
Please login to merge, or discard this patch.
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -10,7 +10,7 @@  discard block
 block discarded – undo
10 10
 
11 11
 if (isset($_GET['coord'])) 
12 12
 {
13
-	$coords = explode(',',$_GET['coord']);
13
+	$coords = explode(',', $_GET['coord']);
14 14
 	$spotter_array = $Spotter->getAllWaypointsInfobyCoord($coords);
15 15
 } else {
16 16
 	die;
@@ -21,7 +21,7 @@  discard block
 block discarded – undo
21 21
 if (!empty($spotter_array))
22 22
 {	  
23 23
 //	print_r($spotter_array);
24
-	foreach($spotter_array as $spotter_item)
24
+	foreach ($spotter_array as $spotter_item)
25 25
 	{
26 26
 		date_default_timezone_set('UTC');
27 27
 		//waypoint plotting
@@ -102,7 +102,7 @@  discard block
 block discarded – undo
102 102
 		    $output .= '"geometry": {';
103 103
 			$output .= '"type": "Point",';
104 104
 			$output .= '"coordinates": [';
105
-			    $output .= $spotter_item['longitude_begin'].', '.$spotter_item['latitude_begin'].', '.round($spotter_item['base']*100*0.3048);;
105
+			    $output .= $spotter_item['longitude_begin'].', '.$spotter_item['latitude_begin'].', '.round($spotter_item['base']*100*0.3048); ;
106 106
 			$output .= ']';
107 107
 		    $output .= '}';
108 108
 
Please login to merge, or discard this patch.
airspace-data.php 2 patches
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -7,7 +7,7 @@  discard block
 block discarded – undo
7 7
 <button type="button" class="close">&times;</button>
8 8
 <?php
9 9
 
10
-$airspaceid = filter_input(INPUT_GET,'airspace',FILTER_SANITIZE_NUMBER_INT);
10
+$airspaceid = filter_input(INPUT_GET, 'airspace', FILTER_SANITIZE_NUMBER_INT);
11 11
 //$notamref = urldecode($notamref);
12 12
 if ($globalDBdriver == 'mysql') {
13 13
 	$query = "SELECT * FROM airspace WHERE ogr_fid = :id";
@@ -18,10 +18,10 @@  discard block
 block discarded – undo
18 18
 try {
19 19
 	$sth = $Connection->db->prepare($query);
20 20
 	$sth->execute(array(':id' => $airspaceid));
21
-} catch(PDOException $e) {
21
+} catch (PDOException $e) {
22 22
 	echo "error";
23 23
 }
24
-$result=$sth->fetchAll(PDO::FETCH_ASSOC);
24
+$result = $sth->fetchAll(PDO::FETCH_ASSOC);
25 25
 $airspace = $result[0];
26 26
 date_default_timezone_set('UTC');
27 27
 print '<div class="top">';
Please login to merge, or discard this patch.
Braces   +9 added lines, -3 removed lines patch added patch discarded remove patch
@@ -25,7 +25,9 @@  discard block
 block discarded – undo
25 25
 $airspace = $result[0];
26 26
 date_default_timezone_set('UTC');
27 27
 print '<div class="top">';
28
-if (isset($airspace['name'])) $airspace['title'] = $airspace['name']; 
28
+if (isset($airspace['name'])) {
29
+	$airspace['title'] = $airspace['name'];
30
+}
29 31
 print '<div class="right"><div class="callsign-details"><div class="callsign">'.$airspace['title'].'</a></div>';
30 32
 print '</div>';
31 33
 print '<div class="details">';
@@ -44,13 +46,17 @@  discard block
 block discarded – undo
44 46
 	print '</div>';
45 47
 }
46 48
 
47
-if (isset($airspace['ceiling'])) $airspace['tops'] = $airspace['ceiling'];
49
+if (isset($airspace['ceiling'])) {
50
+	$airspace['tops'] = $airspace['ceiling'];
51
+}
48 52
 print '<div>';
49 53
 print '<span>'._("Tops").'</span>';
50 54
 print $airspace['tops'];
51 55
 print '</div>';
52 56
 
53
-if (isset($airspace['floor'])) $airspace['base'] = $airspace['floor'];
57
+if (isset($airspace['floor'])) {
58
+	$airspace['base'] = $airspace['floor'];
59
+}
54 60
 print '<div>';
55 61
 print '<span>'._("Base").'</span>';
56 62
 print $airspace['base'];
Please login to merge, or discard this patch.
scripts/update_db.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -9,7 +9,7 @@
 block discarded – undo
9 9
 if (strtoupper(substr(PHP_OS, 0, 3)) != 'WIN') {
10 10
 	exec("ps ux", $output, $result);
11 11
 	$j = 0;
12
-	foreach ($output as $line) if(strpos($line, "update_db.php") && !strpos($line, "sh ")) $j++;
12
+	foreach ($output as $line) if (strpos($line, "update_db.php") && !strpos($line, "sh ")) $j++;
13 13
 	if ($j > 1) {
14 14
 		echo "Script is already runnning...";
15 15
 		die();
Please login to merge, or discard this patch.
Braces   +19 added lines, -7 removed lines patch added patch discarded remove patch
@@ -9,7 +9,9 @@  discard block
 block discarded – undo
9 9
 if (strtoupper(substr(PHP_OS, 0, 3)) != 'WIN') {
10 10
 	exec("ps ux", $output, $result);
11 11
 	$j = 0;
12
-	foreach ($output as $line) if(strpos($line, "update_db.php") && !strpos($line, "sh ")) $j++;
12
+	foreach ($output as $line) {
13
+		if(strpos($line, "update_db.php") && !strpos($line, "sh ")) $j++;
14
+	}
13 15
 	if ($j > 1) {
14 16
 		echo "Script is already runnning...";
15 17
 		die();
@@ -29,14 +31,18 @@  discard block
 block discarded – undo
29 31
 			$update_db->update_notam();
30 32
 		}
31 33
 		$update_db->insert_last_notam_update();
32
-	} elseif (isset($globalDebug) && $globalDebug && isset($globalNOTAM) && $globalNOTAM) echo "NOTAM are only updated once a day.\n";
34
+	} elseif (isset($globalDebug) && $globalDebug && isset($globalNOTAM) && $globalNOTAM) {
35
+		echo "NOTAM are only updated once a day.\n";
36
+	}
33 37
 	if ($update_db->check_last_update() && (!isset($globalIVAO) || !$globalIVAO) && (!isset($globalVATSIM) || !$globalVATSIM) && (!isset($globalphpVMS) || !$globalphpVMS)) {
34 38
 		$update_db->update_all();
35 39
 	//	require_once(dirname(__FILE__).'/../require/class.Spotter.php');
36 40
 	//	$Spotter = new Spotter();
37 41
 	//	$Spotter->updateFieldsFromOtherTables();
38 42
 		$update_db->insert_last_update();
39
-	} elseif (isset($globalDebug) && $globalDebug && (!isset($globalphpVMS) || !$globalphpVMS) && (!isset($globalIVAO) || !$globalIVAO) && (!isset($globalVATSIM) || !$globalVATSIM)) echo "DB are populated with external data only every 15 days ! Files are not updated more often.\n";
43
+	} elseif (isset($globalDebug) && $globalDebug && (!isset($globalphpVMS) || !$globalphpVMS) && (!isset($globalIVAO) || !$globalIVAO) && (!isset($globalVATSIM) || !$globalVATSIM)) {
44
+		echo "DB are populated with external data only every 15 days ! Files are not updated more often.\n";
45
+	}
40 46
 	if (isset($globalWaypoints) && $globalWaypoints && $update_db->check_last_airspace_update()) {
41 47
 		echo "Check if new airspace version exist...";
42 48
 		echo $update_db->update_airspace_fam();
@@ -52,8 +58,10 @@  discard block
 block discarded – undo
52 58
 	if ($METAR->check_last_update()) {
53 59
 		$METAR->addMETARCycle();
54 60
 		$METAR->insert_last_update();
55
-	} else echo "METAR are only updated every 30 minutes.\n";
56
-}
61
+	} else {
62
+		echo "METAR are only updated every 30 minutes.\n";
63
+	}
64
+	}
57 65
 
58 66
 
59 67
 if ($update_db->check_last_owner_update() && (!isset($globalIVAO) || !$globalIVAO) && (!isset($globalVATSIM) || !$globalVATSIM) && (!isset($globalphpVMS) || !$globalphpVMS)) {
@@ -62,14 +70,18 @@  discard block
 block discarded – undo
62 70
 	$update_db->update_owner_fam();
63 71
 	$update_db->delete_duplicateowner();
64 72
 	$update_db->insert_last_owner_update();
65
-} elseif (isset($globalDebug) && $globalDebug && (!isset($globalIVAO) || !$globalIVAO) && (!isset($globalVATSIM) || !$globalVATSIM) && (!isset($globalphpVMS) || !$globalphpVMS)) echo "Owner are only updated every 15 days.\n";
73
+} elseif (isset($globalDebug) && $globalDebug && (!isset($globalIVAO) || !$globalIVAO) && (!isset($globalVATSIM) || !$globalVATSIM) && (!isset($globalphpVMS) || !$globalphpVMS)) {
74
+	echo "Owner are only updated every 15 days.\n";
75
+}
66 76
 
67 77
 if (isset($globalSchedules) && $globalSchedules && $update_db->check_last_schedules_update() && (!isset($globalIVAO) || !$globalIVAO) && (!isset($globalVATSIM) || !$globalVATSIM) && (!isset($globalphpVMS) || !$globalphpVMS)) {
68 78
 	echo "Updating schedules...";
69 79
 	//$update_db->update_oneworld();
70 80
 	$update_db->update_skyteam();
71 81
 	$update_db->insert_last_schedules_update();
72
-} elseif (isset($globalDebug) && $globalDebug && isset($globalOwner) && $globalOwner && (!isset($globalIVAO) || !$globalIVAO) && (!isset($globalVATSIM) || !$globalVATSIM) && (!isset($globalphpVMS) || !$globalphpVMS)) echo "Schedules are only updated every 15 days.\n";
82
+} elseif (isset($globalDebug) && $globalDebug && isset($globalOwner) && $globalOwner && (!isset($globalIVAO) || !$globalIVAO) && (!isset($globalVATSIM) || !$globalVATSIM) && (!isset($globalphpVMS) || !$globalphpVMS)) {
83
+	echo "Schedules are only updated every 15 days.\n";
84
+}
73 85
 
74 86
 if (isset($globalArchiveMonths) && $globalArchiveMonths > 0) {
75 87
 	echo "Updating statistics and archive old data...";
Please login to merge, or discard this patch.
install/VAM/VAM-json.php 1 patch
Spacing   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -11,27 +11,27 @@
 block discarded – undo
11 11
 	die();
12 12
 }
13 13
 $query = 'select * from vam_live_flights rc, gvausers gu where gu.gvauser_id = rc.gvauser_id';  
14
-$json_data=array();  
14
+$json_data = array();  
15 15
 $result = $db->query($query);
16 16
 while ($rec = $result->fetch_assoc())
17 17
 {  
18
-	$json_array['gvauser_id']=$rec['gvauser_id']; // users "pilot unique ID" "40"
19
-	$json_array['flight_id']=$rec['flight_id']; // flight_id
20
-	$json_array['pilot_id']=$rec['callsign']; // users pilot_id "VAM500"
21
-	$json_array['callsign']=substr($rec['flight_id'],-7);  // substr icao Flight "AFR524"
22
-	$json_array['pilot_name']=$rec['name'] .' '.$rec['surname'] ;  // Users "name + surname"
23
-	$json_array['plane_type']=$rec['plane_type'];  // type Plane "B739"
24
-	$json_array['departure']=$rec['departure'];  // departure ICAO
25
-	$json_array['arrival']=$rec['arrival'];     // arrival Ident
26
-	$json_array['latitude']=$rec['latitude'];  // return 55.7328860921521
27
-	$json_array['longitude']=$rec['longitude'];  // return 8.87433614409404
28
-	$json_array['altitude']=$rec['altitude'];  // return "147"
29
-	$json_array['heading']=$rec['heading'];  // return "307"
30
-	$json_array['ias']=$rec['ias'];  // return speed "IAS"
31
-	$json_array['gs']=$rec['gs'];  // return speed "GS"
18
+	$json_array['gvauser_id'] = $rec['gvauser_id']; // users "pilot unique ID" "40"
19
+	$json_array['flight_id'] = $rec['flight_id']; // flight_id
20
+	$json_array['pilot_id'] = $rec['callsign']; // users pilot_id "VAM500"
21
+	$json_array['callsign'] = substr($rec['flight_id'], -7); // substr icao Flight "AFR524"
22
+	$json_array['pilot_name'] = $rec['name'].' '.$rec['surname']; // Users "name + surname"
23
+	$json_array['plane_type'] = $rec['plane_type']; // type Plane "B739"
24
+	$json_array['departure'] = $rec['departure']; // departure ICAO
25
+	$json_array['arrival'] = $rec['arrival']; // arrival Ident
26
+	$json_array['latitude'] = $rec['latitude']; // return 55.7328860921521
27
+	$json_array['longitude'] = $rec['longitude']; // return 8.87433614409404
28
+	$json_array['altitude'] = $rec['altitude']; // return "147"
29
+	$json_array['heading'] = $rec['heading']; // return "307"
30
+	$json_array['ias'] = $rec['ias']; // return speed "IAS"
31
+	$json_array['gs'] = $rec['gs']; // return speed "GS"
32 32
 	// $json_array['routes']=$rec['routes'];  // (unusable)
33
-	$json_array['flight_status']=$rec['flight_status'];  // "return Status"
34
-	$json_array['last_update']=$rec['last_update'];  // return "DateTime"
33
+	$json_array['flight_status'] = $rec['flight_status']; // "return Status"
34
+	$json_array['last_update'] = $rec['last_update']; // return "DateTime"
35 35
 	$json_data[] = $json_array;
36 36
  }  
37 37
 echo json_encode($json_data);
Please login to merge, or discard this patch.
statistics-pilot.php 3 patches
Indentation   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -7,13 +7,13 @@  discard block
 block discarded – undo
7 7
 
8 8
 $airline_icao = (string)filter_input(INPUT_GET,'airline',FILTER_SANITIZE_STRING);
9 9
 if ($airline_icao == 'all') {
10
-    unset($_COOKIE['stats_airline_icao']);
11
-    setcookie('stats_airline_icao', '', time()-3600);
12
-    $airline_icao = '';
10
+	unset($_COOKIE['stats_airline_icao']);
11
+	setcookie('stats_airline_icao', '', time()-3600);
12
+	$airline_icao = '';
13 13
 } elseif ($airline_icao == '' && isset($_COOKIE['stats_airline_icao'])) {
14
-    $airline_icao = $_COOKIE['stats_airline_icao'];
14
+	$airline_icao = $_COOKIE['stats_airline_icao'];
15 15
 } elseif ($airline_icao == '' && isset($globalFilter)) {
16
-    if (isset($globalFilter['airline'])) $airline_icao = $globalFilter['airline'][0];
16
+	if (isset($globalFilter['airline'])) $airline_icao = $globalFilter['airline'][0];
17 17
 }
18 18
 setcookie('stats_airline_icao',$airline_icao);
19 19
 
@@ -34,14 +34,14 @@  discard block
 block discarded – undo
34 34
           function drawChart() {
35 35
             var data = google.visualization.arrayToDataTable([
36 36
             	["'._("Pilot").'", "'._("# of times").'"], ';
37
-            	$pilot_data = '';
37
+				$pilot_data = '';
38 38
 		foreach($pilot_array as $pilot_item)
39 39
 		{
40 40
 			$pilot_data .= '[ "'.$pilot_item['pilot_name'].' ('.$pilot_item['pilot_id'].')",'.$pilot_item['pilot_count'].'],';
41 41
 		}
42 42
 		$pilot_data = substr($pilot_data, 0, -1);
43 43
 		print $pilot_data;
44
-            print ']);
44
+			print ']);
45 45
     
46 46
             var options = {
47 47
             	chartArea: {"width": "80%", "height": "60%"},
Please login to merge, or discard this patch.
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -6,17 +6,17 @@  discard block
 block discarded – undo
6 6
 $title = _("Statistics").' - '._("Most common Pilots");
7 7
 
8 8
 if (!isset($filter_name)) $filter_name = '';
9
-$airline_icao = (string)filter_input(INPUT_GET,'airline',FILTER_SANITIZE_STRING);
9
+$airline_icao = (string) filter_input(INPUT_GET, 'airline', FILTER_SANITIZE_STRING);
10 10
 if ($airline_icao == 'all') {
11 11
     unset($_COOKIE['stats_airline_icao']);
12
-    setcookie('stats_airline_icao', '', time()-3600);
12
+    setcookie('stats_airline_icao', '', time() - 3600);
13 13
     $airline_icao = '';
14 14
 } elseif ($airline_icao == '' && isset($_COOKIE['stats_airline_icao'])) {
15 15
     $airline_icao = $_COOKIE['stats_airline_icao'];
16 16
 } elseif ($airline_icao == '' && isset($globalFilter)) {
17 17
     if (isset($globalFilter['airline'])) $airline_icao = $globalFilter['airline'][0];
18 18
 }
19
-setcookie('stats_airline_icao',$airline_icao);
19
+setcookie('stats_airline_icao', $airline_icao);
20 20
 
21 21
 require_once('header.php');
22 22
 include('statistics-sub-menu.php');
@@ -27,7 +27,7 @@  discard block
 block discarded – undo
27 27
 	</div>
28 28
 	<p>'._("Below are the <strong>Top 10</strong> most common pilot.").'</p>';
29 29
 	  
30
-	$pilot_array = $Stats->countAllPilots(true,$airline_icao,$filter_name);
30
+	$pilot_array = $Stats->countAllPilots(true, $airline_icao, $filter_name);
31 31
 	print '<div id="chart" class="chart" width="100%"></div>
32 32
       	<script> 
33 33
       		google.load("visualization", "1", {packages:["corechart"]});
@@ -36,7 +36,7 @@  discard block
 block discarded – undo
36 36
             var data = google.visualization.arrayToDataTable([
37 37
             	["'._("Pilot").'", "'._("# of times").'"], ';
38 38
             	$pilot_data = '';
39
-		foreach($pilot_array as $pilot_item)
39
+		foreach ($pilot_array as $pilot_item)
40 40
 		{
41 41
 			$pilot_data .= '[ "'.$pilot_item['pilot_name'].' ('.$pilot_item['pilot_id'].')",'.$pilot_item['pilot_count'].'],';
42 42
 		}
@@ -69,7 +69,7 @@  discard block
 block discarded – undo
69 69
 	print '</thead>';
70 70
 	print '<tbody>';
71 71
 	$i = 1;
72
-	foreach($pilot_array as $pilot_item)
72
+	foreach ($pilot_array as $pilot_item)
73 73
 	{
74 74
 		print '<tr>';
75 75
 		print '<td><strong>'.$i.'</strong></td>';
Please login to merge, or discard this patch.
Braces   +7 added lines, -3 removed lines patch added patch discarded remove patch
@@ -5,7 +5,9 @@  discard block
 block discarded – undo
5 5
 $Stats = new Stats();
6 6
 $title = _("Statistics").' - '._("Most common Callsign");
7 7
 
8
-if (!isset($filter_name)) $filter_name = '';
8
+if (!isset($filter_name)) {
9
+	$filter_name = '';
10
+}
9 11
 $airline_icao = (string)filter_input(INPUT_GET,'airline',FILTER_SANITIZE_STRING);
10 12
 if ($airline_icao == 'all') {
11 13
     unset($_COOKIE['stats_airline_icao']);
@@ -14,8 +16,10 @@  discard block
 block discarded – undo
14 16
 } elseif ($airline_icao == '' && isset($_COOKIE['stats_airline_icao'])) {
15 17
     $airline_icao = $_COOKIE['stats_airline_icao'];
16 18
 } elseif ($airline_icao == '' && isset($globalFilter)) {
17
-    if (isset($globalFilter['airline'])) $airline_icao = $globalFilter['airline'][0];
18
-}
19
+    if (isset($globalFilter['airline'])) {
20
+    	$airline_icao = $globalFilter['airline'][0];
21
+    }
22
+    }
19 23
 setcookie('stats_airline_icao',$airline_icao);
20 24
 
21 25
 require_once('header.php');
Please login to merge, or discard this patch.
statistics-owner.php 3 patches
Indentation   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -7,13 +7,13 @@  discard block
 block discarded – undo
7 7
 
8 8
 $airline_icao = (string)filter_input(INPUT_GET,'airline',FILTER_SANITIZE_STRING);
9 9
 if ($airline_icao == 'all') {
10
-    unset($_COOKIE['stats_airline_icao']);
11
-    setcookie('stats_airline_icao', '', time()-3600);
12
-    $airline_icao = '';
10
+	unset($_COOKIE['stats_airline_icao']);
11
+	setcookie('stats_airline_icao', '', time()-3600);
12
+	$airline_icao = '';
13 13
 } elseif ($airline_icao == '' && isset($_COOKIE['stats_airline_icao'])) {
14
-    $airline_icao = $_COOKIE['stats_airline_icao'];
14
+	$airline_icao = $_COOKIE['stats_airline_icao'];
15 15
 } elseif ($airline_icao == '' && isset($globalFilter)) {
16
-    if (isset($globalFilter['airline'])) $airline_icao = $globalFilter['airline'][0];
16
+	if (isset($globalFilter['airline'])) $airline_icao = $globalFilter['airline'][0];
17 17
 }
18 18
 setcookie('stats_airline_icao',$airline_icao);
19 19
 
@@ -33,14 +33,14 @@  discard block
 block discarded – undo
33 33
           function drawChart() {
34 34
             var data = google.visualization.arrayToDataTable([
35 35
             	["'._("Owner").'", "'._("# of times").'"], ';
36
-            	$owner_data = '';
36
+				$owner_data = '';
37 37
 		foreach($owner_array as $owner_item)
38 38
 		{
39 39
 			$owner_data .= '[ "'.$owner_item['owner_name'].'",'.$owner_item['owner_count'].'],';
40 40
 		}
41 41
 		$owner_data = substr($owner_data, 0, -1);
42 42
 		print $owner_data;
43
-            print ']);
43
+			print ']);
44 44
     
45 45
             var options = {
46 46
             	chartArea: {"width": "80%", "height": "60%"},
Please login to merge, or discard this patch.
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -6,17 +6,17 @@  discard block
 block discarded – undo
6 6
 $title = _("Statistics").' - '._("Most common owners");
7 7
 
8 8
 if (!isset($filter_name)) $filter_name = '';
9
-$airline_icao = (string)filter_input(INPUT_GET,'airline',FILTER_SANITIZE_STRING);
9
+$airline_icao = (string) filter_input(INPUT_GET, 'airline', FILTER_SANITIZE_STRING);
10 10
 if ($airline_icao == 'all') {
11 11
     unset($_COOKIE['stats_airline_icao']);
12
-    setcookie('stats_airline_icao', '', time()-3600);
12
+    setcookie('stats_airline_icao', '', time() - 3600);
13 13
     $airline_icao = '';
14 14
 } elseif ($airline_icao == '' && isset($_COOKIE['stats_airline_icao'])) {
15 15
     $airline_icao = $_COOKIE['stats_airline_icao'];
16 16
 } elseif ($airline_icao == '' && isset($globalFilter)) {
17 17
     if (isset($globalFilter['airline'])) $airline_icao = $globalFilter['airline'][0];
18 18
 }
19
-setcookie('stats_airline_icao',$airline_icao);
19
+setcookie('stats_airline_icao', $airline_icao);
20 20
 
21 21
 require_once('header.php');
22 22
 include('statistics-sub-menu.php');
@@ -26,7 +26,7 @@  discard block
 block discarded – undo
26 26
 	</div>
27 27
 	<p>'._("Below are the <strong>Top 10</strong> most common owner.").'</p>';
28 28
  
29
-	$owner_array = $Stats->countAllOwners(true,$airline_icao,$filter_name);
29
+	$owner_array = $Stats->countAllOwners(true, $airline_icao, $filter_name);
30 30
 	print '<div id="chart" class="chart" width="100%"></div>
31 31
       	<script> 
32 32
       		google.load("visualization", "1", {packages:["corechart"]});
@@ -35,7 +35,7 @@  discard block
 block discarded – undo
35 35
             var data = google.visualization.arrayToDataTable([
36 36
             	["'._("Owner").'", "'._("# of times").'"], ';
37 37
             	$owner_data = '';
38
-		foreach($owner_array as $owner_item)
38
+		foreach ($owner_array as $owner_item)
39 39
 		{
40 40
 			$owner_data .= '[ "'.$owner_item['owner_name'].'",'.$owner_item['owner_count'].'],';
41 41
 		}
@@ -68,7 +68,7 @@  discard block
 block discarded – undo
68 68
 	print '</thead>';
69 69
 	print '<tbody>';
70 70
 	$i = 1;
71
-	foreach($owner_array as $owner_item)
71
+	foreach ($owner_array as $owner_item)
72 72
 	{
73 73
 		print '<tr>';
74 74
 		print '<td><strong>'.$i.'</strong></td>';
Please login to merge, or discard this patch.
Braces   +7 added lines, -3 removed lines patch added patch discarded remove patch
@@ -5,7 +5,9 @@  discard block
 block discarded – undo
5 5
 $Stats = new Stats();
6 6
 $title = _("Statistics").' - '._("Most common Callsign");
7 7
 
8
-if (!isset($filter_name)) $filter_name = '';
8
+if (!isset($filter_name)) {
9
+	$filter_name = '';
10
+}
9 11
 $airline_icao = (string)filter_input(INPUT_GET,'airline',FILTER_SANITIZE_STRING);
10 12
 if ($airline_icao == 'all') {
11 13
     unset($_COOKIE['stats_airline_icao']);
@@ -14,8 +16,10 @@  discard block
 block discarded – undo
14 16
 } elseif ($airline_icao == '' && isset($_COOKIE['stats_airline_icao'])) {
15 17
     $airline_icao = $_COOKIE['stats_airline_icao'];
16 18
 } elseif ($airline_icao == '' && isset($globalFilter)) {
17
-    if (isset($globalFilter['airline'])) $airline_icao = $globalFilter['airline'][0];
18
-}
19
+    if (isset($globalFilter['airline'])) {
20
+    	$airline_icao = $globalFilter['airline'][0];
21
+    }
22
+    }
19 23
 setcookie('stats_airline_icao',$airline_icao);
20 24
 
21 25
 require_once('header.php');
Please login to merge, or discard this patch.
statistics-registration.php 3 patches
Indentation   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -7,13 +7,13 @@  discard block
 block discarded – undo
7 7
 
8 8
 $airline_icao = (string)filter_input(INPUT_GET,'airline',FILTER_SANITIZE_STRING);
9 9
 if ($airline_icao == 'all') {
10
-    unset($_COOKIE['stats_airline_icao']);
11
-    setcookie('stats_airline_icao', '', time()-3600);
12
-    $airline_icao = '';
10
+	unset($_COOKIE['stats_airline_icao']);
11
+	setcookie('stats_airline_icao', '', time()-3600);
12
+	$airline_icao = '';
13 13
 } elseif ($airline_icao == '' && isset($_COOKIE['stats_airline_icao'])) {
14
-    $airline_icao = $_COOKIE['stats_airline_icao'];
14
+	$airline_icao = $_COOKIE['stats_airline_icao'];
15 15
 } elseif ($airline_icao == '' && isset($globalFilter)) {
16
-    if (isset($globalFilter['airline'])) $airline_icao = $globalFilter['airline'][0];
16
+	if (isset($globalFilter['airline'])) $airline_icao = $globalFilter['airline'][0];
17 17
 }
18 18
 setcookie('stats_airline_icao',$airline_icao);
19 19
 
@@ -34,7 +34,7 @@  discard block
 block discarded – undo
34 34
           function drawChart() {
35 35
             var data = google.visualization.arrayToDataTable([
36 36
             	["'._("Aircraft Manufacturer").'", "'._("# of times").'"], ';
37
-            	$registration_data = '';
37
+				$registration_data = '';
38 38
 foreach($registration_array as $registration_item)
39 39
 {
40 40
 	$registration_data .= '[ "'.$registration_item['registration'].' - '.$registration_item['aircraft_name'].' ('.$registration_item['aircraft_icao'].')",'.$registration_item['aircraft_registration_count'].'],';
Please login to merge, or discard this patch.
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -6,17 +6,17 @@  discard block
 block discarded – undo
6 6
 $title = _("Statistics").' - '._("Most common Aircraft Registrations");
7 7
 
8 8
 if (!isset($filter_name)) $filter_name = '';
9
-$airline_icao = (string)filter_input(INPUT_GET,'airline',FILTER_SANITIZE_STRING);
9
+$airline_icao = (string) filter_input(INPUT_GET, 'airline', FILTER_SANITIZE_STRING);
10 10
 if ($airline_icao == 'all') {
11 11
     unset($_COOKIE['stats_airline_icao']);
12
-    setcookie('stats_airline_icao', '', time()-3600);
12
+    setcookie('stats_airline_icao', '', time() - 3600);
13 13
     $airline_icao = '';
14 14
 } elseif ($airline_icao == '' && isset($_COOKIE['stats_airline_icao'])) {
15 15
     $airline_icao = $_COOKIE['stats_airline_icao'];
16 16
 } elseif ($airline_icao == '' && isset($globalFilter)) {
17 17
     if (isset($globalFilter['airline'])) $airline_icao = $globalFilter['airline'][0];
18 18
 }
19
-setcookie('stats_airline_icao',$airline_icao);
19
+setcookie('stats_airline_icao', $airline_icao);
20 20
 
21 21
 require_once('header.php');
22 22
 include('statistics-sub-menu.php'); 
@@ -27,7 +27,7 @@  discard block
 block discarded – undo
27 27
 	</div>
28 28
     	<p>'._("Below are the <strong>Top 10</strong> most common aircraft registrations.").'</p>';
29 29
   
30
-$registration_array = $Stats->countAllAircraftRegistrations(true,$airline_icao,$filter_name);
30
+$registration_array = $Stats->countAllAircraftRegistrations(true, $airline_icao, $filter_name);
31 31
 print '<div id="chart" class="chart" width="100%"></div>
32 32
       	    <script> 
33 33
       		google.load("visualization", "1", {packages:["corechart"]});
@@ -36,7 +36,7 @@  discard block
 block discarded – undo
36 36
             var data = google.visualization.arrayToDataTable([
37 37
             	["'._("Aircraft Manufacturer").'", "'._("# of times").'"], ';
38 38
             	$registration_data = '';
39
-foreach($registration_array as $registration_item)
39
+foreach ($registration_array as $registration_item)
40 40
 {
41 41
 	$registration_data .= '[ "'.$registration_item['registration'].' - '.$registration_item['aircraft_name'].' ('.$registration_item['aircraft_icao'].')",'.$registration_item['aircraft_registration_count'].'],';
42 42
 }
@@ -71,7 +71,7 @@  discard block
 block discarded – undo
71 71
 	print '</thead>';
72 72
 	print '<tbody>';
73 73
 	$i = 1;
74
-	foreach($registration_array as $registration_item)
74
+	foreach ($registration_array as $registration_item)
75 75
 	{
76 76
 		print '<tr>';
77 77
 		print '<td><strong>'.$i.'</strong></td>';
Please login to merge, or discard this patch.
Braces   +7 added lines, -3 removed lines patch added patch discarded remove patch
@@ -5,7 +5,9 @@  discard block
 block discarded – undo
5 5
 $Stats = new Stats();
6 6
 $title = _("Statistics").' - '._("Most common Callsign");
7 7
 
8
-if (!isset($filter_name)) $filter_name = '';
8
+if (!isset($filter_name)) {
9
+	$filter_name = '';
10
+}
9 11
 $airline_icao = (string)filter_input(INPUT_GET,'airline',FILTER_SANITIZE_STRING);
10 12
 if ($airline_icao == 'all') {
11 13
     unset($_COOKIE['stats_airline_icao']);
@@ -14,8 +16,10 @@  discard block
 block discarded – undo
14 16
 } elseif ($airline_icao == '' && isset($_COOKIE['stats_airline_icao'])) {
15 17
     $airline_icao = $_COOKIE['stats_airline_icao'];
16 18
 } elseif ($airline_icao == '' && isset($globalFilter)) {
17
-    if (isset($globalFilter['airline'])) $airline_icao = $globalFilter['airline'][0];
18
-}
19
+    if (isset($globalFilter['airline'])) {
20
+    	$airline_icao = $globalFilter['airline'][0];
21
+    }
22
+    }
19 23
 setcookie('stats_airline_icao',$airline_icao);
20 24
 
21 25
 require_once('header.php');
Please login to merge, or discard this patch.