/** * method build_page * param * return main method, loads everything */ private function build_page() { $parse = $this->_lang; /* range */ $radar_limit_inf = $this->_current_planet['planet_system'] - $this->_formula->phalanx_range($this->_current_planet['building_phalanx']); $radar_limit_sup = $this->_current_planet['planet_system'] + $this->_formula->phalanx_range($this->_current_planet['building_phalanx']); $radar_limit_inf = max($radar_limit_inf, 1); $radar_limit_sup = min($radar_limit_sup, MAX_SYSTEM_IN_GALAXY); /* input validation */ $Galaxy = (int) $_GET['galaxy']; $System = (int) $_GET['system']; $Planet = (int) $_GET['planet']; $PlType = (int) $_GET['planettype']; /* cheater detection */ if ($System < $radar_limit_inf or $System > $radar_limit_sup or $Galaxy != $this->_current_planet['planet_galaxy'] or $PlType != 1 or $this->_current_planet['planet_type'] != 3) { FunctionsLib::redirect('game.php?page=galaxy'); } /* main page */ if ($this->_current_planet['planet_deuterium'] > 10000) { parent::$db->query("UPDATE " . PLANETS . " SET\n \t\t\t\t\t\t`planet_deuterium` = `planet_deuterium` - '10000'\n \t\t\t\t\t\tWHERE `planet_id` = '" . $this->_current_user['user_current_planet'] . "';"); $TargetInfo = parent::$db->queryFetch("SELECT `planet_name`, `planet_user_id`\n \t\t\t\t\t\t\t\t\t\t\t\tFROM " . PLANETS . "\n \t\t\t\t\t\t\t\t\t\t\t\tWHERE `planet_galaxy` = '" . $Galaxy . "' AND\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t`planet_system` = '" . $System . "' AND\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t`planet_planet` = '" . $Planet . "' AND\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t`planet_type` = 1"); $TargetID = $TargetInfo['planet_user_id']; $TargetName = $TargetInfo['planet_name']; $TargetInfo = parent::$db->queryFetch("SELECT `planet_destroyed`\n \t\t\t\t\t\t\t\t\t\t\t\tFROM " . PLANETS . "\n \t\t\t\t\t\t\t\t\t\t\t\tWHERE `planet_galaxy` = '" . $Galaxy . "' AND\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t`planet_system` = '" . $System . "' AND\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t`planet_planet` = '" . $Planet . "' AND\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t`planet_type` = 3 "); //if there isn't a moon, if ($TargetInfo === false) { $TargetMoonIsDestroyed = true; } else { $TargetMoonIsDestroyed = $TargetInfo['planet_destroyed'] !== 0; } $FleetToTarget = parent::$db->query("SELECT *\n \t\t\t\t\t\t\t\t\t\tFROM " . FLEETS . "\n \t\t\t\t\t\t\t\t\t\tWHERE ( ( `fleet_start_galaxy` = '" . $Galaxy . "' AND\n \t\t\t\t\t\t\t\t\t\t\t\t\t`fleet_start_system` = '" . $System . "' AND\n \t\t\t\t\t\t\t\t\t\t\t\t\t`fleet_start_planet` = '" . $Planet . "' ) OR\n \t\t\t\t\t\t\t\t\t\t\t\t( `fleet_end_galaxy` = '" . $Galaxy . "' AND\n \t\t\t\t\t\t\t\t\t\t\t\t\t`fleet_end_system` = '" . $System . "' AND\n \t\t\t\t\t\t\t\t\t\t\t\t\t`fleet_end_planet` = '" . $Planet . "' )\n \t\t\t\t\t\t\t\t\t\t\t ) ;"); $Record = 0; $fpage = array(); while ($FleetRow = parent::$db->fetchArray($FleetToTarget)) { $Record++; $ArrivetoTargetTime = $FleetRow['fleet_start_time']; $EndStayTime = $FleetRow['fleet_end_stay']; $ReturnTime = $FleetRow['fleet_end_time']; $Mission = $FleetRow['fleet_mission']; $myFleet = $FleetRow['fleet_owner'] == $TargetID ? true : false; $FleetRow['fleet_resource_metal'] = 0; $FleetRow['fleet_resource_crystal'] = 0; $FleetRow['fleet_resource_deuterium'] = 0; $isStartedfromThis = $FleetRow['fleet_start_galaxy'] == $Galaxy && $FleetRow['fleet_start_system'] == $System && $FleetRow['fleet_start_planet'] == $Planet; $isTheTarget = $FleetRow['fleet_end_galaxy'] == $Galaxy && $FleetRow['fleet_end_system'] == $System && $FleetRow['fleet_end_planet'] == $Planet; /* 1)the arrive to target fleet table event * you can see start-fleet event only if this is a planet(or destroyed moon) * and if the fleet mission started from this planet is different from hold * or if it's a enemy mission. */ if ($ArrivetoTargetTime > time()) { //scannig of fleet started planet if ($isStartedfromThis && ($FleetRow['fleet_start_type'] == 1 || $FleetRow['fleet_start_type'] == 3 && $TargetMoonIsDestroyed)) { if ($Mission != 4) { $Label = "fs"; $fpage[$ArrivetoTargetTime] .= "\n" . FleetsLib::flying_fleets_table($FleetRow, 0, $myFleet, $Label, $Record, $this->_current_user); } } elseif (!$isStartedfromThis && ($FleetRow['fleet_end_type'] == 1 || $FleetRow['fleet_end_type'] == 3 && $TargetMoonIsDestroyed)) { $Label = "fs"; $fpage[$ArrivetoTargetTime] .= "\n" . FleetsLib::flying_fleets_table($FleetRow, 0, $myFleet, $Label, $Record, $this->_current_user); } } /* 2)the stay fleet table event * you can see stay-fleet event only if the target is a planet(or destroyed moon) and is the targetPlanet */ if ($EndStayTime > time() && $Mission == 5 && ($FleetRow['fleet_end_type'] == 1 || $FleetRow['fleet_end_type'] == 3 && $TargetMoonIsDestroyed) && $isTheTarget) { $Label = "ft"; $fpage[$EndStayTime] .= "\n" . FleetsLib::flying_fleets_table($FleetRow, 1, $myFleet, $Label, $Record, $this->_current_user); } /* 3)the return fleet table event * you can see the return fleet if this is the started planet(or destroyed moon) * but no if it is a hold mission or mip */ if ($ReturnTime > time() && $Mission != 4 && $Mission != 10 && $isStartedfromThis && ($FleetRow['fleet_start_type'] == 1 || $FleetRow['fleet_start_type'] == 3 && $TargetMoonIsDestroyed)) { $Label = "fe"; $fpage[$ReturnTime] .= "\n" . FleetsLib::flying_fleets_table($FleetRow, 2, $myFleet, $Label, $Record, $this->_current_user); } } ksort($fpage); foreach ($fpage as $FleetTime => $FleetContent) { $Fleets .= $FleetContent . "\n"; } $parse['phl_fleets_table'] = $Fleets; $parse['phl_er_deuter'] = ""; } else { $parse['phl_er_deuter'] = $this->_lang['px_no_deuterium']; } $parse['phl_pl_galaxy'] = $Galaxy; $parse['phl_pl_system'] = $System; $parse['phl_pl_place'] = $Planet; $parse['phl_pl_name'] = $TargetName; parent::$page->display(parent::$page->parse_template(parent::$page->get_template('galaxy/phalanx_body'), $parse), FALSE, '', FALSE); }
/** * method get_fleet_movements * param * return fleets movements rows */ private function get_fleet_movements() { $fleet = ''; $fleet_row = ''; $record = 0; $record1 = 0; $record2 = 2000; $own_fleets = parent::$db->query("SELECT *\n FROM " . FLEETS . "\n WHERE `fleet_owner` = '" . (int) $this->_current_user['user_id'] . "' OR\n `fleet_target_owner` = '" . (int) $this->_current_user['user_id'] . "';"); while ($fleets = parent::$db->fetchArray($own_fleets)) { ###################################### # # own fleets # ###################################### $start_time = $fleets['fleet_start_time']; $stay_time = $fleets['fleet_end_stay']; $end_time = $fleets['fleet_end_time']; $target_galaxy = $fleets['fleet_end_galaxy']; $target_system = $fleets['fleet_end_system']; $target_planet = $fleets['fleet_end_planet']; $fleet_status = $fleets['fleet_mess']; $fleet_group = $fleets['fleet_group']; $id = $fleets['fleet_id']; if ($fleets['fleet_owner'] == $this->_current_user['user_id']) { $record++; $label = 'fs'; if ($start_time > time()) { $fleet_row[$start_time . $id] = FleetsLib::flying_fleets_table($fleets, 0, TRUE, $label, $record, $this->_current_user); } if ($fleets['fleet_mission'] != 4 && $fleets['fleet_mission'] != 10) { $label = 'ft'; if ($stay_time > time()) { $fleet_row[$stay_time . $id] = FleetsLib::flying_fleets_table($fleets, 1, TRUE, $label, $record, $this->_current_user); } $label = 'fe'; if ($end_time > time()) { $fleet_row[$end_time . $id] = FleetsLib::flying_fleets_table($fleets, 2, TRUE, $label, $record, $this->_current_user); } } if ($fleets['fleet_mission'] == 4 && $start_time < time() && $end_time > time()) { $fleet_row[$end_time . $id] = FleetsLib::flying_fleets_table($fleets, 2, TRUE, 'none', $record, $this->_current_user); } } ###################################### # # incoming fleets # ###################################### if ($fleets['fleet_owner'] != $this->_current_user['user_id']) { if ($fleets['fleet_mission'] == 2) { $record1++; $start_time = $fleet_status > 0 ? '' : $fleets['fleet_start_time']; if ($start_time > time()) { $fleet_row[$start_time . $id] = FleetsLib::flying_fleets_table($fleets, 0, FALSE, 'ofs', $record1, $this->_current_user); } } if ($fleets['fleet_mission'] == 1 && $fleet_group > 0) { $record++; if ($fleet_status > 0) { $start_time = ''; } else { $start_time = $fleets['fleet_start_time']; } if ($start_time > time()) { $fleet_row[$start_time . $id] = FleetsLib::flying_fleets_table($fleets, 0, FALSE, 'ofs', $record, $this->_current_user); } } } ###################################### # # other fleets # ###################################### if ($fleets['fleet_owner'] != $this->_current_user['user_id']) { if ($fleets['fleet_mission'] != 8) { $record2++; $start_time = $fleets['fleet_start_time']; $stay_time = $fleets['fleet_end_stay']; $id = $fleets['fleet_id']; if ($start_time > time()) { $fleet_row[$start_time . $id] = FleetsLib::flying_fleets_table($fleets, 0, FALSE, 'ofs', $record, $this->_current_user); } if ($fleets['fleet_mission'] == 5) { if ($stay_time > time()) { $fleet_row[$stay_time . $id] = FleetsLib::flying_fleets_table($fleets, 1, FALSE, 'oft', $record, $this->_current_user); } } } } } parent::$db->freeResult($own_fleets); if (count($fleet_row) > 0 && $fleet_row != '') { ksort($fleet_row); foreach ($fleet_row as $time => $content) { $fleet .= $content . "\n"; } } return $fleet; }