@@ -982,7 +982,7 @@ discard block |
||
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); |
@@ -1000,19 +1000,19 @@ discard block |
||
1000 | 1000 | try { |
1001 | 1001 | $sth = $this->db->prepare($query); |
1002 | 1002 | $sth->execute($query_values); |
1003 | - } catch(PDOException $e) { |
|
1003 | + } catch (PDOException $e) { |
|
1004 | 1004 | echo "error : ".$e->getMessage(); |
1005 | 1005 | } |
1006 | 1006 | $all = $sth->fetchAll(PDO::FETCH_ASSOC); |
1007 | 1007 | return $all; |
1008 | 1008 | } |
1009 | 1009 | public function getAllNOTAMtext() { |
1010 | - $query = 'SELECT full_notam FROM notam'; |
|
1010 | + $query = 'SELECT full_notam FROM notam'; |
|
1011 | 1011 | $query_values = array(); |
1012 | 1012 | try { |
1013 | 1013 | $sth = $this->db->prepare($query); |
1014 | 1014 | $sth->execute($query_values); |
1015 | - } catch(PDOException $e) { |
|
1015 | + } catch (PDOException $e) { |
|
1016 | 1016 | echo "error : ".$e->getMessage(); |
1017 | 1017 | } |
1018 | 1018 | $all = $sth->fetchAll(PDO::FETCH_ASSOC); |
@@ -1021,13 +1021,13 @@ discard block |
||
1021 | 1021 | public function createNOTAMtextFile($filename) { |
1022 | 1022 | $allnotam_result = $this->getAllNOTAMtext(); |
1023 | 1023 | $notamtext = ''; |
1024 | - foreach($allnotam_result as $notam) { |
|
1024 | + foreach ($allnotam_result as $notam) { |
|
1025 | 1025 | $notamtext .= '%%'."\n"; |
1026 | 1026 | $notamtext .= $notam['full_notam']; |
1027 | 1027 | $notamtext .= "\n".'%%'."\n"; |
1028 | 1028 | } |
1029 | 1029 | //$allnotam = implode('\n%%%%\n',$allnotam_result); |
1030 | - file_put_contents($filename,$notamtext); |
|
1030 | + file_put_contents($filename, $notamtext); |
|
1031 | 1031 | } |
1032 | 1032 | public function parseNOTAMtextFile($filename) { |
1033 | 1033 | $data = file_get_contents($filename); |
@@ -1048,7 +1048,7 @@ discard block |
||
1048 | 1048 | try { |
1049 | 1049 | $sth = $this->db->prepare($query); |
1050 | 1050 | $sth->execute($query_values); |
1051 | - } catch(PDOException $e) { |
|
1051 | + } catch (PDOException $e) { |
|
1052 | 1052 | echo "error : ".$e->getMessage(); |
1053 | 1053 | } |
1054 | 1054 | $all = $sth->fetchAll(PDO::FETCH_ASSOC); |
@@ -1057,10 +1057,10 @@ discard block |
||
1057 | 1057 | public function getAllNOTAMbyCoord($coord) { |
1058 | 1058 | global $globalDBdriver; |
1059 | 1059 | if (is_array($coord)) { |
1060 | - $minlong = filter_var($coord[0],FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION); |
|
1061 | - $minlat = filter_var($coord[1],FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION); |
|
1062 | - $maxlong = filter_var($coord[2],FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION); |
|
1063 | - $maxlat = filter_var($coord[3],FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION); |
|
1060 | + $minlong = filter_var($coord[0], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); |
|
1061 | + $minlat = filter_var($coord[1], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); |
|
1062 | + $maxlong = filter_var($coord[2], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); |
|
1063 | + $maxlat = filter_var($coord[3], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); |
|
1064 | 1064 | if ($minlat > $maxlat) { |
1065 | 1065 | $tmplat = $minlat; |
1066 | 1066 | $minlat = $maxlat; |
@@ -1082,19 +1082,19 @@ discard block |
||
1082 | 1082 | try { |
1083 | 1083 | $sth = $this->db->prepare($query); |
1084 | 1084 | $sth->execute($query_values); |
1085 | - } catch(PDOException $e) { |
|
1085 | + } catch (PDOException $e) { |
|
1086 | 1086 | echo "error : ".$e->getMessage(); |
1087 | 1087 | } |
1088 | 1088 | $all = $sth->fetchAll(PDO::FETCH_ASSOC); |
1089 | 1089 | return $all; |
1090 | 1090 | } |
1091 | - public function getAllNOTAMbyCoordScope($coord,$scope) { |
|
1091 | + public function getAllNOTAMbyCoordScope($coord, $scope) { |
|
1092 | 1092 | global $globalDBdriver; |
1093 | 1093 | if (is_array($coord)) { |
1094 | - $minlong = filter_var($coord[0],FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION); |
|
1095 | - $minlat = filter_var($coord[1],FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION); |
|
1096 | - $maxlong = filter_var($coord[2],FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION); |
|
1097 | - $maxlat = filter_var($coord[3],FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION); |
|
1094 | + $minlong = filter_var($coord[0], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); |
|
1095 | + $minlat = filter_var($coord[1], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); |
|
1096 | + $maxlong = filter_var($coord[2], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); |
|
1097 | + $maxlat = filter_var($coord[3], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); |
|
1098 | 1098 | } else return array(); |
1099 | 1099 | if ($globalDBdriver == 'mysql') { |
1100 | 1100 | $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'; |
@@ -1106,7 +1106,7 @@ discard block |
||
1106 | 1106 | try { |
1107 | 1107 | $sth = $this->db->prepare($query); |
1108 | 1108 | $sth->execute($query_values); |
1109 | - } catch(PDOException $e) { |
|
1109 | + } catch (PDOException $e) { |
|
1110 | 1110 | echo "error : ".$e->getMessage(); |
1111 | 1111 | } |
1112 | 1112 | $all = $sth->fetchAll(PDO::FETCH_ASSOC); |
@@ -1118,7 +1118,7 @@ discard block |
||
1118 | 1118 | try { |
1119 | 1119 | $sth = $this->db->prepare($query); |
1120 | 1120 | $sth->execute($query_values); |
1121 | - } catch(PDOException $e) { |
|
1121 | + } catch (PDOException $e) { |
|
1122 | 1122 | return "error : ".$e->getMessage(); |
1123 | 1123 | } |
1124 | 1124 | $all = $sth->fetchAll(PDO::FETCH_ASSOC); |
@@ -1126,13 +1126,13 @@ discard block |
||
1126 | 1126 | else return array(); |
1127 | 1127 | } |
1128 | 1128 | |
1129 | - 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) { |
|
1129 | + 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) { |
|
1130 | 1130 | $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)"; |
1131 | - $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); |
|
1131 | + $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); |
|
1132 | 1132 | try { |
1133 | 1133 | $sth = $this->db->prepare($query); |
1134 | 1134 | $sth->execute($query_values); |
1135 | - } catch(PDOException $e) { |
|
1135 | + } catch (PDOException $e) { |
|
1136 | 1136 | return "error : ".$e->getMessage(); |
1137 | 1137 | } |
1138 | 1138 | } |
@@ -1143,7 +1143,7 @@ discard block |
||
1143 | 1143 | try { |
1144 | 1144 | $sth = $this->db->prepare($query); |
1145 | 1145 | $sth->execute($query_values); |
1146 | - } catch(PDOException $e) { |
|
1146 | + } catch (PDOException $e) { |
|
1147 | 1147 | return "error : ".$e->getMessage(); |
1148 | 1148 | } |
1149 | 1149 | } |
@@ -1158,7 +1158,7 @@ discard block |
||
1158 | 1158 | try { |
1159 | 1159 | $sth = $this->db->prepare($query); |
1160 | 1160 | $sth->execute($query_values); |
1161 | - } catch(PDOException $e) { |
|
1161 | + } catch (PDOException $e) { |
|
1162 | 1162 | return "error : ".$e->getMessage(); |
1163 | 1163 | } |
1164 | 1164 | } |
@@ -1168,7 +1168,7 @@ discard block |
||
1168 | 1168 | try { |
1169 | 1169 | $sth = $this->db->prepare($query); |
1170 | 1170 | $sth->execute($query_values); |
1171 | - } catch(PDOException $e) { |
|
1171 | + } catch (PDOException $e) { |
|
1172 | 1172 | return "error : ".$e->getMessage(); |
1173 | 1173 | } |
1174 | 1174 | } |
@@ -1177,7 +1177,7 @@ discard block |
||
1177 | 1177 | try { |
1178 | 1178 | $sth = $this->db->prepare($query); |
1179 | 1179 | $sth->execute(); |
1180 | - } catch(PDOException $e) { |
|
1180 | + } catch (PDOException $e) { |
|
1181 | 1181 | return "error : ".$e->getMessage(); |
1182 | 1182 | } |
1183 | 1183 | } |
@@ -1186,7 +1186,7 @@ discard block |
||
1186 | 1186 | try { |
1187 | 1187 | $sth = $this->db->prepare($query); |
1188 | 1188 | $sth->execute(); |
1189 | - } catch(PDOException $e) { |
|
1189 | + } catch (PDOException $e) { |
|
1190 | 1190 | return "error : ".$e->getMessage(); |
1191 | 1191 | } |
1192 | 1192 | } |
@@ -1194,14 +1194,14 @@ discard block |
||
1194 | 1194 | public function updateNOTAM() { |
1195 | 1195 | global $globalNOTAMAirports; |
1196 | 1196 | if (isset($globalNOTAMAirports) && is_array($globalNOTAMAirports) && count($globalNOTAMAirports) > 0) { |
1197 | - foreach (array_chunk($globalNOTAMAirports,10) as $airport) { |
|
1198 | - $airport_icao = implode(',',$airport); |
|
1197 | + foreach (array_chunk($globalNOTAMAirports, 10) as $airport) { |
|
1198 | + $airport_icao = implode(',', $airport); |
|
1199 | 1199 | $alldata = $this->downloadNOTAM($airport_icao); |
1200 | 1200 | if (count($alldata) > 0) { |
1201 | 1201 | foreach ($alldata as $initial_data) { |
1202 | 1202 | $data = $this->parse($initial_data); |
1203 | 1203 | $notamref = $this->getNOTAMbyRef($data['ref']); |
1204 | - 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']); |
|
1204 | + 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']); |
|
1205 | 1205 | } |
1206 | 1206 | } |
1207 | 1207 | } |
@@ -1214,7 +1214,7 @@ discard block |
||
1214 | 1214 | foreach ($alldata as $initial_data) { |
1215 | 1215 | $data = $this->parse($initial_data); |
1216 | 1216 | $notamref = $this->getNOTAMbyRef($data['ref']); |
1217 | - 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']); |
|
1217 | + 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']); |
|
1218 | 1218 | } |
1219 | 1219 | } |
1220 | 1220 | } |
@@ -1223,12 +1223,12 @@ discard block |
||
1223 | 1223 | global $globalTransaction; |
1224 | 1224 | $Spotter = new Spotter(); |
1225 | 1225 | $allairports = $Spotter->getAllAirportInfo(); |
1226 | - foreach (array_chunk($allairports,20) as $airport) { |
|
1226 | + foreach (array_chunk($allairports, 20) as $airport) { |
|
1227 | 1227 | $airports_icao = array(); |
1228 | - foreach($airport as $icao) { |
|
1228 | + foreach ($airport as $icao) { |
|
1229 | 1229 | if (isset($icao['icao'])) $airports_icao[] = $icao['icao']; |
1230 | 1230 | } |
1231 | - $airport_icao = implode(',',$airports_icao); |
|
1231 | + $airport_icao = implode(',', $airports_icao); |
|
1232 | 1232 | $alldata = $this->downloadNOTAM($airport_icao); |
1233 | 1233 | if ($globalTransaction) $this->db->beginTransaction(); |
1234 | 1234 | if (count($alldata) > 0) { |
@@ -1241,7 +1241,7 @@ discard block |
||
1241 | 1241 | if (count($notamref) == 0) { |
1242 | 1242 | if (isset($data['ref_replaced'])) $this->deleteNOTAMbyRef($data['ref_replaced']); |
1243 | 1243 | if (isset($data['ref_cancelled'])) $this->deleteNOTAMbyRef($data['ref_cancelled']); |
1244 | - 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']); |
|
1244 | + 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']); |
|
1245 | 1245 | } |
1246 | 1246 | } |
1247 | 1247 | } |
@@ -1255,7 +1255,7 @@ discard block |
||
1255 | 1255 | date_default_timezone_set("UTC"); |
1256 | 1256 | $Common = new Common(); |
1257 | 1257 | //$url = str_replace('{icao}',$icao,'https://pilotweb.nas.faa.gov/PilotWeb/notamRetrievalByICAOAction.do?method=displayByICAOs&reportType=RAW&formatType=DOMESTIC&retrieveLocId={icao}&actionType=notamRetrievalByICAOs'); |
1258 | - $url = str_replace('{icao}',$icao,'https://pilotweb.nas.faa.gov/PilotWeb/notamRetrievalByICAOAction.do?method=displayByICAOs&reportType=RAW&formatType=ICAO&retrieveLocId={icao}&actionType=notamRetrievalByICAOs'); |
|
1258 | + $url = str_replace('{icao}', $icao, 'https://pilotweb.nas.faa.gov/PilotWeb/notamRetrievalByICAOAction.do?method=displayByICAOs&reportType=RAW&formatType=ICAO&retrieveLocId={icao}&actionType=notamRetrievalByICAOs'); |
|
1259 | 1259 | $data = $Common->getData($url); |
1260 | 1260 | preg_match_all("/<pre>(.+?)<\/pre>/is", $data, $matches); |
1261 | 1261 | //print_r($matches); |
@@ -1267,14 +1267,14 @@ discard block |
||
1267 | 1267 | $Common = new Common(); |
1268 | 1268 | $result = array(); |
1269 | 1269 | $result['full_notam'] = $data; |
1270 | - $data = str_ireplace(array("\r","\n",'\r','\n'),' ',$data); |
|
1271 | - $data = preg_split('#(?=([A-Z]\)\s))#',$data); |
|
1270 | + $data = str_ireplace(array("\r", "\n", '\r', '\n'), ' ', $data); |
|
1271 | + $data = preg_split('#(?=([A-Z]\)\s))#', $data); |
|
1272 | 1272 | //print_r($data); |
1273 | 1273 | foreach ($data as $line) { |
1274 | 1274 | $line = trim($line); |
1275 | - if (preg_match('#Q\) (.*)#',$line,$matches)) { |
|
1276 | - $line = str_replace(' ','',$line); |
|
1277 | - if (preg_match('#Q\)([A-Z]{3,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)) { |
|
1275 | + if (preg_match('#Q\) (.*)#', $line, $matches)) { |
|
1276 | + $line = str_replace(' ', '', $line); |
|
1277 | + if (preg_match('#Q\)([A-Z]{3,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)) { |
|
1278 | 1278 | //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)) { |
1279 | 1279 | //print_r($matches); |
1280 | 1280 | $result['fir'] = $matches[1]; |
@@ -1320,9 +1320,9 @@ discard block |
||
1320 | 1320 | elseif ($matches[5] == 'AW') $result['scope'] = 'Airport/Navigation warning'; |
1321 | 1321 | $result['lower_limit'] = $matches[6]; |
1322 | 1322 | $result['upper_limit'] = $matches[7]; |
1323 | - $latitude = $Common->convertDec($matches[8],'latitude'); |
|
1323 | + $latitude = $Common->convertDec($matches[8], 'latitude'); |
|
1324 | 1324 | if ($matches[9] == 'S') $latitude = -$latitude; |
1325 | - $longitude = $Common->convertDec($matches[10],'longitude'); |
|
1325 | + $longitude = $Common->convertDec($matches[10], 'longitude'); |
|
1326 | 1326 | if ($matches[11] == 'W') $longitude = -$longitude; |
1327 | 1327 | $result['latitude'] = $latitude; |
1328 | 1328 | $result['longitude'] = $longitude; |
@@ -1330,21 +1330,21 @@ discard block |
||
1330 | 1330 | else $result['radius'] = 0; |
1331 | 1331 | } else echo 'ERROR : '.$line."\n"; |
1332 | 1332 | } |
1333 | - elseif (preg_match('#A\) (.*)#',$line,$matches)) { |
|
1333 | + elseif (preg_match('#A\) (.*)#', $line, $matches)) { |
|
1334 | 1334 | $result['icao'] = $matches[1]; |
1335 | 1335 | } |
1336 | - elseif (preg_match('#B\) ([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})#',$line,$matches)) { |
|
1336 | + elseif (preg_match('#B\) ([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})#', $line, $matches)) { |
|
1337 | 1337 | if ($matches[1] > 50) $year = '19'.$matches[1]; |
1338 | 1338 | else $year = '20'.$matches[1]; |
1339 | 1339 | $result['date_begin'] = $year.'/'.$matches[2].'/'.$matches[3].' '.$matches[4].':'.$matches[5]; |
1340 | 1340 | } |
1341 | - elseif (preg_match('#C\) ([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})$#',$line,$matches)) { |
|
1341 | + elseif (preg_match('#C\) ([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})$#', $line, $matches)) { |
|
1342 | 1342 | if ($matches[1] > 50) $year = '19'.$matches[1]; |
1343 | 1343 | else $year = '20'.$matches[1]; |
1344 | 1344 | $result['date_end'] = $year.'/'.$matches[2].'/'.$matches[3].' '.$matches[4].':'.$matches[5]; |
1345 | 1345 | $result['permanent'] = 0; |
1346 | 1346 | } |
1347 | - elseif (preg_match('#C\) ([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2}) (EST|PERM)$#',$line,$matches)) { |
|
1347 | + elseif (preg_match('#C\) ([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2}) (EST|PERM)$#', $line, $matches)) { |
|
1348 | 1348 | if ($matches[1] > 50) $year = '19'.$matches[1]; |
1349 | 1349 | else $year = '20'.$matches[1]; |
1350 | 1350 | $result['date_end'] = $year.'/'.$matches[2].'/'.$matches[3].' '.$matches[4].':'.$matches[5]; |
@@ -1353,26 +1353,26 @@ discard block |
||
1353 | 1353 | if ($matches[6] == 'PERM') $result['permanent'] = 1; |
1354 | 1354 | else $result['permanent'] = 0; |
1355 | 1355 | } |
1356 | - elseif (preg_match('#C\) (EST|PERM)$#',$line,$matches)) { |
|
1356 | + elseif (preg_match('#C\) (EST|PERM)$#', $line, $matches)) { |
|
1357 | 1357 | $result['date_end'] = '2030/12/20 12:00'; |
1358 | 1358 | if ($matches[1] == 'EST') $result['estimated'] = 1; |
1359 | 1359 | else $result['estimated'] = 0; |
1360 | 1360 | if ($matches[1] == 'PERM') $result['permanent'] = 1; |
1361 | 1361 | else $result['permanent'] = 0; |
1362 | 1362 | } |
1363 | - elseif (preg_match('#E\) (.*)#',$line,$matches)) { |
|
1363 | + elseif (preg_match('#E\) (.*)#', $line, $matches)) { |
|
1364 | 1364 | $rtext = array(); |
1365 | - $text = explode(' ',$matches[1]); |
|
1365 | + $text = explode(' ', $matches[1]); |
|
1366 | 1366 | foreach ($text as $word) { |
1367 | 1367 | if (isset($this->abbr[$word])) $rtext[] = strtoupper($this->abbr[$word]); |
1368 | - 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); |
|
1368 | + 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); |
|
1369 | 1369 | else $rtext[] = $word; |
1370 | 1370 | } |
1371 | - $result['text'] = implode(' ',$rtext); |
|
1371 | + $result['text'] = implode(' ', $rtext); |
|
1372 | 1372 | //} elseif (preg_match('#F\) (.*)#',$line,$matches)) { |
1373 | 1373 | //} elseif (preg_match('#G\) (.*)#',$line,$matches)) { |
1374 | - } elseif (preg_match('#(NOTAMN|NOTAMR|NOTAMC)#',$line,$matches)) { |
|
1375 | - $text = explode(' ',$line); |
|
1374 | + } elseif (preg_match('#(NOTAMN|NOTAMR|NOTAMC)#', $line, $matches)) { |
|
1375 | + $text = explode(' ', $line); |
|
1376 | 1376 | $result['ref'] = $text[0]; |
1377 | 1377 | if ($matches[1] == 'NOTAMN') $result['type'] = 'new'; |
1378 | 1378 | if ($matches[1] == 'NOTAMC') { |
@@ -1033,8 +1033,11 @@ discard block |
||
1033 | 1033 | $data = file_get_contents($filename); |
1034 | 1034 | preg_match_all("/%%(.+?)%%/is", $data, $matches); |
1035 | 1035 | //print_r($matches); |
1036 | - if (isset($matches[1])) return $matches[1]; |
|
1037 | - else return array(); |
|
1036 | + if (isset($matches[1])) { |
|
1037 | + return $matches[1]; |
|
1038 | + } else { |
|
1039 | + return array(); |
|
1040 | + } |
|
1038 | 1041 | } |
1039 | 1042 | public function getAllNOTAMbyScope($scope) { |
1040 | 1043 | global $globalDBdriver; |
@@ -1071,7 +1074,9 @@ discard block |
||
1071 | 1074 | $minlong = $maxlong; |
1072 | 1075 | $maxlong = $tmplong; |
1073 | 1076 | } |
1074 | - } else return array(); |
|
1077 | + } else { |
|
1078 | + return array(); |
|
1079 | + } |
|
1075 | 1080 | if ($globalDBdriver == 'mysql') { |
1076 | 1081 | $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()'; |
1077 | 1082 | } else { |
@@ -1095,7 +1100,9 @@ discard block |
||
1095 | 1100 | $minlat = filter_var($coord[1],FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION); |
1096 | 1101 | $maxlong = filter_var($coord[2],FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION); |
1097 | 1102 | $maxlat = filter_var($coord[3],FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION); |
1098 | - } else return array(); |
|
1103 | + } else { |
|
1104 | + return array(); |
|
1105 | + } |
|
1099 | 1106 | if ($globalDBdriver == 'mysql') { |
1100 | 1107 | $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'; |
1101 | 1108 | } else { |
@@ -1122,8 +1129,11 @@ discard block |
||
1122 | 1129 | return "error : ".$e->getMessage(); |
1123 | 1130 | } |
1124 | 1131 | $all = $sth->fetchAll(PDO::FETCH_ASSOC); |
1125 | - if (isset($all[0])) return $all[0]; |
|
1126 | - else return array(); |
|
1132 | + if (isset($all[0])) { |
|
1133 | + return $all[0]; |
|
1134 | + } else { |
|
1135 | + return array(); |
|
1136 | + } |
|
1127 | 1137 | } |
1128 | 1138 | |
1129 | 1139 | 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) { |
@@ -1201,7 +1211,9 @@ discard block |
||
1201 | 1211 | foreach ($alldata as $initial_data) { |
1202 | 1212 | $data = $this->parse($initial_data); |
1203 | 1213 | $notamref = $this->getNOTAMbyRef($data['ref']); |
1204 | - 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']); |
|
1214 | + if (count($notamref) == 0) { |
|
1215 | + $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']); |
|
1216 | + } |
|
1205 | 1217 | } |
1206 | 1218 | } |
1207 | 1219 | } |
@@ -1214,7 +1226,9 @@ discard block |
||
1214 | 1226 | foreach ($alldata as $initial_data) { |
1215 | 1227 | $data = $this->parse($initial_data); |
1216 | 1228 | $notamref = $this->getNOTAMbyRef($data['ref']); |
1217 | - 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']); |
|
1229 | + if (!isset($notamref['notam_id'])) { |
|
1230 | + $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']); |
|
1231 | + } |
|
1218 | 1232 | } |
1219 | 1233 | } |
1220 | 1234 | } |
@@ -1226,11 +1240,15 @@ discard block |
||
1226 | 1240 | foreach (array_chunk($allairports,20) as $airport) { |
1227 | 1241 | $airports_icao = array(); |
1228 | 1242 | foreach($airport as $icao) { |
1229 | - if (isset($icao['icao'])) $airports_icao[] = $icao['icao']; |
|
1243 | + if (isset($icao['icao'])) { |
|
1244 | + $airports_icao[] = $icao['icao']; |
|
1245 | + } |
|
1230 | 1246 | } |
1231 | 1247 | $airport_icao = implode(',',$airports_icao); |
1232 | 1248 | $alldata = $this->downloadNOTAM($airport_icao); |
1233 | - if ($globalTransaction) $this->db->beginTransaction(); |
|
1249 | + if ($globalTransaction) { |
|
1250 | + $this->db->beginTransaction(); |
|
1251 | + } |
|
1234 | 1252 | if (count($alldata) > 0) { |
1235 | 1253 | foreach ($alldata as $initial_data) { |
1236 | 1254 | //print_r($initial_data); |
@@ -1239,14 +1257,23 @@ discard block |
||
1239 | 1257 | if (isset($data['ref'])) { |
1240 | 1258 | $notamref = $this->getNOTAMbyRef($data['ref']); |
1241 | 1259 | if (count($notamref) == 0) { |
1242 | - if (isset($data['ref_replaced'])) $this->deleteNOTAMbyRef($data['ref_replaced']); |
|
1243 | - if (isset($data['ref_cancelled'])) $this->deleteNOTAMbyRef($data['ref_cancelled']); |
|
1244 | - 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']); |
|
1260 | + if (isset($data['ref_replaced'])) { |
|
1261 | + $this->deleteNOTAMbyRef($data['ref_replaced']); |
|
1262 | + } |
|
1263 | + if (isset($data['ref_cancelled'])) { |
|
1264 | + $this->deleteNOTAMbyRef($data['ref_cancelled']); |
|
1265 | + } elseif (isset($data['latitude']) && isset($data['scope']) && isset($data['text']) && isset($data['permanent'])) { |
|
1266 | + 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']); |
|
1267 | + } |
|
1245 | 1268 | } |
1246 | 1269 | } |
1247 | 1270 | } |
1248 | - } else echo 'Error on download. Nothing matches for '.$airport_icao."\n"; |
|
1249 | - if ($globalTransaction) $this->db->commit(); |
|
1271 | + } else { |
|
1272 | + echo 'Error on download. Nothing matches for '.$airport_icao."\n"; |
|
1273 | + } |
|
1274 | + if ($globalTransaction) { |
|
1275 | + $this->db->commit(); |
|
1276 | + } |
|
1250 | 1277 | sleep(5); |
1251 | 1278 | } |
1252 | 1279 | } |
@@ -1259,8 +1286,11 @@ discard block |
||
1259 | 1286 | $data = $Common->getData($url); |
1260 | 1287 | preg_match_all("/<pre>(.+?)<\/pre>/is", $data, $matches); |
1261 | 1288 | //print_r($matches); |
1262 | - if (isset($matches[1])) return $matches[1]; |
|
1263 | - else return array(); |
|
1289 | + if (isset($matches[1])) { |
|
1290 | + return $matches[1]; |
|
1291 | + } else { |
|
1292 | + return array(); |
|
1293 | + } |
|
1264 | 1294 | } |
1265 | 1295 | |
1266 | 1296 | public function parse($data) { |
@@ -1283,90 +1313,149 @@ discard block |
||
1283 | 1313 | $rules = str_split($matches[3]); |
1284 | 1314 | foreach ($rules as $rule) { |
1285 | 1315 | if ($rule == 'I') { |
1286 | - if (isset($result['rules'])) $result['rules'] = $result['rules'].'/IFR'; |
|
1287 | - else $result['rules'] = 'IFR'; |
|
1316 | + if (isset($result['rules'])) { |
|
1317 | + $result['rules'] = $result['rules'].'/IFR'; |
|
1318 | + } else { |
|
1319 | + $result['rules'] = 'IFR'; |
|
1320 | + } |
|
1288 | 1321 | } elseif ($rule == 'V') { |
1289 | - if (isset($result['rules'])) $result['rules'] = $result['rules'].'/VFR'; |
|
1290 | - else $result['rules'] = 'VFR'; |
|
1322 | + if (isset($result['rules'])) { |
|
1323 | + $result['rules'] = $result['rules'].'/VFR'; |
|
1324 | + } else { |
|
1325 | + $result['rules'] = 'VFR'; |
|
1326 | + } |
|
1291 | 1327 | } elseif ($rule == 'K') { |
1292 | - if (isset($result['rules'])) $result['rules'] = $result['rules'].'/Checklist'; |
|
1293 | - else $result['rules'] = 'Checklist'; |
|
1328 | + if (isset($result['rules'])) { |
|
1329 | + $result['rules'] = $result['rules'].'/Checklist'; |
|
1330 | + } else { |
|
1331 | + $result['rules'] = 'Checklist'; |
|
1332 | + } |
|
1294 | 1333 | } |
1295 | 1334 | } |
1296 | 1335 | $attentions = str_split($matches[4]); |
1297 | 1336 | foreach ($attentions as $attention) { |
1298 | 1337 | if ($attention == 'N') { |
1299 | - if (isset($result['attention'])) $result['attention'] = $result['attention'].' / Immediate attention'; |
|
1300 | - else $result['rules'] = 'Immediate attention'; |
|
1338 | + if (isset($result['attention'])) { |
|
1339 | + $result['attention'] = $result['attention'].' / Immediate attention'; |
|
1340 | + } else { |
|
1341 | + $result['rules'] = 'Immediate attention'; |
|
1342 | + } |
|
1301 | 1343 | } elseif ($attention == 'B') { |
1302 | - if (isset($result['attention'])) $result['attention'] = $result['attention'].' / Operational significance'; |
|
1303 | - else $result['rules'] = 'Operational significance'; |
|
1344 | + if (isset($result['attention'])) { |
|
1345 | + $result['attention'] = $result['attention'].' / Operational significance'; |
|
1346 | + } else { |
|
1347 | + $result['rules'] = 'Operational significance'; |
|
1348 | + } |
|
1304 | 1349 | } elseif ($attention == 'O') { |
1305 | - if (isset($result['attention'])) $result['attention'] = $result['attention'].' / Flight operations'; |
|
1306 | - else $result['rules'] = 'Flight operations'; |
|
1350 | + if (isset($result['attention'])) { |
|
1351 | + $result['attention'] = $result['attention'].' / Flight operations'; |
|
1352 | + } else { |
|
1353 | + $result['rules'] = 'Flight operations'; |
|
1354 | + } |
|
1307 | 1355 | } elseif ($attention == 'M') { |
1308 | - if (isset($result['attention'])) $result['attention'] = $result['attention'].' / Misc'; |
|
1309 | - else $result['rules'] = 'Misc'; |
|
1356 | + if (isset($result['attention'])) { |
|
1357 | + $result['attention'] = $result['attention'].' / Misc'; |
|
1358 | + } else { |
|
1359 | + $result['rules'] = 'Misc'; |
|
1360 | + } |
|
1310 | 1361 | } elseif ($attention == 'K') { |
1311 | - if (isset($result['attention'])) $result['attention'] = $result['attention'].' / Checklist'; |
|
1312 | - else $result['rules'] = 'Checklist'; |
|
1362 | + if (isset($result['attention'])) { |
|
1363 | + $result['attention'] = $result['attention'].' / Checklist'; |
|
1364 | + } else { |
|
1365 | + $result['rules'] = 'Checklist'; |
|
1366 | + } |
|
1313 | 1367 | } |
1314 | 1368 | } |
1315 | - if ($matches[5] == 'A') $result['scope'] = 'Airport warning'; |
|
1316 | - elseif ($matches[5] == 'E') $result['scope'] = 'Enroute warning'; |
|
1317 | - elseif ($matches[5] == 'W') $result['scope'] = 'Navigation warning'; |
|
1318 | - elseif ($matches[5] == 'K') $result['scope'] = 'Checklist'; |
|
1319 | - elseif ($matches[5] == 'AE') $result['scope'] = 'Airport/Enroute warning'; |
|
1320 | - elseif ($matches[5] == 'AW') $result['scope'] = 'Airport/Navigation warning'; |
|
1369 | + if ($matches[5] == 'A') { |
|
1370 | + $result['scope'] = 'Airport warning'; |
|
1371 | + } elseif ($matches[5] == 'E') { |
|
1372 | + $result['scope'] = 'Enroute warning'; |
|
1373 | + } elseif ($matches[5] == 'W') { |
|
1374 | + $result['scope'] = 'Navigation warning'; |
|
1375 | + } elseif ($matches[5] == 'K') { |
|
1376 | + $result['scope'] = 'Checklist'; |
|
1377 | + } elseif ($matches[5] == 'AE') { |
|
1378 | + $result['scope'] = 'Airport/Enroute warning'; |
|
1379 | + } elseif ($matches[5] == 'AW') { |
|
1380 | + $result['scope'] = 'Airport/Navigation warning'; |
|
1381 | + } |
|
1321 | 1382 | $result['lower_limit'] = $matches[6]; |
1322 | 1383 | $result['upper_limit'] = $matches[7]; |
1323 | 1384 | $latitude = $Common->convertDec($matches[8],'latitude'); |
1324 | - if ($matches[9] == 'S') $latitude = -$latitude; |
|
1385 | + if ($matches[9] == 'S') { |
|
1386 | + $latitude = -$latitude; |
|
1387 | + } |
|
1325 | 1388 | $longitude = $Common->convertDec($matches[10],'longitude'); |
1326 | - if ($matches[11] == 'W') $longitude = -$longitude; |
|
1389 | + if ($matches[11] == 'W') { |
|
1390 | + $longitude = -$longitude; |
|
1391 | + } |
|
1327 | 1392 | $result['latitude'] = $latitude; |
1328 | 1393 | $result['longitude'] = $longitude; |
1329 | - if ($matches[12] != '') $result['radius'] = intval($matches[12]); |
|
1330 | - else $result['radius'] = 0; |
|
1331 | - } else echo 'ERROR : '.$line."\n"; |
|
1332 | - } |
|
1333 | - elseif (preg_match('#A\) (.*)#',$line,$matches)) { |
|
1394 | + if ($matches[12] != '') { |
|
1395 | + $result['radius'] = intval($matches[12]); |
|
1396 | + } else { |
|
1397 | + $result['radius'] = 0; |
|
1398 | + } |
|
1399 | + } else { |
|
1400 | + echo 'ERROR : '.$line."\n"; |
|
1401 | + } |
|
1402 | + } elseif (preg_match('#A\) (.*)#',$line,$matches)) { |
|
1334 | 1403 | $result['icao'] = $matches[1]; |
1335 | - } |
|
1336 | - elseif (preg_match('#B\) ([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})#',$line,$matches)) { |
|
1337 | - if ($matches[1] > 50) $year = '19'.$matches[1]; |
|
1338 | - else $year = '20'.$matches[1]; |
|
1404 | + } elseif (preg_match('#B\) ([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})#',$line,$matches)) { |
|
1405 | + if ($matches[1] > 50) { |
|
1406 | + $year = '19'.$matches[1]; |
|
1407 | + } else { |
|
1408 | + $year = '20'.$matches[1]; |
|
1409 | + } |
|
1339 | 1410 | $result['date_begin'] = $year.'/'.$matches[2].'/'.$matches[3].' '.$matches[4].':'.$matches[5]; |
1340 | - } |
|
1341 | - elseif (preg_match('#C\) ([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})$#',$line,$matches)) { |
|
1342 | - if ($matches[1] > 50) $year = '19'.$matches[1]; |
|
1343 | - else $year = '20'.$matches[1]; |
|
1411 | + } elseif (preg_match('#C\) ([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})$#',$line,$matches)) { |
|
1412 | + if ($matches[1] > 50) { |
|
1413 | + $year = '19'.$matches[1]; |
|
1414 | + } else { |
|
1415 | + $year = '20'.$matches[1]; |
|
1416 | + } |
|
1344 | 1417 | $result['date_end'] = $year.'/'.$matches[2].'/'.$matches[3].' '.$matches[4].':'.$matches[5]; |
1345 | 1418 | $result['permanent'] = 0; |
1346 | - } |
|
1347 | - elseif (preg_match('#C\) ([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2}) (EST|PERM)$#',$line,$matches)) { |
|
1348 | - if ($matches[1] > 50) $year = '19'.$matches[1]; |
|
1349 | - else $year = '20'.$matches[1]; |
|
1419 | + } elseif (preg_match('#C\) ([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2}) (EST|PERM)$#',$line,$matches)) { |
|
1420 | + if ($matches[1] > 50) { |
|
1421 | + $year = '19'.$matches[1]; |
|
1422 | + } else { |
|
1423 | + $year = '20'.$matches[1]; |
|
1424 | + } |
|
1350 | 1425 | $result['date_end'] = $year.'/'.$matches[2].'/'.$matches[3].' '.$matches[4].':'.$matches[5]; |
1351 | - if ($matches[6] == 'EST') $result['estimated'] = 1; |
|
1352 | - else $result['estimated'] = 0; |
|
1353 | - if ($matches[6] == 'PERM') $result['permanent'] = 1; |
|
1354 | - else $result['permanent'] = 0; |
|
1355 | - } |
|
1356 | - elseif (preg_match('#C\) (EST|PERM)$#',$line,$matches)) { |
|
1426 | + if ($matches[6] == 'EST') { |
|
1427 | + $result['estimated'] = 1; |
|
1428 | + } else { |
|
1429 | + $result['estimated'] = 0; |
|
1430 | + } |
|
1431 | + if ($matches[6] == 'PERM') { |
|
1432 | + $result['permanent'] = 1; |
|
1433 | + } else { |
|
1434 | + $result['permanent'] = 0; |
|
1435 | + } |
|
1436 | + } elseif (preg_match('#C\) (EST|PERM)$#',$line,$matches)) { |
|
1357 | 1437 | $result['date_end'] = '2030/12/20 12:00'; |
1358 | - if ($matches[1] == 'EST') $result['estimated'] = 1; |
|
1359 | - else $result['estimated'] = 0; |
|
1360 | - if ($matches[1] == 'PERM') $result['permanent'] = 1; |
|
1361 | - else $result['permanent'] = 0; |
|
1362 | - } |
|
1363 | - elseif (preg_match('#E\) (.*)#',$line,$matches)) { |
|
1438 | + if ($matches[1] == 'EST') { |
|
1439 | + $result['estimated'] = 1; |
|
1440 | + } else { |
|
1441 | + $result['estimated'] = 0; |
|
1442 | + } |
|
1443 | + if ($matches[1] == 'PERM') { |
|
1444 | + $result['permanent'] = 1; |
|
1445 | + } else { |
|
1446 | + $result['permanent'] = 0; |
|
1447 | + } |
|
1448 | + } elseif (preg_match('#E\) (.*)#',$line,$matches)) { |
|
1364 | 1449 | $rtext = array(); |
1365 | 1450 | $text = explode(' ',$matches[1]); |
1366 | 1451 | foreach ($text as $word) { |
1367 | - if (isset($this->abbr[$word])) $rtext[] = strtoupper($this->abbr[$word]); |
|
1368 | - 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); |
|
1369 | - else $rtext[] = $word; |
|
1452 | + if (isset($this->abbr[$word])) { |
|
1453 | + $rtext[] = strtoupper($this->abbr[$word]); |
|
1454 | + } elseif (ctype_digit(strval(substr($word,3))) && isset($this->abbr[substr($word,0,3)])) { |
|
1455 | + $rtext[] = strtoupper($this->abbr[substr($word,0,3)]).' '.substr($word,3); |
|
1456 | + } else { |
|
1457 | + $rtext[] = $word; |
|
1458 | + } |
|
1370 | 1459 | } |
1371 | 1460 | $result['text'] = implode(' ',$rtext); |
1372 | 1461 | //} elseif (preg_match('#F\) (.*)#',$line,$matches)) { |
@@ -1374,7 +1463,9 @@ discard block |
||
1374 | 1463 | } elseif (preg_match('#(NOTAMN|NOTAMR|NOTAMC)#',$line,$matches)) { |
1375 | 1464 | $text = explode(' ',$line); |
1376 | 1465 | $result['ref'] = $text[0]; |
1377 | - if ($matches[1] == 'NOTAMN') $result['type'] = 'new'; |
|
1466 | + if ($matches[1] == 'NOTAMN') { |
|
1467 | + $result['type'] = 'new'; |
|
1468 | + } |
|
1378 | 1469 | if ($matches[1] == 'NOTAMC') { |
1379 | 1470 | $result['type'] = 'cancel'; |
1380 | 1471 | $result['ref_cancelled'] = $text[2]; |
@@ -1396,69 +1487,101 @@ discard block |
||
1396 | 1487 | switch ($code[1]) { |
1397 | 1488 | case 'A': |
1398 | 1489 | $result = 'Airspace organization '; |
1399 | - if (isset($this->code_airspace[$code_fp])) $result .= $this->code_airspace[$code_fp]; |
|
1490 | + if (isset($this->code_airspace[$code_fp])) { |
|
1491 | + $result .= $this->code_airspace[$code_fp]; |
|
1492 | + } |
|
1400 | 1493 | break; |
1401 | 1494 | case 'C': |
1402 | 1495 | $result = 'Communications and radar facilities '; |
1403 | - if (isset($this->code_comradar[$code_fp])) $result .= $this->code_comradar[$code_fp]; |
|
1496 | + if (isset($this->code_comradar[$code_fp])) { |
|
1497 | + $result .= $this->code_comradar[$code_fp]; |
|
1498 | + } |
|
1404 | 1499 | break; |
1405 | 1500 | case 'F': |
1406 | 1501 | $result = 'Facilities and services '; |
1407 | - if (isset($this->code_facilities[$code_fp])) $result .= $this->code_facilities[$code_fp]; |
|
1502 | + if (isset($this->code_facilities[$code_fp])) { |
|
1503 | + $result .= $this->code_facilities[$code_fp]; |
|
1504 | + } |
|
1408 | 1505 | break; |
1409 | 1506 | case 'I': |
1410 | 1507 | $result = 'Instrument and Microwave Landing System '; |
1411 | - if (isset($this->code_instrumentlanding[$code_fp])) $result .= $this->code_instrumentlanding[$code_fp]; |
|
1508 | + if (isset($this->code_instrumentlanding[$code_fp])) { |
|
1509 | + $result .= $this->code_instrumentlanding[$code_fp]; |
|
1510 | + } |
|
1412 | 1511 | break; |
1413 | 1512 | case 'L': |
1414 | 1513 | $result = 'Lighting facilities '; |
1415 | - if (isset($this->code_lightingfacilities[$code_fp])) $result .= $this->code_lightingfacilities[$code_fp]; |
|
1514 | + if (isset($this->code_lightingfacilities[$code_fp])) { |
|
1515 | + $result .= $this->code_lightingfacilities[$code_fp]; |
|
1516 | + } |
|
1416 | 1517 | break; |
1417 | 1518 | case 'M': |
1418 | 1519 | $result = 'Movement and landing areas '; |
1419 | - if (isset($this->code_movementareas[$code_fp])) $result .= $this->code_movementareas[$code_fp]; |
|
1520 | + if (isset($this->code_movementareas[$code_fp])) { |
|
1521 | + $result .= $this->code_movementareas[$code_fp]; |
|
1522 | + } |
|
1420 | 1523 | break; |
1421 | 1524 | case 'N': |
1422 | 1525 | $result = 'Terminal and En Route Navigation Facilities '; |
1423 | - if (isset($this->code_terminalfacilities[$code_fp])) $result .= $this->code_terminalfacilities[$code_fp]; |
|
1526 | + if (isset($this->code_terminalfacilities[$code_fp])) { |
|
1527 | + $result .= $this->code_terminalfacilities[$code_fp]; |
|
1528 | + } |
|
1424 | 1529 | break; |
1425 | 1530 | case 'O': |
1426 | 1531 | $result = 'Other information '; |
1427 | - if (isset($this->code_information[$code_fp])) $result .= $this->code_information[$code_fp]; |
|
1532 | + if (isset($this->code_information[$code_fp])) { |
|
1533 | + $result .= $this->code_information[$code_fp]; |
|
1534 | + } |
|
1428 | 1535 | break; |
1429 | 1536 | case 'P': |
1430 | 1537 | $result = 'Air Traffic procedures '; |
1431 | - if (isset($this->code_airtraffic[$code_fp])) $result .= $this->code_airtraffic[$code_fp]; |
|
1538 | + if (isset($this->code_airtraffic[$code_fp])) { |
|
1539 | + $result .= $this->code_airtraffic[$code_fp]; |
|
1540 | + } |
|
1432 | 1541 | break; |
1433 | 1542 | case 'R': |
1434 | 1543 | $result = 'Navigation Warnings: Airspace Restrictions '; |
1435 | - if (isset($this->code_navigationw[$code_fp])) $result .= $this->code_navigationw[$code_fp]; |
|
1544 | + if (isset($this->code_navigationw[$code_fp])) { |
|
1545 | + $result .= $this->code_navigationw[$code_fp]; |
|
1546 | + } |
|
1436 | 1547 | break; |
1437 | 1548 | case 'S': |
1438 | 1549 | $result = 'Air Traffic and VOLMET Services '; |
1439 | - if (isset($this->code_volmet[$code_fp])) $result .= $this->code_volmet[$code_fp]; |
|
1550 | + if (isset($this->code_volmet[$code_fp])) { |
|
1551 | + $result .= $this->code_volmet[$code_fp]; |
|
1552 | + } |
|
1440 | 1553 | break; |
1441 | 1554 | case 'W': |
1442 | 1555 | $result = 'Navigation Warnings: Warnings '; |
1443 | - if (isset($this->code_warnings[$code_fp])) $result .= $this->code_warnings[$code_fp]; |
|
1556 | + if (isset($this->code_warnings[$code_fp])) { |
|
1557 | + $result .= $this->code_warnings[$code_fp]; |
|
1558 | + } |
|
1444 | 1559 | break; |
1445 | 1560 | } |
1446 | 1561 | switch ($code[3]) { |
1447 | 1562 | case 'A': |
1448 | 1563 | // Availability |
1449 | - if (isset($this->code_sp_availabity[$code_sp])) $result .= ' '.$this->code_sp_availabity[$code_sp]; |
|
1564 | + if (isset($this->code_sp_availabity[$code_sp])) { |
|
1565 | + $result .= ' '.$this->code_sp_availabity[$code_sp]; |
|
1566 | + } |
|
1450 | 1567 | break; |
1451 | 1568 | case 'C': |
1452 | 1569 | // Changes |
1453 | - if (isset($this->code_sp_changes[$code_sp])) $result .= ' '.$this->code_sp_changes[$code_sp]; |
|
1570 | + if (isset($this->code_sp_changes[$code_sp])) { |
|
1571 | + $result .= ' '.$this->code_sp_changes[$code_sp]; |
|
1572 | + } |
|
1454 | 1573 | break; |
1455 | 1574 | case 'H': |
1456 | 1575 | // Hazardous conditions |
1457 | - if (isset($this->code_sp_hazardous[$code_sp])) $result .= ' '.$this->code_sp_hazardous[$code_sp]; |
|
1576 | + if (isset($this->code_sp_hazardous[$code_sp])) { |
|
1577 | + $result .= ' '.$this->code_sp_hazardous[$code_sp]; |
|
1578 | + } |
|
1458 | 1579 | break; |
1459 | 1580 | case 'L': |
1460 | 1581 | // Limitations |
1461 | - if (isset($this->code_sp_limitations[$code_sp])) $result .= ' '.$this->code_sp_limitations[$code_sp]; |
|
1582 | + if (isset($this->code_sp_limitations[$code_sp])) { |
|
1583 | + $result .= ' '.$this->code_sp_limitations[$code_sp]; |
|
1584 | + } |
|
1462 | 1585 | break; |
1463 | 1586 | case 'X': |
1464 | 1587 | // Other Information |