Ejemplo n.º 1
0
 /**
  * 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 *\r\n\t\t\t\t\t\t\t\t\t\t\tFROM " . FLEETS . "\r\n\t\t\t\t\t\t\t\t\t\t\tWHERE `fleet_owner` = '" . (int) $this->_current_user['user_id'] . "' OR\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t`fleet_target_owner` = '" . (int) $this->_current_user['user_id'] . "';");
     while ($fleets = parent::$db->fetch_array($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] = Fleets_Lib::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] = Fleets_Lib::flying_fleets_table($fleets, 1, TRUE, $label, $record, $this->_current_user);
                 }
                 $label = 'fe';
                 if ($end_time > time()) {
                     $fleet_row[$end_time . $id] = Fleets_Lib::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] = Fleets_Lib::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] = Fleets_Lib::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] = Fleets_Lib::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] = Fleets_Lib::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] = Fleets_Lib::flying_fleets_table($fleets, 1, FALSE, 'oft', $record, $this->_current_user);
                     }
                 }
             }
         }
     }
     parent::$db->free_result($own_fleets);
     if (count($fleet_row) > 0 && $fleet_row != '') {
         ksort($fleet_row);
         foreach ($fleet_row as $time => $content) {
             $fleet .= $content . "\n";
         }
     }
     return $fleet;
 }
Ejemplo n.º 2
0
 /**
  * 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) {
         Functions_Lib::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->query_fetch("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->query_fetch("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->fetch_array($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" . Fleets_Lib::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" . Fleets_Lib::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" . Fleets_Lib::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" . Fleets_Lib::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);
 }