supernova-ws /
SuperNova
| 1 | <?php |
||
| 2 | |||
| 3 | use DBAL\db_mysql; |
||
| 4 | use Fleet\DbFleetStatic; |
||
| 5 | |||
| 6 | include('common.' . substr(strrchr(__FILE__, '.'), 1)); |
||
| 7 | |||
| 8 | global $user, $debug; |
||
| 9 | |||
| 10 | lng_include('overview'); |
||
| 11 | lng_include('fleet'); |
||
| 12 | |||
| 13 | /** |
||
| 14 | * @param int|string $userId |
||
| 15 | * @param debug $debug |
||
| 16 | * |
||
| 17 | * @throws Exception |
||
| 18 | */ |
||
| 19 | function flyingFleetsModel($userId, $debug) { |
||
| 20 | if (empty($_POST['return']) || !is_array($_POST['return'])) { |
||
| 21 | return; |
||
| 22 | } |
||
| 23 | |||
| 24 | foreach ($_POST['return'] as $fleet_id) { |
||
| 25 | if (empty($fleet_id = idval($fleet_id))) { |
||
| 26 | continue; |
||
| 27 | } |
||
| 28 | |||
| 29 | db_mysql::db_transaction_start(); |
||
| 30 | if (empty($fleet = SN::$gc->repoV2->getFleet($fleet_id))) { |
||
| 31 | db_mysql::db_transaction_rollback(); |
||
| 32 | continue; |
||
| 33 | } |
||
| 34 | |||
| 35 | if (!$fleet->returnForce($userId)) { |
||
| 36 | $debug->warning('Trying to return fleet that not belong to user', 'Hack attempt', 302, ['base_dump' => true, 'fleet_row' => $fleet->asArray()]); |
||
| 37 | db_mysql::db_transaction_rollback(); |
||
| 38 | die('Hack attempt 302'); |
||
|
0 ignored issues
–
show
|
|||
| 39 | } |
||
| 40 | db_mysql::db_transaction_commit(); |
||
| 41 | } |
||
| 42 | } |
||
| 43 | |||
| 44 | /** @noinspection PhpUnhandledExceptionInspection */ |
||
| 45 | flyingFleetsModel($user['id'], $debug); |
||
| 46 | |||
| 47 | if (!$planetrow) { |
||
| 48 | SnTemplate::messageBox($lang['fl_noplanetrow'], $lang['fl_error']); |
||
| 49 | } |
||
| 50 | |||
| 51 | $template = SnTemplate::gettemplate('flying_fleets', true); |
||
| 52 | |||
| 53 | $i = 0; |
||
| 54 | $fleet_list = DbFleetStatic::fleet_list_by_owner_id($user['id']); |
||
| 55 | foreach ($fleet_list as $fleet_id => $fleet_row) { |
||
| 56 | $i++; |
||
| 57 | $fleet_data = tpl_parse_fleet_db($fleet_row, $i, $user); |
||
| 58 | |||
| 59 | $template->assign_block_vars('fleets', $fleet_data['fleet']); |
||
| 60 | |||
| 61 | foreach ($fleet_data['ships'] as $ship_data) { |
||
| 62 | $template->assign_block_vars('fleets.ships', $ship_data); |
||
| 63 | } |
||
| 64 | } |
||
| 65 | |||
| 66 | $MaxExpeditions = get_player_max_expeditons($user); |
||
| 67 | $FlyingExpeditions = DbFleetStatic::fleet_count_flying($user['id'], MT_EXPLORE); |
||
| 68 | $fleet_flying_amount = DbFleetStatic::fleet_count_flying($user['id'], MT_NONE); |
||
| 69 | |||
| 70 | $template->assign_vars(array( |
||
| 71 | 'FLEETS_FLYING' => $fleet_flying_amount, |
||
| 72 | 'FLEETS_MAX' => GetMaxFleets($user), |
||
| 73 | 'EXPEDITIONS_FLYING' => $FlyingExpeditions, |
||
| 74 | 'EXPEDITIONS_MAX' => $MaxExpeditions, |
||
| 75 | )); |
||
| 76 | |||
| 77 | SnTemplate::display($template, $lang['fl_title']); |
||
| 78 |
In general, usage of exit should be done with care and only when running in a scripting context like a CLI script.