/** * method stay_mission * param $fleet_row * return the stay result */ public function stayMission($fleet_row) { if ($fleet_row['fleet_mess'] == 0) { if ($fleet_row['fleet_start_time'] <= time()) { $transport_check = parent::$db->queryFetch("SELECT pc1.`planet_user_id` AS start_id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpc1.`planet_name` AS start_name,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpc2.`planet_user_id` AS target_id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpc2.`planet_name` AS target_name\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tFROM " . PLANETS . " AS pc1, " . PLANETS . " AS pc2\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE pc1.planet_ = '" . $fleet_row['fleet_start_galaxy'] . "' AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpc1.`planet_system` = '" . $fleet_row['fleet_start_system'] . "' AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpc1.`planet_planet` = '" . $fleet_row['fleet_start_planet'] . "' AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpc1.`planet_type` = '" . $fleet_row['fleet_start_type'] . "' AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpc2.`planet_galaxy` = '" . $fleet_row['fleet_end_galaxy'] . "' AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpc2.`planet_system` = '" . $fleet_row['fleet_end_system'] . "' AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpc2.`planet_planet` = '" . $fleet_row['fleet_end_planet'] . "' AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpc2.`planet_type` = '" . $fleet_row['fleet_end_type'] . "'"); // SOME REQUIRED VALUES $start_name = $transport_check['start_id']; $start_owner_id = $transport_check['start_name']; $target_name = $transport_check['target_id']; $target_owner_id = $transport_check['target_name']; // DIFFERENT TYPES OF MESSAGES $message[1] = sprintf($this->_lang['sys_tran_mess_owner'], $target_name, FleetsLib::target_link($fleet_row, ''), $fleet_row['fleet_resource_metal'], $this->_lang['Metal'], $fleet_row['fleet_resource_crystal'], $this->_lang['Crystal'], $fleet_row['fleet_resource_deuterium'], $this->_lang['Deuterium']); $message[2] = sprintf($this->_lang['sys_tran_mess_user'], $start_name, FleetsLib::start_link($fleet_row, ''), $target_name, FleetsLib::target_link($fleet_row, ''), $fleet_row['fleet_resource_metal'], $this->_lang['Metal'], $fleet_row['fleet_resource_crystal'], $this->_lang['Crystal'], $fleet_row['fleet_resource_deuterium'], $this->_lang['Deuterium']); $message[3] = sprintf($this->_lang['sys_tran_mess_back'], $start_name, FleetsLib::start_link($fleet_row, '')); $this->stay_message($start_owner_id, $message[1], $fleet_row['fleet_start_time'], $this->_lang['sys_mess_transport']); $this->stay_message($target_owner_id, $message[2], $fleet_row['fleet_start_time'], $this->_lang['sys_mess_transport']); $this->start_stay($fleet_row['fleet_id']); } if ($fleet_row['fleet_end_stay'] <= time()) { parent::return_fleet($fleet_row['fleet_id']); } } if ($fleet_row['fleet_end_time'] < time()) { $this->stay_message($start_owner_id, $message, $fleet_row['fleet_end_time'], $this->_lang['sys_mess_fleetback']); parent::restore_fleet($fleet_row, TRUE); parent::remove_fleet($fleet_row['fleet_id']); } }
/** * method transport_mission * param $fleet_row * return the transport result */ public function transportMission($fleet_row) { $transport_check = parent::$db->queryFetch("SELECT pc1.`planet_user_id` AS start_id,\n pc1.`planet_name` AS start_name,\n pc2.`planet_user_id` AS target_id,\n pc2.`planet_name` AS target_name\n FROM " . PLANETS . " AS pc1, " . PLANETS . " AS pc2\n WHERE pc1.planet_galaxy = '" . $fleet_row['fleet_start_galaxy'] . "' AND\n pc1.`planet_system` = '" . $fleet_row['fleet_start_system'] . "' AND\n pc1.`planet_planet` = '" . $fleet_row['fleet_start_planet'] . "' AND\n pc1.`planet_type` = '" . $fleet_row['fleet_start_type'] . "' AND\n pc2.`planet_galaxy` = '" . $fleet_row['fleet_end_galaxy'] . "' AND\n pc2.`planet_system` = '" . $fleet_row['fleet_end_system'] . "' AND\n pc2.`planet_planet` = '" . $fleet_row['fleet_end_planet'] . "' AND\n pc2.`planet_type` = '" . $fleet_row['fleet_end_type'] . "'"); // SOME REQUIRED VALUES $start_name = $transport_check['start_name']; $start_owner_id = $transport_check['start_id']; $target_name = $transport_check['target_name']; $target_owner_id = $transport_check['target_id']; // DIFFERENT TYPES OF MESSAGES $message[1] = sprintf($this->_lang['sys_tran_mess_owner'], $target_name, FleetsLib::target_link($fleet_row, ''), $fleet_row['fleet_resource_metal'], $this->_lang['Metal'], $fleet_row['fleet_resource_crystal'], $this->_lang['Crystal'], $fleet_row['fleet_resource_deuterium'], $this->_lang['Deuterium']); $message[2] = sprintf($this->_lang['sys_tran_mess_user'], $start_name, FleetsLib::start_link($fleet_row, ''), $target_name, FleetsLib::target_link($fleet_row, ''), $fleet_row['fleet_resource_metal'], $this->_lang['Metal'], $fleet_row['fleet_resource_crystal'], $this->_lang['Crystal'], $fleet_row['fleet_resource_deuterium'], $this->_lang['Deuterium']); $message[3] = sprintf($this->_lang['sys_tran_mess_back'], $start_name, FleetsLib::start_link($fleet_row, '')); if ($fleet_row['fleet_mess'] == 0) { if ($fleet_row['fleet_start_time'] < time()) { parent::store_resources($fleet_row, FALSE); $this->transport_message($start_owner_id, $message[1], $fleet_row['fleet_start_time'], $this->_lang['sys_mess_transport']); if ($target_owner_id != $start_owner_id) { $this->transport_message($target_owner_id, $message[2], $fleet_row['fleet_start_time'], $this->_lang['sys_mess_transport']); } parent::$db->query("UPDATE " . FLEETS . " SET\n\t\t\t\t\t\t\t\t\t\t`fleet_resource_metal` = '0' ,\n\t\t\t\t\t\t\t\t\t\t`fleet_resource_crystal` = '0' ,\n\t\t\t\t\t\t\t\t\t\t`fleet_resource_deuterium` = '0' ,\n\t\t\t\t\t\t\t\t\t\t`fleet_mess` = '1'\n\t\t\t\t\t\t\t\t\t\tWHERE `fleet_id` = '" . (int) $fleet_row['fleet_id'] . "'\n\t\t\t\t\t\t\t\t\t\tLIMIT 1 ;"); } } elseif ($fleet_row['fleet_end_time'] < time()) { $this->transport_message($start_owner_id, $message[3], $fleet_row['fleet_end_time'], $this->_lang['sys_mess_fleetback']); parent::restore_fleet($fleet_row, TRUE); parent::remove_fleet($fleet_row['fleet_id']); } }
/** * method flying_fleets_table * param $fleet_row * param $Status * param $Owner * param $Label * param $Record * param $current_user * return the fleet table for the overview and phalanx */ public static function flying_fleets_table($fleet_row, $Status, $Owner, $Label, $Record, $current_user) { $FleetStyle = array(1 => 'attack', 2 => 'federation', 3 => 'transport', 4 => 'deploy', 5 => 'hold', 6 => 'espionage', 7 => 'colony', 8 => 'harvest', 9 => 'destroy', 10 => 'missile', 15 => 'transport'); $FleetStatus = array(0 => 'flight', 1 => 'holding', 2 => 'return'); $FleetPrefix = $Owner ? 'own' : ''; $RowsTPL = parent::$page->get_template('overview/overview_fleet_event'); $MissionType = $fleet_row['fleet_mission']; $FleetContent = self::fleet_ships_popup($fleet_row, parent::$lang['cff_flotte'], $FleetPrefix . $FleetStyle[$MissionType], $current_user); $FleetCapacity = self::fleet_resources_popup($fleet_row, parent::$lang['type_mission'][$MissionType], $FleetPrefix . $FleetStyle[$MissionType]); $planet_name = parent::$db->queryFetch("SELECT\t(SELECT `planet_name`\n FROM " . PLANETS . "\n WHERE `planet_galaxy` = '" . intval($fleet_row['fleet_start_galaxy']) . "' AND\n `planet_system` = '" . intval($fleet_row['fleet_start_system']) . "' AND\n `planet_planet` = '" . intval($fleet_row['fleet_start_planet']) . "' AND\n `planet_type` = '" . intval($fleet_row['fleet_start_type']) . "') AS start_planet_name,\n (SELECT `planet_name`\n FROM " . PLANETS . "\n WHERE `planet_galaxy` = '" . intval($fleet_row['fleet_end_galaxy']) . "' AND\n `planet_system` = '" . intval($fleet_row['fleet_end_system']) . "' AND\n `planet_planet` = '" . intval($fleet_row['fleet_end_planet']) . "' AND\n `planet_type` = '" . intval($fleet_row['fleet_end_type']) . "') AS target_planet_name"); $StartType = $fleet_row['fleet_start_type']; $TargetType = $fleet_row['fleet_end_type']; if ($Status != 2) { if ($StartType == 1) { $StartID = parent::$lang['cff_from_the_planet']; } elseif ($StartType == 3) { $StartID = parent::$lang['cff_from_the_moon']; } $StartID .= $planet_name['start_planet_name'] . " "; $StartID .= FleetsLib::start_link($fleet_row, $FleetPrefix . $FleetStyle[$MissionType]); if ($MissionType != 15) { switch ($TargetType) { case 1: $TargetID = parent::$lang['cff_the_planet']; break; case 2: $TargetID = parent::$lang['cff_debris_field']; break; case 3: $TargetID = parent::$lang['cff_to_the_moon']; break; } } else { $TargetID = parent::$lang['cff_the_position']; } $TargetID .= $planet_name['target_planet_name'] . " "; $TargetID .= FleetsLib::target_link($fleet_row, $FleetPrefix . $FleetStyle[$MissionType]); } else { if ($StartType == 1) { $StartID = parent::$lang['cff_to_the_planet']; } elseif ($StartType == 3) { $StartID = parent::$lang['cff_the_moon']; } $StartID .= $planet_name['start_planet_name'] . " "; $StartID .= FleetsLib::start_link($fleet_row, $FleetPrefix . $FleetStyle[$MissionType]); if ($MissionType != 15) { switch ($TargetType) { case 1: $TargetID = parent::$lang['cff_from_planet']; break; case 2: $TargetID = parent::$lang['cff_from_debris_field']; break; case 3: $TargetID = parent::$lang['cff_from_the_moon']; break; } } else { $TargetID = parent::$lang['cff_from_position']; } $TargetID .= $planet_name['target_planet_name'] . " "; $TargetID .= FleetsLib::target_link($fleet_row, $FleetPrefix . $FleetStyle[$MissionType]); } if ($MissionType == 10) { $EventString = parent::$lang['cff_missile_attack'] . " ( " . preg_replace("(503,)i", "", $fleet_row['fleet_array']) . " ) "; $Time = $fleet_row['fleet_start_time']; $Rest = $Time - time(); $EventString .= $StartID; $EventString .= parent::$lang['cff_to']; $EventString .= $TargetID; $EventString .= "."; } else { if ($Owner == TRUE) { $EventString = parent::$lang['cff_one_of_your']; $EventString .= $FleetContent; } else { $EventString = parent::$lang['cff_a']; $EventString .= $FleetContent; $EventString .= parent::$lang['cff_of']; $EventString .= self::enemy_link($fleet_row); } switch ($Status) { case 0: $Time = $fleet_row['fleet_start_time']; $Rest = $Time - time(); $EventString .= parent::$lang['cff_goes']; $EventString .= $StartID; $EventString .= parent::$lang['cff_toward']; $EventString .= $TargetID; $EventString .= parent::$lang['cff_with_the_mission_of']; break; case 1: $Time = $fleet_row['fleet_end_stay']; $Rest = $Time - time(); $EventString .= parent::$lang['cff_goes']; $EventString .= $StartID; $EventString .= parent::$lang['cff_to_explore']; $EventString .= $TargetID; $EventString .= parent::$lang['cff_with_the_mission_of']; break; case 2: $Time = $fleet_row['fleet_end_time']; $Rest = $Time - time(); $EventString .= parent::$lang['cff_comming_back']; $EventString .= $TargetID; $EventString .= $StartID; $EventString .= parent::$lang['cff_with_the_mission_of']; break; } $EventString .= $FleetCapacity; } $bloc['fleet_status'] = $FleetStatus[$Status]; $bloc['fleet_prefix'] = $FleetPrefix; $bloc['fleet_style'] = $FleetStyle[$MissionType]; $bloc['fleet_javai'] = FunctionsLib::chrono_applet($Label, $Record, $Rest, TRUE); $bloc['fleet_order'] = $Label . $Record; $bloc['fleet_descr'] = $EventString; $bloc['fleet_javas'] = FunctionsLib::chrono_applet($Label, $Record, $Rest, FALSE); return parent::$page->parse_template($RowsTPL, $bloc); }