This project does not seem to handle request data directly as such no vulnerable execution paths were found.
include
, or for example
via PHP's auto-loading mechanism.
These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | #!/usr/bin/php |
||
2 | <?php |
||
3 | /** |
||
4 | * This script is used to update databases with external data and archive old data |
||
5 | * Should be run as cronjob no more than every 2 weeks if NOTAM is not activated, once a day if NOTAM is activated and every hour if METAR is activated. |
||
6 | */ |
||
7 | $runningUpdateScript = TRUE; |
||
8 | require_once(dirname(__FILE__).'/../require/settings.php'); |
||
9 | if ($globalInstalled === FALSE) { |
||
10 | echo "Install script MUST be run before this script. Use your web browser to run install/index.php"; |
||
11 | die(); |
||
12 | } |
||
13 | // Check if script is not already running... (dirty) |
||
14 | if (strtoupper(substr(PHP_OS, 0, 3)) != 'WIN' && (!isset($globalDisableUpdateCheck) || $globalDisableUpdateCheck === FALSE)) { |
||
15 | if(function_exists('exec')) { |
||
16 | exec("ps ux", $output, $result); |
||
17 | $j = 0; |
||
18 | foreach ($output as $line) if(strpos($line, dirname(__FILE__)."/update_db.php") && !strpos($line, "sh ") && !strpos($line, "sudo ")) $j++; |
||
0 ignored issues
–
show
|
|||
19 | if ($j > 1) { |
||
20 | echo "Script is already runnning..."; |
||
21 | die(); |
||
22 | } |
||
23 | } |
||
24 | } |
||
25 | require(dirname(__FILE__).'/../install/class.update_db.php'); |
||
26 | $update_db = new update_db(); |
||
27 | |||
28 | if ($update_db->check() === false) die(); |
||
29 | |||
30 | if ((!isset($globalMasterServer) || !$globalMasterServer) && (!isset($globalOffline) || $globalOffline === FALSE)) { |
||
31 | if (isset($globalNOTAM) && $globalNOTAM && $update_db->check_last_notam_update()) { |
||
32 | echo "updating NOTAM..."; |
||
33 | if (!isset($globalNOTAMSource) || $globalNOTAMSource == '') { |
||
34 | $update_db->update_notam_fam(); |
||
35 | } else { |
||
36 | $update_db->update_notam(); |
||
37 | } |
||
38 | $update_db->insert_last_notam_update(); |
||
39 | } elseif (isset($globalDebug) && $globalDebug && isset($globalNOTAM) && $globalNOTAM) echo "NOTAM are only updated once a day.\n"; |
||
40 | if ((!isset($globalAircraft) || (isset($globalAircraft) && $globalAircraft)) && ($update_db->check_last_update() && (!isset($globalVA) || !$globalVA) && (!isset($globalIVAO) || !$globalIVAO) && (!isset($globalVATSIM) || !$globalVATSIM) && (!isset($globalphpVMS) || !$globalphpVMS))) { |
||
41 | $update_db->update_all(); |
||
42 | // require_once(dirname(__FILE__).'/../require/class.Spotter.php'); |
||
43 | // $Spotter = new Spotter(); |
||
44 | // $Spotter->updateFieldsFromOtherTables(); |
||
45 | $update_db->insert_last_update(); |
||
46 | } elseif (isset($globalDebug) && $globalDebug && (!isset($globalVA) || !$globalVA) && (!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"; |
||
47 | if (isset($globalWaypoints) && $globalWaypoints && $update_db->check_last_airspace_update()) { |
||
48 | echo "Check if new airspace version exist..."; |
||
49 | echo $update_db->update_airspace_fam(); |
||
50 | $update_db->insert_last_airspace_update(); |
||
51 | } |
||
52 | if (isset($globalGeoid) && $globalGeoid && $update_db->check_last_geoid_update()) { |
||
53 | echo "Check if new geoid version exist..."; |
||
54 | $error = $update_db->update_geoid_fam(); |
||
55 | if ($error == '') $update_db->insert_last_geoid_update(); |
||
56 | else echo $error; |
||
57 | } |
||
58 | if (isset($globalMarine) && $globalMarine && (!isset($globalVM) || $globalVM === FALSE) && $update_db->check_last_marine_identity_update()) { |
||
59 | echo "Check if new marine identity version exist..."; |
||
60 | echo $update_db->update_marine_identity_fam(); |
||
61 | $update_db->insert_last_marine_identity_update(); |
||
62 | } |
||
63 | if ((!isset($globalAircraft) || (isset($globalAircraft) && $globalAircraft)) && ($update_db->check_last_owner_update() && (!isset($globalVA) || !$globalVA) && (!isset($globalIVAO) || !$globalIVAO) && (!isset($globalVATSIM) || !$globalVATSIM) && (!isset($globalphpVMS) || !$globalphpVMS))) { |
||
64 | echo "Updating aircraft's owners...\n"; |
||
65 | if (isset($globalMasterSource) && $globalMasterSource) { |
||
66 | $update_db->update_owner(); |
||
67 | } else { |
||
68 | $update_db->update_owner_fam(); |
||
69 | //echo "Delete duplicate owner..."; |
||
70 | //$update_db->delete_duplicateowner(); |
||
71 | //echo "Done"; |
||
72 | } |
||
73 | $update_db->insert_last_owner_update(); |
||
74 | } elseif (isset($globalDebug) && $globalDebug && (!isset($globalVA) || !$globalVA) && (!isset($globalIVAO) || !$globalIVAO) && (!isset($globalVATSIM) || !$globalVATSIM) && (!isset($globalphpVMS) || !$globalphpVMS)) echo "Owner are only updated every 15 days.\n"; |
||
75 | |||
76 | if ((!isset($globalAircraft) || (isset($globalAircraft) && $globalAircraft)) && ($update_db->check_last_airlines_update() && (!isset($globalVA) || !$globalVA) && (!isset($globalIVAO) || !$globalIVAO) && (!isset($globalVATSIM) || !$globalVATSIM) && (!isset($globalphpVMS) || !$globalphpVMS))) { |
||
77 | echo "Updating airlines...\n"; |
||
78 | echo $update_db->update_airlines_fam(); |
||
79 | $update_db->insert_last_airlines_update(); |
||
80 | } elseif (isset($globalDebug) && $globalDebug && (!isset($globalVA) || !$globalVA) && (!isset($globalIVAO) || !$globalIVAO) && (!isset($globalVATSIM) || !$globalVATSIM) && (!isset($globalphpVMS) || !$globalphpVMS)) echo "Airlines are only updated every 15 days.\n"; |
||
81 | |||
82 | if ((!isset($globalAircraft) || (isset($globalAircraft) && $globalAircraft)) && (isset($globalAccidents) && $globalAccidents && (!isset($globalVA) || !$globalVA) && (!isset($globalIVAO) || !$globalIVAO) && (!isset($globalVATSIM) || !$globalVATSIM) && (!isset($globalphpVMS) || !$globalphpVMS))) { |
||
83 | require_once(dirname(__FILE__).'/../require/class.Accident.php'); |
||
84 | $Accident = new Accident(); |
||
85 | echo "Updating accidents..."; |
||
86 | if ($Accident->check_last_accidents_update()) { |
||
87 | $Accident->download_update(); |
||
88 | $Accident->insert_last_accidents_update(); |
||
89 | } else echo "Accidents are updated once a day.\n"; |
||
90 | } |
||
91 | |||
92 | } |
||
93 | |||
94 | if (!isset($globalOffline) || $globalOffline === FALSE) { |
||
95 | if (isset($globalMETAR) && isset($globalMETARcycle) && $globalMETAR && $globalMETARcycle) { |
||
96 | echo "updating METAR..."; |
||
97 | require_once(dirname(__FILE__).'/../require/class.METAR.php'); |
||
98 | $METAR = new METAR(); |
||
99 | if ($METAR->check_last_update()) { |
||
100 | $METAR->addMETARCycle(); |
||
101 | $METAR->insert_last_update(); |
||
102 | } else echo "METAR are only updated every 30 minutes.\n"; |
||
103 | } |
||
104 | |||
105 | if ((!isset($globalAircraft) || (isset($globalAircraft) && $globalAircraft)) && (isset($globalSchedules) && $globalSchedules && $update_db->check_last_schedules_update() && (!isset($globalVA) || !$globalVA) && (!isset($globalIVAO) || !$globalIVAO) && (!isset($globalVATSIM) || !$globalVATSIM) && (!isset($globalphpVMS) || !$globalphpVMS))) { |
||
106 | echo "Updating schedules..."; |
||
107 | //$update_db->update_oneworld(); |
||
108 | $update_db->update_skyteam(); |
||
109 | $update_db->insert_last_schedules_update(); |
||
110 | } elseif (isset($globalDebug) && $globalDebug && isset($globalOwner) && $globalOwner && (!isset($globalVA) || !$globalVA) && (!isset($globalIVAO) || !$globalIVAO) && (!isset($globalVATSIM) || !$globalVATSIM) && (!isset($globalphpVMS) || !$globalphpVMS)) echo "Schedules are only updated every 15 days.\n"; |
||
111 | } |
||
112 | |||
113 | if (isset($globalArchiveMonths) && $globalArchiveMonths > 0) { |
||
114 | echo "Updating statistics and archive old data...\n"; |
||
115 | require_once(dirname(__FILE__).'/../require/class.Stats.php'); |
||
116 | $Stats = new Stats(); |
||
117 | echo $Stats->addOldStats(); |
||
118 | } |
||
119 | |||
120 | if (isset($globalArchive) && $globalArchive) { |
||
121 | if (isset($globalArchiveKeepMonths) && $globalArchiveKeepMonths > 0) { |
||
122 | echo "Deleting archive old data..."; |
||
123 | require_once(dirname(__FILE__).'/../require/class.SpotterArchive.php'); |
||
124 | $SpotterArchive = new SpotterArchive(); |
||
125 | $SpotterArchive->deleteSpotterArchiveData(); |
||
126 | require_once(dirname(__FILE__).'/../require/class.TrackerArchive.php'); |
||
127 | $TrackerArchive = new TrackerArchive(); |
||
128 | $TrackerArchive->deleteTrackerArchiveData(); |
||
129 | require_once(dirname(__FILE__).'/../require/class.MarineArchive.php'); |
||
130 | $MarineArchive = new MarineArchive(); |
||
131 | $MarineArchive->deleteMarineArchiveData(); |
||
132 | } |
||
133 | if (isset($globalArchiveKeepTrackMonths) && $globalArchiveKeepTrackMonths > 0) { |
||
134 | echo "Deleting archive track old data..."; |
||
135 | require_once(dirname(__FILE__).'/../require/class.SpotterArchive.php'); |
||
136 | $SpotterArchive = new SpotterArchive(); |
||
137 | $SpotterArchive->deleteSpotterArchiveTrackData(); |
||
138 | echo "Done\n"; |
||
139 | echo "Deleting tracker archive track old data..."; |
||
140 | require_once(dirname(__FILE__).'/../require/class.TrackerArchive.php'); |
||
141 | $TrackerArchive = new TrackerArchive(); |
||
142 | $TrackerArchive->deleteTrackerArchiveTrackData(); |
||
143 | echo "Done\n"; |
||
144 | echo "Deleting marine archive track old data..."; |
||
145 | require_once(dirname(__FILE__).'/../require/class.MarineArchive.php'); |
||
146 | $MarineArchive = new MarineArchive(); |
||
147 | $MarineArchive->deleteMarineArchiveTrackData(); |
||
148 | echo "Done\n"; |
||
149 | } |
||
150 | } |
||
151 | if (isset($globalACARSArchiveKeepMonths) && $globalACARSArchiveKeepMonths > 0) { |
||
152 | echo "Deleting ACARS old data..."; |
||
153 | require_once(dirname(__FILE__).'/../require/class.ACARS.php'); |
||
154 | $ACARS = new ACARS(); |
||
155 | $ACARS->deleteArchiveAcarsData(); |
||
156 | echo "Done\n"; |
||
157 | } |
||
158 | if (((isset($globalAircraft) && $globalAircraft) || (isset($globalTracker) && $globalTracker)) && isset($globalGroundAltitude) && $globalGroundAltitude && (!isset($globalOffline) || $globalOffline === FALSE)) { |
||
159 | echo "Adding ground altitude files...\n"; |
||
160 | require_once(dirname(__FILE__).'/../require/class.Elevation.php'); |
||
161 | $Elevation = new Elevation(); |
||
162 | $Elevation->downloadNeeded(); |
||
163 | //echo "Done\n"; |
||
164 | } |
||
165 | |||
166 | if (isset($globalFires) && $globalFires && $update_db->check_last_fires_update() && (!isset($globalOffline) || $globalOffline === FALSE)) { |
||
167 | echo "Update fires data..."; |
||
168 | echo $update_db->update_fires(); |
||
169 | $update_db->insert_last_fires_update(); |
||
170 | echo "Done\n"; |
||
171 | } |
||
172 | |||
173 | |||
174 | if (isset($globalMap3D) && $globalMap3D && (!isset($globalOffline) || $globalOffline === FALSE)) { |
||
175 | if (isset($globalSatellite) && $globalSatellite && $update_db->check_last_tle_update()) { |
||
176 | echo "Updating tle for satellites position..."; |
||
177 | $update_db->update_tle(); |
||
178 | $update_db->insert_last_tle_update(); |
||
179 | echo "Done\n"; |
||
180 | } |
||
181 | if (!isset($globalMasterServer) || !$globalMasterServer) { |
||
182 | if (isset($globalSatellite) && $globalSatellite && $update_db->check_last_satellite_update()) { |
||
183 | echo $update_db->update_satellite_fam(); |
||
184 | $update_db->insert_last_satellite_update(); |
||
185 | } |
||
186 | if (!isset($globalAircraft) || (isset($globalAircraft) && $globalAircraft)) { |
||
187 | $update_db->update_models(); |
||
188 | if (isset($globalMap3DLiveries) && $globalMap3DLiveries) { |
||
189 | $update_db->update_liveries(); |
||
190 | } |
||
191 | } |
||
192 | if (isset($globalSatellite) && $globalSatellite) { |
||
193 | $update_db->update_space_models(); |
||
194 | } |
||
195 | if ((isset($globalTracker) && $globalTracker) || (isset($globalMarine) && $globalMarine)) { |
||
196 | $update_db->update_vehicules_models(); |
||
197 | } |
||
198 | $update_db->update_weather_models(); |
||
199 | } elseif (isset($globalMasterServer) && $globalMasterServer) { |
||
200 | if ($update_db->check_last_satellite_update()) { |
||
201 | echo "Updating satellite data..."; |
||
202 | echo $update_db->update_celestrak(); |
||
203 | $update_db->insert_last_satellite_update(); |
||
204 | echo "Done\n"; |
||
205 | } |
||
206 | } |
||
207 | } |
||
208 | ?> |
||
209 |
There are different options of fixing this problem.
If you want to be on the safe side, you can add an additional type-check:
If you are sure that the expression is traversable, you might want to add a doc comment cast to improve IDE auto-completion and static analysis:
Mark the issue as a false-positive: Just hover the remove button, in the top-right corner of this issue for more options.