These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | <?php |
||
2 | /** |
||
3 | * index.php - overview.php |
||
4 | * |
||
5 | * 2.4 - copyright (c) 2010 by Gorlum for http://supernova.ws |
||
6 | * [-] Removed News frame |
||
7 | * [-] Time & Usersonline moved to Top-Frame |
||
8 | * 2.3 - copyright (c) 2010 by Gorlum for http://supernova.ws |
||
9 | * [*] Complying with PCG |
||
10 | * 2.2 - copyright (c) 2010 by Gorlum for http://supernova.ws |
||
11 | * [+] Redo flying fleet list |
||
12 | * 2.1 - copyright (c) 2010 by Gorlum for http://supernova.ws |
||
13 | * [+] Planets on planet list now have indication of planet fill |
||
14 | * [+] Planets on planet list now have indication when there is enemy fleet flying to planet |
||
15 | * 2.0 - copyright (c) 2010 by Gorlum for http://supernova.ws |
||
16 | * [+] Now there is full planet list on right side of screen a-la oGame |
||
17 | * [+] Planet list now include icons for buildings/tech/fleet on progress |
||
18 | * 1.5 - copyright (c) 2010 by Gorlum for http://supernova.ws |
||
19 | * [*] Subplanet timers now use sn_timer.js library |
||
20 | * 1.4 - copyright (c) 2010 by Gorlum for http://supernova.ws |
||
21 | * [*] All mainplanet timers now use new sn_timer.js library |
||
22 | * 1.3 - copyright (c) 2010 by Gorlum for http://supernova.ws |
||
23 | * [*] Adjusted layouts of player infos |
||
24 | * 1.2 - copyright (c) 2010 by Gorlum for http://supernova.ws |
||
25 | * [*] Adjusted layouts of planet infos |
||
26 | * 1.1 - Security checks by Gorlum for http://supernova.ws |
||
27 | * @version 1 |
||
28 | * @copyright 2008 By Chlorel for XNova |
||
29 | */ |
||
30 | |||
31 | //define('SN_RENDER_NAVBAR_PLANET', false); |
||
32 | |||
33 | include('common.' . substr(strrchr(__FILE__, '.'), 1)); |
||
34 | |||
35 | |||
36 | //$player = new Player(); |
||
37 | //$player->db_load_by_id(2); |
||
38 | //$player->unitList->_dump(); |
||
39 | //pvar_dump($player->player_bonus); |
||
40 | |||
41 | sn_db_transaction_start(); |
||
42 | $fleet = new Fleet(); |
||
43 | $fleet->dbLoad(103); |
||
44 | |||
45 | //$fleet_row = doquery("SELECT * FROM {{fleets}} WHERE fleet_id = 80;", true); |
||
46 | //$fleet_row = doquery("SELECT * FROM {{fleets}} WHERE fleet_id = 8;", true); |
||
47 | //pdump($fleet_row); |
||
48 | //$fleet->dbRowParse($fleet_row); |
||
49 | //pdie('disabled for debug purposes'); |
||
50 | |||
51 | //$fleet->setDbId(0); |
||
52 | //$fleet->unitList->unitZeroDbId(); |
||
53 | //pvar_dump($fleet->unitList[1131268]); |
||
54 | //pdie('disabled for debug purposes'); |
||
55 | |||
56 | |||
57 | |||
58 | pdump(property_exists($fleet->unitList[1131268], 'count'), 'count exists'); |
||
59 | pdump($fleet->unitList[1131268]->count); |
||
60 | $fleet->unitList[1131268]->adjustCount(-1); |
||
61 | pdump($fleet->unitList[1131268]->count); |
||
62 | |||
63 | $fleet->dbSave(); |
||
64 | |||
65 | pvar_dump($fleet->unitList); |
||
66 | |||
67 | //$fleet->unitList->unitZeroCount(); |
||
68 | //$fleet->dbSave(); |
||
69 | |||
70 | sn_db_transaction_commit(); |
||
71 | pdie('disabled for debug purposes'); |
||
72 | |||
73 | |||
74 | |||
75 | |||
76 | |||
77 | lng_include('overview'); |
||
78 | |||
79 | $result = array(); |
||
80 | |||
81 | switch($mode = sys_get_param_str('mode')) { |
||
82 | case 'manage': |
||
83 | sn_sys_sector_buy('overview.php?mode=manage'); |
||
84 | |||
85 | $user_dark_matter = mrc_get_level($user, false, RES_DARK_MATTER); |
||
86 | $result[] = sn_sys_planet_core_transmute($user, $planetrow); |
||
87 | |||
88 | $template = gettemplate('planet_manage', true); |
||
89 | $planet_id = sys_get_param_id('planet_id'); |
||
90 | |||
91 | if(sys_get_param_str('rename') && $new_name = sys_get_param_str('new_name')) { |
||
92 | $planetrow['name'] = $new_name; |
||
93 | // $new_name = db_escape($new_name); |
||
94 | db_planet_set_by_id($planetrow['id'], "`name` = '{$new_name}'"); |
||
95 | } elseif(sys_get_param_str('action') == 'make_capital') { |
||
96 | try { |
||
97 | sn_db_transaction_start(); |
||
98 | $user = db_user_by_id($user['id'], true, '*'); |
||
99 | $planetrow = db_planet_by_id($planetrow['id'], true, '*'); |
||
100 | // $global_data = sys_o_get_updated($user, $planetrow['id'], SN_TIME_NOW); |
||
101 | // $user = $global_data['user']; |
||
102 | // $planetrow = $global_data['planet']; |
||
103 | |||
104 | if($planetrow['planet_type'] != PT_PLANET) { |
||
105 | throw new exception($lang['ov_capital_err_not_a_planet'], ERR_ERROR); |
||
106 | } |
||
107 | |||
108 | if($planetrow['id'] == $user['id_planet']) { |
||
109 | throw new exception($lang['ov_capital_err_capital_already'], ERR_ERROR); |
||
110 | } |
||
111 | |||
112 | if($user_dark_matter < $config->planet_capital_cost) { |
||
113 | throw new exception($lang['ov_capital_err_no_dark_matter'], ERR_ERROR); |
||
114 | } |
||
115 | |||
116 | rpg_points_change($user['id'], RPG_CAPITAL, -$config->planet_capital_cost, |
||
117 | array('Planet %s ID %d at coordinates %s now become Empire Capital', $planetrow['name'], $planetrow['id'], uni_render_coordinates($planetrow)) |
||
118 | ); |
||
119 | |||
120 | db_user_set_by_id($user['id'], "id_planet = {$planetrow['id']}, galaxy = {$planetrow['galaxy']}, system = {$planetrow['system']}, planet = {$planetrow['planet']}"); |
||
121 | |||
122 | $user['id_planet'] = $planetrow['id']; |
||
123 | $result[] = array( |
||
124 | 'STATUS' => ERR_NONE, |
||
125 | 'MESSAGE' => $lang['ov_capital_err_none'], |
||
126 | ); |
||
127 | sn_db_transaction_commit(); |
||
128 | sys_redirect('overview.php?mode=manage'); |
||
129 | } catch(exception $e) { |
||
130 | sn_db_transaction_rollback(); |
||
131 | $result[] = array( |
||
132 | 'STATUS' => $e->getCode(), |
||
133 | 'MESSAGE' => $e->getMessage(), |
||
134 | ); |
||
135 | } |
||
136 | } elseif(sys_get_param_str('action') == 'planet_teleport') { |
||
137 | try { |
||
138 | if(!uni_coordinates_valid($new_coordinates = array( |
||
139 | 'galaxy' => sys_get_param_int('new_galaxy'), |
||
140 | 'system' => sys_get_param_int('new_system'), |
||
141 | 'planet' => sys_get_param_int('new_planet'))) |
||
142 | ) { |
||
143 | throw new exception($lang['ov_teleport_err_wrong_coordinates'], ERR_ERROR); |
||
144 | } |
||
145 | |||
146 | sn_db_transaction_start(); |
||
147 | // При телепорте обновлять данные не надо - просто получить текущие данные и залочить их |
||
148 | $user = db_user_by_id($user['id'], true, '*'); |
||
149 | $planetrow = db_planet_by_id($planetrow['id'], true, '*'); |
||
150 | // $global_data = sys_o_get_updated($user, $planetrow['id'], SN_TIME_NOW); |
||
151 | // $user = $global_data['user']; |
||
152 | // $planetrow = $global_data['planet']; |
||
153 | |||
154 | $can_teleport = uni_planet_teleport_check($user, $planetrow, $new_coordinates); |
||
155 | if($can_teleport['result'] != ERR_NONE) { |
||
156 | throw new exception($can_teleport['message'], $can_teleport['result']); |
||
157 | } |
||
158 | |||
159 | rpg_points_change($user['id'], RPG_TELEPORT, -$config->planet_teleport_cost, |
||
160 | array(&$lang['ov_teleport_log_record'], $planetrow['name'], $planetrow['id'], uni_render_coordinates($planetrow), uni_render_coordinates($new_coordinates)) |
||
0 ignored issues
–
show
|
|||
161 | ); |
||
162 | $planet_teleport_next = SN_TIME_NOW + $config->planet_teleport_timeout; |
||
163 | db_planet_set_by_gspt($planetrow['galaxy'], $planetrow['system'], $planetrow['planet'], PT_ALL, |
||
164 | "galaxy = {$new_coordinates['galaxy']}, system = {$new_coordinates['system']}, planet = {$new_coordinates['planet']}, planet_teleport_next = {$planet_teleport_next}"); |
||
165 | |||
166 | if($planetrow['id'] == $user['id_planet']) { |
||
167 | db_user_set_by_id($user['id'], "galaxy = {$new_coordinates['galaxy']}, system = {$new_coordinates['system']}, planet = {$new_coordinates['planet']}"); |
||
168 | } |
||
169 | |||
170 | // $global_data = sys_o_get_updated($user, $planetrow['id'], SN_TIME_NOW); |
||
171 | sn_db_transaction_commit(); |
||
172 | $user = db_user_by_id($user['id'], true, '*'); |
||
173 | $planetrow = db_planet_by_id($planetrow['id'], true, '*'); |
||
174 | $result[] = array( |
||
175 | 'STATUS' => ERR_NONE, |
||
176 | 'MESSAGE' => $lang['ov_teleport_err_none'], |
||
177 | ); |
||
178 | sys_redirect('overview.php?mode=manage'); |
||
179 | } catch(exception $e) { |
||
180 | sn_db_transaction_rollback(); |
||
181 | $result[] = array( |
||
182 | 'STATUS' => $e->getCode(), |
||
183 | 'MESSAGE' => $e->getMessage(), |
||
184 | ); |
||
185 | } |
||
186 | } elseif(sys_get_param_str('action') == 'planet_abandon') { |
||
187 | // if(sec_password_check($user['id'], sys_get_param('abandon_confirm'))) { |
||
188 | if(classSupernova::$auth->password_check(sys_get_param('abandon_confirm'))) { |
||
189 | if($user['id_planet'] != $user['current_planet'] && $user['current_planet'] == $planet_id) { |
||
190 | $destroyed = SN_TIME_NOW + 60 * 60 * 24; |
||
191 | db_planet_set_by_id($user['current_planet'], "`destruyed`='{$destroyed}', `id_owner`=0"); |
||
192 | db_planet_set_by_parent($user['current_planet'], "`destruyed`='{$destroyed}', `id_owner`=0"); |
||
193 | db_user_set_by_id($user['id'], '`current_planet` = `id_planet`'); |
||
194 | message($lang['ov_delete_ok'], $lang['colony_abandon'], 'overview.php?mode=manage'); |
||
195 | } else { |
||
196 | message($lang['ov_delete_wrong_planet'], $lang['colony_abandon'], 'overview.php?mode=manage'); |
||
197 | } |
||
198 | } else { |
||
199 | message($lang['ov_delete_wrong_pass'] , $lang['colony_abandon'], 'overview.php?mode=manage'); |
||
200 | } |
||
201 | } elseif( |
||
202 | ($hire = sys_get_param_int('hire')) && in_array($hire, sn_get_groups('governors')) |
||
203 | && ( |
||
204 | !get_unit_param($hire, P_MAX_STACK) || |
||
205 | ($planetrow['PLANET_GOVERNOR_ID'] != $hire) || |
||
206 | ( |
||
207 | $planetrow['PLANET_GOVERNOR_ID'] == $hire && |
||
208 | $planetrow['PLANET_GOVERNOR_LEVEL'] < get_unit_param($hire, P_MAX_STACK) |
||
209 | ) |
||
210 | ) |
||
211 | ) { |
||
212 | sn_db_transaction_start(); |
||
213 | $user = db_user_by_id($user['id'], true); |
||
214 | $planetrow = db_planet_by_id($planetrow['id'], true); |
||
215 | $build_data = eco_get_build_data($user, $planetrow, $hire, $planetrow['PLANET_GOVERNOR_ID'] == $hire ? $planetrow['PLANET_GOVERNOR_LEVEL'] : 0); |
||
216 | if($build_data['CAN'][BUILD_CREATE]) { |
||
217 | if($planetrow['PLANET_GOVERNOR_ID'] == $hire) { |
||
218 | $planetrow['PLANET_GOVERNOR_LEVEL']++; |
||
219 | $query = '`PLANET_GOVERNOR_LEVEL` + 1'; |
||
220 | } else { |
||
221 | $planetrow['PLANET_GOVERNOR_LEVEL'] = 1; |
||
222 | $planetrow['PLANET_GOVERNOR_ID'] = $hire; |
||
223 | $query = '1'; |
||
224 | } |
||
225 | db_planet_set_by_id($planetrow['id'], "`PLANET_GOVERNOR_ID` = {$hire}, `PLANET_GOVERNOR_LEVEL` = {$query}"); |
||
226 | rpg_points_change( |
||
227 | $user['id'], |
||
228 | RPG_GOVERNOR, |
||
229 | -$build_data[BUILD_CREATE][RES_DARK_MATTER], |
||
230 | sprintf($lang['ov_governor_purchase'], $lang['tech'][$hire], $hire, $planetrow['PLANET_GOVERNOR_LEVEL'], uni_render_planet_full($planetrow, '', false, true)) |
||
0 ignored issues
–
show
sprintf($lang['ov_govern...trow, '', false, true)) is of type string , but the function expects a boolean .
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
![]() |
|||
231 | ); |
||
232 | |||
233 | // => 'Игрок купил Губернатора %1$s ID %2$d уровня %3$d на планету %4$s', |
||
234 | // die(); |
||
235 | } |
||
236 | sn_db_transaction_commit(); |
||
237 | sys_redirect('overview.php?mode=manage'); |
||
238 | die(); |
||
239 | } |
||
240 | |||
241 | lng_include('mrc_mercenary'); |
||
242 | int_planet_pretemplate($planetrow, $template); |
||
243 | foreach(sn_get_groups('governors') as $governor_id) { |
||
244 | if($planetrow['planet_type'] == PT_MOON && $governor_id == MRC_TECHNOLOGIST) { |
||
245 | continue; |
||
246 | } |
||
247 | |||
248 | $governor_level = $planetrow['PLANET_GOVERNOR_ID'] == $governor_id ? $planetrow['PLANET_GOVERNOR_LEVEL'] : 0; |
||
249 | $build_data = eco_get_build_data($user, $planetrow, $governor_id, $governor_level); |
||
250 | $template->assign_block_vars('governors', array( |
||
251 | 'ID' => $governor_id, |
||
252 | 'NAME' => $lang['tech'][$governor_id], |
||
253 | 'COST' => $build_data[BUILD_CREATE][RES_DARK_MATTER], |
||
254 | 'MAX' => get_unit_param($governor_id, P_MAX_STACK), |
||
255 | 'LEVEL' => $governor_level, |
||
256 | 'LEVEL_PLUS' => mrc_get_level($user, $planetrow, $governor_id) - $governor_level, |
||
257 | )); |
||
258 | } |
||
259 | |||
260 | $user_dark_matter = mrc_get_level($user, false, RES_DARK_MATTER); |
||
261 | $planet_density_index = $planetrow['density_index']; |
||
262 | $density_price_chart = planet_density_price_chart($planetrow); |
||
263 | tpl_planet_density_info($template, $density_price_chart, $user_dark_matter); |
||
264 | |||
265 | $sector_cost = eco_get_build_data($user, $planetrow, UNIT_SECTOR, mrc_get_level($user, $planetrow, UNIT_SECTOR), true); |
||
266 | $sector_cost = $sector_cost[BUILD_CREATE][RES_DARK_MATTER]; |
||
267 | $planet_fill = floor($planetrow['field_current'] / eco_planet_fields_max($planetrow) * 100); |
||
268 | $planet_fill = $planet_fill > 100 ? 100 : $planet_fill; |
||
269 | $can_teleport = uni_planet_teleport_check($user, $planetrow); |
||
270 | $template->assign_vars(array( |
||
271 | 'DARK_MATTER' => $user_dark_matter, |
||
272 | |||
273 | 'PLANET_FILL' => floor($planetrow['field_current'] / eco_planet_fields_max($planetrow) * 100), |
||
274 | 'PLANET_FILL_BAR' => $planet_fill, |
||
275 | 'SECTOR_CAN_BUY' => $sector_cost <= $user_dark_matter, |
||
276 | 'SECTOR_COST' => $sector_cost, |
||
277 | 'SECTOR_COST_TEXT' => pretty_number($sector_cost), |
||
278 | 'planet_field_current' => $planetrow['field_current'], |
||
279 | 'planet_field_max' => eco_planet_fields_max($planetrow), |
||
280 | |||
281 | 'CAN_TELEPORT' => $can_teleport['result'] == ERR_NONE, |
||
282 | 'CAN_NOT_TELEPORT_MSG' => $can_teleport['message'], |
||
283 | 'TELEPORT_COST_TEXT' => pretty_number($config->planet_teleport_cost, true, $user_dark_matter), |
||
284 | |||
285 | 'CAN_CAPITAL' => $user_dark_matter >= $config->planet_capital_cost, |
||
286 | 'CAPITAL_COST_TEXT' => pretty_number($config->planet_capital_cost, true, $user_dark_matter), |
||
287 | |||
288 | 'PLANET_DENSITY_INDEX' => $planet_density_index, |
||
289 | 'PLANET_CORE_TEXT' => $lang['uni_planet_density_types'][$planet_density_index], |
||
290 | |||
291 | 'IS_CAPITAL' => $planetrow['id'] == $user['id_planet'], |
||
292 | |||
293 | 'PAGE_HINT' => $lang['ov_manage_page_hint'], |
||
294 | )); |
||
295 | |||
296 | foreach($result as &$a_result) { |
||
297 | $template->assign_block_vars('result', $a_result); |
||
298 | } |
||
299 | |||
300 | display($template, $lang['rename_and_abandon_planet']); |
||
301 | break; |
||
302 | |||
303 | default: |
||
304 | sn_sys_sector_buy(); |
||
305 | |||
306 | if(sys_get_param_str('rename') && $new_name = sys_get_param_str('new_name')) { |
||
307 | $planetrow['name'] = $new_name; |
||
308 | $new_name_safe = db_escape($new_name); |
||
309 | db_planet_set_by_id($planetrow['id'], "`name` = '{$new_name_safe}'"); |
||
310 | } |
||
311 | |||
312 | $result[] = sn_sys_planet_core_transmute($user, $planetrow); |
||
313 | |||
314 | $template = gettemplate('planet_overview', true); |
||
315 | |||
316 | $user_dark_matter = mrc_get_level($user, false, RES_DARK_MATTER); |
||
317 | |||
318 | $planet_density_index = $planetrow['density_index']; |
||
319 | $density_price_chart = planet_density_price_chart($planetrow); |
||
320 | tpl_planet_density_info($template, $density_price_chart, $user_dark_matter); |
||
321 | |||
322 | rpg_level_up($user, RPG_STRUCTURE); |
||
323 | rpg_level_up($user, RPG_RAID); |
||
324 | rpg_level_up($user, RPG_TECH); |
||
325 | rpg_level_up($user, RPG_EXPLORE); |
||
326 | |||
327 | $fleet_id = 1; |
||
328 | |||
329 | // $fleet_and_missiles_list = FleetList::fleet_and_missiles_list_incoming($user['id']); |
||
330 | // $fleets = flt_parse_fleets_to_events($fleet_and_missiles_list); |
||
331 | $fleet_and_missiles_list = FleetList::dbGetFleetListAndMissileINCOMING($user['id']); |
||
332 | $fleets = flt_parse_objFleetList_to_events($fleet_and_missiles_list); |
||
333 | |||
334 | $planet_count = 0; |
||
335 | $planets_query = db_planet_list_sorted($user, false, '*'); |
||
336 | foreach($planets_query as $an_id => $UserPlanet) { |
||
337 | sn_db_transaction_start(); |
||
338 | $UserPlanet = sys_o_get_updated($user, $UserPlanet['id'], SN_TIME_NOW, false, true); |
||
339 | sn_db_transaction_commit(); |
||
340 | $list_planet_que = $UserPlanet['que']; |
||
341 | $UserPlanet = $UserPlanet['planet']; |
||
342 | |||
343 | $template_planet = tpl_parse_planet($UserPlanet); |
||
344 | |||
345 | $planet_fleet_id = 0; |
||
346 | $fleet_list = $template_planet['fleet_list']; |
||
347 | View Code Duplication | if($fleet_list['own']['count']) { |
|
348 | $planet_fleet_id = "p{$UserPlanet['id']}"; |
||
349 | $fleets_to_planet[$UserPlanet['id']] = tpl_parse_fleet_sn($fleet_list['own']['total'], $planet_fleet_id); |
||
350 | // $fleet_id++;tpl_parse_fleet_sn |
||
351 | } |
||
352 | if($UserPlanet['planet_type'] == PT_MOON) { |
||
353 | continue; |
||
354 | } |
||
355 | $moon = db_planet_by_parent($UserPlanet['id']); |
||
356 | if($moon) { |
||
357 | $moon_fill = min(100, floor($moon['field_current'] / eco_planet_fields_max($moon) * 100)); |
||
358 | } else { |
||
359 | $moon_fill = 0; |
||
360 | } |
||
361 | |||
362 | // $moon_fleets = flt_get_fleets_to_planet($moon); |
||
363 | $moon_fleets = FleetList::EMULATE_flt_get_fleets_to_planet($moon); |
||
364 | // $moon_fleets = array(); |
||
365 | // $fleet_db_list = FleetList::dbGetFleetListAndMissileByCoordinates($moon); |
||
366 | // /** |
||
367 | // * @var Fleet[] $array_of_Fleet |
||
368 | // */ |
||
369 | // $array_of_Fleet = array(); |
||
370 | // if(!empty($fleet_db_list) && $fleet_db_list->count()) { |
||
371 | // foreach($fleet_db_list->_container as $fleet_id => $objFleet) { |
||
372 | // $array_of_Fleet[$fleet_id] = $objFleet; |
||
373 | // } |
||
374 | // $moon_fleets = flt_get_fleets_to_planet_by_array_of_Fleet($array_of_Fleet); |
||
375 | // } |
||
376 | |||
377 | $template->assign_block_vars('planet', array_merge($template_planet, array( |
||
378 | 'PLANET_FLEET_ID' => $planet_fleet_id, |
||
379 | |||
380 | 'MOON_ID' => $moon['id'], |
||
381 | 'MOON_NAME' => $moon['name'], |
||
382 | 'MOON_IMG' => $moon['image'], |
||
383 | 'MOON_FILL' => min(100, $moon_fill), |
||
384 | 'MOON_ENEMY' => !empty($moon_fleets['enemy']['count']) ? $moon_fleets['enemy']['count'] : 0, |
||
385 | |||
386 | 'MOON_PLANET' => $moon['parent_planet'], |
||
387 | ))); |
||
388 | |||
389 | $planet_count++; |
||
390 | } |
||
391 | |||
392 | tpl_assign_fleet($template, $fleets_to_planet); |
||
393 | tpl_assign_fleet($template, $fleets); |
||
394 | |||
395 | $lune = $planetrow['planet_type'] == PT_PLANET ? db_planet_by_parent($planetrow['id']) : db_planet_by_id($planetrow['parent_planet']); |
||
396 | if($lune) { |
||
397 | $template->assign_vars(array( |
||
398 | 'MOON_ID' => $lune['id'], |
||
399 | 'MOON_IMG' => $lune['image'], |
||
400 | 'MOON_NAME' => $lune['name'], |
||
401 | )); |
||
402 | } |
||
403 | |||
404 | $planet_fill = floor($planetrow['field_current'] / eco_planet_fields_max($planetrow) * 100); |
||
405 | $planet_fill = $planet_fill > 100 ? 100 : $planet_fill; |
||
406 | |||
407 | $planet_recyclers_orbiting = 0; |
||
408 | foreach(sn_get_groups('flt_recyclers') as $recycler_id) { |
||
409 | $planet_recyclers_orbiting += mrc_get_level($user, $planetrow, $recycler_id); |
||
410 | } |
||
411 | |||
412 | int_planet_pretemplate($planetrow, $template); |
||
413 | |||
414 | $sn_group_ques = sn_get_groups('ques'); |
||
415 | if(!defined('GAME_STRUCTURES_DISABLED') || !GAME_STRUCTURES_DISABLED) { |
||
416 | foreach(array(QUE_STRUCTURES => $sn_group_ques[QUE_STRUCTURES]) as $que_id => $que_type_data) { |
||
417 | $this_que = $que['ques'][$que_id][$user['id']][$planetrow['id']]; |
||
418 | $template->assign_block_vars('ques', array( |
||
419 | 'ID' => $que_id, |
||
420 | 'NAME' => $lang['sys_ques'][$que_id], |
||
421 | 'LENGTH' => empty($this_que) ? 0 : count($this_que), |
||
422 | )); |
||
423 | |||
424 | if(!empty($this_que)) { |
||
425 | foreach($this_que as $que_item) { |
||
426 | $template->assign_block_vars('que', que_tpl_parse_element($que_item)); |
||
427 | } |
||
428 | } |
||
429 | } |
||
430 | } |
||
431 | |||
432 | $que_hangar_length = tpl_assign_hangar($template, $planetrow, SUBQUE_FLEET); |
||
433 | $template->assign_block_vars('ques', array( |
||
434 | 'ID' => QUE_HANGAR, |
||
435 | 'NAME' => $lang['sys_ques'][QUE_HANGAR], |
||
436 | 'LENGTH' => $que_hangar_length, |
||
437 | )); |
||
438 | |||
439 | if(!defined('GAME_DEFENSE_DISABLED') || !GAME_DEFENSE_DISABLED) { |
||
440 | $que_hangar_length = tpl_assign_hangar($template, $planetrow, SUBQUE_DEFENSE); |
||
441 | $template->assign_block_vars('ques', array( |
||
442 | 'ID' => SUBQUE_DEFENSE, |
||
443 | 'NAME' => $lang['sys_ques'][SUBQUE_DEFENSE], |
||
444 | 'LENGTH' => $que_hangar_length, |
||
445 | )); |
||
446 | } |
||
447 | |||
448 | $overview_planet_rows = $user['opt_int_overview_planet_rows']; |
||
449 | $overview_planet_columns = $user['opt_int_overview_planet_columns']; |
||
450 | |||
451 | if($overview_planet_rows <= 0 && $overview_planet_columns <= 0) { |
||
452 | $overview_planet_rows = $user_option_list[OPT_INTERFACE]['opt_int_overview_planet_rows']; |
||
453 | $overview_planet_columns = $user_option_list[OPT_INTERFACE]['opt_int_overview_planet_columns']; |
||
454 | } |
||
455 | |||
456 | if($overview_planet_rows > 0 && $overview_planet_columns <= 0) { |
||
457 | $overview_planet_columns = ceil($planet_count / $overview_planet_rows); |
||
458 | } |
||
459 | |||
460 | $sector_cost = eco_get_build_data($user, $planetrow, UNIT_SECTOR, mrc_get_level($user, $planetrow, UNIT_SECTOR), true); |
||
461 | $sector_cost = $sector_cost[BUILD_CREATE][RES_DARK_MATTER]; |
||
462 | $governor_level = $planetrow['PLANET_GOVERNOR_ID'] ? mrc_get_level($user, $planetrow, $planetrow['PLANET_GOVERNOR_ID'], false, true) : 0; |
||
463 | $template->assign_vars(array( |
||
464 | 'USER_ID' => $user['id'], |
||
465 | 'user_username' => $user['username'], |
||
466 | 'USER_AUTHLEVEL' => $user['authlevel'], |
||
467 | |||
468 | 'NEW_MESSAGES' => $user['new_message'], |
||
469 | 'NEW_LEVEL_MINER' => $level_miner, |
||
470 | 'NEW_LEVEL_RAID' => $level_raid, |
||
471 | |||
472 | 'planet_diameter' => pretty_number($planetrow['diameter']), |
||
473 | 'planet_field_current' => $planetrow['field_current'], |
||
474 | 'planet_field_max' => eco_planet_fields_max($planetrow), |
||
475 | 'PLANET_FILL' => floor($planetrow['field_current'] / eco_planet_fields_max($planetrow) * 100), |
||
476 | 'PLANET_FILL_BAR' => $planet_fill, |
||
477 | 'metal_debris' => pretty_number($planetrow['debris_metal']), |
||
478 | 'crystal_debris' => pretty_number($planetrow['debris_crystal']), |
||
479 | 'PLANET_RECYCLERS' => $planet_recyclers_orbiting, |
||
480 | 'planet_image' => $planetrow['image'], |
||
481 | 'planet_temp_min' => $planetrow['temp_min'], |
||
482 | 'planet_temp_avg' => round(($planetrow['temp_min'] + $planetrow['temp_max']) / 2), |
||
483 | 'planet_temp_max' => $planetrow['temp_max'], |
||
484 | 'planet_density' => $planetrow['density'], |
||
485 | 'planet_density_index' => $planetrow['density_index'], |
||
486 | 'planet_density_text' => $lang['uni_planet_density_types'][$planetrow['density_index']], |
||
487 | |||
488 | 'GATE_LEVEL' => mrc_get_level($user, $planetrow, STRUC_MOON_GATE), |
||
489 | 'GATE_JUMP_REST_TIME' => uni_get_time_to_jump($planetrow), |
||
490 | |||
491 | 'ADMIN_EMAIL' => $config->game_adminEmail, |
||
492 | |||
493 | 'PLANET_GOVERNOR_ID' => $planetrow['PLANET_GOVERNOR_ID'], |
||
494 | // 'PLANET_GOVERNOR_LEVEL' => $planetrow['PLANET_GOVERNOR_LEVEL'] mrc_get_level($user, $planetrow,), |
||
495 | 'PLANET_GOVERNOR_LEVEL' => $governor_level, |
||
496 | 'PLANET_GOVERNOR_LEVEL_PLUS' => mrc_get_level($user, $planetrow, $planetrow['PLANET_GOVERNOR_ID']) - $governor_level, |
||
497 | 'PLANET_GOVERNOR_NAME' => $lang['tech'][$planetrow['PLANET_GOVERNOR_ID']], |
||
498 | |||
499 | 'LIST_ROW_COUNT' => $overview_planet_rows, |
||
500 | 'LIST_COLUMN_COUNT' => $overview_planet_columns, |
||
501 | |||
502 | 'DARK_MATTER' => $user_dark_matter, |
||
503 | |||
504 | 'PLANET_DENSITY_INDEX' => $planet_density_index, |
||
505 | 'PLANET_CORE_TEXT' => $lang['uni_planet_density_types'][$planet_density_index], |
||
506 | |||
507 | 'SECTOR_CAN_BUY' => $sector_cost <= mrc_get_level($user, null, RES_DARK_MATTER), |
||
508 | 'SECTOR_COST' => $sector_cost, |
||
509 | 'SECTOR_COST_TEXT' => pretty_number($sector_cost), |
||
510 | )); |
||
511 | tpl_set_resource_info($template, $planetrow, $fleets_to_planet, 2); |
||
512 | |||
513 | foreach($result as &$a_result) { |
||
514 | $template->assign_block_vars('result', $a_result); |
||
515 | } |
||
516 | |||
517 | display($template, "{$lang['ov_overview']} - {$lang['sys_planet_type'][$planetrow['planet_type']]} {$planetrow['name']} [{$planetrow['galaxy']}:{$planetrow['system']}:{$planetrow['planet']}]"); |
||
518 | break; |
||
519 | } |
||
520 |
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example: