function show() { global $LNG, $USER, $PLANET, $resource, $reslist; if ($USER['planet_sort'] == 0) { $Order = "id "; } elseif ($USER['planet_sort'] == 1) { $Order = "galaxy, system, planet, planet_type "; } elseif ($USER['planet_sort'] == 2) { $Order = "name "; } $Order .= $USER['planet_sort_order'] == 1 ? "DESC" : "ASC"; $PlanetsRAW = $GLOBALS['DATABASE']->query("SELECT * FROM " . PLANETS . " WHERE id_owner = '" . $USER['id'] . "' AND destruyed = '0' AND planet_type != '4' ORDER BY " . $Order . ";"); $elementALL = array(212, 202, 203, 204, 205, 229, 209, 206, 207, 217, 215, 213, 211, 219, 225, 226, 214, 216, 230, 227, 228, 222, 218, 221, 208, 210, 220, 223); $elementALLBis = array(401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 416, 417, 418, 419, 420, 421, 422, 502, 503); $elementAllTris = array(1, 2, 3, 4, 5, 6, 12, 14, 15, 21, 22, 23, 24, 31, 33, 34, 41, 42, 43, 44, 48); foreach ($elementAllTris as $Element) { $elementListallTris[$Element] = array('id' => $Element); } foreach ($elementALL as $Element) { $elementListall[$Element] = array('id' => $Element); } foreach ($elementALLBis as $Element) { $elementListallBis[$Element] = array('id' => $Element); } $planetList = array(); $PlanetRess = new ResourceUpdate(); while ($PLANETA = $GLOBALS['DATABASE']->fetch_array($PlanetsRAW)) { list($USER, $PLANETA) = $PlanetRess->CalcResource($USER, $PLANETA, true); $planetList[] = array('id' => $PLANETA['id'], 'name' => $PLANETA['name'], 'image' => $PLANETA['image'], 'galaxy' => $PLANETA['galaxy'], 'system' => $PLANETA['system'], 'planet' => $PLANETA['planet'], 'type' => $PLANETA['planet_type'], 'metal_percent' => round($PLANETA['metal'] * 100 / $PLANETA['metal_max']), 'cystal_percent' => round($PLANETA['crystal'] * 100 / $PLANETA['crystal_max']), 'deut_percent' => round($PLANETA['deuterium'] * 100 / $PLANETA['deuterium_max']), 'metal_mine' => $PLANETA['metal_mine'], 'crystal_mine' => $PLANETA['crystal_mine'], 'deuterium_sintetizer' => $PLANETA['deuterium_sintetizer'], 'solar_plant' => $PLANETA['solar_plant'], 'searcher' => $PLANETA['searcher'], 'fusion_plant' => $PLANETA['fusion_plant'], 'robot_factory' => $PLANETA['robot_factory'], 'nano_factory' => $PLANETA['nano_factory'], 'hangar' => $PLANETA['hangar'], 'metal_store' => $PLANETA['metal_store'], 'crystal_store' => $PLANETA['crystal_store'], 'deuterium_store' => $PLANETA['deuterium_store'], 'laboratory' => $PLANETA['laboratory'], 'terraformer' => $PLANETA['terraformer'], 'university' => $PLANETA['university'], 'ally_deposit' => $PLANETA['ally_deposit'], 'silo' => $PLANETA['silo'], 'mondbasis' => $PLANETA['mondbasis'], 'phalanx' => $PLANETA['phalanx'], 'sprungtor' => $PLANETA['sprungtor'], 'collider' => $PLANETA['collider'], 'solar_satelit' => pretty_number($PLANETA['solar_satelit']), 'small_ship_cargo' => pretty_number($PLANETA['small_ship_cargo']), 'big_ship_cargo' => pretty_number($PLANETA['big_ship_cargo']), 'light_hunter' => pretty_number($PLANETA['light_hunter']), 'heavy_hunter' => pretty_number($PLANETA['heavy_hunter']), 'M7' => pretty_number($PLANETA['M7']), 'recycler' => pretty_number($PLANETA['recycler']), 'crusher' => pretty_number($PLANETA['crusher']), 'battle_ship' => pretty_number($PLANETA['battle_ship']), 'ev_transporter' => pretty_number($PLANETA['ev_transporter']), 'battleship' => pretty_number($PLANETA['battleship']), 'destructor' => pretty_number($PLANETA['destructor']), 'bomber_ship' => pretty_number($PLANETA['bomber_ship']), 'М19' => pretty_number($PLANETA['М19']), 'giga_recykler' => pretty_number($PLANETA['giga_recykler']), 'galleon' => pretty_number($PLANETA['galleon']), 'destroyer' => pretty_number($PLANETA['destroyer']), 'dearth_star' => pretty_number($PLANETA['dearth_star']), 'lune_noir' => pretty_number($PLANETA['lune_noir']), 'M32' => pretty_number($PLANETA['M32']), 'frigate' => pretty_number($PLANETA['frigate']), 'black_wanderer' => pretty_number($PLANETA['black_wanderer']), 'flying_death' => pretty_number($PLANETA['flying_death']), 'star_crasher' => pretty_number($PLANETA['star_crasher']), 'bs_class_oneil' => pretty_number($PLANETA['bs_class_oneil']), 'colonizer' => pretty_number($PLANETA['colonizer']), 'spy_sonde' => pretty_number($PLANETA['spy_sonde']), 'dm_ship' => pretty_number($PLANETA['dm_ship']), 'Scrappy' => pretty_number($PLANETA['Scrappy']), 'misil_launcher' => pretty_number($PLANETA['misil_launcher']), 'small_laser' => pretty_number($PLANETA['small_laser']), 'big_laser' => pretty_number($PLANETA['big_laser']), 'gauss_canyon' => pretty_number($PLANETA['gauss_canyon']), 'ionic_canyon' => pretty_number($PLANETA['ionic_canyon']), 'buster_canyon' => pretty_number($PLANETA['buster_canyon']), 'small_protection_shield' => pretty_number($PLANETA['small_protection_shield']), 'big_protection_shield' => pretty_number($PLANETA['big_protection_shield']), 'planet_protector' => pretty_number($PLANETA['planet_protector']), 'graviton_canyon' => pretty_number($PLANETA['graviton_canyon']), 'orbital_station' => pretty_number($PLANETA['orbital_station']), 'lepton_gun' => pretty_number($PLANETA['lepton_gun']), 'proton_gun' => pretty_number($PLANETA['proton_gun']), 'canyon' => pretty_number($PLANETA['canyon']), 'hydrogen_gun' => pretty_number($PLANETA['hydrogen_gun']), 'dora_gun' => pretty_number($PLANETA['dora_gun']), 'photon_cannon' => pretty_number($PLANETA['photon_cannon']), 'particle_emitter' => pretty_number($PLANETA['particle_emitter']), 'slim_mehador' => pretty_number($PLANETA['slim_mehador']), 'iron_mehador' => pretty_number($PLANETA['iron_mehador']), 'grand_mehador' => pretty_number($PLANETA['grand_mehador']), 'interceptor_misil' => pretty_number($PLANETA['interceptor_misil']), 'interplanetary_misil' => pretty_number($PLANETA['interplanetary_misil']), 'current' => $PLANETA['field_current'], 'max' => CalculateMaxPlanetFields($PLANETA), 'energy_used' => $PLANETA['energy'] + $PLANETA['energy_used'], 'resource901' => pretty_number($PLANETA['metal']), 'resource902' => pretty_number($PLANETA['crystal']), 'resource903' => pretty_number($PLANETA['deuterium']), 'resource911' => pretty_number($PLANETA['energy'])); } $this->tplObj->loadscript("empire.js"); $this->tplObj->assign_vars(array('planetList' => $planetList, 'elementListall' => $elementListall, 'elementListallBis' => $elementListallBis, 'elementListallTris' => $elementListallTris)); $this->display('page.empire.default.tpl'); }
function show() { global $LNG, $USER, $PLANET, $resource, $reslist; $this->setWindow('popup'); $this->initTemplate(); $id = HTTP::_GP('id', 0); $PlanetsRAW = $GLOBALS['DATABASE']->query("SELECT * FROM " . PLANETS . " WHERE id = '" . $id . "';"); $PLANETS = array($PLANET); while ($CPLANET = $GLOBALS['DATABASE']->fetch_array($PlanetsRAW)) { $planetList['image'][$CPLANET['id']] = $CPLANET['image']; $planetList['coords'][$CPLANET['id']]['planet'] = $CPLANET['planet']; $planetList['field'][$CPLANET['id']]['current'] = $CPLANET['field_current']; $planetList['diameter'][$CPLANET['id']]['diameter'] = $CPLANET['diameter']; $planetList['field'][$CPLANET['id']]['max'] = CalculateMaxPlanetFields($CPLANET); $planetList['temperature'][$CPLANET['id']]['minimum'] = $CPLANET['temp_min']; $planetList['temperature'][$CPLANET['id']]['maximum'] = $CPLANET['temp_max']; $planetList['solar'][$CPLANET['id']]['solar'] = $CPLANET['solar_satelit']; foreach ($reslist['build'] as $elementID) { $planetList['build'][$elementID][$CPLANET['id']] = $CPLANET[$resource[$elementID]]; } foreach ($reslist['defense'] as $elementID) { $planetList['defense'][$elementID][$CPLANET['id']] = $CPLANET[$resource[$elementID]]; } } $this->tplObj->assign_vars(array('planetList' => $planetList)); $this->display('page.planetauction.info.tpl'); }
function show() { global $USER, $PLANET, $resource, $reslist; $db = Database::get(); switch ($USER['planet_sort']) { case 2: $orderBy = 'name'; break; case 1: $orderBy = 'galaxy, system, planet, planet_type'; break; default: $orderBy = 'id'; break; } $orderBy .= ' ' . ($USER['planet_sort_order'] == 1) ? 'DESC' : 'ASC'; $sql = "SELECT * FROM %%PLANETS%% WHERE id != :planetID AND id_owner = :userID AND destruyed = '0' ORDER BY :order;"; $PlanetsRAW = $db->select($sql, array(':planetID' => $PLANET['id'], ':userID' => $USER['id'], ':order' => $orderBy)); $PLANETS = array($PLANET); $PlanetRess = new ResourceUpdate(); foreach ($PlanetsRAW as $CPLANET) { list($USER, $CPLANET) = $PlanetRess->CalcResource($USER, $CPLANET, true); $PLANETS[] = $CPLANET; unset($CPLANET); } $planetList = array(); foreach ($PLANETS as $Planet) { $planetList['name'][$Planet['id']] = $Planet['name']; $planetList['image'][$Planet['id']] = $Planet['image']; $planetList['coords'][$Planet['id']]['galaxy'] = $Planet['galaxy']; $planetList['coords'][$Planet['id']]['system'] = $Planet['system']; $planetList['coords'][$Planet['id']]['planet'] = $Planet['planet']; $planetList['field'][$Planet['id']]['current'] = $Planet['field_current']; $planetList['field'][$Planet['id']]['max'] = CalculateMaxPlanetFields($Planet); $planetList['energy_used'][$Planet['id']] = $Planet['energy'] + $Planet['energy_used']; $planetList['resource'][901][$Planet['id']] = $Planet['metal']; $planetList['resource'][902][$Planet['id']] = $Planet['crystal']; $planetList['resource'][903][$Planet['id']] = $Planet['deuterium']; $planetList['resource'][911][$Planet['id']] = $Planet['energy']; foreach ($reslist['build'] as $elementID) { $planetList['build'][$elementID][$Planet['id']] = $Planet[$resource[$elementID]]; } foreach ($reslist['fleet'] as $elementID) { $planetList['fleet'][$elementID][$Planet['id']] = $Planet[$resource[$elementID]]; } foreach ($reslist['defense'] as $elementID) { $planetList['defense'][$elementID][$Planet['id']] = $Planet[$resource[$elementID]]; } } foreach ($reslist['tech'] as $elementID) { $planetList['tech'][$elementID] = $USER[$resource[$elementID]]; } $this->assign(array('colspan' => count($PLANETS) + 2, 'planetList' => $planetList)); $this->display('page.empire.default.tpl'); }
function ShowImperiumPage() { global $LNG, $USER, $PLANET, $resource, $reslist, $db; $PlanetRess = new ResourceUpdate(); $PlanetRess->CalcResource(); $PlanetRess->SavePlanetToDB(); $template = new template(); $template->loadscript("trader.js"); $template->page_topnav(); $template->page_header(); $template->page_leftmenu(); $template->page_planetmenu(); $template->page_footer(); $SQLArray = array_merge($reslist['build'], $reslist['fleet'], $reslist['defense']); $Query = ""; foreach ($SQLArray as $id => $gid) { $Query .= ",`" . $resource[$gid] . "`"; } if ($USER['planet_sort'] == 0) { $Order = "`id` "; } elseif ($USER['planet_sort'] == 1) { $Order = "`galaxy`, `system`, `planet`, `planet_type` "; } elseif ($USER['planet_sort'] == 2) { $Order = "`name` "; } $Order .= $USER['planet_sort_order'] == 1 ? "DESC" : "ASC"; $PlanetsRAW = $db->query("\r\n\tSELECT `id`,`name`,`galaxy`,`system`,`planet`,`planet_type`,\r\n\t`image`,`field_current`,`field_max`,`metal`,`crystal`,`deuterium`,\r\n\t`energy_used`,`energy_max` " . $Query . " FROM " . PLANETS . " WHERE `id_owner` = '" . $USER['id'] . "' AND `destruyed` = '0' ORDER BY " . $Order . ";"); while ($Planet = $db->fetch_array($PlanetsRAW)) { $InfoList = array('id' => $Planet['id'], 'name' => $Planet['name'], 'image' => $Planet['image'], 'galaxy' => $Planet['galaxy'], 'system' => $Planet['system'], 'planet' => $Planet['planet'], 'field_current' => $Planet['field_current'], 'field_max' => CalculateMaxPlanetFields($Planet), 'metal' => pretty_number($Planet['metal']), 'crystal' => pretty_number($Planet['crystal']), 'deuterium' => pretty_number($Planet['deuterium']), 'energy_used' => pretty_number($Planet['energy_max'] + $Planet['energy_used']), 'energy_max' => pretty_number($Planet['energy_max'])); foreach ($reslist['build'] as $gid) { $BuildsList[$gid] = pretty_number($Planet[$resource[$gid]]); } foreach ($reslist['fleet'] as $gid) { $FleetsList[$gid] = pretty_number($Planet[$resource[$gid]]); } foreach ($reslist['defense'] as $gid) { $DefensesList[$gid] = pretty_number($Planet[$resource[$gid]]); } $PlanetsList[] = array('InfoList' => $InfoList, 'BuildsList' => $BuildsList, 'FleetsList' => $FleetsList, 'DefensesList' => $DefensesList); } foreach ($reslist['tech'] as $gid) { $ResearchList[$gid] = pretty_number($USER[$resource[$gid]]); } $template->assign_vars(array('colspan' => count($PlanetsList) + 1, 'PlanetsList' => $PlanetsList, 'ResearchList' => $ResearchList, 'iv_imperium_title' => $LNG['iv_imperium_title'], 'iv_planet' => $LNG['iv_planet'], 'iv_name' => $LNG['iv_name'], 'iv_coords' => $LNG['iv_coords'], 'iv_fields' => $LNG['iv_fields'], 'iv_resources' => $LNG['iv_resources'], 'Metal' => $LNG['Metal'], 'Crystal' => $LNG['Crystal'], 'Deuterium' => $LNG['Deuterium'], 'Energy' => $LNG['Energy'], 'iv_buildings' => $LNG['iv_buildings'], 'iv_technology' => $LNG['iv_technology'], 'iv_ships' => $LNG['iv_ships'], 'iv_defenses' => $LNG['iv_defenses'], 'tech' => $LNG['tech'], 'build' => $reslist['build'], 'fleet' => $reslist['fleet'], 'defense' => $reslist['defense'], 'research' => $reslist['tech'])); $template->show("empire_overview.tpl"); }
function ShowOverviewPage() { global $CONF, $LNG, $PLANET, $USER, $db, $resource, $UNI; $PlanetRess = new ResourceUpdate(); $PlanetRess->CalcResource(); $PlanetRess->SavePlanetToDB(); $template = new template(); $template->getplanets(); $AdminsOnline = $AllPlanets = $Moon = array(); foreach ($template->UserPlanets as $ID => $CPLANET) { if ($ID == $_SESSION['planet'] || $CPLANET['planet_type'] == 3) { continue; } if (!empty($CPLANET['b_building']) && $CPLANET['b_building'] > TIMESTAMP) { $Queue = explode(';', $CPLANET['b_building_id']); $CurrBuild = explode(',', $Queue[0]); $BuildPlanet = $LNG['tech'][$CurrBuild[0]] . " (" . $CurrBuild[1] . ")<br><span style=\"color:#7F7F7F;\">(" . pretty_time($CurrBuild[3] - TIMESTAMP) . ")</span>"; } else { $BuildPlanet = $LNG['ov_free']; } $AllPlanets[] = array('id' => $CPLANET['id'], 'name' => $CPLANET['name'], 'image' => $CPLANET['image'], 'build' => $BuildPlanet); } if ($PLANET['id_luna'] != 0) { $Moon = $db->uniquequery("SELECT `id`, `name` FROM " . PLANETS . " WHERE `id` = '" . $PLANET['id_luna'] . "';"); } if (!empty($PLANET['b_building'])) { $Queue = explode(';', $PLANET['b_building_id']); $CurrBuild = explode(',', $Queue[0]); $Build = $LNG['tech'][$CurrBuild[0]] . ' (' . $CurrBuild[1] . ')<br><div id="blc">"' . pretty_time($PLANET['b_building'] - TIMESTAMP) . '</div>'; $template->execscript('BuildTime();'); } else { $Build = $LNG['ov_free']; } $OnlineAdmins = $db->query("SELECT `id`,`username` FROM " . USERS . " WHERE `universe` = '" . $UNI . "' AND `onlinetime` >= '" . (TIMESTAMP - 10 * 60) . "' AND `authlevel` > '0';"); while ($AdminRow = $db->fetch_array($OnlineAdmins)) { $AdminsOnline[$AdminRow['id']] = $AdminRow['username']; } $db->free_result($OnlineAdmins); $template->loadscript('mbContainer.js'); $template->loadscript('overview.js'); $template->execscript('GetFleets(true);'); $template->assign_vars(array('user_rank' => sprintf($LNG['ov_userrank_info'], pretty_number($USER['total_points']), $LNG['ov_place'], $USER['total_rank'], $USER['total_rank'], $LNG['ov_of'], $CONF['users_amount']), 'is_news' => $CONF['OverviewNewsFrame'], 'news' => makebr($CONF['OverviewNewsText']), 'planetname' => $PLANET['name'], 'planetimage' => $PLANET['image'], 'galaxy' => $PLANET['galaxy'], 'system' => $PLANET['system'], 'planet' => $PLANET['planet'], 'buildtime' => $PLANET['b_building'], 'userid' => $USER['id'], 'username' => $USER['username'], 'build' => $Build, 'Moon' => $Moon, 'AllPlanets' => $AllPlanets, 'AdminsOnline' => $AdminsOnline, 'Teamspeak' => GetTeamspeakData(), 'messages' => $USER['new_message'] > 0 ? $USER['new_message'] == 1 ? $LNG['ov_have_new_message'] : sprintf($LNG['ov_have_new_messages'], pretty_number($USER['new_message'])) : false, 'planet_diameter' => pretty_number($PLANET['diameter']), 'planet_field_current' => $PLANET['field_current'], 'planet_field_max' => CalculateMaxPlanetFields($PLANET), 'planet_temp_min' => $PLANET['temp_min'], 'planet_temp_max' => $PLANET['temp_max'], 'ov_news' => $LNG['ov_news'], 'fcm_moon' => $LNG['fcm_moon'], 'ov_server_time' => $LNG['ov_server_time'], 'ov_planet' => $LNG['ov_planet'], 'ov_planetmenu' => $LNG['ov_planetmenu'], 'ov_diameter' => $LNG['ov_diameter'], 'ov_distance_unit' => $LNG['ov_distance_unit'], 'ov_developed_fields' => $LNG['ov_developed_fields'], 'ov_max_developed_fields' => $LNG['ov_max_developed_fields'], 'ov_fields' => $LNG['ov_fields'], 'ov_temperature' => $LNG['ov_temperature'], 'ov_aprox' => $LNG['ov_aprox'], 'ov_temp_unit' => $LNG['ov_temp_unit'], 'ov_to' => $LNG['ov_to'], 'ov_position' => $LNG['ov_position'], 'ov_points' => $LNG['ov_points'], 'ov_events' => $LNG['ov_events'], 'ov_admins_online' => $LNG['ov_admins_online'], 'ov_no_admins_online' => $LNG['ov_no_admins_online'], 'ov_userbanner' => $LNG['ov_userbanner'], 'ov_teamspeak' => $LNG['ov_teamspeak'], 'ov_your_planet' => $LNG['ov_your_planet'], 'ov_coords' => $LNG['ov_coords'], 'ov_planet_name' => $LNG['ov_planet_name'], 'ov_actions' => $LNG['ov_actions'], 'ov_abandon_planet' => $LNG['ov_abandon_planet'], 'ov_planet_rename' => $LNG['ov_planet_rename'], 'ov_planet_rename_action' => $LNG['ov_planet_rename_action'], 'ov_password' => $LNG['ov_password'], 'ov_with_pass' => $LNG['ov_with_pass'], 'ov_security_confirm' => $LNG['ov_security_confirm'], 'ov_security_request' => $LNG['ov_security_request'], 'ov_delete_planet' => $LNG['ov_delete_planet'], 'ov_planet_abandoned' => $LNG['ov_planet_abandoned'], 'path' => PROTOCOL . $_SERVER['HTTP_HOST'] . HTTP_ROOT)); $template->show("overview_body.tpl"); }
public function __construct(&$CurrentPlanet, $CurrentUser) { global $ProdGrid, $lang, $resource, $reslist, $phpEx, $dpath, $game_config, $_GET, $xgp_root; include_once $xgp_root . 'includes/functions/IsTechnologieAccessible.' . $phpEx; include_once $xgp_root . 'includes/functions/GetElementPrice.' . $phpEx; include_once $xgp_root . 'includes/functions/CheckPlanetUsedFields.' . $phpEx; CheckPlanetUsedFields($CurrentPlanet); $parse = $lang; $Allowed['1'] = array(1, 2, 3, 4, 12, 14, 15, 21, 22, 23, 24, 31, 33, 34, 44); $Allowed['3'] = array(12, 14, 21, 22, 23, 24, 34, 41, 42, 43); if (isset($_GET['cmd'])) { $bDoItNow = false; $TheCommand = $_GET['cmd']; $Element = $_GET['building']; $ListID = $_GET['listid']; if (!in_array(trim($Element), $Allowed[$CurrentPlanet['planet_type']])) { unset($Element); } if (isset($Element)) { if (!strchr($Element, ",") && !strchr($Element, " ") && !strchr($Element, "+") && !strchr($Element, "*") && !strchr($Element, "~") && !strchr($Element, "=") && !strchr($Element, ";") && !strchr($Element, "'") && !strchr($Element, "#") && !strchr($Element, "-") && !strchr($Element, "_") && !strchr($Element, "[") && !strchr($Element, "]") && !strchr($Element, ".") && !strchr($Element, ":")) { if (in_array(trim($Element), $Allowed[$CurrentPlanet['planet_type']])) { $bDoItNow = true; } } else { header("location:game.php?page=buildings"); } } elseif (isset($ListID)) { $bDoItNow = true; } if ($Element == 31 && $CurrentUser["b_tech_planet"] != 0) { $bDoItNow = false; } if (($Element == 21 or $Element == 14 or $Element == 15) && $CurrentPlanet["b_hangar"] != 0) { $bDoItNow = false; } if ($bDoItNow == true) { switch ($TheCommand) { case 'cancel': $this->CancelBuildingFromQueue($CurrentPlanet, $CurrentUser); break; case 'remove': $this->RemoveBuildingFromQueue($CurrentPlanet, $CurrentUser, $ListID); break; case 'insert': $this->AddBuildingToQueue($CurrentPlanet, $CurrentUser, $Element, true); break; case 'destroy': $this->AddBuildingToQueue($CurrentPlanet, $CurrentUser, $Element, false); break; } } if ($_GET['r'] == 'overview') { header('location:game.php?page=overview'); } else { header("Location: game.php?page=buildings&mode=buildings"); } } SetNextQueueElementOnTop($CurrentPlanet, $CurrentUser); // $Queue = $this->ShowBuildingQueue($CurrentPlanet, $CurrentUser); // OLD CODE // START FIX BY JSTAR $Sprice = array(); $Queue = $this->ShowBuildingQueue($CurrentPlanet, $CurrentUser, $Sprice); // END FIX BY JSTAR $this->BuildingSavePlanetRecord($CurrentPlanet); if ($Queue['lenght'] < MAX_BUILDING_QUEUE_SIZE) { $CanBuildElement = true; } else { $CanBuildElement = false; } $BuildingPage = ""; $zaehler = 1; foreach ($lang['tech'] as $Element => $ElementName) { if (in_array($Element, $Allowed[$CurrentPlanet['planet_type']])) { $CurrentMaxFields = CalculateMaxPlanetFields($CurrentPlanet); if ($CurrentPlanet["field_current"] < $CurrentMaxFields - $Queue['lenght']) { $RoomIsOk = true; } else { $RoomIsOk = false; } if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element)) { $HaveRessources = IsElementBuyable($CurrentUser, $CurrentPlanet, $Element, true, false); $parse = array(); $parse = $lang; $parse['dpath'] = $dpath; $parse['i'] = $Element; $BuildingLevel = $CurrentPlanet[$resource[$Element]]; $parse['nivel'] = $BuildingLevel == 0 ? "" : " (" . $lang['bd_lvl'] . " " . $BuildingLevel . ")"; $parse['n'] = $ElementName; $parse['descriptions'] = $lang['res']['descriptions'][$Element]; /* OLD CODE ---------------------------------------------------- OLD CODE ------------------------------------- // $ElementBuildTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element); $parse['time'] = ShowBuildTime($ElementBuildTime); $parse['price'] = GetElementPrice($CurrentUser, $CurrentPlanet, $Element); OLD CODE ---------------------------------------------------- OLD CODE ------------------------------------- // */ // START FIX BY JSTAR $really_lvl = isset($Sprice[$Element]) ? $Sprice[$Element] : $BuildingLevel; $ElementBuildTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element, $really_lvl); $parse['price'] = GetElementPrice($CurrentUser, $CurrentPlanet, $Element, true, $really_lvl); $parse['time'] = ShowBuildTime($ElementBuildTime); // END FIX BY JSTAR $parse['click'] = ''; $NextBuildLevel = $CurrentPlanet[$resource[$Element]] + 1; if ($RoomIsOk && $CanBuildElement) { if ($Queue['lenght'] == 0) { if ($NextBuildLevel == 1) { if ($HaveRessources == true) { $parse['click'] = "<a href=\"game.php?page=buildings&cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['bd_build'] . "</font></a>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['bd_build'] . "</font>"; } } else { if ($HaveRessources == true) { $parse['click'] = "<a href=\"game.php?page=buildings&cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['bd_build_next_level'] . $NextBuildLevel . "</font></a>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['bd_build_next_level'] . $NextBuildLevel . "</font>"; } } } else { $parse['click'] = "<a href=\"game.php?page=buildings&cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['bd_add_to_list'] . "</font></a>"; } } elseif ($RoomIsOk && !$CanBuildElement) { if ($NextBuildLevel == 1) { $parse['click'] = "<font color=#FF0000>" . $lang['bd_build'] . "</font>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['bd_build_next_level'] . $NextBuildLevel . "</font>"; } } else { $parse['click'] = "<font color=#FF0000>" . $lang['bd_no_more_fields'] . "</font>"; } if ($Element == 31 && $CurrentUser["b_tech_planet"] != 0) { $parse['click'] = "<font color=#FF0000>" . $lang['bd_working'] . "</font>"; } if (($Element == 21 or $Element == 14 or $Element == 15) && $CurrentPlanet["b_hangar"] != 0) { $parse['click'] = "<font color=#FF0000>" . $lang['bd_working'] . "</font>"; } $BuildingPage .= parsetemplate(gettemplate('buildings/buildings_builds_row'), $parse); } } } if ($Queue['lenght'] > 0) { include $xgp_root . 'includes/functions/InsertBuildListScript.' . $phpEx; $parse['BuildListScript'] = InsertBuildListScript("buildings"); $parse['BuildList'] = $Queue['buildlist']; } else { $parse['BuildListScript'] = ""; $parse['BuildList'] = ""; } $parse['BuildingsList'] = $BuildingPage; display(parsetemplate(gettemplate('buildings/buildings_builds'), $parse)); }
public function show() { global $ProdGrid, $LNG, $resource, $reslist, $PLANET, $USER, $pricelist; $TheCommand = HTTP::_GP('cmd', ''); // wellformed buildURLs if (!empty($TheCommand) && $_SERVER['REQUEST_METHOD'] === 'POST' && $USER['urlaubs_modus'] == 0) { $Element = HTTP::_GP('building', 0); $ListID = HTTP::_GP('listid', 0); switch ($TheCommand) { case 'cancel': $this->CancelBuildingFromQueue(); break; case 'remove': $this->RemoveBuildingFromQueue($ListID); break; case 'insert': $this->AddBuildingToQueue($Element, true); break; case 'destroy': $this->AddBuildingToQueue($Element, false); break; } $this->redirectTo('game.php?page=buildings'); } $config = Config::get(); $queueData = $this->getQueueData(); $Queue = $queueData['queue']; $QueueCount = count($Queue); $CanBuildElement = isVacationMode($USER) || $config->max_elements_build == 0 || $QueueCount < $config->max_elements_build; $CurrentMaxFields = CalculateMaxPlanetFields($PLANET); $RoomIsOk = $PLANET['field_current'] < $CurrentMaxFields - $QueueCount; $BuildEnergy = $USER[$resource[113]]; $BuildLevelFactor = 10; $BuildTemp = $PLANET['temp_max']; $BuildInfoList = array(); $Elements = $reslist['allow'][$PLANET['planet_type']]; foreach ($Elements as $Element) { if (!BuildFunctions::isTechnologieAccessible($USER, $PLANET, $Element)) { continue; } $infoEnergy = ""; if (isset($queueData['quickinfo'][$Element])) { $levelToBuild = $queueData['quickinfo'][$Element]; } else { $levelToBuild = $PLANET[$resource[$Element]]; } if (in_array($Element, $reslist['prod'])) { $BuildLevel = $PLANET[$resource[$Element]]; $Need = eval(ResourceUpdate::getProd($ProdGrid[$Element]['production'][911])); $BuildLevel = $levelToBuild + 1; $Prod = eval(ResourceUpdate::getProd($ProdGrid[$Element]['production'][911])); $requireEnergy = $Prod - $Need; $requireEnergy = round($requireEnergy * $config->energySpeed); if ($requireEnergy < 0) { $infoEnergy = sprintf($LNG['bd_need_engine'], pretty_number(abs($requireEnergy)), $LNG['tech'][911]); } else { $infoEnergy = sprintf($LNG['bd_more_engine'], pretty_number(abs($requireEnergy)), $LNG['tech'][911]); } } $costResources = BuildFunctions::getElementPrice($USER, $PLANET, $Element, false, $levelToBuild); $costOverflow = BuildFunctions::getRestPrice($USER, $PLANET, $Element, $costResources); $elementTime = BuildFunctions::getBuildingTime($USER, $PLANET, $Element, $costResources); $destroyResources = BuildFunctions::getElementPrice($USER, $PLANET, $Element, true); $destroyTime = BuildFunctions::getBuildingTime($USER, $PLANET, $Element, $destroyResources); $destroyOverflow = BuildFunctions::getRestPrice($USER, $PLANET, $Element, $destroyResources); $buyable = $QueueCount != 0 || BuildFunctions::isElementBuyable($USER, $PLANET, $Element, $costResources); $BuildInfoList[$Element] = array('level' => $PLANET[$resource[$Element]], 'maxLevel' => $pricelist[$Element]['max'], 'infoEnergy' => $infoEnergy, 'costResources' => $costResources, 'costOverflow' => $costOverflow, 'elementTime' => $elementTime, 'destroyResources' => $destroyResources, 'destroyTime' => $destroyTime, 'destroyOverflow' => $destroyOverflow, 'buyable' => $buyable, 'levelToBuild' => $levelToBuild); } if ($QueueCount != 0) { $this->tplObj->loadscript('buildlist.js'); } $this->assign(array('BuildInfoList' => $BuildInfoList, 'CanBuildElement' => $CanBuildElement, 'RoomIsOk' => $RoomIsOk, 'Queue' => $Queue, 'isBusy' => array('shipyard' => !empty($PLANET['b_hangar_id']), 'research' => $USER['b_tech_planet'] != 0), 'HaveMissiles' => (bool) $PLANET[$resource[503]] + $PLANET[$resource[502]])); $this->display('page.buildings.default.tpl'); }
function show() { global $LNG, $PLANET, $USER; $AdminsOnline = array(); $chatOnline = array(); $AllPlanets = array(); $Moon = array(); $RefLinks = array(); $db = Database::get(); foreach ($USER['PLANETS'] as $ID => $CPLANET) { if ($ID == $PLANET['id'] || $CPLANET['planet_type'] == 3) { continue; } if (!empty($CPLANET['b_building']) && $CPLANET['b_building'] > TIMESTAMP) { $Queue = unserialize($CPLANET['b_building_id']); $BuildPlanet = $LNG['tech'][$Queue[0][0]] . " (" . $Queue[0][1] . ")<br><span style=\"color:#7F7F7F;\">(" . pretty_time($Queue[0][3] - TIMESTAMP) . ")</span>"; } else { $BuildPlanet = $LNG['ov_free']; } $AllPlanets[] = array('id' => $CPLANET['id'], 'name' => $CPLANET['name'], 'image' => $CPLANET['image'], 'build' => $BuildPlanet); } if ($PLANET['id_luna'] != 0) { $sql = "SELECT id, name FROM %%PLANETS%% WHERE id = :lunaID;"; $Moon = $db->selectSingle($sql, array(':lunaID' => $PLANET['id_luna'])); } if ($PLANET['b_building'] - TIMESTAMP > 0) { $Queue = unserialize($PLANET['b_building_id']); $buildInfo['buildings'] = array('id' => $Queue[0][0], 'level' => $Queue[0][1], 'timeleft' => $PLANET['b_building'] - TIMESTAMP, 'time' => $PLANET['b_building'], 'starttime' => pretty_time($PLANET['b_building'] - TIMESTAMP)); } else { $buildInfo['buildings'] = false; } /* As FR#206 (http://tracker.2moons.cc/view.php?id=206), i added the shipyard and research status here, but i add not them the template. */ if (!empty($PLANET['b_hangar_id'])) { $Queue = unserialize($PLANET['b_hangar_id']); $time = BuildFunctions::getBuildingTime($USER, $PLANET, $Queue[0][0]) * $Queue[0][1]; $buildInfo['fleet'] = array('id' => $Queue[0][0], 'level' => $Queue[0][1], 'timeleft' => $time - $PLANET['b_hangar'], 'time' => $time, 'starttime' => pretty_time($time - $PLANET['b_hangar'])); } else { $buildInfo['fleet'] = false; } if ($USER['b_tech'] - TIMESTAMP > 0) { $Queue = unserialize($USER['b_tech_queue']); $buildInfo['tech'] = array('id' => $Queue[0][0], 'level' => $Queue[0][1], 'timeleft' => $USER['b_tech'] - TIMESTAMP, 'time' => $USER['b_tech'], 'starttime' => pretty_time($USER['b_tech'] - TIMESTAMP)); } else { $buildInfo['tech'] = false; } $sql = "SELECT id,username FROM %%USERS%% WHERE universe = :universe AND onlinetime >= :onlinetime AND authlevel > :authlevel;"; $onlineAdmins = $db->select($sql, array(':universe' => Universe::current(), ':onlinetime' => TIMESTAMP - 10 * 60, ':authlevel' => AUTH_USR)); foreach ($onlineAdmins as $AdminRow) { $AdminsOnline[$AdminRow['id']] = $AdminRow['username']; } $sql = "SELECT userName FROM %%CHAT_ON%% WHERE dateTime > DATE_SUB(NOW(), interval 2 MINUTE) AND channel = 0"; $chatUsers = $db->select($sql); foreach ($chatUsers as $chatRow) { $chatOnline[] = $chatRow['userName']; } $Messages = $USER['messages']; // Fehler: Wenn Spieler gelöscht werden, werden sie nicht mehr in der Tabelle angezeigt. $sql = "SELECT u.id, u.username, s.total_points FROM %%USERS%% as u\n\t\tLEFT JOIN %%STATPOINTS%% as s ON s.id_owner = u.id AND s.stat_type = '1' WHERE ref_id = :userID;"; $RefLinksRAW = $db->select($sql, array(':userID' => $USER['id'])); $config = Config::get(); if ($config->ref_active) { foreach ($RefLinksRAW as $RefRow) { $RefLinks[$RefRow['id']] = array('username' => $RefRow['username'], 'points' => min($RefRow['total_points'], $config->ref_minpoints)); } } $sql = 'SELECT total_points, total_rank FROM %%STATPOINTS%% WHERE id_owner = :userId AND stat_type = :statType'; $statData = Database::get()->selectSingle($sql, array(':userId' => $USER['id'], ':statType' => 1)); if ($statData['total_rank'] == 0) { $rankInfo = "-"; } else { $rankInfo = sprintf($LNG['ov_userrank_info'], pretty_number($statData['total_points']), $LNG['ov_place'], $statData['total_rank'], $statData['total_rank'], $LNG['ov_of'], $config->users_amount); } $this->assign(array('rankInfo' => $rankInfo, 'is_news' => $config->OverviewNewsFrame, 'news' => makebr($config->OverviewNewsText), 'planetname' => $PLANET['name'], 'planetimage' => $PLANET['image'], 'galaxy' => $PLANET['galaxy'], 'system' => $PLANET['system'], 'planet' => $PLANET['planet'], 'planet_type' => $PLANET['planet_type'], 'username' => $USER['username'], 'userid' => $USER['id'], 'buildInfo' => $buildInfo, 'Moon' => $Moon, 'fleets' => $this->GetFleets(), 'AllPlanets' => $AllPlanets, 'AdminsOnline' => $AdminsOnline, 'teamspeakData' => $this->GetTeamspeakData(), 'messages' => $Messages > 0 ? $Messages == 1 ? $LNG['ov_have_new_message'] : sprintf($LNG['ov_have_new_messages'], pretty_number($Messages)) : false, 'planet_diameter' => pretty_number($PLANET['diameter']), 'planet_field_current' => $PLANET['field_current'], 'planet_field_max' => CalculateMaxPlanetFields($PLANET), 'planet_temp_min' => $PLANET['temp_min'], 'planet_temp_max' => $PLANET['temp_max'], 'ref_active' => $config->ref_active, 'ref_minpoints' => $config->ref_minpoints, 'RefLinks' => $RefLinks, 'chatOnline' => $chatOnline, 'servertime' => _date("M D d H:i:s", TIMESTAMP, $USER['timezone']), 'path' => HTTP_PATH)); $this->display('page.overview.default.tpl'); }
function ShowAccountDataPage() { global $USER, $reslist, $resource, $LNG; $template = new template(); $id_u = HTTP::_GP('id_u', 0); if (!empty($id_u)) { $OnlyQueryLogin = $GLOBALS['DATABASE']->getFirstRow("SELECT `id`, `authlevel` FROM " . USERS . " WHERE `id` = '" . $id_u . "' AND `universe` = '" . $_SESSION['adminuni'] . "';"); if (!isset($OnlyQueryLogin)) { exit($template->message($LNG['ac_username_doesnt'], '?page=accoutdata')); } else { foreach (array_merge($reslist['officier'], $reslist['tech']) as $ID) { $SpecifyItemsUQ .= "u.`" . $resource[$ID] . "`,"; } // COMIENZA SAQUEO DE DATOS DE LA TABLA DE USUARIOS $SpecifyItemsU = "u.id,u.username,u.email,u.email_2,u.authlevel,u.id_planet,u.galaxy,u.system,u.planet,u.user_lastip,u.ip_at_reg,u.darkmatter,u.register_time,u.onlinetime,u.urlaubs_modus,u.\n\t\t\t urlaubs_until,u.ally_id,a.ally_name," . $SpecifyItemsUQ . "\n\t\t\t u.ally_register_time,u.ally_rank_id,u.bana,u.banaday"; $UserQuery = $GLOBALS['DATABASE']->getFirstRow("SELECT " . $SpecifyItemsU . " FROM " . USERS . " as u LEFT JOIN " . SESSION . " as s ON s.userID = u.id LEFT JOIN " . ALLIANCE . " a ON a.id = u.ally_id WHERE u.`id` = '" . $id_u . "';"); $reg_time = _date($LNG['php_tdformat'], $UserQuery['register_time'], $USER['timezone']); $onlinetime = _date($LNG['php_tdformat'], $UserQuery['onlinetime'], $USER['timezone']); $id = $UserQuery['id']; $nombre = $UserQuery['username']; $email_1 = $UserQuery['email']; $email_2 = $UserQuery['email_2']; $ip = $UserQuery['ip_at_reg']; $ip2 = $UserQuery['user_lastip']; $id_p = $UserQuery['id_planet']; $g = $UserQuery['galaxy']; $s = $UserQuery['system']; $p = $UserQuery['planet']; $info = $UserQuery['user_ua']; $alianza = $UserQuery['ally_name']; $nivel = $LNG['rank'][$UserQuery['authlevel']]; $vacas = $LNG['one_is_yes'][$UserQuery['urlaubs_modus']]; $suspen = $LNG['one_is_yes'][$UserQuery['bana']]; $mo = "<a title=\"" . pretty_number($UserQuery['darkmatter']) . "\">" . shortly_number($UserQuery['darkmatter']) . "</a>"; foreach ($reslist['officier'] as $ID) { $officier[] = $ID; } foreach ($reslist['tech'] as $ID) { $techno[] = $ID; } $techoffi = ""; for ($i = 0; $i < max(count($reslist['officier']), count($reslist['tech'])); $i++) { $techoffi .= isset($techno[$i]) ? "<tr><td>" . $LNG['tech'][$techno[$i]] . ": <font color=aqua>" . $UserQuery[$resource[$techno[$i]]] . "</font></td>" : "<tr><td> </td>"; $techoffi .= isset($officier[$i]) ? "<td>" . $LNG['tech'][$officier[$i]] . ": <font color=aqua>" . $UserQuery[$resource[$officier[$i]]] . "</font></td></tr>" : "<td> </td></tr>"; } if ($UserQuery['bana'] != 0) { $mas = '<a ref="#" onclick="$(\'#banned\').slideToggle();return false"> ' . $LNG['ac_more'] . '</a>'; $BannedQuery = $GLOBALS['DATABASE']->getFirstRow("SELECT theme,time,longer,author FROM " . BANNED . " WHERE `who` = '" . $UserQuery['username'] . "';"); $sus_longer = _date($LNG['php_tdformat'], $BannedQuery['longer'], $USER['timezone']); $sus_time = _date($LNG['php_tdformat'], $BannedQuery['time'], $USER['timezone']); $sus_reason = $BannedQuery['theme']; $sus_author = $BannedQuery['author']; } // COMIENZA EL SAQUEO DE DATOS DE LA TABLA DE PUNTAJE $SpecifyItemsS = "tech_count,defs_count,fleet_count,build_count,build_points,tech_points,defs_points,fleet_points,tech_rank,build_rank,defs_rank,fleet_rank,total_points,\n\t\t\tstat_type"; $StatQuery = $GLOBALS['DATABASE']->getFirstRow("SELECT " . $SpecifyItemsS . " FROM " . STATPOINTS . " WHERE `id_owner` = '" . $id_u . "' AND `stat_type` = '1';"); $count_tecno = pretty_number($StatQuery['tech_count']); $count_def = pretty_number($StatQuery['defs_count']); $count_fleet = pretty_number($StatQuery['fleet_count']); $count_builds = pretty_number($StatQuery['build_count']); $point_builds = pretty_number($StatQuery['build_points']); $point_tecno = pretty_number($StatQuery['tech_points']); $point_def = pretty_number($StatQuery['defs_points']); $point_fleet = pretty_number($StatQuery['fleet_points']); $ranking_tecno = $StatQuery['tech_rank']; $ranking_builds = $StatQuery['build_rank']; $ranking_def = $StatQuery['defs_rank']; $ranking_fleet = $StatQuery['fleet_rank']; $total_points = pretty_number($StatQuery['total_points']); // COMIENZA EL SAQUEO DE DATOS DE LA ALIANZA $AliID = $UserQuery['ally_id']; if ($alianza == 0 && $AliID == 0) { $alianza = $LNG['ac_no_ally']; $AllianceHave = "<span class=\"no_moon\"><img src=\"./styles/resource/images/admin/arrowright.png\" width=\"16\" height=\"10\"/> \n\t\t\t\t\t\t\t" . $LNG['ac_alliance'] . " " . $LNG['ac_no_alliance'] . "</span>"; } elseif ($alianza != NULL && $AliID != 0) { include_once 'includes/functions/BBCode.php'; $AllianceHave = '<a href="#" onclick="$(\'#alianza\').slideToggle();return false" class="link"> <img src="./styles/resource/images/admin/arrowright.png" width="16" height="10"> ' . $LNG['ac_alliance'] . '</a>'; $SpecifyItemsA = "ally_owner,id,ally_tag,ally_name,ally_web,ally_description,ally_text,ally_request,ally_image,ally_members,ally_register_time"; $AllianceQuery = $GLOBALS['DATABASE']->getFirstRow("SELECT " . $SpecifyItemsA . " FROM " . ALLIANCE . " WHERE `ally_name` = '" . $alianza . "';"); $alianza = $alianza; $id_ali = " (" . $LNG['ac_ali_idid'] . " " . $AliID . ")"; $id_aliz = $AllianceQuery['id']; $tag = $AllianceQuery['ally_tag']; $ali_nom = $AllianceQuery['ally_name']; $ali_cant = $AllianceQuery['ally_members']; $ally_register_time = _date($LNG['php_tdformat'], $AllianceQuery['ally_register_time'], $USER['timezone']); $ali_lider = $AllianceQuery['ally_owner']; $ali_web = $AllianceQuery['ally_web'] != NULL ? "<a href=" . $AllianceQuery['ally_web'] . " target=_blank>" . $AllianceQuery['ally_web'] . "</a>" : $LNG['ac_no_web']; if ($AllianceQuery['ally_description'] != NULL) { $ali_ext2 = bbcode($AllianceQuery['ally_description']); $ali_ext = "<a href=\"#\" rel=\"toggle[externo]\">" . $LNG['ac_view_text_ext'] . "</a>"; } else { $ali_ext = $LNG['ac_no_text_ext']; } if ($AllianceQuery['ally_text'] != NULL) { $ali_int2 = bbcode($AllianceQuery['ally_text']); $ali_int = "<a href=\"#\" rel=\"toggle[interno]\">" . $LNG['ac_view_text_int'] . "</a>"; } else { $ali_int = $LNG['ac_no_text_int']; } if ($AllianceQuery['ally_request'] != NULL) { $ali_sol2 = bbcode($AllianceQuery['ally_request']); $ali_sol = "<a href=\"#\" rel=\"toggle[solicitud]\">" . $LNG['ac_view_text_sol'] . "</a>"; } else { $ali_sol = $LNG['ac_no_text_sol']; } if ($AllianceQuery['ally_image'] != NULL) { $ali_logo2 = $AllianceQuery['ally_image']; $ali_logo = "<a href=\"#\" rel=\"toggle[imagen]\">" . $LNG['ac_view_image2'] . "</a>"; } else { $ali_logo = $LNG['ac_no_img']; } $SearchLeader = $GLOBALS['DATABASE']->getFirstRow("SELECT `username` FROM " . USERS . " WHERE `id` = '" . $ali_lider . "';"); $ali_lider = $SearchLeader['username']; $StatQueryAlly = $GLOBALS['DATABASE']->getFirstRow("SELECT " . $SpecifyItemsS . " FROM " . STATPOINTS . " WHERE `id_owner` = '" . $ali_lider . "' AND `stat_type` = '2';"); $count_tecno_ali = pretty_number($StatQueryAlly['tech_count']); $count_def_ali = pretty_number($StatQueryAlly['defs_count']); $count_fleet_ali = pretty_number($StatQueryAlly['fleet_count']); $count_builds_ali = pretty_number($StatQueryAlly['build_count']); $point_builds_ali = pretty_number($StatQueryAlly['build_points']); $point_tecno_ali = pretty_number($StatQueryAlly['tech_points']); $point_def_ali = pretty_number($StatQueryAlly['defs_points']); $point_fleet_ali = pretty_number($StatQueryAlly['fleet_points']); $ranking_tecno_ali = pretty_number($StatQueryAlly['tech_rank']); $ranking_builds_ali = pretty_number($StatQueryAlly['build_rank']); $ranking_def_ali = pretty_number($StatQueryAlly['defs_rank']); $ranking_fleet_ali = pretty_number($StatQueryAlly['fleet_rank']); $total_points_ali = pretty_number($StatQueryAlly['total_points']); } foreach (array_merge($reslist['fleet'], $reslist['build'], $reslist['defense']) as $ID) { $SpecifyItemsPQ .= "`" . $resource[$ID] . "`,"; $RES[$resource[$ID]] = "<tr><td width=\"150\">" . $LNG['tech'][$ID] . "</td>"; } $names = "<tr><th class=\"center\" width=\"150\"> </th>"; // COMIENZA EL SAQUEO DE DATOS DE LOS PLANETAS $SpecifyItemsP = "planet_type,id,name,galaxy,system,planet,destruyed,diameter,field_current,field_max,temp_min,temp_max,metal,crystal,deuterium,energy," . $SpecifyItemsPQ . "energy_used"; $PlanetsQuery = $GLOBALS['DATABASE']->query("SELECT " . $SpecifyItemsP . " FROM " . PLANETS . " WHERE `id_owner` = '" . $id_u . "';"); while ($PlanetsWhile = $GLOBALS['DATABASE']->fetch_array($PlanetsQuery)) { if ($PlanetsWhile['planet_type'] == 3) { $Planettt = $PlanetsWhile['name'] . " (" . $LNG['ac_moon'] . ")<br><font color=aqua>[" . $PlanetsWhile['galaxy'] . ":" . $PlanetsWhile['system'] . ":" . $PlanetsWhile['planet'] . "]</font>"; $MoonZ = 0; $Moons = $PlanetsWhile['name'] . " (" . $LNG['ac_moon'] . ")<br><font color=aqua>[" . $PlanetsWhile['galaxy'] . ":" . $PlanetsWhile['system'] . ":" . $PlanetsWhile['planet'] . "]</font>"; $MoonZ++; } else { $Planettt = $PlanetsWhile['name'] . "<br><font color=aqua>[" . $PlanetsWhile['galaxy'] . ":" . $PlanetsWhile['system'] . ":" . $PlanetsWhile['planet'] . "]</font>"; } if ($PlanetsWhile["destruyed"] == 0) { $planets_moons .= "\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td>" . $Planettt . "</td>\n\t\t\t\t\t\t<td>" . $PlanetsWhile['id'] . "</td>\n\t\t\t\t\t\t<td>" . pretty_number($PlanetsWhile['diameter']) . "</td>\n\t\t\t\t\t\t<td>" . pretty_number($PlanetsWhile['field_current']) . " / " . pretty_number(CalculateMaxPlanetFields($PlanetsWhile)) . " (" . pretty_number($PlanetsWhile['field_current']) . " / " . pretty_number($PlanetsWhile['field_max']) . ")</td>\n\t\t\t\t\t\t<td>" . pretty_number($PlanetsWhile['temp_min']) . " / " . pretty_number($PlanetsWhile['temp_max']) . "</td>" . (allowedTo('ShowQuickEditorPage') ? "<td><a href=\"javascript:openEdit('" . $PlanetsWhile['id'] . "', 'planet');\" border=\"0\"><img src=\"./styles/resource/images/admin/GO.png\" title=" . $LNG['se_search_edit'] . "></a></td>" : "") . "</tr>"; $SumOfEnergy = $PlanetsWhile['energy'] + $PlanetsWhile['energy_used']; if ($SumOfEnergy < 0) { $Color = "<font color=#FF6600>" . shortly_number($SumOfEnergy) . "</font>"; } elseif ($SumOfEnergy > 0) { $Color = "<font color=lime>" . shortly_number($SumOfEnergy) . "</font>"; } else { $Color = shortly_number($SumOfEnergy); } $resources .= "\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td>" . $Planettt . "</td>\n\t\t\t\t\t\t<td><a title=\"" . pretty_number($PlanetsWhile['metal']) . "\">" . shortly_number($PlanetsWhile['metal']) . "</a></td>\n\t\t\t\t\t\t<td><a title=\"" . pretty_number($PlanetsWhile['crystal']) . "\">" . shortly_number($PlanetsWhile['crystal']) . "</a></td>\n\t\t\t\t\t\t<td><a title=\"" . pretty_number($PlanetsWhile['deuterium']) . "\">" . shortly_number($PlanetsWhile['deuterium']) . "</a></td>\n\t\t\t\t\t\t<td><a title=\"" . pretty_number($SumOfEnergy) . "\">" . $Color . "</a>/<a title=\"" . pretty_number($PlanetsWhile['energy']) . "\">" . shortly_number($PlanetsWhile['energy']) . "</a></td>\n\t\t\t\t\t</tr>"; $names .= "<th class=\"center\" width=\"60\">" . $Planettt . "</th>"; foreach (array_merge($reslist['fleet'], $reslist['build'], $reslist['defense']) as $ID) { $RES[$resource[$ID]] .= "<td width=\"60\"><a title=\"" . pretty_number($PlanetsWhile[$resource[$ID]]) . "\">" . shortly_number($PlanetsWhile[$resource[$ID]]) . "</a></td>"; } $MoonHave = $MoonZ != 0 ? '<a href="#" onclick="$(\'#especiales\').slideToggle();return false" class="link"><img src="./styles/resource/images/admin/arrowright.png" width="16" height="10"/> ' . $LNG['moon_build'] . "</a>" : "<span class=\"no_moon\"><img src=\"./styles/resource/images/admin/arrowright.png\" width=\"16\" height=\"10\"/>" . $LNG['moon_build'] . " " . $LNG['ac_moons_no'] . "</span>"; } $DestruyeD = 0; if ($PlanetsWhile["destruyed"] > 0) { $destroyed .= "\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td>" . $PlanetsWhile['name'] . "</td>\n\t\t\t\t\t\t\t<td>" . $PlanetsWhile['id'] . "</td>\n\t\t\t\t\t\t\t<td>[" . $PlanetsWhile['galaxy'] . ":" . $PlanetsWhile['system'] . ":" . $PlanetsWhile['planet'] . "]</td>\n\t\t\t\t\t\t\t<td>" . date("d-m-Y H:i:s", $PlanetsWhile['destruyed']) . "</td>\n\t\t\t\t\t\t</tr>"; $DestruyeD++; } } $names .= "</tr>"; foreach (array_merge($reslist['fleet'], $reslist['build'], $reslist['defense']) as $ID) { $RES[$resource[$ID]] .= "</tr>"; } foreach ($reslist['build'] as $ID) { $build .= $RES[$resource[$ID]]; } foreach ($reslist['fleet'] as $ID) { $fleet .= $RES[$resource[$ID]]; } foreach ($reslist['defense'] as $ID) { $defense .= $RES[$resource[$ID]]; } $template->assign_vars(array('DestruyeD' => $DestruyeD, 'destroyed' => $destroyed, 'resources' => $resources, 'mo' => $mo, 'names' => $names, 'build' => $build, 'fleet' => $fleet, 'defense' => $defense, 'planets_moons' => $planets_moons, 'ali_lider' => $ali_lider, 'AllianceHave' => $AllianceHave, 'point_tecno' => $point_tecno, 'count_tecno' => $count_tecno, 'ranking_tecno' => $ranking_tecno, 'defenses_title' => $defenses_title, 'point_def' => $point_def, 'count_def' => $count_def, 'ranking_def' => $ranking_def, 'point_fleet' => $point_fleet, 'count_fleet' => $count_fleet, 'ranking_fleet' => $ranking_fleet, 'point_builds' => $point_builds, 'count_builds' => $count_builds, 'ranking_builds' => $ranking_builds, 'total_points' => $total_points, 'point_tecno_ali' => $point_tecno_ali, 'count_tecno_ali' => $count_tecno_ali, 'ranking_tecno_ali' => $ranking_tecno_ali, 'point_def_ali' => $point_def_ali, 'count_def_ali' => $count_def_ali, 'ranking_def_ali' => $ranking_def_ali, 'point_fleet_ali' => $point_fleet_ali, 'count_fleet_ali' => $count_fleet_ali, 'ranking_fleet_ali' => $ranking_fleet_ali, 'point_builds_ali' => $point_builds_ali, 'count_builds_ali' => $count_builds_ali, 'ranking_builds_ali' => $ranking_builds_ali, 'total_points_ali' => $total_points_ali, 'input_id' => $input_id, 'id_aliz' => $id_aliz, 'tag' => $tag, 'ali_nom' => $ali_nom, 'ali_ext' => $ali_ext, 'ali_ext' => $ali_ext2, 'ali_int' => $ali_int, 'ali_int' => $ali_int2, 'ali_sol2' => $ali_sol2, 'ali_sol' => $ali_sol, 'ali_logo' => $ali_logo, 'ali_logo2' => $ali_logo2, 'ali_web' => $ali_web, 'ally_register_time' => $ally_register_time, 'ali_cant' => $ali_cant, 'alianza' => $alianza, 'input_id' => $input_id, 'id' => $id, 'nombre' => $nombre, 'nivel' => $nivel, 'vacas' => $vacas, 'suspen' => $suspen, 'mas' => $mas, 'id_ali' => $id_ali, 'ip' => $ip, 'ip2' => $ip2, 'ipcheck' => true, 'reg_time' => $reg_time, 'onlinetime' => $onlinetime, 'id_p' => $id_p, 'g' => $g, 's' => $s, 'p' => $p, 'info' => $info, 'email_1' => $email_1, 'email_2' => $email_2, 'sus_time' => $sus_time, 'sus_longer' => $sus_longer, 'sus_reason' => $sus_reason, 'sus_author' => $sus_author, 'techoffi' => $techoffi, 'canedit' => allowedTo('ShowQuickEditorPage'), 'buildings_title' => $LNG['buildings_title'], 'buildings_title' => $LNG['buildings_title'], 'researchs_title ' => $LNG['researchs_title'], 'ships_title' => $LNG['ships_title'], 'defenses_title' => $LNG['defenses_title'], 'ac_recent_destroyed_planets' => $LNG['ac_recent_destroyed_planets'], 'ac_isnodestruyed' => $LNG['ac_isnodestruyed'], 'ac_note_k' => $LNG['ac_note_k'], 'ac_leyend' => $LNG['ac_leyend'], 'ac_account_data' => $LNG['ac_account_data'], 'ac_name' => $LNG['ac_name'], 'ac_mail' => $LNG['ac_mail'], 'ac_perm_mail' => $LNG['ac_perm_mail'], 'ac_auth_level' => $LNG['ac_auth_level'], 'ac_on_vacation' => $LNG['ac_on_vacation'], 'ac_banned' => $LNG['ac_banned'], 'ac_alliance' => $LNG['ac_alliance'], 'ac_reg_ip' => $LNG['ac_reg_ip'], 'ac_last_ip' => $LNG['ac_last_ip'], 'ac_checkip_title' => $LNG['ac_checkip_title'], 'ac_register_time' => $LNG['ac_register_time'], 'ac_act_time' => $LNG['ac_act_time'], 'ac_home_planet_id' => $LNG['ac_home_planet_id'], 'ac_home_planet_coord' => $LNG['ac_home_planet_coord'], 'ac_user_system' => $LNG['ac_user_system'], 'ac_ranking' => $LNG['ac_ranking'], 'ac_see_ranking' => $LNG['ac_see_ranking'], 'ac_user_ranking' => $LNG['ac_user_ranking'], 'ac_points_count' => $LNG['ac_points_count'], 'ac_ranking' => $LNG['ac_ranking'], 'ac_total_points' => $LNG['ac_total_points'], 'ac_suspended_title' => $LNG['ac_suspended_title'], 'ac_suspended_time' => $LNG['ac_suspended_time'], 'ac_suspended_longer' => $LNG['ac_suspended_longer'], 'ac_suspended_reason' => $LNG['ac_suspended_reason'], 'ac_suspended_autor' => $LNG['ac_suspended_autor'], 'ac_info_ally' => $LNG['ac_info_ally'], 'ac_leader' => $LNG['ac_leader'], 'ac_tag' => $LNG['ac_tag'], 'ac_name_ali' => $LNG['ac_name_ali'], 'ac_ext_text ' => $LNG['ac_ext_text'], 'ac_int_text' => $LNG['ac_int_text'], 'ac_sol_text' => $LNG['ac_sol_text'], 'ac_image' => $LNG['ac_image'], 'ac_ally_web' => $LNG['ac_ally_web'], 'ac_total_members' => $LNG['ac_total_members'], 'ac_ranking' => $LNG['ac_ranking'], 'ac_see_ranking' => $LNG['ac_see_ranking'], 'ac_view_image' => $LNG['ac_view_image'], 'ac_urlnow' => $LNG['ac_urlnow'], 'ac_ally_ranking' => $LNG['ac_ally_ranking'], 'ac_points_count' => $LNG['ac_points_count'], 'ac_ranking' => $LNG['ac_ranking'], 'ac_total_points' => $LNG['ac_total_points'], 'ac_id_names_coords' => $LNG['ac_id_names_coords'], 'ac_name' => $LNG['ac_name'], 'ac_diameter' => $LNG['ac_diameter'], 'ac_fields' => $LNG['ac_fields'], 'ac_temperature' => $LNG['ac_temperature'], 'se_search_edit' => $LNG['se_search_edit'], 'resources_title' => $LNG['resources_title'], 'ac_name' => $LNG['ac_name'], 'Metal' => $LNG['tech'][901], 'Crystal' => $LNG['tech'][902], 'Deuterium' => $LNG['tech'][903], 'Energy' => $LNG['tech'][911], 'Darkmatter' => $LNG['tech'][921], 'buildings_title' => $LNG['buildings_title'], 'ships_title' => $LNG['ships_title'], 'defenses_title' => $LNG['defenses_title'], 'ac_officier_research' => $LNG['ac_officier_research'], 'researchs_title' => $LNG['researchs_title'], 'officiers_title' => $LNG['officiers_title'], 'ac_name' => $LNG['ac_name'], 'input_id' => $LNG['input_id'], 'ac_coords' => $LNG['ac_coords'], 'ac_time_destruyed' => $LNG['ac_time_destruyed'])); $template->show('AccountDataPageDetail.tpl'); } exit; } $Userlist = ""; $UserWhileLogin = $GLOBALS['DATABASE']->query("SELECT `id`, `username`, `authlevel` FROM " . USERS . " WHERE `authlevel` <= '" . $USER['authlevel'] . "' AND `universe` = '" . $_SESSION['adminuni'] . "' ORDER BY `username` ASC;"); while ($UserList = $GLOBALS['DATABASE']->fetch_array($UserWhileLogin)) { $Userlist .= "<option value=\"" . $UserList['id'] . "\">" . $UserList['username'] . " (" . $LNG['rank'][$UserList['authlevel']] . ")</option>"; } $template->loadscript('filterlist.js'); $template->assign_vars(array('Userlist' => $Userlist, 'ac_enter_user_id' => $LNG['ac_enter_user_id'], 'bo_select_title' => $LNG['bo_select_title'], 'button_filter' => $LNG['button_filter'], 'button_deselect' => $LNG['button_deselect'], 'ac_select_id_num' => $LNG['ac_select_id_num'], 'button_submit' => $LNG['button_submit'])); $template->show('AccountDataPageIntro.tpl'); }
/** * BatimentBuildingPage.php * * @version 1.1 * @copyright 2008 by Chlorel for XNova * * fix by vomi, zeus (team xorbit) for XNova */ function BatimentBuildingPage(&$CurrentPlanet, $CurrentUser) { global $ProdGrid, $lang, $resource, $reslist, $phpEx, $dpath, $game_config, $_GET; CheckPlanetUsedFields($CurrentPlanet); // Tables des batiments possibles par type de planete $Allowed['1'] = array(1, 2, 3, 4, 12, 14, 15, 21, 22, 23, 24, 31, 33, 34, 44); $Allowed['3'] = array(12, 14, 21, 22, 23, 24, 34, 41, 42, 43); // Boucle d'interpretation des eventuelles commandes if ($CurrentUser['urlaubs_modus'] == 0) { if (isset($_GET['cmd'])) { // On passe une commande $bDoItNow = false; $TheCommand = $_GET['cmd']; $Gebaude = false; if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $_GET['building'])) { $Gebaude = IsElementBuyable($CurrentUser, $CurrentPlanet, $_GET['building'], true, false); } //Gebäude-Cheat-Fix Wolle1989 //ändern für andere Bannzeiten in Sekunden $bannzeit = 60; // so lassen $time = time(); $bantime = $time + $bannzeit; $Gebaude = false; if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $_GET['building'])) { $Gebaude = IsElementBuyable($CurrentUser, $CurrentPlanet, $_GET['building'], true, false); } $Element = $_GET['building']; if (!$Gebaude) { doquery("UPDATE {{table}} SET bana='1', banaday='{$bantime}' WHERE id='{$CurrentUser['id']}'", "users"); doquery("INSERT INTO {{table}} SET\r\n\t\t\t\t`who` = '{$CurrentUser['username']}',\r\n\t\t\t\t`theme`= 'Cheatversuch',\r\n\t\t\t\t`who2` = '{$CurrentUser['id']}',\r\n\t\t\t\t`time` = '{$time}',\r\n\t\t\t\t`longer` = '{$bantime}',\r\n\t\t\t\t`author` = 'SYSTEM: B',\r\n\t\t\t\t`email` = 'n'", 'banned'); message($lang['CHEATATTEMPT'], $lang['CHEATATTEMPT_TITLE']); die; } $ListID = $_GET['listid']; if (isset($Element)) { if (!strchr($Element, ",")) { if (in_array(trim($Element), $Allowed[$CurrentPlanet['planet_type']])) { $bDoItNow = true; } } } elseif (isset($ListID)) { $bDoItNow = true; } //Hier wird geprüft ob ein ; in die URL(GET)Geschrieben wurde foreach ($_GET as $check_url) { if (eregi(";", $check_url)) { die($lang['ANTICHEAT_MESSAGE']); } } //Hier wird gescheckt ob ein user das zeichen ; in einen INPUT schreibt foreach ($_POST as $check_pos) { if (eregi(";", $check_post, $check_url)) { die($lang['ANTICHEAT_MESSAGE']); } } if ($bDoItNow == true) { switch ($TheCommand) { case 'cancel': // Interrompre le premier batiment de la queue CancelBuildingFromQueue($CurrentPlanet, $CurrentUser); break; case 'remove': // Supprimer un element de la queue (mais pas le premier) // $RemID -> element de la liste a supprimer RemoveBuildingFromQueue($CurrentPlanet, $CurrentUser, $ListID); break; case 'insert': // Insere un element dans la queue AddBuildingToQueue($CurrentPlanet, $CurrentUser, $Element, true); break; case 'destroy': // Detruit un batiment deja construit sur la planete ! AddBuildingToQueue($CurrentPlanet, $CurrentUser, $Element, false); break; default: break; } // switch } } } SetNextQueueElementOnTop($CurrentPlanet, $CurrentUser); $Queue = ShowBuildingQueue($CurrentPlanet, $CurrentUser); // On enregistre ce que l'on a modifi� dans planet ! BuildingSavePlanetRecord($CurrentPlanet); // On enregistre ce que l'on a eventuellement modifi� dans users BuildingSaveUserRecord($CurrentUser); if ($Queue['lenght'] < MAX_BUILDING_QUEUE_SIZE) { $CanBuildElement = true; } else { $CanBuildElement = false; } $SubTemplate = gettemplate('buildings_builds_row'); $BuildingPage = ""; foreach ($lang['tech'] as $Element => $ElementName) { if (in_array($Element, $Allowed[$CurrentPlanet['planet_type']])) { $CurrentMaxFields = CalculateMaxPlanetFields($CurrentPlanet); if ($CurrentPlanet["field_current"] < $CurrentMaxFields - $Queue['lenght']) { $RoomIsOk = true; } else { $RoomIsOk = false; } if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element)) { $HaveRessources = IsElementBuyable($CurrentUser, $CurrentPlanet, $Element, true, false); $parse = array(); $parse['dpath'] = $dpath; $parse['i'] = $Element; $BuildingLevel = $CurrentPlanet[$resource[$Element]]; $parse['nivel'] = $BuildingLevel == 0 ? "" : " (" . $lang['level'] . " " . $BuildingLevel . ")"; // show energy on BuildingPage $BuildLevelFactor = $CurrentPlanet[$resource[$Element] . "_porcent"]; $BuildTemp = $CurrentPlanet['temp_max']; $CurrentBuildtLvl = $BuildingLevel; $BuildLevel = $CurrentBuildtLvl > 0 ? $CurrentBuildtLvl : 1; $Prod[4] = floor(eval($ProdGrid[$Element]['formule']['energy']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05); $ActualNeed = floor($Prod[4]); $BuildLevel++; $Prod[4] = floor(eval($ProdGrid[$Element]['formule']['energy']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05); $EnergyNeed = colorNumber(pretty_number(floor($Prod[4] - $ActualNeed))); if ($Element >= 1 && $Element <= 3) { $parse['build_need_diff'] = "(" . "<font color=#FF0000>" . $EnergyNeed . " " . $lang['Energy'] . "</font>" . ")"; $BuildLevel = 0; } elseif ($Element == 4 || $Element == 12) { $parse['build_need_diff'] = "(" . "<font color=#00FF00>+" . $EnergyNeed . " " . $lang['Energy'] . "</font>" . ")"; $BuildLevel = 0; } // end of 'show energy on BuildingPage' $parse['n'] = $ElementName; $parse['descriptions'] = $lang['res']['descriptions'][$Element]; $ElementBuildTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element); $parse['time'] = ShowBuildTime($ElementBuildTime); $parse['price'] = GetElementPrice($CurrentUser, $CurrentPlanet, $Element); $parse['rest_price'] = GetRestPrice($CurrentUser, $CurrentPlanet, $Element); $parse['click'] = ''; $NextBuildLevel = $CurrentPlanet[$resource[$Element]] + 1; if ($Element == 31) { // Special Laboratoire if ($CurrentUser["b_tech_planet"] != 0 && $game_config['BuildLabWhileRun'] != 1) { // Variable qui contient le parametre // On verifie si on a le droit d'evoluer pendant les recherches (Setting dans config) $parse['click'] = "<font color=#FF0000>" . $lang['in_working'] . "</font>"; } } if ($parse['click'] != '') { // Bin on ne fait rien, vu que l'on l'a deja fait au dessus !! } elseif ($RoomIsOk && $CanBuildElement) { if ($Queue['lenght'] == 0) { if ($NextBuildLevel == 1) { if ($HaveRessources == true) { $parse['click'] = "<a href=\"?cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['BuildFirstLevel'] . "</font></a>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['BuildFirstLevel'] . "</font>"; } } else { if ($HaveRessources == true) { $parse['click'] = "<a href=\"?cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font></a>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font>"; } } } else { if ($HaveRessources == true) { $parse['click'] = "<a href=\"?cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['InBuildQueue'] . "</font></a>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['InBuildQueue'] . "</font>"; } } } elseif ($RoomIsOk && !$CanBuildElement) { if ($NextBuildLevel == 1) { $parse['click'] = "<font color=#FF0000>" . $lang['BuildFirstLevel'] . "</font>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font>"; } } else { $parse['click'] = "<font color=#FF0000>" . $lang['NoMoreSpace'] . "</font>"; } $BuildingPage .= parsetemplate($SubTemplate, $parse); } } } $parse = $lang; // Faut il afficher la liste de construction ?? if ($Queue['lenght'] > 0) { $parse['BuildListScript'] = InsertBuildListScript("buildings"); $parse['BuildList'] = $Queue['buildlist']; } else { $parse['BuildListScript'] = ""; $parse['BuildList'] = ""; } $parse['planet_field_current'] = $CurrentPlanet["field_current"]; $parse['planet_field_max'] = $CurrentPlanet['field_max'] + $CurrentPlanet[$resource[33]] * 5; $parse['field_libre'] = $parse['planet_field_max'] - $CurrentPlanet['field_current']; $parse['BuildingsList'] = $BuildingPage; $page .= parsetemplate(gettemplate('buildings_builds'), $parse); display($page, $lang['Builds']); }
$parse['building'] = $lang['Free']; } } else { $parse['building'] = $lang['Free']; } $query = doquery('SELECT username FROM {{table}} ORDER BY register_time DESC', 'users', true); $parse['last_user'] = $query['username']; $query = doquery("SELECT COUNT(DISTINCT(id)) FROM {{table}} WHERE onlinetime>" . (time() - 900), 'users', true); $parse['online_users'] = $query[0]; // $count = doquery(","users",true); $parse['users_amount'] = $game_config['users_amount']; // Rajout d'une barre pourcentage // Calcul du pourcentage de remplissage $parse['case_pourcentage'] = floor($planetrow["field_current"] / CalculateMaxPlanetFields($planetrow) * 100) . $lang['o/o']; // Barre de remplissage $parse['case_barre'] = floor($planetrow["field_current"] / CalculateMaxPlanetFields($planetrow) * 100) * 4.0; // Couleur de la barre de remplissage if ($parse['case_barre'] > 100 * 4.0) { $parse['case_barre'] = 400; $parse['case_barre_barcolor'] = '#C00000'; } elseif ($parse['case_barre'] > 80 * 4.0) { $parse['case_barre_barcolor'] = '#C0C000'; } else { $parse['case_barre_barcolor'] = '#00C000'; } // Mode Améliorations $parse['xpminier'] = $user['xpminier']; $parse['xpraid'] = $user['xpraid']; $parse['lvl_minier'] = $user['lvl_minier']; $parse['lvl_raid'] = $user['lvl_raid']; $LvlMinier = $user['lvl_minier'];
function ShowOverviewPage($CurrentUser, $CurrentPlanet) { global $svn_root, $phpEx, $dpath, $db, $lang, $planetrow, $users, $displays; $displays->assignContent('overview/overview'); include_once $svn_root . 'includes/functions/InsertJavaScriptChronoApplet.' . $phpEx; include_once $svn_root . 'includes/functions/classes/class.FlyingFleetsTable.' . $phpEx; $FlyingFleetsTable = new FlyingFleetsTable(); $lunarow = $db->query("SELECT `id`,`name`,`image`,`destruyed` FROM {{table}}\r\n\t\t\t WHERE `id_owner` = '" . $CurrentPlanet['id_owner'] . "'\r\n\t\t\t AND `galaxy` = '" . $CurrentPlanet['galaxy'] . "'\r\n\t\t\t AND `system` = '" . $CurrentPlanet['system'] . "'\r\n\t\t\t AND `planet` = '" . $CurrentPlanet['planet'] . "'\r\n\t\t\t AND `planet_type`= '3';", 'planets', true); if (empty($lunarow)) { unset($lunarow); } CheckPlanetUsedFields($lunarow); $parse['planet_id'] = $CurrentPlanet['id']; $parse['planet_name'] = $CurrentPlanet['name']; $parse['galaxy_galaxy'] = $CurrentPlanet['galaxy']; $parse['galaxy_system'] = $CurrentPlanet['system']; $parse['galaxy_planet'] = $CurrentPlanet['planet']; switch ($_GET['mode']) { case 'renameplanet': if ($_POST['newname']) { $parse['planet_name'] = mysql_escape_string(strip_tags(trim($_POST['newname']))); } foreach ($parse as $name => $trans) { $displays->assignGlobal($name, $trans); } if ($_POST['action'] == $lang['ov_planet_rename_action']) { $newname = mysql_escape_string(strip_tags(trim($_POST['newname']))); if (preg_match("/[^A-z0-9_\\- ]/", $newname) == 1) { $displays->message($lang['ov_newname_error'], "game.php?page=overview&mode=renameplanet", 2); } if ($newname != "") { $db->query("UPDATE {{table}} SET `name` = '" . $newname . "' WHERE `id` = '" . $CurrentUser['current_planet'] . "' LIMIT 1;", "planets"); } } elseif ($_POST['action'] == $lang['ov_abandon_planet']) { $displays->newblock('deleted'); } elseif ($_POST['kolonieloeschen'] == 1 && intval($_POST['deleteid']) == $CurrentUser['current_planet']) { if (md5($_POST['pw']) == $CurrentUser["password"] && $CurrentUser['id_planet'] != $CurrentUser['current_planet']) { $db->query("UPDATE {{table}} SET `destruyed` = '" . (time() + 86400) . "'\r\n\t\t\t\t\t\tWHERE `id` = '" . mysql_real_escape_string($CurrentUser['current_planet']) . "' LIMIT 1;", 'planets'); $db->query("UPDATE {{table}} SET `current_planet` = `id_planet`\r\n\t\t\t\t\t\tWHERE `id` = '" . mysql_real_escape_string($CurrentUser['id']) . "' LIMIT 1", "users"); $db->query("DELETE FROM {{table}}\r\n\t\t\t\t\t\tWHERE `galaxy` = '" . $CurrentPlanet['galaxy'] . "'\r\n\t\t\t\t\t\tAND `system` = '" . $CurrentPlanet['system'] . "'\r\n\t\t\t\t\t\tAND `planet` = '" . $CurrentPlanet['planet'] . "'\r\n\t\t\t\t\t\tAND `planet_type` = 3;", 'planets'); $db->query("UPDATE {{table}} SET `id_luna` = '0'\r\n\t\t\t\t\t\tWHERE `galaxy` = '" . $CurrentPlanet['galaxy'] . "'\r\n\t\t\t\t\t\tAND `system` = '" . $CurrentPlanet['system'] . "'\r\n\t\t\t\t\t\tAND `planet` = '" . $CurrentPlanet['planet'] . "';", 'galaxy'); $displays->message($lang['ov_planet_abandoned'], 'game.php?page=overview&mode=renameplanet'); } elseif ($CurrentUser['id_planet'] == $CurrentUser["current_planet"]) { $displays->message($lang['ov_principal_planet_cant_abanone'], 'game.php?page=overview&mode=renameplanet'); } else { $displays->message($lang['ov_wrong_pass'], 'game.php?page=overview&mode=renameplanet'); } } $displays->newblock('renameplanet'); break; default: $displays->newblock('overview'); if ($CurrentUser["db_deaktjava"] == "1") { $parse["delete"] = "<tr><th colspan=4 ><h1>" . $lang["deleted"] . gmdate("j-m-y H:i:s", $CurrentUser["db_time"]) . "</h1></th></tr>"; } $noticias = explode(";;", $db->game_config["information"]); if ($noticias[0] == 1) { $displays->newblock('noticias'); $new = nl2br(stripslashes($noticias[1])); $new = str_replace(":name:", $CurrentUser['username'], $new); $new = str_replace(":server:", $db->game_config['game_name'], $new); $displays->assign('news', $new); } $OwnFleets = $db->query("SELECT * FROM {{table}} WHERE `fleet_owner` = '" . $CurrentUser['id'] . "';", 'fleets'); $Record = 0; $fpage = array(); while ($FleetRow = mysql_fetch_array($OwnFleets)) { $Record++; $StartTime = $FleetRow['fleet_start_time']; $StayTime = $FleetRow['fleet_end_stay']; $EndTime = $FleetRow['fleet_end_time']; $Label = "fs"; if ($StartTime > time()) { $fpage[$StartTime] = $FlyingFleetsTable->BuildFleetEventTable($FleetRow, 0, true, $Label, $Record); } if ($FleetRow['fleet_mission'] != 4 && $FleetRow['fleet_mission'] != 10) { $Label = "ft"; if ($StayTime > time()) { $fpage[$StayTime] = $FlyingFleetsTable->BuildFleetEventTable($FleetRow, 1, true, $Label, $Record); } $Label = "fe"; if ($EndTime > time()) { $fpage[$EndTime] = $FlyingFleetsTable->BuildFleetEventTable($FleetRow, 2, true, $Label, $Record); } } } $OtherFleets = $db->query("SELECT * FROM {{table}} WHERE `fleet_target_owner` = '" . $CurrentUser['id'] . "';", 'fleets'); $Record = 2000; while ($FleetRow = mysql_fetch_array($OtherFleets)) { if ($FleetRow['fleet_owner'] != $CurrentUser['id']) { if ($FleetRow['fleet_mission'] != 8) { $Record++; $StartTime = $FleetRow['fleet_start_time']; $StayTime = $FleetRow['fleet_end_stay']; if ($StartTime > time()) { $Label = "ofs"; $fpage[$StartTime] = $FlyingFleetsTable->BuildFleetEventTable($FleetRow, 0, false, $Label, $Record); } if ($FleetRow['fleet_mission'] == 5) { $Label = "oft"; if ($StayTime > time()) { $fpage[$StayTime] = $FlyingFleetsTable->BuildFleetEventTable($FleetRow, 1, false, $Label, $Record); } } } } } mysql_free_result($OtherFleets); $planets_query = $db->query("SELECT * FROM `{{table}}` WHERE id_owner='{$CurrentUser['id']}' AND `destruyed` = 0", "planets"); $Colone = 1; $PlanetaQueInv = array(); while ($CurrentUserPlanet = mysql_fetch_array($planets_query)) { if ($CurrentUserPlanet["b_tech"] != 0) { $PlanetaQueInv['b_tech'] = $CurrentUserPlanet["b_tech"]; $PlanetaQueInv['b_tech_id'] = $CurrentUserPlanet["b_tech_id"]; $PlanetaQueInv['name'] = $CurrentUserPlanet["name"]; $PlanetaQueInv['id'] = $CurrentUserPlanet["id"]; } if ($CurrentUserPlanet["id"] != $CurrentUser["current_planet"] && $CurrentUserPlanet['planet_type'] != 3) { $Coloneshow++; $AllPlanets .= "<th>" . $CurrentUserPlanet['name'] . "<br>"; $AllPlanets .= "<a href=\"game.php?page=overview&cp=" . $CurrentUserPlanet['id'] . "&re=0\" title=\"" . $CurrentUserPlanet['name'] . "\"><img src=\"" . $dpath . "planeten/small/s_" . $CurrentUserPlanet['image'] . ".jpg\" height=\"20\" width=\"20\"></a><br>"; $AllPlanets .= "<center>"; if ($CurrentUserPlanet['b_building'] != 0) { UpdatePlanetBatimentQueueList($CurrentUserPlanet, $CurrentUser); if ($CurrentUserPlanet['b_building'] != 0) { $BuildQueue = $CurrentUserPlanet['b_building_id']; $QueueArray = explode(";", $BuildQueue); $CurrentBuild = explode(",", $QueueArray[0]); $BuildElement = $CurrentBuild[0]; $BuildLevel = $CurrentBuild[1]; $BuildRestTime = pretty_time($CurrentBuild[3] - time()); $AllPlanets .= '' . $lang['tech'][$BuildElement] . ' (' . $BuildLevel . ')'; $AllPlanets .= "<br><font color=\"#7f7f7f\">(" . $BuildRestTime . ")</font>"; } else { CheckPlanetUsedFields($CurrentUserPlanet); $AllPlanets .= $lang['ov_free']; } } else { $AllPlanets .= $lang['ov_free']; } $AllPlanets .= "</center></th>"; if ($Coloneshow % 6 == 0) { $AllPlanets .= "</tr><tr>"; } } } if ($lunarow['id'] != 0 && $lunarow['destruyed'] != 0 && $CurrentPlanet['planet_type'] != 3) { if ($CurrentPlanet['planet_type'] == 1 or $lunarow['id'] != 0) { $displays->newblock('moon'); $displays->assign('moon_img', "<a href=\"game.php?page=overview&cp=" . $lunarow['id'] . "&re=0\" title=\"" . $lunarow['name'] . "\"><img src=\"" . $dpath . "planeten/small/s_" . $lunarow['image'] . ".png\" height=\"50\" width=\"50\"></a>"); $displays->assign('moon', $lunarow['name'] . " (" . $lang['fcm_moon'] . ")"); } } $parse['planet_diameter'] = pretty_number($CurrentPlanet['diameter']); $parse['planet_field_current'] = $CurrentPlanet['field_current']; $parse['planet_field_max'] = CalculateMaxPlanetFields($CurrentPlanet); $parse['planet_temp_min'] = $CurrentPlanet['temp_min']; $parse['planet_temp_max'] = $CurrentPlanet['temp_max']; $parse['user_username'] = $CurrentUser['username']; if (count($fpage) > 0) { $flotten = ""; ksort($fpage); foreach ($fpage as $time => $content) { $flotten .= $content . "\n"; } } if ($CurrentPlanet['b_building'] != 0) { include $svn_root . 'includes/functions/InsertBuildListScript.' . $phpEx; UpdatePlanetBatimentQueueList($planetrow, $users->user); if ($CurrentPlanet['b_building'] != 0) { $BuildQueue = explode(";", $CurrentPlanet['b_building_id']); $CurrBuild = explode(",", $BuildQueue[0]); $RestTime = $CurrentPlanet['b_building'] - time(); $PlanetID = $CurrentPlanet['id']; $Build = InsertBuildListScript("buildings"); $Build .= "<table>"; $Build .= " <tr>"; $Build .= " <th colspan=\"2\">" . $lang['tech'][$CurrBuild[0]] . "</th>"; $Build .= " </tr>"; $Build .= " <tr>"; $Build .= " <th class='anything' align=\"center\" style=\"background-image: url(" . $dpath . "gebaeude/" . $CurrBuild[0] . ".gif);background-repeat:no-repeat;width:60px; height:60;\" valign=\"middle\"></th>"; $Build .= " <th class='anything'>" . $lang['pr_subiendo'] . " <span style=\"color:#FF8C00;\">Nivel " . $CurrBuild[1] . "</span><br />"; $Build .= " " . $lang['pr_duracion'] . ":<div id=\"blc\" class=\"z\" style=\"color:yellow;\">" . pretty_time($RestTime) . "</div>"; $Build .= " </th>"; $Build .= " </tr>"; $Build .= "</Table>"; $Build .= "\n<script language=\"JavaScript\">"; $Build .= "\n\tpp = \"" . $RestTime . "\";\n"; $Build .= "\n\tpk = \"" . 1 . "\";\n"; $Build .= "\n\tpm = \"cancel\";\n"; $Build .= "\n\tpl = \"" . $PlanetID . "\";\n"; $Build .= "\n\tt();\n"; $Build .= "\n</script>\n"; $parse['building'] = $Build; } else { $parse['building'] = $lang['ov_free']; } } else { $parse['building'] = $lang['ov_free']; } if ($PlanetaQueInv['b_tech'] != 0 && $PlanetaQueInv['b_tech_id']) { global $resource; include $svn_root . 'includes/functions/InsertTechListScript.' . $phpEx; UpdatePlanetBatimentQueueList($planetrow, $users->user); $NvlActual = $CurrentUser[$resource[$PlanetaQueInv['b_tech_id']]] + 1; $RestTime = $PlanetaQueInv['b_tech'] - time(); $PlanetID = $PlanetaQueInv['id']; $NomPlaneta = ""; if ($PlanetaQueInv['name'] != $CurrentPlanet['name']) { $NomPlaneta = " de " . $PlanetaQueInv['name']; } $Tech = InsertTechListScript("buildings&mode=research", $NomPlaneta); $Tech .= "<table>"; $Tech .= " <tr>"; $Tech .= " <th colspan=\"2\">" . $lang['tech'][$PlanetaQueInv['b_tech_id']] . "</th>"; $Tech .= " </tr>"; $Tech .= " <tr>"; $Tech .= " <th class='anything' align=\"center\" style=\"background-image: url(" . $dpath . "gebaeude/" . $PlanetaQueInv['b_tech_id'] . ".gif);background-repeat:no-repeat;width:60px; height:60;\" valign=\"middle\"></th>"; $Tech .= " <th class='anything'>" . $lang['pr_investigando'] . " <span style=\"color:#FF8C00;\">Nivel " . $NvlActual . "</span><br />"; $Tech .= " " . $lang['pr_duracion'] . ":<div id=\"tec_blc\" class=\"z\" style=\"color:yellow;\">" . pretty_time($RestTime) . "</div>"; $Tech .= " </th>"; $Tech .= " </tr>"; $Tech .= "</Table>"; $Tech .= "\n<script language=\"JavaScript\">"; $Tech .= "\n tec_pp = \"" . $RestTime . "\";\n"; $Tech .= "\n tec_pk = \"" . 1 . "\";\n"; $Tech .= "\n tec_pm = \"cancel\";\n"; $Tech .= "\n tec_pl = \"" . $PlanetaQueInv['b_tech_id'] . "\";\n"; $Tech .= "\n tec_t();\n"; $Tech .= "\n</script>\n"; unset($resource); $parse['tech_en_proceso'] .= $Tech; } else { $parse['tech_en_proceso'] = $lang['ov_free']; } if ($CurrentPlanet['b_hangar'] != 0) { include $svn_root . 'includes/functions/InsertHangarListScript.' . $phpEx; UpdatePlanetBatimentQueueList($planetrow, $users->user); $BuildQueue = explode(";", $CurrentPlanet['b_hangar_id']); $CurrBuild = explode(",", $BuildQueue[0]); $RealTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $CurrBuild[0]); $QueueTime = $RealTime * $CurrBuild[1]; $RestTime = $QueueTime - $CurrentPlanet['b_hangar']; $PlanetID = $CurrentPlanet['id']; $Hangar = InsertHangarListScript("fleet"); $Hangar .= "<table>"; $Hangar .= " <tr>"; $Hangar .= " <th colspan=\"2\">" . $lang['tech'][$CurrBuild[0]] . "</th>"; $Hangar .= " </tr>"; $Hangar .= " <tr>"; $Hangar .= " <th class='anything' align=\"center\" style=\"background-image: url(" . $dpath . "gebaeude/" . $CurrBuild[0] . ".gif);background-repeat:no-repeat;width:60px; height:60;\" valign=\"middle\"><br />"; $Hangar .= " </th>"; $Hangar .= " <th class='anything'>" . $lang['pr_tiempo_prod'] . "<br />"; $Hangar .= " <div id=\"han_blc\" class=\"z\" style=\"color:yellow;\">" . pretty_time($RestTime) . "</div>"; $Hangar .= " </th>"; $Hangar .= " </tr>"; $Hangar .= "</Table>"; $Hangar .= "\n<script language=\"JavaScript\">"; $Hangar .= "\n han_pp = \"" . $RestTime . "\";\n"; $Hangar .= "\n han_pk = \"" . 1 . "\";\n"; $Hangar .= "\n han_pm = \"cancel\";\n"; $Hangar .= "\n han_pl = \"" . $PlanetID . "\";\n"; $Hangar .= "\n han_t();\n"; $Hangar .= "\n</script>\n"; $parse['hangar_en_proceso'] .= $Hangar; } else { $parse['hangar_en_proceso'] = $lang['ov_free']; } // Usuarios conectados $OnlineUsers = $db->query("SELECT COUNT(DISTINCT id) as count FROM {{table}} WHERE onlinetime>='" . (time() - 15 * 60) . "'", 'users', 'true'); $parse['NumberMembersOnline'] = $OnlineUsers['count']; $parse['id'] = $CurrentPlanet['id']; $parse['fleet_list'] = $flotten; $parse['planet_image'] = $CurrentPlanet['image']; if (isset($AllPlanets)) { $displays->newblock('anothers_planets'); $displays->assign('anothers_planets', $AllPlanets); } $parse["dpath"] = $dpath; if ($db->game_config['stat'] == 0) { $parse['user_rank'] = pretty_number($users->user['total_points']) . " (" . $lang['ov_place'] . " <a href=\"game.php?page=statistics&range=" . $users->user['total_rank'] . "\">" . $users->user['total_rank'] . "</a> " . $lang['ov_of'] . " " . $db->game_config['users_amount'] . ")"; } elseif ($db->game_config['stat'] == 1 && $CurrentUser['authlevel'] < $db->game_config['stat_level']) { $parse['user_rank'] = pretty_number($users->user['total_points']) . " (" . $lang['ov_place'] . " <a href=\"game.php?page=statistics&range=" . $users->user['total_rank'] . "\">" . $users->user['total_rank'] . "</a> " . $lang['ov_of'] . " " . $db->game_config['users_amount'] . ")"; } else { $parse['user_rank'] = "-"; } setlocale(LC_ALL, 'es_ES.UTF-8/UTF-8'); $parse['date_time'] = strftime("Hoy es %A, %e de %B de %Y, son las %H:%M:%S", time()); //$url=explode("game.php",$_SERVER[HTTP_REFERER]); $url = dirname("http://" . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']) . "/"; $parse['refer'] = '' . $url . 'index.php?ref=' . $users->user['username'] . ''; $displays->gotoBlock('overview'); foreach ($parse as $name => $trans) { $displays->assign($name, $trans); } break; } $displays->display("Overview"); }
function ShowBuildingQueue($CurrentPlanet, $CurrentUser) { global $lang, $dpath, $reslist, $resource; $BuildingNow = array(); $CurrentQueue = $CurrentPlanet['b_building_id']; $QueueID = 0; if ($CurrentQueue != 0) { $QueueArray = explode(";", $CurrentQueue); $ActualCount = count($QueueArray); } else { $QueueArray = "0"; $ActualCount = 0; } $ListIDRow = ""; if ($ActualCount != 0) { $ListIDRow .= "<tr><td class='c' colspan='3' align='center'>" . $lang['Constructions'] . "<font color='#00FF00'>" . $ActualCount . "</font> von <font color='#FF0000'>" . MAX_BUILDING_QUEUE_SIZE . "</font></td></tr>"; $PlanetID = $CurrentPlanet['id']; $totalBuildTime = 0; $totalBuildEndTime = time(); if (MAX_BUILDING_QUEUE_SIZE - $ActualCount > 0) { $CanBuild = true; } else { $Canbuild = false; } foreach ($reslist['build'] as $Element) { $BuildingNow[$Element] = $CurrentPlanet[$resource[$Element]]; } for ($QueueID = 0; $QueueID < $ActualCount; $QueueID++) { $BuildArray = explode(",", $QueueArray[$QueueID]); $BuildEndTime = floor($BuildArray[3]); $CurrentTime = floor(time()); if ($BuildEndTime >= $CurrentTime) { $ListID = $QueueID + 1; $Element = $BuildArray[0]; $BuildingNow[$Element] = $BuildArray[1]; $BuildLevel = $BuildArray[1]; $BuildMode = $BuildArray[4]; $BuildTime = $BuildEndTime - time(); $totalBuildTime = $BuildTime; $totalBuildEndTime = $BuildEndTime; $ElementTitle = $lang['tech'][$Element]; if (IsElementBuyable($CurrentUser, $CurrentPlanet, $Element, true, false) and IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element) and $CanBuild and $CurrentPlanet["field_current"] < CalculateMaxPlanetFields($CurrentPlanet) - $ActualCount) { $CanBuild = true; } else { $CanBuild = false; } if ($BuildMode == 'build') { $modo_rep = 'insert'; $multi = 1; } else { $modo_rep = 'destroy'; $multi = 2; } if ($CanBuild) { $levelmore = "<a href='buildings.php?cmd={$modo_rep}&building=" . $Element . "'>" . $lang['Next'] . "</a> "; } else { $levelmore = ''; } if ($ListID > 0) { $ListIDRow .= "<tr>"; if ($ListID == 1) { $ListIDRow .= "<th colspan=\"3\">"; $ListIDRow .= " <table width=\"100%\">"; $ListIDRow .= " <tr>"; $ListIDRow .= " <td width='80' rowspan='2'><a href='infos.php?gid=" . $Element . "'><img border='0' src='" . $dpath . "gebaeude/" . $Element . ".gif' align='top' title='" . $ElementTitle . "' width='80' height='80'></a></td>"; if ($BuildMode == 'build') { $ListIDRow .= " <td><center>"; $ListIDRow .= " <table>"; $ListIDRow .= " <tr>"; $ListIDRow .= " <td class='c' width='24'><img border='0' src='./images/enproceso.gif' align='top' width='24' height='24'></td>"; $ListIDRow .= " <td class='c'><center><font color =\"#6699FF\"><a href='infos.php?gid=" . $Element . "'><font color =\"#6699FF\">- " . $ElementTitle . " </font></a><br />" . $lang['BuildNextLevel'] . "<font color=\"#FF8C00\"><b>" . $lang['level'] . " " . $BuildLevel . "</b></font></font></center></td>"; $ListIDRow .= " <td class='c' width='24'><img border='0' src='./images/enproceso.gif' align='top' width='24' height='24'></td>"; $ListIDRow .= " </tr>"; $ListIDRow .= " <tr>"; $ListIDRow .= " <td class='c' colspan='3'><center>" . $levelmore . "</center></td>"; $ListIDRow .= " </tr>"; $ListIDRow .= " </table>"; $ListIDRow .= " </center></td>"; } else { $ListIDRow .= " <td class='c'><center>"; $ListIDRow .= " <table>"; $ListIDRow .= " <tr>"; $ListIDRow .= " <td class='c' width='24'><img border='0' src='./images/enproceso.gif' align='top' width='24' height='24'></td>"; $ListIDRow .= " <td class='c'><center><font color =\"#6699FF\"><a href='infos.php?gid=" . $Element . "'><font color =\"#6699FF\"> " . $ElementTitle . " </font></a><br /><font color=\"#87CEEB\"><blink>" . $lang['bd_dismantle'] . "</blink></font> en <font color=\"#FF8C00\"><b>Nivel " . $BuildLevel . "</b></font></font></center></td>"; $ListIDRow .= " <td class='c' width='24'><img border='0' src='./images/enproceso.gif' align='top' width='24' height='24'></td>"; $ListIDRow .= " </tr>"; $ListIDRow .= " </table>"; $ListIDRow .= " </center></td>"; } $ListIDRow .= " <td class='c' width=\"56\" rowspan='2'><center>"; $ListIDRow .= " <div id=\"blc\" class=\"z\">" . $BuildTime . "<br><a href=\"buildings.php?listid=" . $ListID . "&cmd=cancel&planet=" . $PlanetID . "\">" . $lang['bd_interrupt'] . "</a></div>"; $ListIDRow .= " <script language=\"JavaScript\">"; $ListIDRow .= " pp = \"" . $BuildTime . "\";\n"; $ListIDRow .= " pk = \"" . $ListID . "\";\n"; $ListIDRow .= " pm = \"cancel\";\n"; $ListIDRow .= " pl = \"" . $PlanetID . "\";\n"; $ListIDRow .= " t();\n"; $ListIDRow .= " </script>"; $ListIDRow .= " <strong color=\"lime\"><br><font color=\"lime\">" . date("j/m H:i:s", $BuildEndTime) . "</font></strong></center>"; $ListIDRow .= " </td>"; $ListIDRow .= " </tr>"; $totaltime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element) / $multi; if ($totaltime == 0) { $barpercent = 0; } else { $barpercent = round(($totaltime - $BuildTime) / $totaltime * 100, 2); } $BarScript .= "<script type=\"text/javascript\">\n"; $BarScript .= "<!--\n"; $BarScript .= " function barupdate() {\n"; $BarScript .= " var barra = document.getElementById('prodBar');\n"; $BarScript .= " var timeout = 1;\n"; $BarScript .= " ss2 = pp2;\n"; $BarScript .= " if ( ss2 <= 0 ) {\n"; $BarScript .= " barra.innerHTML = '<font color=\"#000\">100%</font>'; barra.style.width = 364;\n"; $BarScript .= " } else {\n"; $BarScript .= " if ( ss2 <= 0 ) {\n"; $BarScript .= " if (1) {\n"; $BarScript .= " barra.innerHTML = '<font color=\"#000\">100%</font>'; barra.style.width = 364;\n"; $BarScript .= " } else {\n"; $BarScript .= " timeout = 0;\n"; $BarScript .= " barra.innerHTML = '<font color=\"#000\">100%</font>'; barra.style.width = 364;\n"; $BarScript .= " }\n"; $BarScript .= " } else {\n"; $BarScript .= " var percent = Math.round(((" . $totaltime . " - pp2) / " . $totaltime . ") * 10000) / 100; var width = Math.round( percent * 3.64 );\n"; $BarScript .= " barra.innerHTML = '<font color=\"#000\"><b>' + percent + '%</b></font>'; barra.style.width = width;\n"; $BarScript .= " }\n"; $BarScript .= " pp2 = pp2 - 0.5;\n"; $BarScript .= " if (timeout == 1) {\n"; $BarScript .= " window.setTimeout(\"barupdate();\", 499);\n"; $BarScript .= " }\n"; $BarScript .= " }\n"; $BarScript .= " }\n"; $BarScript .= "//-->\n"; $BarScript .= "</script>\n"; $BarScript .= "<script language=\"javascript\">"; $BarScript .= " pp2 = \"" . $BuildTime . "\";\n"; // temps necessaire (a compter de maintenant et sans ajouter time() ) $BarScript .= " barupdate();\n"; $BarScript .= "</script>"; $Bar .= "<div id='barcontainer' style='border: 1px solid rgb(153, 153, 255); width: 364px;'><div id='prodBar' style='background-color: #dfd; width: " . round($barpercent * 3.64) . "px;'><font color='#000000'><b>" . $barpercent . "%</b></font></div></div>"; $ListIDRow .= " <tr>"; $ListIDRow .= " <td class=\"k\" height='18'>{$Bar} {$BarScript}</td>"; $ListIDRow .= " </tr>"; $ListIDRow .= " </table>"; $ListIDRow .= "</th>"; unset($Bar); unset($BarScript); } else { $ListIDRow .= "<td class='c' colspan=\"3\">"; $ListIDRow .= " <table width=\"100%\">"; $ListIDRow .= " <tr>"; if ($BuildMode == 'build') { $ListIDRow .= " <td class=\"c\"><font color =\"#6699FF\">" . $ListID . " <a href='infos.php?gid=" . $Element . "'><font color =\"#6699FF\">- " . $ElementTitle . " </font></a>" . $lang['BuildNextLevel'] . "<font color=\"#FF8C00\"><b>" . $lang['level'] . " " . $BuildLevel . "</b></font></font></td>"; } else { $ListIDRow .= " <td class=\"c\"><font color =\"#6699FF\">" . $ListID . " <a href='infos.php?gid=" . $Element . "'><font color =\"#6699FF\">- " . $ElementTitle . " </font></a> <font color=\"#87CEEB\"><blink>" . $lang['bd_dismantle'] . "</blink></font>" . $lang['into'] . " <font color=\"#FF8C00\"><b>" . $lang['level'] . " " . $BuildLevel . "</b></font></font></td>"; } $ListIDRow .= " <td class=\"c\" width=\"56\"><center>" . $levelmore . "</center></td>"; $ListIDRow .= " <td class=\"c\" width=\"56\">"; $ListIDRow .= " <font color=\"red\"><a href=\"buildings.php?listid=" . $ListID . "&cmd=remove&planet=" . $PlanetID . "\">" . $lang['cancel'] . "</a></font>"; $ListIDRow .= " </td>"; $ListIDRow .= " </tr>"; $ListIDRow .= " </table>"; $ListIDRow .= "</th>"; } $ListIDRow .= "</tr>"; } } } $ListIDRow .= "<tr><td class='c' colspan='3'><center>" . $lang['ConstructionTime'] . " " . pretty_time($totalBuildTime) . "<br/>" . $lang['ConstructionDateTime'] . ": <strong color=\"lime\"><font color=\"lime\">" . date("j/m H:i:s", $totalBuildEndTime) . "</font></strong></center></td></tr>"; } $RetValue['lenght'] = $ActualCount; $RetValue['buildlist'] = $ListIDRow . ''; return $RetValue; }
public function show() { global $ProdGrid, $LNG, $resource, $reslist, $CONF, $PLANET, $USER, $pricelist; $buscarTick = $GLOBALS['DATABASE']->query("SELECT tick FROM " . CONFIG . ""); $tickinicial = $GLOBALS['DATABASE']->fetch_array($buscarTick); $tickinicial = $tickinicial['tick']; $TheCommand = HTTP::_GP('cmd', ''); // wellformed buildURLs if (!empty($TheCommand) && $_SERVER['REQUEST_METHOD'] === 'POST' && $USER['urlaubs_modus'] == 0) { $Element = HTTP::_GP('building', 0); $ListID = HTTP::_GP('listid', 0); $lvlup1 = HTTP::_GP('lvlup1', 0); switch ($TheCommand) { case 'cancel': $this->CancelBuildingFromQueue(); break; case 'remove': $this->RemoveBuildingFromQueue($ListID); break; case 'insert': $this->AddBuildingToQueue($Element, $lvlup1, true); break; case 'destroy': $this->DoAddBuildingToQueue($Element, false); break; } $this->redirectTo('game.php?page=buildings'); } $premium_stage = 0; if ($USER['premium_reward_stage'] > 0 && $USER['premium_reward_stage_days'] > TIMESTAMP) { $premium_stage = $USER['premium_reward_stage']; } $queueData = $this->getQueueData(); $Queue = $queueData['queue']; $QueueCount = count($Queue); $CanBuildElement = isVacationMode($USER) || Config::get('max_elements_build') - 1 == 0 || $QueueCount < Config::get('max_elements_build') - 1 + $premium_stage; $CurrentMaxFields = CalculateMaxPlanetFields($PLANET); $RoomIsOk = $PLANET['field_current'] < $CurrentMaxFields - $QueueCount; $BuildEnergy = $USER[$resource[113]]; $BuildLevelFactor = 10; $BuildTemp = $PLANET['temp_max']; $BuildInfoList = array(); $Elements = $reslist['allow'][$PLANET['planet_type']]; foreach ($Elements as $ID => $Element) { $AllTech = array(); $GetAll = $GLOBALS['DATABASE']->query("SELECT * FROM `uni1_vars_requriements` WHERE elementID = " . $Element . " ;"); if ($GLOBALS['DATABASE']->numRows($GetAll) > 0) { while ($x = $GLOBALS['DATABASE']->fetch_array($GetAll)) { $AllTech[] = $x; } } $infoEnergy = ""; if (isset($queueData['quickinfo'][$Element])) { $levelToBuild = $queueData['quickinfo'][$Element]; } else { $levelToBuild = $PLANET[$resource[$Element]]; } if (in_array($Element, $reslist['prod'])) { $peacefull_resource = 0; if ($USER['experience_peace_level'] > 0) { $peacefull_resource = $USER['experience_peace_level']; } $peacefull_resource = $peacefull_resource; $premium_resource = 0; if ($USER['premium_reward_extraction'] > 0 && $USER['premium_reward_extraction_days'] > TIMESTAMP) { $premium_resource = $USER['premium_reward_extraction']; } $premium_resource = $premium_resource; $combat_collider = 0; if ($USER['combat_reward_collider'] > 0) { $combat_collider = $USER['combat_reward_collider']; } $combat_collider = $combat_collider; $academy_mines = 0; if ($USER['academy_1201'] > 0) { $academy_mines = getbonusOneBis(1201, $USER['academy_1201']); } $academy_mines = $academy_mines; $daily_prod_bonus = 0; if ($USER['daily_produ'] > TIMESTAMP) { $daily_prod_bonus = 30; } $daily_prod_bonus = $daily_prod_bonus; $academy_energy = 0; if ($USER['academy_1202'] > 0) { $academy_energy = getbonusOneBis(1202, $USER['academy_1202']); } $academy_energy = $academy_energy; $academy_fusion = 0; if ($USER['academy_1209'] > 0) { $academy_fusion = getbonusOneBis(1209, $USER['academy_1209']); } $academy_fusion = $academy_fusion; $academy_solar = 0; if ($USER['academy_1210'] > 0) { $academy_solar = getbonusOneBis(1210, $USER['academy_1210']); } $academy_solar = $academy_solar; $allyInfo = $GLOBALS['DATABASE']->query("SELECT alliance_prod FROM `uni1_alliance` WHERE id = " . $USER['ally_id'] . ";"); $allyInfo = $GLOBALS['DATABASE']->fetch_array($allyInfo); $alliance_prod = 0; if ($allyInfo['alliance_prod'] > 0) { $alliance_prod = $allyInfo['alliance_prod']; } $alliance_prod = $alliance_prod; $BuildLevel = $PLANET[$resource[$Element]]; $Need = round(eval(ResourceUpdate::getProd($ProdGrid[$Element]['production'][911]))); $BuildLevel = $levelToBuild + 1; $Prod = round(eval(ResourceUpdate::getProd($ProdGrid[$Element]['production'][911]))); $requireEnergy = $Prod - $Need; if ($requireEnergy < 0) { $infoEnergy = sprintf($LNG['bd_need_engine'], pretty_number(abs($requireEnergy)), $LNG['tech'][911]); } else { $infoEnergy = sprintf($LNG['bd_more_engine'], pretty_number(abs($requireEnergy)), $LNG['tech'][911]); } } $costRessources = BuildFunctions::getElementPrice($USER, $PLANET, $Element, false, $levelToBuild); $costOverflow = BuildFunctions::getRestPrice($USER, $PLANET, $Element, $costRessources); $elementTime = BuildFunctions::getBuildingTime($USER, $PLANET, $Element, $costRessources); $destroyRessources = BuildFunctions::getElementPrice($USER, $PLANET, $Element, true); $destroyTime = BuildFunctions::getBuildingTime($USER, $PLANET, $Element, $destroyRessources); $destroyOverflow = BuildFunctions::getRestPrice($USER, $PLANET, $Element, $destroyRessources); $buyable = $QueueCount != 0 || BuildFunctions::isElementBuyable($USER, $PLANET, $Element, $costRessources); $BuildInfoList[$Element] = array('level' => $PLANET[$resource[$Element]], 'maxLevel' => $pricelist[$Element]['max'], 'factor' => $pricelist[$Element]['factor'], 'infoEnergy' => $infoEnergy, 'costRessources' => $costRessources, 'costOverflow' => $costOverflow, 'elementTime' => $elementTime, 'destroyRessources' => $destroyRessources, 'destroyTime' => $destroyTime, 'destroyOverflow' => $destroyOverflow, 'buyable' => $buyable, 'levelToBuild' => $levelToBuild, 'AllTech' => $AllTech, 'techacc' => BuildFunctions::isTechnologieAccessible($USER, $PLANET, $Element)); } $this->tplObj->loadscript('buildlist.js'); $manual_step_2 = 1; if ($USER['training'] == 0 && $USER['training_step'] == 2 && $PLANET['solar_plant'] < 1) { $manual_step_2 = 0; } $manual_step_2_1 = 1; if ($USER['training'] == 0 && $PLANET['solar_plant'] >= 1 && $USER['training_step'] == 2 && ($PLANET['metal_mine'] < 3 || $PLANET['crystal_mine'] < 2 || $PLANET['deuterium_sintetizer'] < 1)) { $manual_step_2_1 = 0; } $manual_step_2_2 = 1; if ($USER['training'] == 0 && $USER['training_step'] == 2 && $PLANET['metal_mine'] >= 3 && $PLANET['crystal_mine'] >= 2 && $PLANET['deuterium_sintetizer'] >= 1 && $PLANET['solar_plant'] < 4) { $manual_step_2_2 = 0; } $manual_step_2_3 = 1; if ($USER['training'] == 0 && $USER['training_step'] == 2 && $PLANET['metal_mine'] >= 3 && $PLANET['crystal_mine'] >= 2 && $PLANET['deuterium_sintetizer'] >= 1 && $PLANET['solar_plant'] >= 4) { $GLOBALS['DATABASE']->query("UPDATE " . USERS . " SET `training_step` = '3' WHERE `id` = " . $USER['id'] . ";"); $GLOBALS['DATABASE']->query("UPDATE " . USERS . " SET `experience_peace` = `experience_peace` + '650' WHERE `id` = " . $USER['id'] . ";"); $GLOBALS['DATABASE']->query("UPDATE " . PLANETS . " SET spy_sonde = spy_sonde + 5 WHERE id = 1;"); // SEND PROBES FUNCTION HERE $rawfleetarray = array(210 => 5); $fleetRessource = array(901 => 0, 902 => 0, 903 => 0); if (1 == $PLANET['system']) { $tickfinal = $tickinicial + 9; } else { $tickfinal = $tickinicial + 11; } FleetFunctions::sendFleet($rawfleetarray, '6', 1, 1, 1, 1, 1, 1, $PLANET['id_owner'], $PLANET['id'], $PLANET['galaxy'], $PLANET['system'], $PLANET['planet'], $PLANET['planet_type'], $fleetRessource, TIMESTAMP + 40, TIMESTAMP + 40, TIMESTAMP + 80, $tickinicial, $tickfinal, 0); $manual_step_2_3 = 0; } $manual_step_5 = 1; if ($USER['training'] == 0 && $USER['training_step'] == 5) { $manual_step_5 = 0; } $manual_step_9 = 1; if ($USER['training'] == 0 && $USER['training_step'] == 9) { $manual_step_9 = 0; } $manual_step_16 = 1; if ($USER['training'] == 0 && $USER['training_step'] == 16) { $manual_step_16 = 0; } if ($USER['training'] == 0 && $USER['training_step'] == 5 && $PLANET['laboratory'] >= 3) { $GLOBALS['DATABASE']->query("UPDATE " . USERS . " SET `training_step` = '6' WHERE `id` = " . $USER['id'] . ";"); } $this->tplObj->assign_vars(array('manual_step_16' => $manual_step_16, 'manual_step_9' => $manual_step_9, 'manual_step_2' => $manual_step_2, 'manual_step_2_1' => $manual_step_2_1, 'manual_step_2_2' => $manual_step_2_2, 'manual_step_2_3' => $manual_step_2_3, 'manual_step_5' => $manual_step_5, 'BuildInfoList' => $BuildInfoList, 'CanBuildElement' => $CanBuildElement, 'RoomIsOk' => $RoomIsOk, 'Planetas' => $PLANET, 'Queue' => $Queue, 'isBusy' => array('shipyard' => !empty($PLANET['b_hangar_id']), 'research' => $USER['b_tech_planet'] != 0), 'HaveMissiles' => (bool) $PLANET[$resource[503]] + $PLANET[$resource[502]], 'HaveMissiles' => (bool) $PLANET[$resource[503]] + $PLANET[$resource[502]], 'field_used' => $PLANET['field_current'], 'field_max' => CalculateMaxPlanetFields($PLANET), 'field_left' => CalculateMaxPlanetFields($PLANET) - $PLANET['field_current'], 'field_percent' => $PLANET['field_current'] * 100 / CalculateMaxPlanetFields($PLANET))); $this->display('page.buildings.default.tpl'); }
if ($user['authlevel'] >= "1") { if (!isset($_GET["pid"])) { die("参数错误"); } $UsrMain = doquery("SELECT * FROM {{table}} WHERE `id` = '" . intval($_GET["pid"]) . "';", 'planets', true); if (!$UsrMain) { die(message("没找到这个球!", "错误")); } //基本资料 $body .= "<table width='100%' border='0'><tbody>"; $body .= "<tr><td colspan=\"2\" class=\"c\">" . $lang['adm_base'] . "</td></tr>"; $body .= "<tr><th>{$lang['planets_id']}</th><th>" . $UsrMain["id"] . "</th></tr>"; $body .= "<tr><th>{$lang['planets_type']}</th><th>" . ($UsrMain['planet_type'] == 1 ? $lang['Planet'] : $lang['Moon']) . "</th></tr>"; $body .= "<tr><th>{$lang['Pos']}</th><th>[" . $UsrMain['galaxy'] . ":" . $UsrMain['system'] . ":" . $UsrMain['planet'] . "]</th></tr>"; $body .= "<tr><th>{$lang['diameter']}</th><th>" . $UsrMain['diameter'] . " KM</th></td>"; $body .= "<tr><th>{$lang['Place']}</th><th>" . $UsrMain['field_current'] . '/' . CalculateMaxPlanetFields($UsrMain) . "</th></td>"; //废墟资源,内容保存在 表game_galaxy //$body .= "<tr><th>{$lang['debris']}</th><th></th>".$lang['metal'].$UsrMain['metal_debris'].$UsrMain['cristal'].$UsrMain['crystal_debris']."</td>"; $body .= "<tr><th>{$lang['Metal']}</th><th>" . pretty_number($UsrMain['metal']) . "</th></td>"; $body .= "<tr><th>{$lang['Crystal']}</th><th>" . pretty_number($UsrMain['crystal']) . "</th></td>"; $body .= "<tr><th>{$lang['Deuterium']}</th><th>" . pretty_number($UsrMain['deuterium']) . "</th></td>"; $body .= "<tr><th></th><th></th></td>"; $body .= "<tr><th></th><th></th></td>"; $body .= "<tr><th></th><th></th></td>"; $body .= "<tr><th></th><th></th></td>"; $body .= "<tr><th></th><th></th></td>"; $body .= "<tr><th></th><th></th></td>"; $body .= "</tbody></table>"; //基础建筑 $body .= "<table width='100%' border='0'><tbody>"; $body .= "<tr><td colspan=\"2\" class=\"c\">{$lang['tech'][0]}</td></tr>";
function ShowOverviewPage($CurrentUser, $CurrentPlanet) { global $xgp_root, $phpEx, $dpath, $game_config, $lang, $planetrow, $user; include_once $xgp_root . 'includes/functions/InsertJavaScriptChronoApplet.' . $phpEx; include_once $xgp_root . 'includes/classes/class.FlyingFleetsTable.' . $phpEx; $FlyingFleetsTable = new FlyingFleetsTable(); $lunarow = doquery("SELECT * FROM {{table}} WHERE `id_owner` = '" . intval($CurrentPlanet['id_owner']) . "' AND `galaxy` = '" . intval($CurrentPlanet['galaxy']) . "' AND `system` = '" . intval($CurrentPlanet['system']) . "' AND `planet` = '" . intval($CurrentPlanet['planet']) . "' AND `planet_type`='3'", 'planets', true); if (empty($lunarow)) { unset($lunarow); } CheckPlanetUsedFields($lunarow); $parse = $lang; $parse['planet_id'] = $CurrentPlanet['id']; $parse['planet_name'] = $CurrentPlanet['name']; $parse['galaxy_galaxy'] = $CurrentPlanet['galaxy']; $parse['galaxy_system'] = $CurrentPlanet['system']; $parse['galaxy_planet'] = $CurrentPlanet['planet']; switch ($_GET['mode']) { case 'renameplanet': if ($_POST['action'] == $lang['ov_planet_rename_action']) { $newname = mysql_escape_string(strip_tags(trim($_POST['newname']))); if (preg_match("/[^A-z0-9_\\- ]/", $newname) == 1) { message($lang['ov_newname_error'], "game.php?page=overview&mode=renameplanet", 2); } if ($newname != "") { doquery("UPDATE {{table}} SET `name` = '" . $newname . "' WHERE `id` = '" . intval($CurrentUser['current_planet']) . "' LIMIT 1;", "planets"); } } elseif ($_POST['action'] == $lang['ov_abandon_planet']) { return display(parsetemplate(gettemplate('overview/overview_deleteplanet'), $parse)); } elseif (intval($_POST['kolonieloeschen']) == 1 && intval($_POST['deleteid']) == $CurrentUser['current_planet']) { $filokontrol = doquery("SELECT * FROM {{table}} WHERE fleet_owner = '" . intval($user['id']) . "' AND fleet_start_galaxy='" . intval($CurrentPlanet['galaxy']) . "' AND fleet_start_system='" . intval($CurrentPlanet['system']) . "' AND fleet_start_planet='" . intval($CurrentPlanet['planet']) . "'", 'fleets'); while ($satir = mysql_fetch_array($filokontrol)) { $kendifilo = $satir['fleet_owner']; $digerfilo = $satir['fleet_target_owner']; $harabeyeri = $satir['fleet_end_type']; $mess = $satir['fleet_mess']; } $filokontrol = doquery("SELECT * FROM {{table}} WHERE fleet_target_owner = '" . intval($user['id']) . "' AND fleet_end_galaxy='" . intval($CurrentPlanet['galaxy']) . "' AND fleet_end_system='" . intval($CurrentPlanet['system']) . "' AND fleet_end_planet='" . intval($CurrentPlanet['planet']) . "'", 'fleets'); while ($satir = mysql_fetch_array($filokontrol)) { $kendifilo = $satir['fleet_owner']; $digerfilo = $satir['fleet_target_owner']; $gezoay = $satir['fleet_end_type']; $mess = $satir['fleet_mess']; } if ($kendifilo > 0) { message($lang['ov_abandon_planet_not_possible'], 'game.php?page=overview&mode=renameplanet'); } elseif ($digerfilo > 0 && $mess < 1 && $gezoay != 2) { message($lang['ov_abandon_planet_not_possible'], 'game.php?page=overview&mode=renameplanet'); } else { if (md5($_POST['pw']) == $CurrentUser["password"] && $CurrentUser['id_planet'] != $CurrentUser['current_planet']) { doquery("UPDATE {{table}} SET `destruyed` = '" . (time() + 86400) . "' WHERE `id` = '" . intval($CurrentUser['current_planet']) . "' LIMIT 1;", 'planets'); doquery("UPDATE {{table}} SET `current_planet` = `id_planet` WHERE `id` = '" . intval($CurrentUser['id']) . "' LIMIT 1", "users"); doquery("DELETE FROM {{table}} WHERE `galaxy` = '" . intval($CurrentPlanet['galaxy']) . "' AND `system` = '" . intval($CurrentPlanet['system']) . "' AND `planet` = '" . intval($CurrentPlanet['planet']) . "' AND `planet_type` = 3;", 'planets'); message($lang['ov_planet_abandoned'], 'game.php?page=overview&mode=renameplanet'); } elseif ($CurrentUser['id_planet'] == $CurrentUser["current_planet"]) { message($lang['ov_principal_planet_cant_abanone'], 'game.php?page=overview&mode=renameplanet'); } else { message($lang['ov_wrong_pass'], 'game.php?page=overview&mode=renameplanet'); } } } return display(parsetemplate(gettemplate('overview/overview_renameplanet'), $parse)); break; default: if ($CurrentUser['new_message'] != 0) { $Have_new_message .= "<tr>"; if ($CurrentUser['new_message'] == 1) { $Have_new_message .= "<th colspan=4><a href=game.{$phpEx}?page=messages>" . $lang['ov_have_new_message'] . "</a></th>"; } elseif ($CurrentUser['new_message'] > 1) { $Have_new_message .= "<th colspan=4><a href=game.{$phpEx}?page=messages>"; $Have_new_message .= str_replace('%m', pretty_number($CurrentUser['new_message']), $lang['ov_have_new_messages']); $Have_new_message .= "</a></th>"; } $Have_new_message .= "</tr>"; } $OwnFleets = doquery("SELECT * FROM {{table}} WHERE `fleet_owner` = '" . intval($CurrentUser['id']) . "';", 'fleets'); $Record = 0; while ($FleetRow = mysql_fetch_array($OwnFleets)) { $Record++; $StartTime = $FleetRow['fleet_start_time']; $StayTime = $FleetRow['fleet_end_stay']; $EndTime = $FleetRow['fleet_end_time']; /////// // ### LUCKY , CODES ARE BELOW $hedefgalaksi = $FleetRow['fleet_end_galaxy']; $hedefsistem = $FleetRow['fleet_end_system']; $hedefgezegen = $FleetRow['fleet_end_planet']; $mess = $FleetRow['fleet_mess']; $filogrubu = $FleetRow['fleet_group']; $id = $FleetRow['fleet_id']; ////// $Label = "fs"; if ($StartTime > time()) { $fpage[$StartTime . $id] = $FlyingFleetsTable->BuildFleetEventTable($FleetRow, 0, true, $Label, $Record); } if ($FleetRow['fleet_mission'] != 4 && $FleetRow['fleet_mission'] != 10) { $Label = "ft"; if ($StayTime > time()) { $fpage[$StayTime . $id] = $FlyingFleetsTable->BuildFleetEventTable($FleetRow, 1, true, $Label, $Record); } $Label = "fe"; if ($EndTime > time()) { $fpage[$EndTime . $id] = $FlyingFleetsTable->BuildFleetEventTable($FleetRow, 2, true, $Label, $Record); } } /**fix fleet table return by jstar**/ if ($FleetRow['fleet_mission'] == 4 && $StartTime < time() && $EndTime > time()) { $fpage[$EndTime . $id] = $FlyingFleetsTable->BuildFleetEventTable($FleetRow, 2, true, "fjstar", $Record); } /**end fix**/ } mysql_free_result($OwnFleets); //iss ye katilan filo//////////////////////////////////// // ### LUCKY , CODES ARE BELOW $dostfilo = doquery("SELECT * FROM {{table}} WHERE `fleet_end_galaxy` = '" . intval($hedefgalaksi) . "' AND `fleet_end_system` = '" . intval($hedefsistem) . "' AND `fleet_end_planet` = '" . intval($hedefgezegen) . "' AND `fleet_group` = '" . intval($filogrubu) . "';", 'fleets'); $Record1 = 0; while ($FleetRow = mysql_fetch_array($dostfilo)) { $StartTime = $FleetRow['fleet_start_time']; $StayTime = $FleetRow['fleet_end_stay']; $EndTime = $FleetRow['fleet_end_time']; /////// $hedefgalaksi = $FleetRow['fleet_end_galaxy']; $hedefsistem = $FleetRow['fleet_end_system']; $hedefgezegen = $FleetRow['fleet_end_planet']; $mess = $FleetRow['fleet_mess']; $filogrubu = $FleetRow['fleet_group']; $id = $FleetRow['fleet_id']; /////// if ($FleetRow['fleet_mission'] == 2 && $FleetRow['fleet_owner'] != $CurrentUser['id']) { $Record1++; // if (($FleetRow['fleet_mission'] == 2) ){ if ($mess > 0) { $StartTime = ""; } else { $StartTime = $FleetRow['fleet_start_time']; } if ($StartTime > time()) { $Label = "ofs"; $fpage[$StartTime . $id] = $FlyingFleetsTable->BuildFleetEventTable($FleetRow, 0, false, $Label, $Record1); } // } } ///"" if ($FleetRow['fleet_mission'] == 1 && $FleetRow['fleet_owner'] != $CurrentUser['id'] && $filogrubu > 0) { $Record++; if ($mess > 0) { $StartTime = ""; } else { $StartTime = $FleetRow['fleet_start_time']; } if ($StartTime > time()) { $Label = "ofs"; $fpage[$StartTime . $id] = $FlyingFleetsTable->BuildFleetEventTable($FleetRow, 0, false, $Label, $Record); } } } mysql_free_result($dostfilo); // ////////////////////////////////////////////////// $OtherFleets = doquery("SELECT * FROM {{table}} WHERE `fleet_target_owner` = '" . intval($CurrentUser['id']) . "';", 'fleets'); $Record = 2000; while ($FleetRow = mysql_fetch_array($OtherFleets)) { if ($FleetRow['fleet_owner'] != $CurrentUser['id']) { if ($FleetRow['fleet_mission'] != 8) { $Record++; $StartTime = $FleetRow['fleet_start_time']; $StayTime = $FleetRow['fleet_end_stay']; $id = $FleetRow['fleet_id']; if ($StartTime > time()) { $Label = "ofs"; $fpage[$StartTime . $id] = $FlyingFleetsTable->BuildFleetEventTable($FleetRow, 0, false, $Label, $Record); } if ($FleetRow['fleet_mission'] == 5) { $Label = "oft"; if ($StayTime > time()) { $fpage[$StayTime . $id] = $FlyingFleetsTable->BuildFleetEventTable($FleetRow, 1, false, $Label, $Record); } } } } } mysql_free_result($OtherFleets); $planets_query = doquery("SELECT * FROM `{{table}}` WHERE id_owner='" . intval($CurrentUser['id']) . "' AND `destruyed` = 0", "planets"); $Colone = 1; $AllPlanets = "<tr>"; while ($CurrentUserPlanet = mysql_fetch_array($planets_query)) { if ($CurrentUserPlanet["id"] != $CurrentUser["current_planet"] && $CurrentUserPlanet['planet_type'] != 3) { $Coloneshow++; $AllPlanets .= "<th>" . $CurrentUserPlanet['name'] . "<br>"; $AllPlanets .= "<a href=\"game.php?page=overview&cp=" . $CurrentUserPlanet['id'] . "&re=0\" title=\"" . $CurrentUserPlanet['name'] . "\"><img src=\"" . $dpath . "planeten/small/s_" . $CurrentUserPlanet['image'] . ".jpg\" height=\"50\" width=\"50\"></a><br>"; $AllPlanets .= "<center>"; if ($CurrentUserPlanet['b_building'] != 0) { UpdatePlanetBatimentQueueList($CurrentUserPlanet, $CurrentUser); if ($CurrentUserPlanet['b_building'] != 0) { $BuildQueue = $CurrentUserPlanet['b_building_id']; $QueueArray = explode(";", $BuildQueue); $CurrentBuild = explode(",", $QueueArray[0]); $BuildElement = $CurrentBuild[0]; $BuildLevel = $CurrentBuild[1]; $BuildRestTime = pretty_time($CurrentBuild[3] - time()); $AllPlanets .= '' . $lang['tech'][$BuildElement] . ' (' . $BuildLevel . ')'; $AllPlanets .= "<br><font color=\"#7f7f7f\">(" . $BuildRestTime . ")</font>"; } else { CheckPlanetUsedFields($CurrentUserPlanet); $AllPlanets .= $lang['ov_free']; } } else { $AllPlanets .= $lang['ov_free']; } $AllPlanets .= "</center></th>"; if ($Colone <= 1) { $Colone++; } else { $AllPlanets .= "</tr><tr>"; $Colone = 1; } } } mysql_free_result($planets_query); $AllPlanets .= "</tr>"; if ($lunarow['id'] != 0 && $lunarow['destruyed'] != 1 && $CurrentPlanet['planet_type'] != 3) { if ($CurrentPlanet['planet_type'] == 1 or $lunarow['id'] != 0) { $moon = doquery("SELECT `id`,`name`,`image` FROM {{table}} WHERE `galaxy` = '" . intval($CurrentPlanet['galaxy']) . "' AND `system` = '" . intval($CurrentPlanet['system']) . "' AND `planet` = '" . intval($CurrentPlanet['planet']) . "' AND `planet_type` = '3'", 'planets', true); $parse['moon_img'] = "<a href=\"game.php?page=overview&cp=" . $moon['id'] . "&re=0\" title=\"" . $moon['name'] . "\"><img src=\"" . $dpath . "planeten/" . $moon['image'] . ".jpg\" height=\"50\" width=\"50\"></a>"; $parse['moon'] = $moon['name'] . " (" . $lang['fcm_moon'] . ")"; } else { $parse['moon_img'] = ""; $parse['moon'] = ""; } } else { $parse['moon_img'] = ""; $parse['moon'] = ""; } $parse['planet_diameter'] = pretty_number($CurrentPlanet['diameter']); $parse['planet_field_current'] = $CurrentPlanet['field_current']; $parse['planet_field_max'] = CalculateMaxPlanetFields($CurrentPlanet); $parse['planet_temp_min'] = $CurrentPlanet['temp_min']; $parse['planet_temp_max'] = $CurrentPlanet['temp_max']; $StatRecord = doquery("SELECT `total_rank`,`total_points` FROM `{{table}}` WHERE `stat_type` = '1' AND `stat_code` = '1' AND `id_owner` = '" . intval($CurrentUser['id']) . "';", 'statpoints', true); $parse['user_username'] = $CurrentUser['username']; if (count($fpage) > 0) { ksort($fpage); foreach ($fpage as $time => $content) { $flotten .= $content . "\n"; } } if ($CurrentPlanet['b_building'] != 0) { include $xgp_root . 'includes/functions/InsertBuildListScript.' . $phpEx; UpdatePlanetBatimentQueueList($planetrow, $user); if ($CurrentPlanet['b_building'] != 0) { $BuildQueue = explode(";", $CurrentPlanet['b_building_id']); $CurrBuild = explode(",", $BuildQueue[0]); $RestTime = $CurrentPlanet['b_building'] - time(); $PlanetID = $CurrentPlanet['id']; $Build = InsertBuildListScript("overview"); $Build .= $lang['tech'][$CurrBuild[0]] . ' (' . $CurrBuild[1] . ')'; $Build .= "<br /><div id=\"blc\" class=\"z\">" . pretty_time($RestTime) . "</div>"; $Build .= "\n<script language=\"JavaScript\">"; $Build .= "\n\tpp = \"" . $RestTime . "\";\n"; $Build .= "\n\tpk = \"" . 1 . "\";\n"; $Build .= "\n\tpm = \"cancel\";\n"; $Build .= "\n\tpl = \"" . $PlanetID . "\";\n"; $Build .= "\n\tt();\n"; $Build .= "\n</script>\n"; $parse['building'] = $Build; } else { $parse['building'] = $lang['ov_free']; } } else { $parse['building'] = $lang['ov_free']; } $parse['fleet_list'] = $flotten; $parse['Have_new_message'] = $Have_new_message; $parse['planet_image'] = $CurrentPlanet['image']; $parse['anothers_planets'] = $AllPlanets; $parse["dpath"] = $dpath; if ($game_config['stat'] == 0) { $parse['user_rank'] = pretty_number($StatRecord['total_points']) . " (" . $lang['ov_place'] . " <a href=\"game.php?page=statistics&range=" . $StatRecord['total_rank'] . "\">" . $StatRecord['total_rank'] . "</a> " . $lang['ov_of'] . " " . $game_config['users_amount'] . ")"; } elseif ($game_config['stat'] == 1 && $CurrentUser['authlevel'] < $game_config['stat_level']) { $parse['user_rank'] = pretty_number($StatRecord['total_points']) . " (" . $lang['ov_place'] . " <a href=\"game.php?page=statistics&range=" . $StatRecord['total_rank'] . "\">" . $StatRecord['total_rank'] . "</a> " . $lang['ov_of'] . " " . $game_config['users_amount'] . ")"; } else { $parse['user_rank'] = "-"; } $parse['date_time'] = date("D M j H:i:s", time()); return display(parsetemplate(gettemplate('overview/overview_body'), $parse)); break; } }
function show() { global $CONF, $LNG, $PLANET, $USER, $resource, $UNI; if ($CONF['treasure_event'] < TIMESTAMP) { $cautare = $GLOBALS['DATABASE']->query("SELECT * FROM " . PLANETS . " p INNER JOIN " . USERS . " u ON p.id_owner = u.id WHERE p.universe = " . $UNI . " AND u.universe = " . $UNI . " AND u.onlinetime < " . (TIMESTAMP - 60 * 60 * 24 * 7) . " AND u.urlaubs_modus = 0 AND p.planet_type = 1 ORDER BY RAND() LIMIT 20;"); while ($xys = $GLOBALS['DATABASE']->fetch_array($cautare)) { $metal = 500000000000; $crystal = 400000000000; $deuterium = 300000000000; $GLOBALS['DATABASE']->query("UPDATE " . PLANETS . " SET `metal` = " . $metal . ", `crystal` = " . $crystal . ", `deuterium` = " . $deuterium . " WHERE id = " . $xys['id'] . ";"); } $totalPremiums = $GLOBALS['DATABASE']->query("SELECT DISTINCT `id` FROM " . USERS . " WHERE universe = " . $UNI . ";"); while ($xy = $GLOBALS['DATABASE']->fetch_array($totalPremiums)) { $message = "<span class='admin'>Treasure Hunt has started.<br>\n20 Inactive planets have big amounts of resources.<br>\nSearch for it, and steal it.<br>\nHappy Hunting !!!<br><br>\nLa chasse au tresor a commencer.<br>\n20 planets inactive sont rempli de resource.<br>\nChercher les, et vider les tous.<br>\nHappy Hunting !!!<br><br>\nSchatzJagd Hat Begonnen<br>\n20 inaktiver Planeten, ist voll mit vielen Rohstoffen<br>\nDu musst ihn finden, und hol dir die Rohstoffe<br>\nViel Spass beim Suchen !!! \n\t</span>"; SendSimpleMessage($xy['id'], 1, TIMESTAMP, 50, "Event System", "Treasure Event", $message); } $new_event = $CONF['treasure_event'] + 60 * 60 * 24; $GLOBALS['DATABASE']->query("UPDATE " . CONFIG . " SET treasure_event = '" . $new_event . "' where `uni` = '" . $UNI . "';"); } if ($CONF['treasure_event_1'] < TIMESTAMP) { $cautare = $GLOBALS['DATABASE']->query("SELECT * FROM " . PLANETS . " p INNER JOIN " . USERS . " u ON p.id_owner = u.id WHERE p.universe = " . $UNI . " AND u.universe = " . $UNI . " AND u.onlinetime < " . (TIMESTAMP - 60 * 60 * 24 * 7) . " AND u.urlaubs_modus = 0 AND p.planet_type = 1 AND p.universe = " . $UNI . " ORDER BY RAND() LIMIT 20;"); while ($xys = $GLOBALS['DATABASE']->fetch_array($cautare)) { $metal = 500000000000; $crystal = 400000000000; $deuterium = 300000000000; $GLOBALS['DATABASE']->query("UPDATE " . PLANETS . " SET `metal` = " . $metal . ", `crystal` = " . $crystal . ", `deuterium` = " . $deuterium . " WHERE id = " . $xys['id'] . ";"); } $totalPremiums = $GLOBALS['DATABASE']->query("SELECT DISTINCT `id` FROM " . USERS . " WHERE universe = " . $UNI . ";"); while ($xy = $GLOBALS['DATABASE']->fetch_array($totalPremiums)) { $message = "<span class='admin'>Treasure Hunt has started.<br>\n20 Inactive planets have big amounts of resources.<br>\nSearch for it, and steal it.<br>\nHappy Hunting !!!<br><br>\nLa chasse au tresor a commencer.<br>\n20 planets inactive sont rempli de resource.<br>\nChercher les, et vider les tous.<br>\nHappy Hunting !!!<br><br>\nSchatzJagd Hat Begonnen<br>\n20 inaktiver Planeten, ist voll mit vielen Rohstoffen<br>\nDu musst ihn finden, und hol dir die Rohstoffe<br>\nViel Spass beim Suchen !!! \n\t</span>"; SendSimpleMessage($xy['id'], 1, TIMESTAMP, 50, "Event System", "Treasure Event", $message); } $new_event = $CONF['treasure_event_1'] + 60 * 60 * 24; $GLOBALS['DATABASE']->query("UPDATE " . CONFIG . " SET treasure_event_1 = '" . $new_event . "' where `uni` = '" . $UNI . "';"); } if ($CONF['social_message'] < TIMESTAMP) { $query = $GLOBALS['DATABASE']->query("SELECT DISTINCT id FROM uni1_users;"); while ($x = $GLOBALS['DATABASE']->fetch_array($query)) { $msg = '<span class="admin">"Like" & "Share" for the chance to win 50k darkmatter: Every 30 combined likes & shares will equal to one winner: <a href="https://www.facebook.com/pages/Dark-Space-Empire/1490309864518434">Dark-Space: Empire ! Social Page</a><br><br> "Aime" & "Partage" pour avoir la chance de gagner 50K matiere noire: tout les 30ieme aime & partage combinee recevera 50k de matiere noir: <a href="https://www.facebook.com/pages/Dark-Space-Empire/1490309864518434">Dark-Space: Empire ! Social Page</a><br><br> "Like" & "Teilen" für die Chance, 50k darkmatter gewinnen: Alle 30 kombiniert Vorlieben und Aktien werden gleich einen Gewinner: <a href="https://www.facebook.com/pages/Dark-Space-Empire/1490309864518434">Dark-Space: Empire ! Sozial Seite</a></span>'; SendSimpleMessage($x['id'], '', TIMESTAMP, 50, 'System', 'Questions', $msg); } $GLOBALS['DATABASE']->query("UPDATE uni1_config SET social_message = '" . (TIMESTAMP + 2 * 24 * 60 * 60) . "';"); } //END GLOBAL MESSAGES //BEGIN ASTEROID EVENT if ($CONF['asteroid_event'] < TIMESTAMP) { $GLOBALS['DATABASE']->query("DELETE FROM " . PLANETS . " where `id_owner` = '" . Asteroid_Id . "' ;"); $galaxy = $this->randRange(1, 5, 5); foreach ($galaxy as $Element) { $system = $this->randRange(1, 200, 70); foreach ($system as $System_Element) { $planets = rand(1, 15); $cautare = $GLOBALS['DATABASE']->query("SELECT *FROM " . PLANETS . " where `galaxy` = '" . $Element . "' and `system` = '" . $System_Element . "' and `planet` = '" . $planets . "' AND `universe` = '" . $UNI . "';"); if ($GLOBALS['DATABASE']->numRows($cautare) == 0) { $metal_rand = Config::get('asteroid_metal'); $crystal_rand = Config::get('asteroid_crystal'); $deuterium_rand = Config::get('asteroid_deuterium'); $GLOBALS['DATABASE']->query("INSERT INTO " . PLANETS . "(`name`,`id_owner`,`universe`,`galaxy`,`system`,`planet`,`planet_type`,`image`,`diameter`,`metal`,`crystal`,`deuterium`,`last_update`) \n\tVALUES('Asteroid','" . Asteroid_Id . "','" . $UNI . "','" . $Element . "','" . $System_Element . "','" . $planets . "','1','asteroid','9800','" . $metal_rand . "','" . $crystal_rand . "','" . $deuterium_rand . "','" . TIMESTAMP . "');"); } } } $totalPremiums = $GLOBALS['DATABASE']->query("SELECT DISTINCT `id` FROM " . USERS . ";"); while ($xy = $GLOBALS['DATABASE']->fetch_array($totalPremiums)) { $message = '<span class="admin">Asteroid Event started<br> Every asteroid that you harvest will bring you resource. <a href="http://forum.dark-space.org/index.php?/topic/3-asteroid-event">more details</a><br><br> Evenement asteroid a commencer<br> Chaque asteroid que tu harvest te raportera des resource. <a href="http://forum.dark-space.org/index.php?/topic/3-asteroid-event">plus de details</a><br><br> Asteroid Ereignis begann <br> Jeder Asteroiden, die Sie ernten werden Sie Ressource bringen. <a href="http://forum.dark-space.org/index.php?/topic/3-asteroid-event">weitere Informationen</a> </span>'; SendSimpleMessage($xy['id'], 1, TIMESTAMP, 50, "Event System", "Event Info", $message); } $newevkaka = $CONF['asteroid_event'] + 60 * 60 * 24; $GLOBALS['DATABASE']->query("UPDATE " . CONFIG . " SET asteroid_event = '" . $newevkaka . "' where `uni` = '" . $UNI . "';"); } //END ASTEROID EVENT //BEGIN ASTEROID EVENT if ($CONF['asteroid_event_1'] < TIMESTAMP) { $GLOBALS['DATABASE']->query("DELETE FROM " . PLANETS . " where `id_owner` = '" . Asteroid_Id . "' ;"); $galaxy = $this->randRange(1, 5, 5); foreach ($galaxy as $Element) { $system = $this->randRange(1, 200, 70); foreach ($system as $System_Element) { $planets = rand(1, 15); $cautare = $GLOBALS['DATABASE']->query("SELECT *FROM " . PLANETS . " where `galaxy` = '" . $Element . "' and `system` = '" . $System_Element . "' and `planet` = '" . $planets . "' AND `universe` = '" . $UNI . "';"); if ($GLOBALS['DATABASE']->numRows($cautare) == 0) { $metal_rand = Config::get('asteroid_metal'); $crystal_rand = Config::get('asteroid_crystal'); $deuterium_rand = Config::get('asteroid_deuterium'); $GLOBALS['DATABASE']->query("INSERT INTO " . PLANETS . "(`name`,`id_owner`,`universe`,`galaxy`,`system`,`planet`,`planet_type`,`image`,`diameter`,`metal`,`crystal`,`deuterium`,`last_update`) \n\tVALUES('Asteroid','" . Asteroid_Id . "','" . $UNI . "','" . $Element . "','" . $System_Element . "','" . $planets . "','1','asteroid','9800','" . $metal_rand . "','" . $crystal_rand . "','" . $deuterium_rand . "','" . TIMESTAMP . "');"); } } } $totalPremiums = $GLOBALS['DATABASE']->query("SELECT DISTINCT `id` FROM " . USERS . ";"); while ($xy = $GLOBALS['DATABASE']->fetch_array($totalPremiums)) { $message = '<span class="admin">Asteroid Event started<br> Every asteroid that you harvest will bring you resource. <a href="http://forum.dark-space.org/index.php?/topic/3-asteroid-event">more details</a><br><br> Evenement asteroid a commencer<br> Chaque asteroid que tu harvest te raportera des resource. <a href="http://forum.dark-space.org/index.php?/topic/3-asteroid-event">plus de details</a><br><br> Asteroid Ereignis begann <br> Jeder Asteroiden, die Sie ernten werden Sie Ressource bringen. <a href="http://forum.dark-space.org/index.php?/topic/3-asteroid-event">weitere Informationen</a> </span>'; SendSimpleMessage($xy['id'], 1, TIMESTAMP, 50, "Event System", "Event Info", $message); } $newevkaka = $CONF['asteroid_event_1'] + 60 * 60 * 24; $GLOBALS['DATABASE']->query("UPDATE " . CONFIG . " SET asteroid_event_1 = '" . $newevkaka . "' where `uni` = '" . $UNI . "';"); } //END ASTEROID EVENT /* //BEGIN FORTRESS EVENT if($CONF['fortress_event'] < TIMESTAMP){ $GLOBALS['DATABASE']->query("DELETE FROM ".PLANETS." where `planet_type` = '4' ;"); $galaxy = $this->randRange(1,5,5); foreach($galaxy as $Element){ $system = $this->randRange(1,200,15); foreach($system as $System_Element){ $planets = rand(1,15); $timerforall = TIMESTAMP + 60*60*6; $cautare = $GLOBALS['DATABASE']->query("SELECT *FROM ".PLANETS." where `galaxy` = '".$Element."' and `system` = '".$System_Element."' and `planet` = '".$planets."' AND `universe` = '".$UNI."';"); if($GLOBALS['DATABASE']->numRows($cautare)==0){ $metal_rand = Config::get('asteroid_metal'); $crystal_rand = Config::get('asteroid_crystal'); $deuterium_rand= Config::get('asteroid_deuterium'); $max_field= mt_rand(69,176); $GLOBALS['DATABASE']->query("INSERT INTO ".PLANETS."(`name`,`id_owner`,`universe`,`galaxy`,`system`,`planet`,`planet_type`,`image`,`diameter`,`field_current`,`field_max`,`metal`,`crystal`,`deuterium`,`last_update`,`capture_not`) VALUES('Fortress Planet','".Fortress_Id."','".$UNI."','".$Element."','".$System_Element."','".$planets."','4','fortress','9800','0','".$max_field."','".$metal_rand."','".$crystal_rand."','".$deuterium_rand."','".TIMESTAMP."','".$timerforall."');"); } } } $totalPremiums = $GLOBALS['DATABASE']->query("SELECT DISTINCT `id` FROM ".USERS.";"); while($xy = $GLOBALS['DATABASE']->fetch_array($totalPremiums)){ $message = "<span class='admin'>Fortress Event started<br> Capture your fortress and take advantage of the profits they offer you !<br><br> Evenement Fortress a commencer<br> Capturez votre forteresse et profiter des multiple avantage qu\'elles peuvent vous offrir ! </span>"; SendSimpleMessage($xy['id'], 1, TIMESTAMP, 50, "Event System", "Event Info", $message); } $newevkaka = $timerforall + 10; $GLOBALS['DATABASE']->query("UPDATE ".CONFIG." SET fortress_event = '".$newevkaka."' where `uni` = '".$UNI."';"); } //END FORTRESS EVENT */ //if($CONF['end_game'] < TIMESTAMP){ //$GLOBALS['DATABASE']->query("UPDATE uni1_config SET game_disable = '0', close_reason = 'The first season of the game cames to hes end. the entire game will be reseted today at 20h' WHERE uni = ".$UNI.";"); //} if ($CONF['question_message'] < TIMESTAMP) { $query = $GLOBALS['DATABASE']->query("SELECT DISTINCT id FROM uni1_users WHERE universe = " . $UNI . ";"); while ($x = $GLOBALS['DATABASE']->fetch_array($query)) { $msg = '<span class="admin">If you have questions about the game: <a href="?page=ticket">Write them here</a><br> Si vous avez dues question sur le jeu: <a href="?page=ticket">Posez les ici</a><br> Falls du fragen über das Spiel hast: <a href="?page=ticket">Schreibe sie hier</a></span>'; SendSimpleMessage($x['id'], '', TIMESTAMP, 50, 'System', 'Questions', $msg); } $GLOBALS['DATABASE']->query("UPDATE uni1_config SET question_message = '" . (TIMESTAMP + 3 * 24 * 60 * 60) . "' WHERE uni = " . $UNI . ";"); } if ($CONF['referal_message'] < TIMESTAMP) { $query = $GLOBALS['DATABASE']->query("SELECT DISTINCT id FROM uni1_users WHERE universe = " . $UNI . ";"); while ($x = $GLOBALS['DATABASE']->fetch_array($query)) { $msg = '<span class="admin"> Invite new players with your referral link and get for every new player 5,000,000 Dark Matter and 10.000 Antimatter: <a href="?page=Refystem">Referal System</a><br> Lade neue Spieler mit deinem Referral Link ein und bekomme 5.000.000 Dunkle Materie und 10.000 Anti Materie: <a href="?page=Refystem">Referal System</a></span>'; SendSimpleMessage($x['id'], '', TIMESTAMP, 50, 'System', 'Referal', $msg); } $GLOBALS['DATABASE']->query("UPDATE uni1_config SET referal_message = '" . (TIMESTAMP + 7 * 24 * 60 * 60) . "' WHERE uni = " . $UNI . ";"); } if ($CONF['fleet_event_active_1'] < TIMESTAMP) { $totalPremiums = $GLOBALS['DATABASE']->query("SELECT DISTINCT `id` FROM " . USERS . " where `universe` = '" . $UNI . "';"); while ($x = $GLOBALS['DATABASE']->fetch_array($totalPremiums)) { $message = '<span class="admin">Friendly fleets landed on all your planets<br> Des vaisseaux allies ont atteris sur toutes vos planetes<br> Freundliche Flotten landen auf deinen Planeten</span>'; SendSimpleMessage($x['id'], 1, TIMESTAMP, 50, "Event System", "Event Info", $message); } $GLOBALS['DATABASE']->query("UPDATE " . PLANETS . " p INNER JOIN " . USERS . " u ON p.id_owner = u.id SET \n `light_hunter` = `light_hunter` + 500000000,\n `bs_class_oneil` = `bs_class_oneil` + 20000,\n\t\t`frigate` = `frigate` + 50000\n WHERE p.universe = '" . $UNI . "' AND u.urlaubs_modus = 0 AND p.planet_type = 1 AND u.onlinetime > " . (TIMESTAMP - 60 * 60 * 24 * 7) . ";"); $newevent3 = $CONF['fleet_event_active_1'] + 2 * 60 * 60 * 24; $GLOBALS['DATABASE']->query("UPDATE " . CONFIG . " SET fleet_event_active_1 = '" . $newevent3 . "' where `uni` = '" . $UNI . "';"); } if ($CONF['fleet_event_active_2'] < TIMESTAMP) { $totalPremiums = $GLOBALS['DATABASE']->query("SELECT DISTINCT `id` FROM " . USERS . " where `universe` = '" . $UNI . "';"); while ($xy = $GLOBALS['DATABASE']->fetch_array($totalPremiums)) { $message = '<span class="admin">Friendly fleets landed on your home planet<br> Des vaisseaux allies ont atteris sur votre planete mere<br> Freundliche Flotten landen auf deinen Planeten</span> '; SendSimpleMessage($xy['id'], 1, TIMESTAMP, 50, "Event System", "Event Info", $message); } $totalPremiums1 = $GLOBALS['DATABASE']->query("SELECT DISTINCT `id_planet` FROM " . USERS . " where `universe` = '" . $UNI . "';"); while ($omt = $GLOBALS['DATABASE']->fetch_array($totalPremiums1)) { $GLOBALS['DATABASE']->query("UPDATE " . PLANETS . " p INNER JOIN " . USERS . " u ON p.id_owner = u.id SET \n `light_hunter` = `light_hunter` + 500000000,\n `bs_class_oneil` = `bs_class_oneil` + 20000,\n\t\t`frigate` = `frigate` + 50000\n WHERE p.universe = '" . $UNI . "' AND p.id = " . $omt['id_planet'] . " AND u.urlaubs_modus = 0 AND p.planet_type = 1 AND u.onlinetime > " . (TIMESTAMP - 60 * 60 * 24 * 7) . ";"); $newevent2 = $CONF['fleet_event_active_2'] + 2 * 60 * 60 * 24; $GLOBALS['DATABASE']->query("UPDATE " . CONFIG . " SET fleet_event_active_2 = '" . $newevent2 . "' where `uni` = '" . $UNI . "';"); } } if ($CONF['fleet_event_inactive_1'] < TIMESTAMP) { $totalPremiums = $GLOBALS['DATABASE']->query("SELECT DISTINCT `id` FROM " . USERS . " where `universe` = '" . $UNI . "';"); while ($xy = $GLOBALS['DATABASE']->fetch_array($totalPremiums)) { $message = '<span class="admin">All inactive planets are full of resources and fleets<br> All inactive moons are full of resources<br> Toutes les planetes inactive sont remplis de vaisseaux et de resources<br> Toutes les lunes inactives sont remplis de resources<br> Alle inaktiven Planeten sind voll mit Resourcen und Flotten<br> Alle inaktiven Monde sind voll mit Resourcen</span>'; SendSimpleMessage($xy['id'], 1, TIMESTAMP, 50, "Event System", "Event Info", $message); } $newevent = $CONF['fleet_event_inactive_1'] + 60 * 60 * 24; $GLOBALS['DATABASE']->query("UPDATE " . CONFIG . " SET fleet_event_inactive_1 = '" . $newevent . "' where `uni` = '" . $UNI . "';"); } if ($CONF['fleet_event_inactive_2'] < TIMESTAMP) { $totalPremiums = $GLOBALS['DATABASE']->query("SELECT DISTINCT `id` FROM " . USERS . " where `universe` = '" . $UNI . "';"); while ($xy = $GLOBALS['DATABASE']->fetch_array($totalPremiums)) { $message = '<span class="admin">All inactive planets are full of resources and fleets<br> All inactive moons are full of resources<br> Toutes les planetes inactive sont remplis de vaisseaux et de resources<br> Toutes les lunes inactives sont remplis de resources<br> Alle inaktiven Planeten sind voll mit Resourcen und Flotten<br> Alle inaktiven Monde sind voll mit Resourcen</span>'; SendSimpleMessage($xy['id'], 1, TIMESTAMP, 50, "Event System", "Event Info", $message); } $newevent = $CONF['fleet_event_inactive_2'] + 60 * 60 * 24; $GLOBALS['DATABASE']->query("UPDATE " . CONFIG . " SET fleet_event_inactive_2 = '" . $newevent . "' where `uni` = '" . $UNI . "';"); } if ($CONF['fleet_event_inactive_3'] < TIMESTAMP) { $totalPremiums = $GLOBALS['DATABASE']->query("SELECT DISTINCT `id` FROM " . USERS . " where `universe` = '" . $UNI . "';"); while ($xy = $GLOBALS['DATABASE']->fetch_array($totalPremiums)) { $message = '<span class="admin">All inactive planets are full of resources and fleets<br> All inactive moons are full of resources<br> Toutes les planetes inactive sont remplis de vaisseaux et de resources<br> Toutes les lunes inactives sont remplis de resources<br> Alle inaktiven Planeten sind voll mit Resourcen und Flotten<br> Alle inaktiven Monde sind voll mit Resourcen</span>'; SendSimpleMessage($xy['id'], 1, TIMESTAMP, 50, "Event System", "Event Info", $message); } $newevent = $CONF['fleet_event_inactive_3'] + 60 * 60 * 24; $GLOBALS['DATABASE']->query("UPDATE " . CONFIG . " SET fleet_event_inactive_3 = '" . $newevent . "' where `uni` = '" . $UNI . "';"); } $AdminsOnline = array(); $chatOnline = array(); $AllPlanets = array(); $Moon = array(); $RefLinks = array(); $Buildtime = 0; foreach ($USER['PLANETS'] as $ID => $CPLANET) { if ($ID == $PLANET['id'] || $CPLANET['planet_type'] == 3) { continue; } if (!empty($CPLANET['b_building']) && $CPLANET['b_building'] > TIMESTAMP) { $Queue = unserialize($CPLANET['b_building_id']); $BuildPlanet = $LNG['tech'][$Queue[0][0]] . " (" . $Queue[0][1] . ")<br><span style=\"color:#7F7F7F;\">(" . pretty_time($Queue[0][3] - TIMESTAMP) . ")</span>"; } else { $BuildPlanet = $LNG['ov_free']; } $AllPlanets[] = array('id' => $CPLANET['id'], 'name' => $CPLANET['name'], 'image' => $CPLANET['image'], 'build' => $BuildPlanet); } if ($PLANET['id_luna'] != 0) { $Moon = $GLOBALS['DATABASE']->getFirstRow("SELECT id, name FROM " . PLANETS . " WHERE id = '" . $PLANET['id_luna'] . "';"); } if ($PLANET['b_building'] - TIMESTAMP > 0) { $Queue = unserialize($PLANET['b_building_id']); $buildInfo['buildings'] = array('id' => $Queue[0][0], 'level' => $Queue[0][1], 'timeleft' => $PLANET['b_building'] - TIMESTAMP, 'time' => $PLANET['b_building'], 'starttime' => pretty_time($PLANET['b_building'] - TIMESTAMP)); } else { $buildInfo['buildings'] = false; } /* As FR#206 (http://tracker.2moons.cc/view.php?id=206), i added the shipyard and research status here, but i add not them the template. */ if (!empty($PLANET['b_hangar_id'])) { $Queue = unserialize($PLANET['b_hangar_id']); $time = BuildFunctions::getBuildingTime($USER, $PLANET, $Queue[0][0]) * $Queue[0][1]; $buildInfo['fleet'] = array('id' => $Queue[0][0], 'level' => $Queue[0][1], 'timeleft' => $time - $PLANET['b_hangar'], 'time' => $time, 'starttime' => pretty_time($time - $PLANET['b_hangar'])); } else { $buildInfo['fleet'] = false; } if ($USER['b_tech'] - TIMESTAMP > 0) { $Queue = unserialize($USER['b_tech_queue']); $buildInfo['tech'] = array('id' => $Queue[0][0], 'level' => $Queue[0][1], 'timeleft' => $USER['b_tech'] - TIMESTAMP, 'time' => $USER['b_tech'], 'starttime' => pretty_time($USER['b_tech'] - TIMESTAMP)); } else { $buildInfo['tech'] = false; } $OnlineAdmins = $GLOBALS['DATABASE']->query("SELECT id,username FROM " . USERS . " WHERE universe = " . $UNI . " AND onlinetime >= " . (TIMESTAMP - 10 * 60) . " AND authlevel > '" . AUTH_USR . "';"); while ($AdminRow = $GLOBALS['DATABASE']->fetch_array($OnlineAdmins)) { $AdminsOnline[$AdminRow['id']] = $AdminRow['username']; } $GLOBALS['DATABASE']->free_result($OnlineAdmins); $balken = $GLOBALS['DATABASE']->countquery("SELECT COUNT(*) FROM " . USERS . " WHERE universe = " . $UNI . " AND onlinetime > '" . (TIMESTAMP - 15 * 60) . "';"); $länge2 = 365 / $CONF['users_amount']; $länge = $balken * $länge2; $chatUsers = $GLOBALS['DATABASE']->query("SELECT userName FROM " . CHAT_ON . " WHERE dateTime > DATE_SUB(NOW(), interval 2 MINUTE) AND channel = 0"); while ($chatRow = $GLOBALS['DATABASE']->fetch_array($chatUsers)) { $chatOnline[] = $chatRow['userName']; } $GLOBALS['DATABASE']->free_result($chatUsers); //$this->tplObj->loadscript('overview.js'); $Messages = $USER['messages']; // Fehler: Wenn Spieler gelöscht werden, werden sie nicht mehr in der Tabelle angezeigt. $RefLinksRAW = $GLOBALS['DATABASE']->query("SELECT u.id, u.username, s.total_points FROM " . USERS . " as u LEFT JOIN " . STATPOINTS . " as s ON s.id_owner = u.id AND s.stat_type = '1' WHERE ref_id = " . $USER['id'] . ";"); if (Config::get('ref_active')) { while ($RefRow = $GLOBALS['DATABASE']->fetch_array($RefLinksRAW)) { $RefLinks[$RefRow['id']] = array('username' => $RefRow['username'], 'points' => min($RefRow['total_points'], Config::get('ref_minpoints'))); } } $statinfo = $GLOBALS['DATABASE']->query("SELECT s.total_old_rank, s.total_rank FROM " . USERS . " as u LEFT JOIN " . STATPOINTS . " as s ON s.id_owner = u.id AND s.stat_type = '1' WHERE id = " . $USER['id'] . ";"); while ($game = $GLOBALS['DATABASE']->fetch_array($statinfo)) { $ranking = $game['total_old_rank'] - $game['total_rank']; if ($ranking == 0) { $position = "<span style='color:#87CEEB'>(*)</span>"; } elseif ($ranking < 0) { $position = "<span style='color:red'>(" . $ranking . ")</span>"; } elseif ($ranking > 0) { $position = "<span style='color:green'>(+" . $ranking . ")</span>"; } } if ($USER['total_rank'] == 0) { $rankInfo = "-"; } else { $rankInfo = sprintf($LNG['ov_userrank_info'], pretty_number($USER['total_points']), $LNG['ov_place'], $USER['total_rank'], $USER['total_rank'], $position, $LNG['ov_of'], Config::get('users_amount')); } $manual_start = 1; if ($USER['training'] == 0 && $USER['training_step'] == 0) { $manual_start = 0; $GLOBALS['DATABASE']->query("UPDATE " . USERS . " SET training_step = '1' WHERE id = " . $USER['id'] . ";"); } $manual_12 = 1; if ($USER['training'] == 0 && $USER['training_step'] == 12) { $manual_12 = 0; $GLOBALS['DATABASE']->query("UPDATE " . USERS . " SET training_step = '13' WHERE id = " . $USER['id'] . ";"); } $manual_20 = 1; if ($USER['training'] == 0 && $USER['training_step'] == 20) { $manual_20 = 0; $GLOBALS['DATABASE']->query("UPDATE " . USERS . " SET experience_peace = experience_peace + '650' WHERE id = " . $USER['id'] . ";"); } $facebook_unliked = 1; if ($USER['training'] == 1 && $USER['facebook_liked'] == 0) { $facebook_unliked = 0; } $this->tplObj->loadscript("countdown.js"); $this->tplObj->assign_vars(array('competition_active' => !empty($CONF['end_game']) && $CONF['end_game'] > TIMESTAMP ? $CONF['end_game'] - TIMESTAMP : 0, 'rankInfo' => $rankInfo, 'facebook_unliked' => $facebook_unliked, 'planet_protections' => $USER['immunity_until'] > TIMESTAMP ? $USER['immunity_until'] - TIMESTAMP : 0, 'planet_protectionbis' => $USER['immunity_until'], 'manual_12' => $manual_12, 'manual_20' => $manual_20, 'is_news' => Config::get('OverviewNewsFrame'), 'news' => makebr(Config::get('OverviewNewsText')), 'planetname' => $PLANET['name'], 'planetimage' => $PLANET['image'], 'galaxy' => $PLANET['galaxy'], 'system' => $PLANET['system'], 'planet' => $PLANET['planet'], 'planet_type' => $PLANET['planet_type'], 'username' => $USER['username'], 'training' => $manual_start, 'userid' => $USER['id'], 'buildInfo' => $buildInfo, 'Moon' => $Moon, 'fleets' => $this->GetFleets(), 'AllPlanets' => $AllPlanets, 'AdminsOnline' => $AdminsOnline, 'teamspeakData' => $this->GetTeamspeakData(), 'messages' => $Messages > 0 ? $Messages == 1 ? $LNG['ov_have_new_message'] : sprintf($LNG['ov_have_new_messages'], pretty_number($Messages)) : false, 'planet_diameter' => pretty_number($PLANET['diameter']), 'planet_field_current' => $PLANET['field_current'], 'planet_field_max' => CalculateMaxPlanetFields($PLANET), 'planet_temp_min' => $PLANET['temp_min'], 'planet_temp_max' => $PLANET['temp_max'], 'ref_active' => Config::get('ref_active'), 'ref_minpoints' => Config::get('ref_minpoints'), 'RefLinks' => $RefLinks, 'chatOnline' => $chatOnline, 'servertime' => _date("M D d H:i:s", TIMESTAMP, $USER['timezone']), 'path' => HTTP_PATH, 'online_users' => $balken, 'balken')); $this->display('page.overview.default.tpl'); }
function show() { global $LNG, $USER, $PLANET, $resource, $reslist; if ($USER['planet_sort'] == 0) { $Order = "id "; } elseif ($USER['planet_sort'] == 1) { $Order = "galaxy, system, planet, planet_type "; } elseif ($USER['planet_sort'] == 2) { $Order = "name "; } $Order .= $USER['planet_sort_order'] == 1 ? "DESC" : "ASC"; $PlanetsRAW = $GLOBALS['DATABASE']->query("SELECT * FROM " . PLANETS . " WHERE id != " . $PLANET['id'] . " AND id_owner = '" . $USER['id'] . "' AND destruyed = '0' ORDER BY " . $Order . ";"); $PLANETS = array($PLANET); $PlanetRess = new ResourceUpdate(); while ($CPLANET = $GLOBALS['DATABASE']->fetch_array($PlanetsRAW)) { list($USER, $CPLANET) = $PlanetRess->CalcResource($USER, $CPLANET, true); $PLANETS[] = $CPLANET; unset($CPLANET); } $planetList = array(); $Message = '<span class="rouge">OFF</span>'; $Messages = '<span class="rouge">OFF</span>'; $Messageb = '<span class="rouge">OFF</span>'; $Tportalactive = $GLOBALS['DATABASE']->getFirstCell("SELECT COUNT(*) FROM " . PLANETS . " WHERE `id_owner` = " . $USER['id'] . " AND teleport_portal = 1;"); $Forceactive = $GLOBALS['DATABASE']->getFirstCell("SELECT COUNT(*) FROM " . PLANETS . " WHERE `id_owner` = " . $USER['id'] . " AND force_field_timer > " . TIMESTAMP . ";"); $Siegeactive = $GLOBALS['DATABASE']->getFirstCell("SELECT COUNT(*) FROM " . PLANETS . " WHERE `id_owner` = " . $USER['id'] . " AND siege_on > " . TIMESTAMP . ";"); foreach ($PLANETS as $Planet) { if ($Planet['teleport_portal'] == 1) { $Message = '<span class="vert">ON</span>'; } if ($Planet['force_field_timer'] > TIMESTAMP) { $Messages = '<span class="vert">ON</span>'; } if ($Planet['siege_on'] > TIMESTAMP) { $Messageb = '<span class="vert">ON</span>'; } $planetList['name'][$Planet['id']] = $Planet['name']; $planetList['image'][$Planet['id']] = $Planet['image']; $planetList['coords'][$Planet['id']]['galaxy'] = $Planet['galaxy']; $planetList['coords'][$Planet['id']]['system'] = $Planet['system']; $planetList['coords'][$Planet['id']]['planet'] = $Planet['planet']; $planetList['field'][$Planet['id']]['current'] = $Planet['field_current']; $planetList['field'][$Planet['id']]['max'] = CalculateMaxPlanetFields($Planet); $planetList['portal'][$Planet['id']]['Tportal'] = $Message; $planetList['force'][$Planet['id']]['Forcefield'] = $Messages; $planetList['siege'][$Planet['id']]['Siege'] = $Messageb; $planetList['energy_used'][$Planet['id']] = $Planet['energy'] + $Planet['energy_used']; $planetList['resource'][901][$Planet['id']] = $Planet['metal']; $planetList['resource'][902][$Planet['id']] = $Planet['crystal']; $planetList['resource'][903][$Planet['id']] = $Planet['deuterium']; $planetList['resource'][904][$Planet['id']] = $Planet['elyrium']; $planetList['bunker'][901][$Planet['id']] = $Planet['metal_bunker']; $planetList['bunker'][902][$Planet['id']] = $Planet['crystal_bunker']; $planetList['bunker'][903][$Planet['id']] = $Planet['deuterium_bunker']; $planetList['bunker'][904][$Planet['id']] = $Planet['elyrium_bunker']; foreach ($reslist['build'] as $elementID) { $planetList['build'][$elementID][$Planet['id']] = $Planet[$resource[$elementID]]; } foreach ($reslist['fleet'] as $elementID) { $planetList['fleet'][$elementID][$Planet['id']] = $Planet[$resource[$elementID]]; } foreach ($reslist['defense'] as $elementID) { $planetList['defense'][$elementID][$Planet['id']] = $Planet[$resource[$elementID]]; } foreach ($reslist['population'] as $elementID) { $planetList['population'][$elementID][$Planet['id']] = $Planet[$resource[$elementID]]; } } foreach ($reslist['tech'] as $elementID) { $planetList['tech'][$elementID] = $USER[$resource[$elementID]]; } $this->tplObj->assign_vars(array('colspan' => count($PLANETS) + 2, 'planetList' => $planetList, 'Tportalactive' => $Tportalactive, 'Forceactive' => $Forceactive, 'Siegeactive' => $Siegeactive)); $this->display('page.empire.default.tpl'); }
protected function AddBuildingToQueue(&$CurrentPlanet, $CurrentUser, $Element, $AddMode = true) { global $resource; $CurrentQueue = $CurrentPlanet['b_building_id']; $CurrentMaxFields = CalculateMaxPlanetFields($CurrentPlanet); if ($CurrentQueue != 0) { $QueueArray = explode(";", $CurrentQueue); $ActualCount = count($QueueArray); } else { $QueueArray = ""; $ActualCount = 0; } if ($AddMode == true) { $BuildMode = 'build'; } else { $BuildMode = 'destroy'; } if ($ActualCount < MAX_BUILDING_QUEUE_SIZE) { $QueueID = $ActualCount + 1; } else { $QueueID = false; } if ($QueueID != false) { if ($QueueID > 1) { $InArray = 0; for ($QueueElement = 0; $QueueElement < $ActualCount; $QueueElement++) { $QueueSubArray = explode(",", $QueueArray[$QueueElement]); if ($QueueSubArray[0] == $Element) { $InArray++; } } } else { $InArray = 0; } if ($InArray != 0) { $ActualLevel = $CurrentPlanet[$resource[$Element]]; if ($AddMode == true) { $BuildLevel = $ActualLevel + 1 + $InArray; $CurrentPlanet[$resource[$Element]] += $InArray; $BuildTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element); $CurrentPlanet[$resource[$Element]] -= $InArray; } else { $BuildLevel = $ActualLevel - 1 - $InArray; $CurrentPlanet[$resource[$Element]] -= $InArray; $BuildTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element) / 2; $CurrentPlanet[$resource[$Element]] += $InArray; } } else { $ActualLevel = $CurrentPlanet[$resource[$Element]]; if ($AddMode == true) { $BuildLevel = $ActualLevel + 1; $BuildTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element); } else { $BuildLevel = $ActualLevel - 1; $BuildTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element) / 2; } } if ($QueueID == 1) { $BuildEndTime = time() + $BuildTime; } else { $PrevBuild = explode(",", $QueueArray[$ActualCount - 1]); $BuildEndTime = $PrevBuild[3] + $BuildTime; } $QueueArray[$ActualCount] = $Element . "," . $BuildLevel . "," . $BuildTime . "," . $BuildEndTime . "," . $BuildMode; $NewQueue = implode(";", $QueueArray); $CurrentPlanet['b_building_id'] = $NewQueue; } }
/** * BatimentBuildingPage.php * * @version 1.1 * @copyright 2008 by Chlorel for XNova */ function BatimentBuildingPage(&$CurrentPlanet, $CurrentUser) { global $ProdGrid, $lang, $resource, $reslist, $phpEx, $dpath, $game_config, $_GET, $user; CheckPlanetUsedFields($CurrentPlanet); PlanetResourceUpdate($CurrentUser, $CurrentPlanet, time()); // Was gebaut werden darf in Abhängikeit zum gewählten Volk. switch ($user['volk']) { case "A": $Allowed['1'] = array(1, 2, 3, 11, 12, 14, 15, 21, 22, 23, 24, 25, 26, 27, 31, 33, 34, 44); $Allowed['3'] = array(4, 12, 14, 15, 21, 25, 26, 34, 41, 42, 43); break; case "B": $Allowed['1'] = array(1, 2, 3, 11, 12, 14, 15, 21, 22, 23, 24, 25, 26, 31, 33, 34, 44, 45); $Allowed['3'] = array(4, 12, 14, 15, 21, 25, 26, 34, 41, 42, 43); break; case "C": $Allowed['1'] = array(1, 2, 3, 11, 12, 14, 15, 21, 22, 23, 24, 25, 26, 31, 33, 34, 44, 46); $Allowed['3'] = array(4, 12, 14, 15, 21, 25, 26, 34, 41, 42, 43, 46); break; } //Werte auf null setzen $bThisIsCheated = 0; $bDoItNow = 0; $TheCommand = 0; $Element = 0; $ListID = 0; // Boucle d'interpretation des eventuelles commandes if (isset($_GET['cmd'])) { // On passe une commande $bThisIsCheated = false; $bDoItNow = false; $TheCommand = $_GET['cmd']; $Element = $_GET['building']; $ListID = $_GET['listid']; if (isset($Element)) { if (!strchr($Element, " ")) { if (!strchr($Element, ",")) { if (!strchr($Element, ";")) { if (in_array(trim($Element), $Allowed[$CurrentPlanet['planet_type']])) { $bDoItNow = true; } else { $bThisIsCheated = true; } } else { $bThisIsCheated = true; } } else { $bThisIsCheated = true; } } else { $bThisIsCheated = true; } } elseif (isset($ListID)) { $bDoItNow = true; } if ($bDoItNow == true) { $Element = abs($Element); switch ($TheCommand) { case 'cancel': // Interrompre le premier batiment de la queue CancelBuildingFromQueue($CurrentPlanet, $CurrentUser); break; case 'remove': // Supprimer un element de la queue (mais pas le premier) // $RemID -> element de la liste a supprimer RemoveBuildingFromQueue($CurrentPlanet, $CurrentUser, $ListID); break; case 'insert': // Insere un element dans la queue AddBuildingToQueue($CurrentPlanet, $CurrentUser, $Element, true); break; case 'destroy': // Detruit un batiment deja construit sur la planete ! AddBuildingToQueue($CurrentPlanet, $CurrentUser, $Element, false); break; default: break; } // switch } elseif ($bThisIsCheated == true) { ResetThisFuckingCheater($CurrentUser['id']); } sleep(1); // es wird 1 sekunde geschlafen } SetNextQueueElementOnTop($CurrentPlanet, $CurrentUser); $Queue = ShowBuildingQueue($CurrentPlanet, $CurrentUser); // On enregistre ce que l'on a modifié dans planet ! BuildingSavePlanetRecord($CurrentPlanet); // On enregistre ce que l'on a eventuellement modifié dans users BuildingSaveUserRecord($CurrentUser); if ($Queue['lenght'] < MAX_BUILDING_QUEUE_SIZE) { $CanBuildElement = true; } else { $CanBuildElement = false; } $SubTemplate = gettemplate('buildings_builds_row'); $BuildingPage = ""; $zaehler = 1; foreach ($lang['tech'] as $Element => $ElementName) { if (in_array($Element, $Allowed[$CurrentPlanet['planet_type']])) { $CurrentMaxFields = CalculateMaxPlanetFields($CurrentPlanet); if ($CurrentPlanet['field_current'] < $CurrentMaxFields - $Queue['lenght']) { $RoomIsOk = true; } else { $RoomIsOk = false; } if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element)) { $HaveRessources = IsElementBuyable($CurrentUser, $CurrentPlanet, $Element, true, false); $parse = array(); $parse['dpath'] = $dpath; $parse['i'] = $Element; $BuildingLevel = $CurrentPlanet[$resource[$Element]]; $parse['nivel'] = $BuildingLevel == 0 ? "" : " (" . $lang['level'] . " " . $BuildingLevel . ")"; $parse['n'] = $ElementName; $parse['descriptions'] = $lang['res']['descriptions'][$Element]; $ElementBuildTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element); $parse['time'] = ShowBuildTime($ElementBuildTime); $parse['price'] = GetElementPrice($CurrentUser, $CurrentPlanet, $Element); $parse['rest_price'] = GetRestPrice($CurrentUser, $CurrentPlanet, $Element); $parse['click'] = ''; $NextBuildLevel = $CurrentPlanet[$resource[$Element]] + 1; // show energy on BuildingPage //================================ $BuildLevelFactor = $CurrentPlanet[$resource[$Element] . "_porcent"]; $BuildTemp = $CurrentPlanet['temp_max']; $CurrentBuildtLvl = $BuildingLevel; $BuildLevel = $CurrentBuildtLvl > 0 ? $CurrentBuildtLvl : 1; $Prod[3] = floor(eval($ProdGrid[$Element]['formule']['deuterium']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05); $Prod[11] = floor(eval($ProdGrid[$Element]['formule']['energy']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05); if ($Element != 12) { $ActualNeed = floor($Prod[11]); } else { $ActualNeed = floor($Prod[3]); } $BuildLevel++; $Prod[3] = floor(eval($ProdGrid[$Element]['formule']['deuterium']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05); $Prod[11] = floor(eval($ProdGrid[$Element]['formule']['energy']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05); if ($Element != 12) { $bloc['build_prod'] = pretty_number(floor($Prod[$BuildID])); $bloc['build_prod_diff'] = colorNumber(pretty_number(floor($Prod[$BuildID] - $ActualProd))); $bloc['build_need'] = colorNumber(pretty_number(floor($Prod[11]))); $EnergyNeed = colorNumber(pretty_number(floor($Prod[11] - $ActualNeed))); } else { $bloc['build_prod'] = pretty_number(floor($Prod[11])); $bloc['build_prod_diff'] = colorNumber(pretty_number(floor($Prod[11] - $ActualProd))); $bloc['build_need'] = colorNumber(pretty_number(floor($Prod[3]))); $EnergyNeed = colorNumber(pretty_number(floor($Prod[3] - $ActualNeed))); } if ($Element >= 1 && $Element <= 4) { $parse['build_need_diff'] = "(" . "<font color=#FF0000>" . $EnergyNeed . " " . $lang['Energy'] . "</font>" . ")"; $BuildLevel = 0; } elseif ($Element == 11 || $Element == 12) { $parse['build_need_diff'] = "(" . "<font color=#00FF00>+" . $EnergyNeed . " " . $lang['Energy'] . "</font>" . ")"; $BuildLevel = 0; } //================================ if ($Element == 31) { // Spécial Laboratoire if ($CurrentUser['b_tech_planet'] != 0 && $game_config['BuildLabWhileRun'] != 1) { // Variable qui contient le parametre // On verifie si on a le droit d'evoluer pendant les recherches (Setting dans config) $parse['click'] = "<font color=#FF0000>" . $lang['in_working'] . "</font>"; } } if ($Element == 15) { // Spezialgebäude Nanitenfabrik if ($CurrentPlanet['robot_factory'] <= 9) { // On verifie si on a le droit d'evoluer pendant les recherches (Setting dans config) $parse['click'] = "<font color=#FF0000>" . $lang['no Nani'] . "</font>"; } } if ($Element == 45) { // Spezialgebäude Mondtransformer if ($CurrentPlanet['mondtransformer'] == 1) { // Es darf nur ein Mondtransformer pro Planet gebaut werden $parse['click'] = "<font color=#FF0000>" . $lang['only_one_mondtransformer'] . "</font>"; } } if ($parse['click'] != '') { // Bin on ne fait rien, vu que l'on l'a deja fait au dessus !! } elseif ($RoomIsOk && $CanBuildElement) { if ($Queue['lenght'] == 0) { if ($NextBuildLevel == 1) { if ($HaveRessources == true) { $parse['click'] = "<a href=\"?cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['BuildFirstLevel'] . "</font></a>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['BuildFirstLevel'] . "</font>"; } } else { if ($HaveRessources == true) { $parse['click'] = "<a href=\"?cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font></a>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font>"; } } } else { $parse['click'] = "<a href=\"?cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['InBuildQueue'] . "</font></a>"; } } elseif ($RoomIsOk && !$CanBuildElement) { if ($NextBuildLevel == 1) { $parse['click'] = "<font color=#FF0000>" . $lang['BuildFirstLevel'] . "</font>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font>"; } } else { $parse['click'] = "<font color=#FF0000>" . $lang['NoMoreSpace'] . "</font>"; } if ($zaehler % 3 == 0) { $parse['trclose'] = '</tr>'; $zaehler++; } else { $parse['trclose'] = ''; $zaehler++; } $BuildingPage .= parsetemplate($SubTemplate, $parse); } } } $parse = $lang; // Faut il afficher la liste de construction ?? if ($Queue['lenght'] > 0) { $parse['BuildListScript'] = InsertBuildListScript("buildings"); $parse['BuildList'] = $Queue['buildlist']; } else { $parse['BuildListScript'] = ""; $parse['BuildList'] = ""; } $parse['planet_field_current'] = $CurrentPlanet['field_current']; $parse['planet_field_max'] = $CurrentPlanet['field_max']; $parse['field_libre'] = $parse['planet_field_max'] - $CurrentPlanet['field_current']; $parse['BuildingsList'] = $BuildingPage; $page .= parsetemplate(gettemplate('buildings_builds'), $parse); display($page, $lang['Builds']); }
/** * BatimentBuildingPage.php * * @version 1.1 * @copyright 2008 by Chlorel for XNova */ function BatimentBuildingPage(&$CurrentPlanet, $CurrentUser) { global $lang, $resource, $reslist, $phpEx, $dpath, $game_config, $_GET; CheckPlanetUsedFields($CurrentPlanet); // Tables des batiments possibles par type de planete $Allowed['1'] = array(1, 2, 3, 4, 12, 14, 15, 21, 22, 23, 24, 31, 33, 34, 44); $Allowed['3'] = array(12, 14, 15, 21, 34, 41, 42, 43); // Boucle d'interpretation des eventuelles commandes if (isset($_GET['cmd'])) { // On passe une commande $bThisIsCheated = false; $bDoItNow = false; $TheCommand = $_GET['cmd']; $Element = $_GET['building']; $ListID = $_GET['listid']; if (isset($Element)) { if (!strchr($Element, " ")) { if (!strchr($Element, ",")) { if (in_array(trim($Element), $Allowed[$CurrentPlanet['planet_type']])) { $bDoItNow = true; } else { $bThisIsCheated = true; } } else { $bThisIsCheated = true; } } else { $bThisIsCheated = true; } } elseif (isset($ListID)) { $bDoItNow = true; } if ($bDoItNow == true) { switch ($TheCommand) { case 'cancel': // Interrompre le premier batiment de la queue CancelBuildingFromQueue($CurrentPlanet, $CurrentUser); break; case 'remove': // Supprimer un element de la queue (mais pas le premier) // $RemID -> element de la liste a supprimer RemoveBuildingFromQueue($CurrentPlanet, $CurrentUser, $ListID); break; case 'insert': // Insere un element dans la queue AddBuildingToQueue($CurrentPlanet, $CurrentUser, $Element, true); break; case 'destroy': // Detruit un batiment deja construit sur la planete ! AddBuildingToQueue($CurrentPlanet, $CurrentUser, $Element, false); break; default: break; } // switch } elseif ($bThisIsCheated == true) { ResetThisFuckingCheater($CurrentUser['id']); } } SetNextQueueElementOnTop($CurrentPlanet, $CurrentUser); $Queue = ShowBuildingQueue($CurrentPlanet, $CurrentUser); // On enregistre ce que l'on a modifié dans planet ! BuildingSavePlanetRecord($CurrentPlanet); // On enregistre ce que l'on a eventuellement modifié dans users BuildingSaveUserRecord($CurrentUser); if ($Queue['lenght'] < MAX_BUILDING_QUEUE_SIZE) { $CanBuildElement = true; } else { $CanBuildElement = false; } $SubTemplate = gettemplate('buildings_builds_row'); $BuildingPage = ""; foreach ($lang['tech'] as $Element => $ElementName) { if (in_array($Element, $Allowed[$CurrentPlanet['planet_type']])) { $CurrentMaxFields = CalculateMaxPlanetFields($CurrentPlanet); if ($CurrentPlanet["field_current"] < $CurrentMaxFields - $Queue['lenght']) { $RoomIsOk = true; } else { $RoomIsOk = false; } if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element)) { $HaveRessources = IsElementBuyable($CurrentUser, $CurrentPlanet, $Element, true, false); $parse = array(); $parse['dpath'] = $dpath; $parse['i'] = $Element; $BuildingLevel = $CurrentPlanet[$resource[$Element]]; $parse['nivel'] = $BuildingLevel == 0 ? "" : " (" . $lang['level'] . " " . $BuildingLevel . ")"; $parse['n'] = $ElementName; $parse['descriptions'] = $lang['res']['descriptions'][$Element]; $ElementBuildTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element); $parse['time'] = ShowBuildTime($ElementBuildTime); $parse['price'] = GetElementPrice($CurrentUser, $CurrentPlanet, $Element); $parse['rest_price'] = GetRestPrice($CurrentUser, $CurrentPlanet, $Element); $parse['click'] = ''; $NextBuildLevel = $CurrentPlanet[$resource[$Element]] + 1; if ($Element == 31) { // Spécial Laboratoire if ($CurrentUser["b_tech_planet"] != 0 && $game_config['BuildLabWhileRun'] != 1) { // Variable qui contient le parametre // On verifie si on a le droit d'evoluer pendant les recherches (Setting dans config) $parse['click'] = "<font color=#FF0000>" . $lang['in_working'] . "</font>"; } } if ($parse['click'] != '') { // Bin on ne fait rien, vu que l'on l'a deja fait au dessus !! } elseif ($RoomIsOk && $CanBuildElement) { if ($Queue['lenght'] == 0) { if ($NextBuildLevel == 1) { if ($HaveRessources == true) { $parse['click'] = "<a href=\"?cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['BuildFirstLevel'] . "</font></a>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['BuildFirstLevel'] . "</font>"; } } else { if ($HaveRessources == true) { $parse['click'] = "<a href=\"?cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font></a>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font>"; } } } else { $parse['click'] = "<a href=\"?cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['InBuildQueue'] . "</font></a>"; } } elseif ($RoomIsOk && !$CanBuildElement) { if ($NextBuildLevel == 1) { $parse['click'] = "<font color=#FF0000>" . $lang['BuildFirstLevel'] . "</font>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font>"; } } else { $parse['click'] = "<font color=#FF0000>" . $lang['NoMoreSpace'] . "</font>"; } $BuildingPage .= parsetemplate($SubTemplate, $parse); } } } $parse = $lang; // Faut il afficher la liste de construction ?? if ($Queue['lenght'] > 0) { $parse['BuildListScript'] = InsertBuildListScript("buildings"); $parse['BuildList'] = $Queue['buildlist']; } else { $parse['BuildListScript'] = ""; $parse['BuildList'] = ""; } $parse['planet_field_current'] = $CurrentPlanet["field_current"]; $parse['planet_field_max'] = $CurrentPlanet['field_max'] + $CurrentPlanet[$resource[33]] * 5; $parse['field_libre'] = $parse['planet_field_max'] - $CurrentPlanet['field_current']; $parse['BuildingsList'] = $BuildingPage; $page .= parsetemplate(gettemplate('buildings_builds'), $parse); display($page, $lang['Builds']); }
/** * BatimentBuildingPage.php * * @version 1.1 * @copyright 2008 by Chlorel for XNova */ function ProductionBuildingPage(&$CurrentPlanet, $CurrentUser) { global $lang, $resource, $reslist, $pricelist, $phpEx, $dpath, $game_config, $_GET; CheckPlanetUsedFields($CurrentPlanet); // Tables des batiments possibles par type de planete $Allowed['1'] = array(1, 2, 3, 4, 12, 212, 22, 23, 24); $Allowed['3'] = array(212, 22, 23, 24); //Right, lets see what he has an generate him an image. $imgnum = ''; if ($CurrentPlanet[$resource[1]] > 0) { $imgnum .= "_1"; } if ($CurrentPlanet[$resource[2]] > 0) { $imgnum .= "_2"; } if ($CurrentPlanet[$resource[3]] > 0) { $imgnum .= "_3"; } if ($CurrentPlanet[$resource[4]] > 0) { $imgnum .= "_4"; } // Boucle d'interpretation des eventuelles commandes if (isset($_GET['cmd'])) { // On passe une commande $bThisIsCheated = false; $bDoItNow = false; $TheCommand = $_GET['cmd']; $Element = $_GET['building']; $ListID = $_GET['listid']; if (isset($Element)) { if (!strchr($Element, " ")) { if (!strchr($Element, ",")) { if (in_array(trim($Element), $Allowed[$CurrentPlanet['planet_type']])) { $bDoItNow = true; } else { //$bThisIsCheated = true; $bDoItNow = true; } } else { $bThisIsCheated = true; } } else { $bThisIsCheated = true; } } elseif (isset($ListID)) { $bDoItNow = true; } if ($bDoItNow == true) { switch ($TheCommand) { case 'cancel': // Interrompre le premier batiment de la queue CancelBuildingFromQueue($CurrentPlanet, $CurrentUser); break; case 'remove': // Supprimer un element de la queue (mais pas le premier) // $RemID -> element de la liste a supprimer RemoveBuildingFromQueue($CurrentPlanet, $CurrentUser, $ListID); break; case 'insert': // Insere un element dans la queue $fields_rem = $CurrentPlanet['field_max'] - $CurrentPlanet['field_current'] + $CurrentPlanet[$resource[33]] * 5; if ($fields_rem >= 0) { AddBuildingToQueue($CurrentPlanet, $CurrentUser, $Element, true); } else { echo $fields_rem . " < 0"; die("Hacking Attempt!"); } break; case 'destroy': // Detruit un batiment deja construit sur la planete ! AddBuildingToQueue($CurrentPlanet, $CurrentUser, $Element, false); break; default: break; } // switch } elseif ($bThisIsCheated == true) { ResetThisFuckingCheater($CurrentUser['id']); } } SetNextQueueElementOnTop($CurrentPlanet, $CurrentUser); $Queue = ShowBuildingQueue($CurrentPlanet, $CurrentUser); // On enregistre ce que l'on a modifi� dans planet ! BuildingSavePlanetRecord($CurrentPlanet); // On enregistre ce que l'on a eventuellement modifi� dans users BuildingSaveUserRecord($CurrentUser); $max_qs = MAX_BUILDING_QUEUE_SIZE; if ($max_qs > 0) { //fine :) } else { $max_qs = 10; } if ($Queue['lenght'] < $max_qs) { $CanBuildElement = true; } else { $CanBuildElement = false; } $SubTemplate = gettemplate('buildings_res_buttonz'); $parse = array(); $infopg = array(); foreach ($lang['tech'] as $Element => $ElementName) { if (in_array($Element, $Allowed[1])) { if (in_array($Element, $Allowed[$CurrentPlanet['planet_type']])) { if (!IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element)) { $parse['state_' . $Element] = "off"; $parse['mes_' . $Element] = "Requirements are not met"; } elseif (!IsElementBuyable($CurrentUser, $CurrentPlanet, $Element, true, false)) { $parse['state_' . $Element] = "disabled"; $parse['mes_' . $Element] = "Not enough resources!"; } else { $parse['state_' . $Element] = "on"; $parse['mes_' . $Element] = ""; } } else { $parse['state_' . $Element] = "off"; $parse['mes_' . $Element] = "Not availble"; } $parse['name_' . $Element] = $ElementName; $parse['count_' . $Element] = $CurrentPlanet[$resource[$Element]]; } } $BuildingPage = parsetemplate($SubTemplate, $parse); $parse = $lang; $Element = idstring($_GET['id']); $ElementName = $lang['tech'][$Element]; // Faut il afficher la liste de construction ?? if ($Queue['lenght'] > 0) { $parse['BuildListScript'] = ''; //$parse['BuildListScript'] = InsertBuildListScript ( "buildings" ); $parse['BuildList'] = $Queue['buildlist']; } else { $parse['BuildListScript'] = ""; $parse['BuildList'] = ""; } $de_planettype = PlanetType($CurrentPlanet['image']); $parse['type'] = $de_planettype['type']; $parse['bg'] = GAME_SKIN . "/img/header/resources/" . $parse['type'] . $imgnum . ".png"; $parse['hideres'] = "display:none;"; $parse['hidenorm'] = ""; if (!$Element) { $parse['bg'] = GAME_SKIN . "/img/header/resources/" . $parse['type'] . $imgnum . ".png"; if ($_GET['mode'] == "resources") { $parse['hideres'] = ""; $parse['hidenorm'] = "display:none;"; $parse['resources_section'] = BuildRessourcePage($CurrentUser, $CurrentPlanet); } } else { if (in_array($Element, $Allowed[$CurrentPlanet['planet_type']])) { //Something else $HaveRessources = IsElementBuyable($CurrentUser, $CurrentPlanet, $Element, true, false); $parse['i'] = $Element; $parse['dpath'] = $dpath; $BuildingLevel = $CurrentPlanet[$resource[$Element]]; $parse['nivel'] = $BuildingLevel == 0 ? "" : " (" . $lang['level'] . " " . $BuildingLevel . ")"; $parse['n'] = $ElementName; $parse['descriptions'] = $lang['res']['descriptions'][$Element]; $ElementBuildTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element); $parse['time'] = ShowBuildTime($ElementBuildTime); $parse['price'] = GetElementPrice($CurrentUser, $CurrentPlanet, $Element); $parse['rest_price'] = GetRestPrice($CurrentUser, $CurrentPlanet, $Element); $parse['click'] = ''; $CurrentMaxFields = CalculateMaxPlanetFields($CurrentPlanet); if ($CurrentPlanet["field_current"] < $CurrentMaxFields - $Queue['lenght']) { $RoomIsOk = true; } else { $RoomIsOk = false; } if ($Element == 31) { // Sp�cial Laboratoire if ($CurrentUser["b_tech_planet"] != 0 && $game_config['BuildLabWhileRun'] != 1) { // Variable qui contient le parametre // On verifie si on a le droit d'evoluer pendant les recherches (Setting dans config) $parse['click'] = "<font color=#FF0000>" . $lang['in_working'] . "</font>"; } } if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element)) { if ($parse['click'] != '') { // Bin on ne fait rien, vu que l'on l'a deja fait au dessus !! } elseif ($RoomIsOk && $CanBuildElement) { if ($Queue['lenght'] == 0) { if ($NextBuildLevel == 1) { if ($HaveRessources == true) { $parse['click'] = "<a href=\"./?page=resources&cmd=insert&building=" . $Element . "&id=" . $Element . "\"><font color=#00FF00>" . $lang['BuildFirstLevel'] . "</font></a>"; $infopg['build_link'] = "./?page=resources&cmd=insert&building=" . $Element . "&id=" . $Element; $infopg['build_text'] = $lang['BuildFirstLevel']; } else { $parse['click'] = "<font color=#FF0000>4" . $lang['BuildFirstLevel'] . "</font>"; $infopg['build_text'] = $lang['BuildFirstLevel']; } } else { if ($HaveRessources == true) { $parse['click'] = "<a href=\"./?page=resources&cmd=insert&building=" . $Element . "&id=" . $Element . "\"><font color=#00FF00>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font></a>"; $infopg['build_link'] = "./?page=resources&cmd=insert&building=" . $Element . "&id=" . $Element; $infopg['build_text'] = $lang['BuildNextLevel'] . " " . $NextBuildLevel; } else { $parse['click'] = "<font color=#FF0000>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font>"; $infopg['build_text'] = $lang['BuildNextLevel'] . " " . $NextBuildLevel; } } } else { $parse['click'] = "<a href=\"./?page=resources&cmd=insert&building=" . $Element . "&id=" . $Element . "\"><font color=#00FF00>" . $lang['InBuildQueue'] . "</font></a>"; $infopg['build_link'] = "./?page=resources&cmd=insert&building=" . $Element . "&id=" . $Element; $infopg['build_text'] = $lang['InBuildQueue']; } } elseif ($RoomIsOk && !$CanBuildElement) { if ($NextBuildLevel == 1) { $parse['click'] = "<font color=#FF0000>2" . $lang['BuildFirstLevel'] . "</font>"; $infopg['build_text'] = $lang['BuildFirstLevel']; } else { $parse['click'] = "<font color=#FF0000>1" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font>"; $infopg['build_text'] = $lang['BuildNextLevel'] . " " . $NextBuildLevel; } } else { $parse['click'] = "<font color=#FF0000>" . $lang['NoMoreSpace'] . "</font>"; $infopg['build_text'] = $lang['NoMoreSpace']; } } else { $parse['click'] = "<font color=#FF0000>" . $lang['NotAccessible'] . "</font>"; $infopg['build_text'] = $lang['NotAccessible']; } //$parse['bg'] = GAME_SKIN."/img/header/resources/ice.png"; $parse['gebaeude_inf'] = "<br /><blockquote style=\"margin-left: 15px; margin-right: 15px; filter:alpha(opacity=75); -moz-opacity:.75; opacity:.75; background-color: #000000;\">\r\n\t\t\t<div style=\"margin-left: 10px; margin-right: 10px;\">\r\n\t\t\t<table width=\"100%\"><tr>\r\n\t\t\t\t<td width=\"130\"><img src=\"" . $dpath . "/gebaeude/" . $parse['i'] . ".gif\" width=\"120\" border=\"0\" alt=\"" . $parse['n'] . "\" /></td>\r\n\t\t\t\t<td style=\"margin-left: 10px;\">\r\n\t\t\t\t<div style=\"text-align: center;\"><!--<a href=\"infos.php?gid=" . $parse['i'] . "\">-->" . $parse['n'] . "<!--</a>--></div>" . "<div style=\"text-align: left;\">" . $parse['nivel'] . "<br />" . $parse['descriptions'] . "<br /><br />" . $parse['price'] . $parse['time'] . $parse['rest_price'] . "<br /></div>" . "<div style=\"text-align: right;\">" . $parse['click'] . "</div>\r\n\t\t\t\t</td>\r\n\t\t\t</tr></table>\r\n\t\t\t</div>\r\n\t\t\t</blockquote>"; //Building Info if ($infopg['build_link']) { $infopg['buildit_class'] = "build-it"; $infopg['build_text'] = "Improve"; } else { $infopg['buildit_class'] = "build-it_disabled"; $infopg['build_text'] = "In queue"; } $infopg['id'] = $Element; $infopg['name'] = $ElementName; $infopg['level'] = $CurrentPlanet[$resource[$Element]]; if ($CurrentPlanet[$resource[$Element]] < 1) { $infopg['display_destroy'] = "style=\"display:none;\""; } $infopg['td_url'] = "./?page=" . $_GET['page'] . "&cmd=destroy&building=" . $Element; $infopg['title'] = "Tear down"; $infopg['level1'] = $infopg['level'] + 1; $infopg['duration'] = pretty_time($ElementBuildTime); $infopg['shortdesc'] = $lang['res']['descriptions'][$Element]; $infopg['skin'] = $CurrentUser['skin']; $infopg['cost_m'] = 1 * floor($pricelist[$Element]['metal'] * pow($pricelist[$Element]['factor'], $CurrentPlanet[$resource[$Element]])); $infopg['cost_c'] = 1 * floor($pricelist[$Element]['crystal'] * pow($pricelist[$Element]['factor'], $CurrentPlanet[$resource[$Element]])); $infopg['cost_d'] = 1 * floor($pricelist[$Element]['deuterium'] * pow($pricelist[$Element]['factor'], $CurrentPlanet[$resource[$Element]])); if ($infopg['cost_m'] > $CurrentPlanet['metal'] && $infopg['cost_m'] > 0) { $infopg['missing_resource_m'] = "missing_resource"; } if ($infopg['cost_c'] > $CurrentPlanet['crystal'] && $infopg['cost_c'] > 0) { $infopg['missing_resource_c'] = "missing_resource"; } if ($infopg['cost_d'] > $CurrentPlanet['deuterium'] && $infopg['cost_d'] > 0) { $infopg['missing_resource_d'] = "missing_resource"; } $infopg['sh_cost_m'] = KMnumber($infopg['cost_m'], 0, 'up'); $infopg['sh_cost_c'] = KMnumber($infopg['cost_c'], 0, 'up'); $infopg['sh_cost_d'] = KMnumber($infopg['cost_d'], 0, 'up'); $infopg['cost_m'] = pretty_number($infopg['cost_m']); $infopg['cost_c'] = pretty_number($infopg['cost_c']); $infopg['cost_d'] = pretty_number($infopg['cost_d']); $infopg['page'] = $_GET['page']; $parse['info'] = parsetemplate(gettemplate('buildings/info'), $infopg); $parse['extra'] = "style=\"display:none\""; } } $parse['planet_field_current'] = $CurrentPlanet["field_current"]; $parse['planet_field_max'] = $CurrentPlanet['field_max'] + $CurrentPlanet[$resource[33]] * 5; $parse['field_libre'] = $parse['planet_field_max'] - $CurrentPlanet['field_current']; $parse['buttonz'] = $BuildingPage; $page .= parsetemplate(gettemplate('buildings/resources'), $parse); displaypage($page, $lang['Builds']); }
function ShowOverviewPage() { global $CONF, $LNG, $PLANET, $USER, $db, $resource; $PlanetRess = new ResourceUpdate(); $PlanetRess->CalcResource(); $PlanetRess->SavePlanetToDB(); $template = new template(); $template->getplanets(); $AdminsOnline = $AllPlanets = $Moon = array(); foreach ($template->UserPlanets as $ID => $CPLANET) { if ($ID == $_SESSION['planet'] || $CPLANET['planet_type'] == 3) { continue; } if (!empty($CPLANET['b_building']) && $CPLANET['b_building'] > TIMESTAMP) { $Queue = explode(';', $CPLANET['b_building_id']); $CurrBuild = explode(',', $Queue[0]); $BuildPlanet = $LNG['tech'][$CurrBuild[0]] . " (" . $CurrBuild[1] . ")<br><span style=\"color:#7F7F7F;\">(" . pretty_time($CurrBuild[3] - TIMESTAMP) . ")</span>"; } else { $BuildPlanet = $LNG['ov_free']; } $AllPlanets[] = array('id' => $CPLANET['id'], 'name' => $CPLANET['name'], 'image' => $CPLANET['image'], 'build' => $BuildPlanet); } if ($PLANET['id_luna'] != 0) { $Moon = $db->uniquequery("SELECT `id`, `name` FROM " . PLANETS . " WHERE `id` = '" . $PLANET['id_luna'] . "';"); } if (!empty($PLANET['b_building'])) { $Queue = explode(';', $PLANET['b_building_id']); $CurrBuild = explode(',', $Queue[0]); $Build = $LNG['tech'][$CurrBuild[0]] . ' (' . $CurrBuild[1] . ')<br><div id="blc">"' . pretty_time($PLANET['b_building'] - TIMESTAMP) . '</div>'; $template->execscript('BuildTime();'); } else { $Build = $LNG['ov_free']; } $Teamspeak = ''; if ($CONF['ts_modon'] == 1) { if ($CONF['ts_version'] == 2) { include_once ROOT_PATH . "includes/libs/teamspeak/class.teamspeak2." . PHP_EXT; $ts = new cyts(); if ($ts->connect($CONF['ts_server'], $CONF['ts_tcpport'], $CONF['ts_udpport'], $CONF['ts_timeout'])) { $tsdata = $ts->info_serverInfo(); $tsdata2 = $ts->info_globalInfo(); $ts->disconnect(); $trafges = pretty_number($tsdata2["total_bytessend"] / 1024 / 1024 + $tsdata2["total_bytesreceived"] / 1024 / 1024); $Teamspeak = sprintf($LNG['ov_teamspeak_v2'], $CONF['ts_server'], $CONF['ts_udpport'], $USER['username'], $tsdata["server_currentusers"], $tsdata["server_maxusers"], $tsdata["server_currentchannels"], $trafges); } else { $Teamspeak = $LNG['ov_teamspeak_not_online']; } } elseif ($CONF['ts_version'] == 3) { $ip = $CONF['ts_server']; $port = $CONF['ts_tcpport']; $t_port = $CONF['ts_udpport']; $sid = $CONF['ts_timeout']; require_once ROOT_PATH . "includes/libs/teamspeak/class.teamspeak3." . PHP_EXT; $tsAdmin = new ts3admin($ip, $t_port); if ($tsAdmin->connect()) { $tsAdmin->selectServer($sid); #$tsAdmin->login($username, $password); Insert the SA Account Details, if Teamspeak banned you. $sinfo = $tsAdmin->serverInfo(); $tsAdmin->logout(); $tsAdmin->quit(); $trafges = round($sinfo['connection_bytes_received_total'] / 1024 / 1024 + $sinfo['connection_bytes_sent_total'] / 1024 / 1024, 2); $Debug = $tsAdmin->getDebugLog(); if ($Debug == "Error while fetching: 'error id=518 msg=not logged in'<br>") { $Teamspeak = sprintf($LNG['ov_teamspeak_v3'], $ip, $port, $USER['username'], $sinfo['virtualserver_password'], $sinfo['virtualserver_clientsonline'] - 1, $sinfo['virtualserver_maxclients'], $sinfo['virtualserver_channelsonline'], $trafges); } else { $Teamspeak = $Debug; } } else { $Teamspeak = $LNG['ov_teamspeak_not_online']; } } } $OnlineAdmins = $db->query("SELECT `id`,`username` FROM " . USERS . " WHERE `onlinetime` >= '" . (TIMESTAMP - 10 * 60) . "' AND `authlevel` > '0';"); while ($AdminRow = $db->fetch_array($OnlineAdmins)) { $AdminsOnline[$AdminRow['id']] = $AdminRow['username']; } $db->free_result($OnlineAdmins); $template->loadscript('mbContainer.js'); $template->loadscript('overview.js'); $template->execscript('GetFleets(true);'); $template->page_header(); $template->page_topnav(); $template->page_leftmenu(); $template->page_planetmenu(); $template->page_footer(); $template->assign_vars(array('user_rank' => sprintf($LNG['ov_userrank_info'], pretty_number($USER['total_points']), $LNG['ov_place'], $USER['total_rank'], $USER['total_rank'], $LNG['ov_of'], $CONF['users_amount']), 'is_news' => $CONF['OverviewNewsFrame'], 'news' => makebr($CONF['OverviewNewsText']), 'planetname' => $PLANET['name'], 'planetimage' => $PLANET['image'], 'galaxy' => $PLANET['galaxy'], 'system' => $PLANET['system'], 'planet' => $PLANET['planet'], 'buildtime' => $PLANET['b_building'], 'userid' => $USER['id'], 'username' => $USER['username'], 'build' => $Build, 'Moon' => $Moon, 'AllPlanets' => $AllPlanets, 'AdminsOnline' => $AdminsOnline, 'Teamspeak' => $Teamspeak, 'messages' => $USER['new_message'] > 0 ? $USER['new_message'] == 1 ? $LNG['ov_have_new_message'] : sprintf($LNG['ov_have_new_messages'], pretty_number($USER['new_message'])) : false, 'planet_diameter' => pretty_number($PLANET['diameter']), 'planet_field_current' => $PLANET['field_current'], 'planet_field_max' => CalculateMaxPlanetFields($PLANET), 'planet_temp_min' => $PLANET['temp_min'], 'planet_temp_max' => $PLANET['temp_max'], 'ov_news' => $LNG['ov_news'], 'fcm_moon' => $LNG['fcm_moon'], 'ov_server_time' => $LNG['ov_server_time'], 'ov_planet' => $LNG['ov_planet'], 'ov_planetmenu' => $LNG['ov_planetmenu'], 'ov_diameter' => $LNG['ov_diameter'], 'ov_distance_unit' => $LNG['ov_distance_unit'], 'ov_developed_fields' => $LNG['ov_developed_fields'], 'ov_max_developed_fields' => $LNG['ov_max_developed_fields'], 'ov_fields' => $LNG['ov_fields'], 'ov_temperature' => $LNG['ov_temperature'], 'ov_aprox' => $LNG['ov_aprox'], 'ov_temp_unit' => $LNG['ov_temp_unit'], 'ov_to' => $LNG['ov_to'], 'ov_position' => $LNG['ov_position'], 'ov_points' => $LNG['ov_points'], 'ov_events' => $LNG['ov_events'], 'ov_admins_online' => $LNG['ov_admins_online'], 'ov_no_admins_online' => $LNG['ov_no_admins_online'], 'ov_userbanner' => $LNG['ov_userbanner'], 'ov_teamspeak' => $LNG['ov_teamspeak'], 'ov_your_planet' => $LNG['ov_your_planet'], 'ov_coords' => $LNG['ov_coords'], 'ov_planet_name' => $LNG['ov_planet_name'], 'ov_actions' => $LNG['ov_actions'], 'ov_abandon_planet' => $LNG['ov_abandon_planet'], 'ov_planet_rename' => $LNG['ov_planet_rename'], 'ov_planet_rename_action' => $LNG['ov_planet_rename_action'], 'ov_password' => $LNG['ov_password'], 'ov_with_pass' => $LNG['ov_with_pass'], 'ov_security_confirm' => $LNG['ov_security_confirm'], 'ov_security_request' => $LNG['ov_security_request'], 'ov_delete_planet' => $LNG['ov_delete_planet'], 'ov_planet_abandoned' => $LNG['ov_planet_abandoned'], 'path' => PROTOCOL . $_SERVER['HTTP_HOST'] . HTTP_ROOT)); $template->show("overview_body.tpl"); }
function ShowImperiumPage($CurrentUser) { global $lang, $resource, $reslist, $dpath; $lang['imperium_vision'] = 'Visión general del Imperio'; $lang['name'] = 'Planeta'; $lang['coordinates'] = 'Coordenadas'; $lang['fields'] = 'Campos'; $lang['resources'] = 'Recursos'; $lang['buildings'] = 'Edificios'; $lang['investigation'] = 'Investigaciones'; $lang['ships'] = 'Flotas'; $lang['defense'] = 'Defensas'; $parse = $lang; if (isset($_GET['planet_type'])) { if ($_GET['planet_type'] == 1) { $planettype = " AND `planet_type` = '1'"; $parse['select1'] = ' selected'; } elseif ($_GET['planet_type'] == 3) { $planettype = "AND `planet_type` = '3'"; $parse['select3'] = ' selected'; } else { $planettype = ''; $parse['select0'] = ' selected'; } } else { $planettype = ''; $parse['select0'] = ' selected'; } $planetsrow = doquery("SELECT * FROM {{table}} WHERE `id_owner` = '" . $CurrentUser['id'] . "'{$planettype};", 'planets'); $planet = array(); while ($p = mysql_fetch_array($planetsrow)) { PlanetResourceUpdate($CurrentUser, $p, time()); $planet['sum'] = sumar_array($planet['sum'], $p); $planet[] = $p; } uksort($planet, 'planet_empire_sort'); $parse['mount'] = count($planet) + 3; // primera tabla, con las imagenes y coordenadas $row = gettemplate('empire/imperium_row'); $row2 = gettemplate('empire/imperium_row2'); foreach ($planet as $ID => $p) { if ($ID !== 'sum') { UpdatePlanetBatimentQueueList($p, $CurrentUser); $AllPlanets = ''; if ($p['b_building'] != 0) { $BuildQueue = $p['b_building_id']; $QueueArray = explode(";", $BuildQueue); $CurrentBuild = explode(",", $QueueArray[0]); $BuildElement = $CurrentBuild[0]; $BuildLevel = $CurrentBuild[1]; $BuildRestTime = pretty_time($CurrentBuild[3] - time()); $AllPlanets .= $lang['tech'][$BuildElement] . ' (' . $BuildLevel . ')'; $AllPlanets .= "<br/><font color=\"#7f7f7f\">(" . $BuildRestTime . ")</font>"; } else { CheckPlanetUsedFields($p); $AllPlanets .= "<a href='game.php?page=buildings'>Libre</a>"; } // {file_images} $parse['build'] .= '<th width="75">' . $AllPlanets . '</th>'; $data['text'] = '<a href="game.php?page=overview&cp=' . $p['id'] . '&re=0"><img src="' . $dpath . 'planeten/' . $p['image'] . '.jpg" border="0" height="75" width="75"></a><br/>'; $parse['file_images'] .= parsetemplate($row, $data); // {file_names} $data['text'] = '<a href="game.php?page=overview&cp=' . $p['id'] . '&re=0">' . $p['name'] . ' </a>'; if ($p['planet_type'] == 3) { $data['text'] = '<a href="game.php?page=overview&cp=' . $p['id'] . '&re=0">' . $p['name'] . ' (Luna)</a>'; } $parse['file_names'] .= parsetemplate($row2, $data); // {file_type} $data['text'] = GetPlanetType($p); $parse['file_type'] .= parsetemplate($row2, $data); // {file_coordinates} $data['text'] = "[<a href=\"game.php?page=galaxy&mode=3&galaxy={$p['galaxy']}&system={$p['system']}\">{$p['galaxy']}:{$p['system']}:{$p['planet']}</a>]"; $parse['file_coordinates'] .= parsetemplate($row2, $data); // {file_fields} $data['text'] = $p['field_current'] . '/' . CalculateMaxPlanetFields($p) . '<br/>' . GetPercentBar($p['field_current'], CalculateMaxPlanetFields($p)); $parse['file_fields'] .= parsetemplate($row2, $data); // {file_metal} $data['text'] = '<a href="game.php?page=resources&cp=' . $p['id'] . '&re=0&planettype=' . $p['planet_type'] . '">' . pretty_number($p['metal']) . '</a><br/>' . GetPercentBar($p['metal'], $p['metal_max'] * MAX_OVERFLOW); $parse['file_metal'] .= parsetemplate($row2, $data); // {file_crystal} $data['text'] = '<a href="game.php?page=resources&cp=' . $p['id'] . '&re=0&planettype=' . $p['planet_type'] . '">' . pretty_number($p['crystal']) . '</a><br/>' . GetPercentBar($p['crystal'], $p['crystal_max'] * MAX_OVERFLOW); $parse['file_crystal'] .= parsetemplate($row2, $data); // {file_deuterium} $data['text'] = '<a href="game.php?page=resources&cp=' . $p['id'] . '&re=0&planettype=' . $p['planet_type'] . '">' . pretty_number($p['deuterium']) . '</a><br/>' . GetPercentBar($p['deuterium'], $p['deuterium_max'] * MAX_OVERFLOW); $parse['file_deuterium'] .= parsetemplate($row2, $data); // {file_hidrogeno} $data['text'] = '<a href="game.php?page=resources&cp=' . $p['id'] . '&re=0&planettype=' . $p['planet_type'] . '">' . pretty_number($p['tritium']) . '</a><br/>' . GetPercentBar($p['tritium'], $p['tritium_max'] * MAX_OVERFLOW); $parse['file_tritium'] .= parsetemplate($row2, $data); // {file_energy} $data['text'] = pretty_number($p['energy_max'] - $p['energy_used']) . ' / ' . pretty_number($p['energy_max']) . '<br/>' . GetPercentBar($p['energy_max'], $p['energy_max'] - $p['energy_used']); $parse['file_energy'] .= parsetemplate($row2, $data); $Queue = ShowBuildingsPage::ShowBuildingQueue($p, $CurrentUser); foreach ($resource as $i => $res) { if (in_array($i, $reslist['build'])) { if ($Queue['buildingarray'][$i] > $p[$resource[$i]]) { $p[$resource[$i]] = $p[$resource[$i]] . " <span style='color:lime;'>+" . ($Queue['buildingarray'][$i] - $p[$resource[$i]]) . "</span>"; } $data['text'] = $p[$resource[$i]] == 0 ? '' : "<a href=\"game.php?page=buildings&cp={$p['id']}&re=0&planettype={$p['planet_type']}\">" . pretty_number($p[$resource[$i]]) . "</a>"; if (IsElementBuyable($CurrentUser, $p, $i, true, false) and IsTechnologieAccessible($CurrentUser, $p, $i) and $p["field_current"] < CalculateMaxPlanetFields($p)) { $data['text'] .= " <a href=\"game.php?page=buildings&cmd=insert&cp={$p['id']}&re=0&building=" . $i . "\"><font color=lime>+</font></a>"; } } elseif (in_array($i, $reslist['tech'])) { $data['text'] = $CurrentUser[$resource[$i]] == 0 ? '' : "<a href=\"game.php?page=buildings&mode=research&cp={$p['id']}&re=0&planettype={$p['planet_type']}\">{$CurrentUser[$resource[$i]]}</a>"; if (IsElementBuyable($CurrentUser, $p, $i, true, false) and IsTechnologieAccessible($CurrentUser, $p, $i) and $CurrentUser["b_tech_planet"] == 0) { $data['text'] .= " <a href=\"game.php?page=buildings&mode=research&cmd=search&cp={$p['id']}&re=0&tech=" . $i . "\"><font color=lime>+</font></a>"; } } elseif (in_array($i, $reslist['fleet'])) { $data['text'] = $p[$resource[$i]] == 0 ? '' : "<a href=\"game.php?page=buildings&mode=fleet&cp={$p['id']}&re=0&planettype={$p['planet_type']}\">" . pretty_number($p[$resource[$i]]) . "</a>"; } elseif (in_array($i, $reslist['defense'])) { $data['text'] = $p[$resource[$i]] == 0 ? '' : "<a href=\"game.php?page=buildings&mode=defense&cp={$p['id']}&re=0&planettype={$p['planet_type']}\">" . pretty_number($p[$resource[$i]]) . "</a>"; } $r[$i] .= parsetemplate($row2, $data); } } else { $parse['build'] .= '<th width="75">-</th>'; $data['text'] = '<span style="font-size:48px;font-weight:normal;">Σ</span><br/>'; $parse['file_images'] .= parsetemplate($row, $data); // {file_names} $data['text'] = '-'; $parse['file_names'] .= parsetemplate($row2, $data); // {file_type} $data['text'] = "-"; $parse['file_type'] .= parsetemplate($row2, $data); // {file_coordinates} $data['text'] = "-"; $parse['file_coordinates'] .= parsetemplate($row2, $data); // {file_fields} $data['text'] = $p['field_current'] . '/' . CalculateMaxPlanetFields($p) . '<br/>' . GetPercentBar($p['field_current'], CalculateMaxPlanetFields($p)); $parse['file_fields'] .= parsetemplate($row2, $data); // {file_metal} $data['text'] = pretty_number($p['metal']) . '<br/>' . GetPercentBar($p['metal'], $p['metal_max'] * MAX_OVERFLOW); $parse['file_metal'] .= parsetemplate($row2, $data); // {file_crystal} $data['text'] = pretty_number($p['crystal']) . '<br/>' . GetPercentBar($p['crystal'], $p['crystal_max'] * MAX_OVERFLOW); $parse['file_crystal'] .= parsetemplate($row2, $data); // {file_deuterium} $data['text'] = pretty_number($p['deuterium']) . '<br/>' . GetPercentBar($p['deuterium'], $p['deuterium_max'] * MAX_OVERFLOW); $parse['file_deuterium'] .= parsetemplate($row2, $data); // {file_hidrogeno} $data['text'] = pretty_number($p['tritium']) . '<br/>' . GetPercentBar($p['tritium'], $p['tritium_max'] * MAX_OVERFLOW); $parse['file_tritium'] .= parsetemplate($row2, $data); // {file_energy} $data['text'] = pretty_number($p['energy_max'] - $p['energy_used']) . ' / ' . pretty_number($p['energy_max']) . '<br/>' . GetPercentBar($p['energy_max'], $p['energy_max'] - $p['energy_used']); $parse['file_energy'] .= parsetemplate($row2, $data); foreach ($resource as $i => $res) { if (in_array($i, $reslist['build'])) { $data['text'] = $p[$resource[$i]] == 0 ? '' : pretty_number($p[$resource[$i]]); } elseif (in_array($i, $reslist['tech'])) { $data['text'] = $CurrentUser[$resource[$i]] == 0 ? '' : $CurrentUser[$resource[$i]]; } elseif (in_array($i, $reslist['fleet'])) { $data['text'] = $p[$resource[$i]] == 0 ? '' : pretty_number($p[$resource[$i]]); } elseif (in_array($i, $reslist['defense'])) { $data['text'] = $p[$resource[$i]] == 0 ? '' : pretty_number($p[$resource[$i]]); } $r[$i] .= parsetemplate($row2, $data); } } } // {building_row} foreach ($reslist['build'] as $a => $i) { $data['text'] = $lang['tech'][$i]; $parse['building_row'] .= '<tr><th width="15"><span style="float:center;width: 16px;"><a title="' . $lang['tech'][$i] . '"><img style="border: 1px solid rgb(46, 52, 54);vertical-align: bottom;padding: 0px;width: 15px;height: 15px;" src="' . $dpath . 'gebaeude/' . $i . '.gif"></a></span></th>' . parsetemplate($row2, $data) . $r[$i] . "</tr>"; } // {technology_row} foreach ($reslist['tech'] as $a => $i) { $data['text'] = $lang['tech'][$i]; $parse['technology_row'] .= '<tr><th width="15"><span style="float:center;width: 16px;"><a title="' . $lang['tech'][$i] . '"><img style="border: 1px solid rgb(46, 52, 54);vertical-align: bottom;padding: 0px;width: 15px;height: 15px;" src="' . $dpath . 'gebaeude/' . $i . '.gif"></a></span></th>' . parsetemplate($row2, $data) . $r[$i] . "</tr>"; } // {fleet_row} foreach ($reslist['fleet'] as $a => $i) { $data['text'] = $lang['tech'][$i]; $parse['fleet_row'] .= '<tr><th width="15"><span style="float:center;width: 16px;"><a title="' . $lang['tech'][$i] . '"><img style="border: 1px solid rgb(46, 52, 54);vertical-align: bottom;padding: 0px;width: 15px;height: 15px;" src="' . $dpath . 'gebaeude/' . $i . '.gif"></a></span></th>' . parsetemplate($row2, $data) . $r[$i] . "</tr>"; } // {defense_row} foreach ($reslist['defense'] as $a => $i) { $data['text'] = $lang['tech'][$i]; $parse['defense_row'] .= '<tr><th width="15"><span style="float:center;width: 15px;"><a title="' . $lang['tech'][$i] . '"><img style="border: 1px solid rgb(46, 52, 54);vertical-align: bottom;padding: 0px;width: 15px;height: 15px;" src="' . $dpath . 'gebaeude/' . $i . '.gif"></a></span></th>' . parsetemplate($row2, $data) . $r[$i] . "</tr>"; } $page .= parsetemplate(gettemplate('empire/imperium_table'), $parse); display($page, false); }
/** * BuildingPage.php * * @version 1.0 * @copyright 2009 by MadnessRed for XNova Redesigned */ function BuildingPage($a = 0, $b = 0) { global $lang, $resource, $reslist, $pricelist, $dpath, $game_config, $_GET, $user, $planetrow; CheckPlanetUsedFields($planetrow); if (!$_GET['page']) { return false; die; } // Tables des batiments possibles par type de planete if ($_GET['page'] == 'station') { $Allowed[1] = array(14, 15, 21, 31, 33, 34, 44); $Allowed[3] = array(14, 21, 34, 41, 42, 43); } elseif ($_GET['page'] == 'resources') { $Allowed[1] = array(1, 2, 3, 4, 12, 212, 22, 23, 24); $Allowed[3] = array(212, 22, 23, 24); } else { die("Hacking attempt"); } //Right, lets see what he has an generate him an image. $imgnum = ''; if ($planetrow[$resource[1]] > 0) { $imgnum .= "_1"; } if ($planetrow[$resource[2]] > 0) { $imgnum .= "_2"; } if ($planetrow[$resource[3]] > 0) { $imgnum .= "_3"; } if ($planetrow[$resource[4]] > 0) { $imgnum .= "_4"; } // Boucle d'interpretation des eventuelles commandes if (isset($_GET['cmd'])) { // On passe une commande $bThisIsCheated = false; $bDoItNow = false; $TheCommand = $_GET['cmd']; $Element = $_GET['building']; $ListID = $_GET['listid']; if (isset($Element)) { if (!strchr($Element, " ")) { if (!strchr($Element, ",")) { if (in_array(trim($Element), $Allowed[$planetrow['planet_type']])) { $bDoItNow = true; } else { //$bThisIsCheated = true; $bDoItNow = true; } } else { $bThisIsCheated = true; } } else { $bThisIsCheated = true; } } elseif (isset($ListID)) { $bDoItNow = true; } if ($bDoItNow == true) { switch ($TheCommand) { case 'cancel': //Remove last queue item RemoveFromQueue(); break; case 'remove': //Remove a specific queue item RemoveFromQueue($ListID); break; case 'insert': //Insert into the queue a build $fields_rem = $planetrow['field_max'] - $planetrow['field_current'] + $planetrow[$resource[33]] * 5; if ($fields_rem >= 0) { AddToQueue($Element, 1); } else { echo $fields_rem . " < 0"; die("Hacking Attempt!"); } break; case 'destroy': //Add a deconstrction to the queue AddToQueue($Element, -1); break; } // switch } elseif ($bThisIsCheated == true) { //ResetThisFuckingCheater ( $user['id'] ); } //If they want axah_section if ($_GET['axah_box']) { $q = ShowQueue(false); makeAXAH($q['buildlist']); die; } } $Queue = ShowQueue(true); // On enregistre ce que l'on a modifi� dans planet ! BuildingSavePlanetRecord($planetrow); // On enregistre ce que l'on a eventuellement modifi� dans users BuildingSaveUserRecord($user); $max_qs = MAX_BUILDING_QUEUE_SIZE; if ($max_qs > 0) { //fine :) } else { $max_qs = 10; } if ($Queue['length'] < $max_qs) { $CanBuildElement = true; } else { $CanBuildElement = false; } if ($_GET['page'] == 'station') { if ($planetrow['planet_type'] == 3) { $SubTemplate = gettemplate('buildings/station-moon_buttonz'); } else { $SubTemplate = gettemplate('buildings/station_buttonz'); } } elseif ($_GET['page'] == 'resources') { $SubTemplate = gettemplate('buildings/resources_buttonz'); } else { die("Hacking attempt"); } $parse = array(); $infopg = array(); foreach ($lang['names'] as $Element => $ElementName) { if (!$planetrow['planet_type']) { die("no planet type"); } if (in_array($Element, $Allowed[$planetrow['planet_type']]) || $_GET['page'] == 'station') { if (@in_array($Element, $Allowed[$planetrow['planet_type']])) { if (!IsTechnologieAccessible($user, $planetrow, $Element)) { $parse['state_' . $Element] = "off"; $parse['mes_' . $Element] = "Requirements are not met"; $parse['canbuild_' . $Element] = ""; } elseif (!IsElementBuyable($user, $planetrow, $Element, true, false) && $Queue['length'] == 0) { $parse['state_' . $Element] = "disabled"; $parse['mes_' . $Element] = "Not enough resources!"; $parse['canbuild_' . $Element] = ""; } elseif (!$CanBuildElement) { $parse['state_' . $Element] = "disabled"; $parse['mes_' . $Element] = "Queue is full!"; $parse['canbuild_' . $Element] = ""; } else { $parse['state_' . $Element] = "on"; $parse['mes_' . $Element] = ""; $parse['canbuild_' . $Element] = "\n\t\t\t\t\t\t<a class=\"fastBuild tips\" href=\"#\" onclick=\"loadpage('./?page=" . $_GET['page'] . "&cmd=insert&building={$Element}&id={$Element}',document.title,document.body.id);\">\n\t\t\t\t\t\t\t<img src=\"" . GAME_SKIN . "/img/layout/sofort_bauen.gif\" height=\"14\" width=\"22\">\n\t\t\t\t\t\t</a>"; } } else { $parse['state_' . $Element] = "off"; $parse['mes_' . $Element] = "Not availble"; $parse['canbuild_' . $Element] = ""; } $parse['name_' . $Element] = $ElementName; $parse['count_' . $Element] = $planetrow[$resource[$Element]]; } } //Countdowns if ($planetrow['b_building'] > 0) { $BuildQueue = explode(";", $planetrow['b_building_id']); $CurrBuild = explode(",", $BuildQueue[0]); $parse['countdown_' . $CurrBuild[0]] = "\n\t\t\t\t\t\t\t\t\t<div class=\"construction\">\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"pusher\" style=\"height: 80px; margin-bottom: -80px;\">\n\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"time\" id=\"resource\">" . parsecountdown($planetrow['b_building']) . "</span>\n\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t</div>\n"; } $BuildingPage = parsetemplate($SubTemplate, $parse); $parse = $lang; $Element = idstring($_GET['id']); $ElementName = $lang['names'][$Element]; // Faut il afficher la liste de construction ?? if ($Queue['length'] > 0) { $parse['BuildList'] = $Queue['buildlist']; } else { $parse['BuildList'] = ""; } $de_planettype = PlanetType($planetrow['image']); $parse['type'] = $de_planettype['type']; if ($_GET['page'] == 'station') { $parse['bg'] = HEADER_CACHE . "station/" . $parse['type'] . ".png"; } elseif ($_GET['page'] == 'resources') { if (url_exists(HEADER_CACHE . "resources/" . $parse['type'] . $imgnum . ".png")) { $parse['bg'] = HEADER_CACHE . "resources/" . $parse['type'] . $imgnum . ".png"; } else { $parse['bg'] = HEADER_CACHE . "resources/default.png"; } } else { die("Hacking attempt"); } $parse['hideres'] = "display:none;"; $parse['hidenorm'] = ""; $parse['planetname'] = $planetrow['name']; if (!$Element) { if ($_GET['mode'] == "resources") { $parse['hideres'] = ""; $parse['hidenorm'] = "display:none;"; } } else { if (!is_array($Allowed[$planetrow['planet_type']])) { $message = $user['username'] . " (" . intval($user['id']) . ") does not have a propper planet_type, so \$Allowed[\$planetrow['planet_type']] was not an array, causing the error which is most likely directly below this."; trigger_error($message, E_USER_NOTICE); } if (in_array($Element, $Allowed[$planetrow['planet_type']])) { //Something else $HaveRessources = IsElementBuyable($user, $planetrow, $Element, true, false); $parse['i'] = $Element; $parse['dpath'] = $dpath; $BuildingLevel = $planetrow[$resource[$Element]]; $parse['nivel'] = $BuildingLevel == 0 ? "" : " (" . $lang['level'] . " " . $BuildingLevel . ")"; $parse['n'] = $ElementName; $parse['descriptions'] = $lang['res']['descriptions'][$Element]; $ElementBuildTime = BuildingTime($Element, $BuildingLevel + 1, $planetrow); $parse['time'] = ShowBuildTime($ElementBuildTime); $parse['price'] = GetElementPrice($user, $planetrow, $Element); $parse['rest_price'] = GetRestPrice($user, $planetrow, $Element); $parse['click'] = ''; $NextBuildLevel = $planetrow[$resource[$Element]] + 1; $CurrentMaxFields = CalculateMaxPlanetFields($planetrow); if ($planetrow["field_current"] < $CurrentMaxFields - $Queue['lenght']) { $RoomIsOk = true; } else { $RoomIsOk = false; } if ($Element == 31) { // Sp�cial Laboratoire if ($user["b_tech_planet"] != 0 && $game_config['BuildLabWhileRun'] != 1) { // Variable qui contient le parametre // On verifie si on a le droit d'evoluer pendant les recherches (Setting dans config) $parse['click'] = "<font color=#FF0000>" . $lang['in_working'] . "</font>"; } } if (IsTechnologieAccessible($user, $planetrow, $Element)) { if ($parse['click'] != '') { // Bin on ne fait rien, vu que l'on l'a deja fait au dessus !! } elseif ($RoomIsOk && $CanBuildElement) { if ($Queue['lenght'] == 0) { if ($NextBuildLevel == 1) { if ($HaveRessources == true) { $parse['click'] = "<a href=\"./?page=" . $_GET['page'] . "&cmd=insert&building=" . $Element . "&id=" . $Element . "\"><font color=#00FF00>" . $lang['BuildFirstLevel'] . "</font></a>"; $infopg['build_link'] = "./?page=" . $_GET['page'] . "&cmd=insert&building=" . $Element . "&id=" . $Element; $infopg['build_text'] = $lang['BuildFirstLevel']; } else { $parse['click'] = "<font color=#FF0000>4" . $lang['BuildFirstLevel'] . "</font>"; $infopg['build_text'] = $lang['BuildFirstLevel']; } } else { if ($HaveRessources == true) { $parse['click'] = "<a href=\"./?page=" . $_GET['page'] . "&cmd=insert&building=" . $Element . "&id=" . $Element . "\"><font color=#00FF00>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font></a>"; $infopg['build_link'] = "./?page=" . $_GET['page'] . "&cmd=insert&building=" . $Element . "&id=" . $Element; $infopg['build_text'] = $lang['BuildNextLevel'] . " " . $NextBuildLevel; } else { $parse['click'] = "<font color=#FF0000>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font>"; $infopg['build_text'] = $lang['BuildNextLevel'] . " " . $NextBuildLevel; } } } else { $parse['click'] = "<a href=\"./?page=" . $_GET['page'] . "&cmd=insert&building=" . $Element . "&id=" . $Element . "\"><font color=#00FF00>" . $lang['InBuildQueue'] . "</font></a>"; $infopg['build_link'] = "./?page=" . $_GET['page'] . "&cmd=insert&building=" . $Element . "&id=" . $Element; $infopg['build_text'] = $lang['InBuildQueue']; } } elseif ($RoomIsOk && !$CanBuildElement) { if ($NextBuildLevel == 1) { $parse['click'] = "<font color=#FF0000>2" . $lang['BuildFirstLevel'] . "</font>"; $infopg['build_text'] = $lang['BuildFirstLevel']; } else { $parse['click'] = "<font color=#FF0000>1" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font>"; $infopg['build_text'] = $lang['BuildNextLevel'] . " " . $NextBuildLevel; } } else { $parse['click'] = "<font color=#FF0000>" . $lang['NoMoreSpace'] . "</font>"; $infopg['build_text'] = $lang['NoMoreSpace']; } } else { $parse['click'] = "<font color=#FF0000>" . $lang['NotAccessible'] . "</font>"; $infopg['build_text'] = $lang['NotAccessible']; } //Building Info if ($infopg['build_link']) { $infopg['buildit_class'] = "build-it"; $infopg['build_text'] = "Improve"; } else { $infopg['buildit_class'] = "build-it_disabled"; $infopg['build_text'] = "In queue"; } $infopg['id'] = $Element; $infopg['name'] = $ElementName; $infopg['level'] = $planetrow[$resource[$Element]]; if ($planetrow[$resource[$Element]] < 1) { $infopg['display_destroy'] = "style=\"display:none;\""; } $infopg['td_url'] = "./?page=" . $_GET['page'] . "&cmd=destroy&id=" . $Element . "&building=" . $Element; $infopg['title'] = "Tear down"; $infopg['level1'] = $infopg['level'] + 1; $infopg['duration'] = pretty_time($ElementBuildTime); $infopg['shortdesc'] = $lang['sdesc'][$Element]; $infopg['skin'] = $user['skin']; $infopg['cost_m'] = 1 * floor($pricelist[$Element]['metal'] * pow($pricelist[$Element]['factor'], $planetrow[$resource[$Element]])); $infopg['cost_c'] = 1 * floor($pricelist[$Element]['crystal'] * pow($pricelist[$Element]['factor'], $planetrow[$resource[$Element]])); $infopg['cost_d'] = 1 * floor($pricelist[$Element]['deuterium'] * pow($pricelist[$Element]['factor'], $planetrow[$resource[$Element]])); if ($infopg['cost_m'] > $planetrow['metal'] && $infopg['cost_m'] > 0) { $infopg['missing_resource_m'] = "missing_resource"; } if ($infopg['cost_c'] > $planetrow['crystal'] && $infopg['cost_c'] > 0) { $infopg['missing_resource_c'] = "missing_resource"; } if ($infopg['cost_d'] > $planetrow['deuterium'] && $infopg['cost_d'] > 0) { $infopg['missing_resource_d'] = "missing_resource"; } $infopg['sh_cost_m'] = KMnumber($infopg['cost_m'], 0, 'up'); $infopg['sh_cost_c'] = KMnumber($infopg['cost_c'], 0, 'up'); $infopg['sh_cost_d'] = KMnumber($infopg['cost_d'], 0, 'up'); $infopg['cost_m'] = pretty_number($infopg['cost_m']); $infopg['cost_c'] = pretty_number($infopg['cost_c']); $infopg['cost_d'] = pretty_number($infopg['cost_d']); $infopg['page'] = $_GET['page']; $parse['info'] = parsetemplate(gettemplate('buildings/info'), $infopg); $parse['extra'] = "style=\"display:none\""; if ($_GET['axah_section'] == '1') { makeAXAH($parse['info']); die; } } } $parse['planet_field_current'] = $planetrow["field_current"]; $parse['planet_field_max'] = $planetrow['field_max'] + $planetrow[$resource[33]] * 5; $parse['field_libre'] = $parse['planet_field_max'] - $planetrow['field_current']; $parse['buttonz'] = $BuildingPage; $parse['BuildingsList'] = $BuildingPage; if ($_GET['page'] == 'station') { $page = parsetemplate(gettemplate('buildings/station'), $parse); $title = $lang['Facilities']; } elseif ($_GET['page'] == 'resources') { //Resources screen $parse['resources_section'] = BuildRessourcePage($user, $planetrow, $parse['hideres']); $page = parsetemplate(gettemplate('buildings/resources'), $parse); $title = $lang['Resources']; } else { die("Hacking attempt"); } if ($_GET['axah']) { makeAXAH($page); } else { displaypage($page, $title); } }
public function ShowBuildingsPage(&$CurrentPlanet, $CurrentUser) { global $ProdGrid, $lang, $resource, $reslist, $phpEx, $dpath, $game_config, $_GET, $xgp_root; include_once $xgp_root . 'includes/functions/IsTechnologieAccessible.' . $phpEx; include_once $xgp_root . 'includes/functions/GetElementPrice.' . $phpEx; CheckPlanetUsedFields($CurrentPlanet); $parse = $lang; $Allowed['1'] = array(1, 2, 3, 4, 12, 14, 15, 21, 22, 23, 24, 31, 33, 34, 35, 44); $Allowed['3'] = array(12, 14, 21, 22, 23, 24, 34, 41, 42, 43); if (isset($_GET['cmd'])) { $bDoItNow = false; $TheCommand = $_GET['cmd']; $Element = $_GET['building']; $ListID = $_GET['listid']; if (!in_array(trim($Element), $Allowed[$CurrentPlanet['planet_type']])) { unset($Element); } if (isset($Element)) { if (!strchr($Element, ",") && !strchr($Element, " ") && !strchr($Element, "+") && !strchr($Element, "*") && !strchr($Element, "~") && !strchr($Element, "=") && !strchr($Element, ";") && !strchr($Element, "'") && !strchr($Element, "#") && !strchr($Element, "-") && !strchr($Element, "_") && !strchr($Element, "[") && !strchr($Element, "]") && !strchr($Element, ".") && !strchr($Element, ":")) { if (in_array(trim($Element), $Allowed[$CurrentPlanet['planet_type']])) { $bDoItNow = true; } } else { header("location:game.php?page=buildings"); } } elseif (isset($ListID)) { $bDoItNow = true; } if ($bDoItNow == true) { switch ($TheCommand) { case 'cancel': $this->CancelBuildingFromQueue($CurrentPlanet, $CurrentUser); break; case 'remove': $this->RemoveBuildingFromQueue($CurrentPlanet, $CurrentUser, $ListID); break; case 'insert': $this->AddBuildingToQueue($CurrentPlanet, $CurrentUser, $Element, true); break; case 'destroy': $this->AddBuildingToQueue($CurrentPlanet, $CurrentUser, $Element, false); break; } } } SetNextQueueElementOnTop($CurrentPlanet, $CurrentUser); $Queue = $this->ShowBuildingQueue($CurrentPlanet, $CurrentUser); $this->BuildingSavePlanetRecord($CurrentPlanet); if ($Queue['lenght'] < MAX_BUILDING_QUEUE_SIZE) { $CanBuildElement = true; } else { $CanBuildElement = false; } $BuildingPage = ""; $zaehler = 1; $siguiente = 1; foreach ($lang['tech'] as $BuildID => $ElementName) { if (in_array($BuildID, $Allowed[$CurrentPlanet['planet_type']])) { $parse = $lang; $parse['dpath'] = $dpath; $parse['name'] = $lang['info'][$BuildID]['name']; $parse['image'] = $BuildID; $parse['description'] = $lang['info'][$BuildID]['description']; $NeededRessources = GetBuildingPrice($CurrentUser, $CurrentPlanet, $BuildID, true, true); $DestroyTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $BuildID) / 2; $parse['destroyurl'] = "game.php?page=buildings&cmd=destroy&building=" . $BuildID; $parse['levelvalue'] = $CurrentPlanet[$resource[$BuildID]]; $parse['nfo_metal'] = $lang['Metal']; $parse['nfo_crysta'] = $lang['Crystal']; $parse['nfo_deuter'] = $lang['Deuterium']; $parse['metal'] = pretty_number($NeededRessources['metal']); $parse['crystal'] = pretty_number($NeededRessources['crystal']); $parse['deuterium'] = pretty_number($NeededRessources['deuterium']); $parse['destroytime'] = pretty_time($DestroyTime); $infodiv .= parsetemplate(gettemplate('buildings/buildings_info_row'), $parse); } } foreach ($lang['tech'] as $Element => $ElementName) { if (in_array($Element, $Allowed[$CurrentPlanet['planet_type']])) { $CurrentMaxFields = CalculateMaxPlanetFields($CurrentPlanet); if ($CurrentPlanet["field_current"] < $CurrentMaxFields - $Queue['lenght']) { $RoomIsOk = true; } else { $RoomIsOk = false; } if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element)) { $HaveRessources = IsElementBuyable($CurrentUser, $CurrentPlanet, $Element, true, false); $parse = array(); $parse = $lang; $parse['dpath'] = $dpath; if ($siguiente == 1) { $parse['abrirtr'] = "<tr>"; } $parse['i'] = $Element; $BuildingLevel = $CurrentPlanet[$resource[$Element]]; $parse['nivel'] = $BuildingLevel == 0 ? " (" . $lang['bd_lvl'] . " 0)" : " (" . $lang['bd_lvl'] . " " . $BuildingLevel . ")"; $BuildLevelFactor = $CurrentPlanet[$resource[$Element] . "_porcent"]; $BuildTemp = $CurrentPlanet['temp_max']; $CurrentBuildtLvl = $BuildingLevel; $BuildLevel = $CurrentBuildtLvl > 0 ? $CurrentBuildtLvl : 1; $Prod[3] = floor(eval($ProdGrid[$Element]['formule']['deuterium']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05); $Prod[4] = floor(eval($ProdGrid[$Element]['formule']['energy']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05); if ($Element != 12) { $ActualNeed = floor($Prod[4]); } else { $ActualNeed = floor($Prod[3]); } $BuildLevel++; $Prod[3] = floor(eval($ProdGrid[$Element]['formule']['deuterium']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05); $Prod[4] = floor(eval($ProdGrid[$Element]['formule']['energy']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05); if ($Element != 12) { $EnergyNeed = pretty_number(abs(floor($Prod[4] - $ActualNeed))); } else { $EnergyNeed = pretty_number(abs(floor($Prod[3] - $ActualNeed))); } if ($Element >= 1 && $Element <= 3) { $parse['build_need_diff'] = "Next Level:<br>Verbraucht <font color=#FF0000>" . $EnergyNeed . "</font> " . $lang['Energy'] . " mehr"; $BuildLevel = 0; } elseif ($Element == 4 || $Element == 12) { $parse['build_need_diff'] = "Next Level:<br>Produziert <font color=#00FF00>" . $EnergyNeed . "</font> mehr " . $lang['Energy']; $BuildLevel = 0; } elseif ($Element == 43 && $BuildingLevel != 0) { $parse['build_need_diff'] = "<a href=\"javascript:f('game.php?page=infos&gid=43','');\">Springen</a>"; $BuildLevel = 0; } if ($BuildingLevel != 0) { $parse['cancel'] = "<a href=\"javascript:infodiv('" . $Element . "-cancel');javascript:animatedcollapse.toggle('" . $Element . "-cancel')\">Abreißen</a>"; } $parse['n'] = $ElementName; $parse['descriptions'] = $lang['res']['descriptions'][$Element]; $ElementBuildTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element); $parse['time'] = ShowBuildTime($ElementBuildTime); $parse['price'] = GetElementPrice($CurrentUser, $CurrentPlanet, $Element, true, true); $parse['click'] = ''; $NextBuildLevel = $CurrentPlanet[$resource[$Element]] + 1; if ($RoomIsOk && $CanBuildElement) { if ($Queue['lenght'] == 0) { if ($NextBuildLevel == 1) { if ($HaveRessources == true) { $parse['click'] = "<a href=\"game.php?page=buildings&cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['bd_build'] . "</font></a>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['bd_build'] . "</font>"; } } else { if ($HaveRessources == true) { $parse['click'] = "<a href=\"game.php?page=buildings&cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['bd_build_next_level'] . $NextBuildLevel . "</font></a>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['bd_build_next_level'] . $NextBuildLevel . "</font>"; } } } else { $parse['click'] = "<a href=\"game.php?page=buildings&cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['bd_add_to_list'] . "</font></a>"; } } elseif ($RoomIsOk && !$CanBuildElement) { if ($NextBuildLevel == 1) { $parse['click'] = "<font color=#FF0000>" . $lang['bd_build'] . "</font>"; } else { $parse['click'] = "<font color=#FF0000>" . $lang['bd_build_next_level'] . $NextBuildLevel . "</font>"; } } else { $parse['click'] = "<font color=#FF0000>" . $lang['bd_no_more_fields'] . "</font>"; } if ($Element == 31 && $CurrentUser["b_tech_planet"] != 0) { $parse['click'] = "<font color=#FF0000>" . $lang['bd_working'] . "</font>"; } if ($Element == 21 && $CurrentPlanet["b_hangar"] != 0) { $parse['click'] = "<font color=#FF0000>" . $lang['bd_working'] . "</font>"; } if ($siguiente == 3) { $parse['cerrartr'] = "</tr>"; $siguiente = 1; } else { $siguiente++; } $BuildingPage .= parsetemplate(gettemplate('buildings/buildings_builds_row'), $parse); } } } if ($Queue['lenght'] > 0) { include $xgp_root . 'includes/functions/InsertBuildListScript.' . $phpEx; $parse['BuildListScript'] = InsertBuildListScript("buildings"); $parse['BuildList'] = $Queue['buildlist']; } else { $parse['BuildListScript'] = ""; $parse['BuildList'] = ""; } $parse['BuildingsList'] = $BuildingPage; $parse['infodiv'] = $infodiv; display(parsetemplate(gettemplate('buildings/buildings_builds'), $parse)); }
if ($planetrow['planet_type'] == 1) { $lune = doquery("SELECT * FROM {{table}} WHERE `galaxy` = '" . $planetrow['galaxy'] . "' AND `system` = '" . $planetrow['system'] . "' AND `planet` = '" . $planetrow['planet'] . "' AND `planet_type` = '3'", 'planets', true); $parse['moon_img'] = "<a href='?cp=" . $lune['id'] . "&re=0' title='" . $lune['name'] . "'><img src='" . $dpath . "planeten/" . $lune['image'] . ".gif' style='height:70px; width:70px' alt='mond.gif'/></a>"; $parse['moon'] = $lune['name']; } else { $parse['moon_img'] = ""; $parse['moon'] = ""; } } else { $parse['moon_img'] = ""; $parse['moon'] = ""; } $parse['planet_name'] = $planetrow['name']; $parse['planet_diameter'] = pretty_number($planetrow['diameter']); $parse['planet_field_current'] = $planetrow['field_current']; $parse['planet_field_max'] = CalculateMaxPlanetFields($planetrow); $parse['planet_temp_min'] = $planetrow['temp_min']; $parse['planet_temp_max'] = $planetrow['temp_max']; $parse['galaxy_galaxy'] = $planetrow['galaxy']; $parse['galaxy_planet'] = $planetrow['planet']; $parse['galaxy_system'] = $planetrow['system']; $StatRecord = doquery("SELECT * FROM {{table}} WHERE `stat_type` = '1' AND `stat_code` = '1' AND `id_owner` = '" . $user['id'] . "';", 'statpoints', true); $MaxUsers = doquery("SELECT COUNT(*) AS `count` FROM {{table}} WHERE `db_deaktjava` = '0';", 'users', true); $parse['user_points'] = pretty_number($StatRecord['build_points']); $parse['user_fleet'] = pretty_number($StatRecord['fleet_points']); $parse['user_def'] = pretty_number($StatRecord['defs_points']); $parse['player_points_tech'] = pretty_number($StatRecord['tech_points']); $parse['total_points'] = pretty_number($StatRecord['total_points']); $parse['user_rank'] = $StatRecord['total_rank']; $ile = $StatRecord['total_old_rank'] - $StatRecord['total_rank']; if ($ile >= 1) {
public static function addBuildingToQueue($Element, $AddMode = true) { global $PLANET, $USER, $resource, $CONF, $reslist, $pricelist; if (!in_array($Element, $reslist['allow'][$PLANET['planet_type']]) || !BuildFunctions::isTechnologieAccessible($USER, $PLANET, $Element) || $Element == 31 && $USER["b_tech_planet"] != 0 || ($Element == 15 || $Element == 21) && !empty($PLANET['b_hangar_id']) || !$AddMode && $PLANET[$resource[$Element]] == 0) { return; } $CurrentQueue = unserialize($PLANET['b_building_id']); if (!empty($CurrentQueue)) { $ActualCount = count($CurrentQueue); } else { $CurrentQueue = array(); $ActualCount = 0; } $CurrentMaxFields = CalculateMaxPlanetFields($PLANET); if (Config::get('max_elements_build') != 0 && $ActualCount == Config::get('max_elements_build') || $AddMode && $PLANET["field_current"] >= $CurrentMaxFields - $ActualCount) { return; } $BuildMode = $AddMode ? 'build' : 'destroy'; $BuildLevel = $PLANET[$resource[$Element]] + (int) $AddMode; if ($ActualCount == 0) { if ($pricelist[$Element]['max'] < $BuildLevel) { return; } $costRessources = BuildFunctions::getElementPrice($USER, $PLANET, $Element, !$AddMode); if (!BuildFunctions::isElementBuyable($USER, $PLANET, $Element, $costRessources)) { return; } if (isset($costRessources[901])) { $PLANET[$resource[901]] -= $costRessources[901]; } if (isset($costRessources[902])) { $PLANET[$resource[902]] -= $costRessources[902]; } if (isset($costRessources[903])) { $PLANET[$resource[903]] -= $costRessources[903]; } if (isset($costRessources[921])) { $USER[$resource[921]] -= $costRessources[921]; } $elementTime = BuildFunctions::getBuildingTime($USER, $PLANET, $Element, $costRessources); $BuildEndTime = TIMESTAMP + $elementTime; $PLANET['b_building_id'] = serialize(array(array($Element, $BuildLevel, $elementTime, $BuildEndTime, $BuildMode))); $PLANET['b_building'] = $BuildEndTime; } else { $addLevel = 0; foreach ($CurrentQueue as $QueueSubArray) { if ($QueueSubArray[0] != $Element) { continue; } if ($QueueSubArray[4] == 'build') { $addLevel++; } else { $addLevel--; } } $BuildLevel += $addLevel; if (!$AddMode && $BuildLevel == 0) { return; } if ($pricelist[$Element]['max'] < $BuildLevel) { return; } $elementTime = BuildFunctions::getBuildingTime($USER, $PLANET, $Element, NULL, !$AddMode, $BuildLevel); $BuildEndTime = $CurrentQueue[$ActualCount - 1][3] + $elementTime; $CurrentQueue[] = array($Element, $BuildLevel, $elementTime, $BuildEndTime, $BuildMode); $PLANET['b_building_id'] = serialize($CurrentQueue); } }
function ShowOverviewPage($CurrentUser, $CurrentPlanet) { global $xgp_root, $phpEx, $dpath, $game_config, $lang, $planetrow, $user, $resource; include_once $xgp_root . 'includes/functions/InsertJavaScriptChronoApplet.' . $phpEx; include_once $xgp_root . 'includes/classes/class.FlyingFleetsTable.' . $phpEx; $FlyingFleetsTable = new FlyingFleetsTable(); $lunarow = doquery("SELECT * FROM {{table}} WHERE `id_owner` = '" . $CurrentPlanet['id_owner'] . "' AND `galaxy` = '" . $CurrentPlanet['galaxy'] . "' AND `system` = '" . $CurrentPlanet['system'] . "' AND `planet` = '" . $CurrentPlanet['planet'] . "' AND `planet_type`='3'", 'planets', true); if (empty($lunarow)) { unset($lunarow); } CheckPlanetUsedFields($lunarow); $parse = $lang; $parse['planet_id'] = $CurrentPlanet['id']; $parse['planet_name'] = $CurrentPlanet['name']; $parse['galaxy_galaxy'] = $CurrentPlanet['galaxy']; $parse['galaxy_system'] = $CurrentPlanet['system']; $parse['galaxy_planet'] = $CurrentPlanet['planet']; $parse['dpath'] = $dpath; $parse['avatar'] = $user['avatar']; $online_users = doquery("SELECT COUNT(DISTINCT(id)) as `onlinenow` FROM {{table}} WHERE `onlinetime` > '" . (time() - 15 * 60) . "';", 'users', true); $parse['online_users'] = $online_users['onlinenow']; $QueryStat = doquery("SELECT * FROM {{table}} WHERE `id_owner` = '" . $CurrentUser['id'] . "' AND `stat_type` = '1'", "statpoints", true); $parse['puntos_defensa'] = pretty_number($QueryStat['defs_count']); $parse['puntos_edificios'] = pretty_number($QueryStat['build_points']); $parse['puntos_naves'] = pretty_number($QueryStat['fleet_count']); $parse['puntos_investigaciones'] = pretty_number($QueryStat['tech_count']); $StatRecord = doquery("SELECT `total_rank`,`total_points`,`defs_rank`,`build_rank`,`fleet_rank`,`tech_rank` FROM `{{table}}` WHERE `stat_type` = '1' AND `stat_code` = '1' AND `id_owner` = '" . $CurrentUser['id'] . "';", 'statpoints', true); $parse['top_defensa'] = $StatRecord['defs_rank']; $parse['top_edificios'] = $StatRecord['build_rank']; $parse['top_naves'] = $StatRecord['fleet_rank']; $parse['top_investigaciones'] = $StatRecord['tech_rank']; $parse['top_total'] = $StatRecord['total_rank']; $parse['ally_name'] = $ally_name; $parse['ally_tag'] = $ally_tag; if ($Level > 0) { $parse['admin_link'] = "<tr><td><div align=\"center\"><a href=\"javascript:top.location.href='adm/index.php'\"> <font color=\"lime\">" . $lang['lm_administration'] . "</font></a></div></td></tr>"; } else { $parse['admin_link'] = ""; } switch ($_GET['mode']) { case 'renameplanet': if ($_POST['action'] == $lang['ov_planet_rename_action']) { $newname = mysql_escape_string(strip_tags(trim($_POST['newname']))); if (preg_match("/[^A-z0-9_\\- ]/", $newname) == 1) { message($lang['ov_newname_error'], "game.php?page=overview&mode=renameplanet", 2); } if ($newname != "") { doquery("UPDATE {{table}} SET `name` = '" . $newname . "' WHERE `id` = '" . $CurrentUser['current_planet'] . "' LIMIT 1;", "planets"); } } elseif ($_POST['action'] == $lang['ov_abandon_planet']) { return display(parsetemplate(gettemplate('overview/overview_deleteplanet'), $parse)); } elseif ($_POST['kolonieloeschen'] == 1 && intval($_POST['deleteid']) == $CurrentUser['current_planet']) { $filokontrol = doquery("SELECT * FROM {{table}} WHERE fleet_owner = '{$user['id']}' AND fleet_start_galaxy='{$CurrentPlanet['galaxy']}' AND fleet_start_system='{$CurrentPlanet['system']}' AND fleet_start_planet='{$CurrentPlanet['planet']}'", 'fleets'); while ($satir = mysql_fetch_array($filokontrol)) { $kendifilo = $satir['fleet_owner']; $digerfilo = $satir['fleet_target_owner']; $harabeyeri = $satir['fleet_end_type']; $mess = $satir['fleet_mess']; } $filokontrol = doquery("SELECT * FROM {{table}} WHERE fleet_target_owner = '{$user['id']}' AND fleet_end_galaxy='{$CurrentPlanet['galaxy']}' AND fleet_end_system='{$CurrentPlanet['system']}' AND fleet_end_planet='{$CurrentPlanet['planet']}'", 'fleets'); while ($satir = mysql_fetch_array($filokontrol)) { $kendifilo = $satir['fleet_owner']; $digerfilo = $satir['fleet_target_owner']; $gezoay = $satir['fleet_end_type']; $mess = $satir['fleet_mess']; } if ($kendifilo > 0) { message($lang['ov_abandon_planet_not_possible'], 'game.php?page=overview&mode=renameplanet'); } elseif ($digerfilo > 0 && $mess < 1 && $gezoay != 2) { message($lang['ov_abandon_planet_not_possible'], 'game.php?page=overview&mode=renameplanet'); } else { if (md5($_POST['pw']) == $CurrentUser["password"] && $CurrentUser['id_planet'] != $CurrentUser['current_planet']) { doquery("UPDATE {{table}} SET `destruyed` = '" . (time() + 86400) . "' WHERE `id` = '" . mysql_real_escape_string($CurrentUser['current_planet']) . "' LIMIT 1;", 'planets'); doquery("UPDATE {{table}} SET `current_planet` = `id_planet` WHERE `id` = '" . mysql_real_escape_string($CurrentUser['id']) . "' LIMIT 1", "users"); doquery("DELETE FROM {{table}} WHERE `galaxy` = '" . $CurrentPlanet['galaxy'] . "' AND `system` = '" . $CurrentPlanet['system'] . "' AND `planet` = '" . $CurrentPlanet['planet'] . "' AND `planet_type` = 3;", 'planets'); message($lang['ov_planet_abandoned'], 'game.php?page=overview&mode=renameplanet'); } elseif ($CurrentUser['id_planet'] == $CurrentUser["current_planet"]) { message($lang['ov_principal_planet_cant_abanone'], 'game.php?page=overview&mode=renameplanet'); } else { message($lang['ov_wrong_pass'], 'game.php?page=overview&mode=renameplanet'); } } } return display(parsetemplate(gettemplate('overview/overview_renameplanet'), $parse)); break; default: if ($StatRecord['total_points'] >= 0 && $StatRecord['total_points'] < 100000) { $parse['rankgame'] = "Soldado"; $parse['rankimg'] = "rank1.gif"; } elseif ($StatRecord['total_points'] >= 100000 && $StatRecord['total_points'] < 250000) { $parse['rankgame'] = "Cabo Cazador"; $parse['rankimg'] = "rank2.gif"; } elseif ($StatRecord['total_points'] >= 250000 && $StatRecord['total_points'] < 500000) { $parse['rankgame'] = "Sargento Cazador"; $parse['rankimg'] = "rank3.gif"; } elseif ($StatRecord['total_points'] >= 500000 && $StatRecord['total_points'] < 1000000) { $parse['rankgame'] = "Teniente de Crucero"; $parse['rankimg'] = "rank4.gif"; } elseif ($StatRecord['total_points'] >= 1000000 && $StatRecord['total_points'] < 2500000) { $parse['rankgame'] = "Capitán Destructor"; $parse['rankimg'] = "rank5.gif"; } elseif ($StatRecord['total_points'] >= 2500000 && $StatRecord['total_points'] < 5000000) { $parse['rankgame'] = "Almirante Acorazado"; $parse['rankimg'] = "rank6.gif"; } elseif ($StatRecord['total_points'] >= 5000000 && $StatRecord['total_points'] < 10000000) { $parse['rankgame'] = "General Estrella"; $parse['rankimg'] = "rank7.gif"; } elseif ($StatRecord['total_points'] >= 10000000 && $StatRecord['total_points'] < 25000000) { $parse['rankgame'] = "General Supernova"; $parse['rankimg'] = "rank8.gif"; } elseif ($StatRecord['total_points'] >= 25000000 && $StatRecord['total_points'] < 50000000) { $parse['rankgame'] = "General de Flota"; $parse['rankimg'] = "rank9.gif"; } elseif ($StatRecord['total_points'] >= 50000000 && $StatRecord['total_points'] < 100000000) { $parse['rankgame'] = "General Interestelar"; $parse['rankimg'] = "rank10.gif"; } elseif ($StatRecord['total_points'] >= 100000000 && $StatRecord['total_points'] < 500000000) { $parse['rankgame'] = "Cónsul General"; $parse['rankimg'] = "rank11.gif"; } elseif ($StatRecord['total_points'] >= 500000000) { $parse['rankgame'] = "Emperador"; $parse['rankimg'] = "rank12.gif"; } if ($CurrentPlanet['planet'] >= 1 && $CurrentPlanet['planet'] < 4) { $parse['type_of_planet'] = "Desertico"; } elseif ($CurrentPlanet['planet'] >= 4 && $CurrentPlanet['planet'] < 7) { $parse['type_of_planet'] = "Jungla"; } elseif ($CurrentPlanet['planet'] >= 7 && $CurrentPlanet['planet'] < 10) { $parse['type_of_planet'] = "Gaseoso"; } elseif ($CurrentPlanet['planet'] >= 10 && $CurrentPlanet['planet'] < 13) { $parse['type_of_planet'] = "Acuatico"; } elseif ($CurrentPlanet['planet'] >= 13) { $parse['type_of_planet'] = "Congelado"; } $CONSULTA = doquery("SELECT metal,crystal,darkmatter FROM {{table}} WHERE galaxy = '" . $CurrentPlanet['galaxy'] . "' AND system = '" . $CurrentPlanet['system'] . "' AND planet = '" . $CurrentPlanet['planet'] . "'", "galaxy", true); $parse['metal_debris'] = pretty_number($CONSULTA['metal']); $parse['crystal_debris'] = pretty_number($CONSULTA['crystal']); $parse['darkmatter_debris'] = pretty_number($CONSULTA['darkmatter']); if ($CurrentPlanet['recycler'] != 0 && ($CONSULTA['metal'] != 0 || $CONSULTA['crystal'] != 0 || $CONSULTA['darkmatter'] != 0)) { $parse['get_link'] = " (<a href=\"game.php?page=galaxy&mode=8&g=" . $CurrentPlanet['galaxy'] . "&s=" . $CurrentPlanet['system'] . "&p=" . $CurrentPlanet['planet'] . "&t=2\">asdasd</a>)"; } else { $parse['get_link'] = ''; } if ($CurrentUser['new_message'] != 0) { $Have_new_message .= "<tr>"; if ($CurrentUser['new_message'] == 1) { $Have_new_message .= "<th colspan=4><a href=game.{$phpEx}?page=messages>" . $lang['ov_have_new_message'] . "</a></th>"; } elseif ($CurrentUser['new_message'] > 1) { $Have_new_message .= "<th colspan=4><a href=game.{$phpEx}?page=messages>"; $Have_new_message .= str_replace('%m', pretty_number($CurrentUser['new_message']), $lang['ov_have_new_messages']); $Have_new_message .= "</a></th>"; } $Have_new_message .= "</tr>"; } $OwnFleets = doquery("SELECT * FROM {{table}} WHERE `fleet_owner` = '" . $CurrentUser['id'] . "';", 'fleets'); $Record = 0; while ($FleetRow = mysql_fetch_array($OwnFleets)) { $Record++; $StartTime = $FleetRow['fleet_start_time']; $StayTime = $FleetRow['fleet_end_stay']; $id = $FleetRow['fleet_id']; $EndTime = $FleetRow['fleet_end_time']; /////// // ### LUCKY , CODES ARE BELOW $hedefgalaksi = $FleetRow['fleet_end_galaxy']; $hedefsistem = $FleetRow['fleet_end_system']; $hedefgezegen = $FleetRow['fleet_end_planet']; $mess = $FleetRow['fleet_mess']; $filogrubu = $FleetRow['fleet_group']; $id = $FleetRow['fleet_id']; ////// $Label = "fs"; if ($StartTime > time()) { $fpage[$StartTime . $id] = $FlyingFleetsTable->BuildFleetEventTable($FleetRow, 0, true, $Label, $Record); } if ($FleetRow['fleet_mission'] != 4 && $FleetRow['fleet_mission'] != 10) { $Label = "ft"; if ($StayTime > time()) { $fpage[$StayTime . $id] = $FlyingFleetsTable->BuildFleetEventTable($FleetRow, 1, true, $Label, $Record); } $Label = "fe"; if ($EndTime > time()) { $fpage[$EndTime . $id] = $FlyingFleetsTable->BuildFleetEventTable($FleetRow, 2, true, $Label, $Record); } } } mysql_free_result($OwnFleets); //iss ye katilan filo//////////////////////////////////// // ### LUCKY , CODES ARE BELOW $dostfilo = doquery("SELECT * FROM {{table}} WHERE `fleet_end_galaxy` = '" . $hedefgalaksi . "' AND `fleet_end_system` = '" . $hedefsistem . "' AND `fleet_end_planet` = '" . $hedefgezegen . "' AND `fleet_group` = '" . $filogrubu . "';", 'fleets'); $Record1 = 0; while ($FleetRow = mysql_fetch_array($dostfilo)) { $StartTime = $FleetRow['fleet_start_time']; $StayTime = $FleetRow['fleet_end_stay']; $id = $FleetRow['fleet_id']; $EndTime = $FleetRow['fleet_end_time']; /////// $hedefgalaksi = $FleetRow['fleet_end_galaxy']; $hedefsistem = $FleetRow['fleet_end_system']; $hedefgezegen = $FleetRow['fleet_end_planet']; $mess = $FleetRow['fleet_mess']; $filogrubu = $FleetRow['fleet_group']; $id = $FleetRow['fleet_id']; /////// if ($FleetRow['fleet_mission'] == 2 && $FleetRow['fleet_owner'] != $CurrentUser['id']) { $Record1++; // if (($FleetRow['fleet_mission'] == 2) ){ if ($mess > 0) { $StartTime = ""; } else { $StartTime = $FleetRow['fleet_start_time']; } if ($StartTime > time()) { $Label = "ofs"; $fpage[$StartTime . $id] = $FlyingFleetsTable->BuildFleetEventTable($FleetRow, 0, false, $Label, $Record1); } // } } ///"" if ($FleetRow['fleet_mission'] == 1 && $FleetRow['fleet_owner'] != $CurrentUser['id'] && $filogrubu > 0) { $Record++; if ($mess > 0) { $StartTime = ""; } else { $StartTime = $FleetRow['fleet_start_time']; } if ($StartTime > time()) { $Label = "ofs"; $fpage[$StartTime . $id] = $FlyingFleetsTable->BuildFleetEventTable($FleetRow, 0, false, $Label, $Record); } } } mysql_free_result($dostfilo); // ////////////////////////////////////////////////// $OtherFleets = doquery("SELECT * FROM {{table}} WHERE `fleet_target_owner` = '" . $CurrentUser['id'] . "';", 'fleets'); $Record = 2000; while ($FleetRow = mysql_fetch_array($OtherFleets)) { if ($FleetRow['fleet_owner'] != $CurrentUser['id']) { if ($FleetRow['fleet_mission'] != 8) { $Record++; $StartTime = $FleetRow['fleet_start_time']; $StayTime = $FleetRow['fleet_end_stay']; if ($StartTime > time()) { $Label = "ofs"; $fpage[$StartTime . $id] = $FlyingFleetsTable->BuildFleetEventTable($FleetRow, 0, false, $Label, $Record); } if ($FleetRow['fleet_mission'] == 5) { $Label = "oft"; if ($StayTime > time()) { $fpage[$StayTime . $id] = $FlyingFleetsTable->BuildFleetEventTable($FleetRow, 1, false, $Label, $Record); } } } } } mysql_free_result($OtherFleets); $planets_query = doquery("SELECT * FROM `{{table}}` WHERE id_owner='{$CurrentUser['id']}' AND `destruyed` = 0", "planets"); $Colone = 1; $AllPlanets = "<tr>"; while ($CurrentUserPlanet = mysql_fetch_array($planets_query)) { if ($CurrentUserPlanet["id"] != $CurrentUser["current_planet"] && $CurrentUserPlanet['planet_type'] != 3) { $Coloneshow++; $AllPlanets .= "<th width='80'>" . $CurrentUserPlanet['name'] . "<br>"; $AllPlanets .= "<a href=\"game.php?page=overview&cp=" . $CurrentUserPlanet['id'] . "&re=0\" title=\"" . $CurrentUserPlanet['name'] . "\"><img src=\"" . $dpath . "planeten/small/s_" . $CurrentUserPlanet['image'] . ".gif\" height=\"50\" width=\"50\"></a><br>"; $AllPlanets .= "<center>"; if ($CurrentUserPlanet['b_building'] != 0) { UpdatePlanetBatimentQueueList($CurrentUserPlanet, $CurrentUser); if ($CurrentUserPlanet['b_building'] != 0) { $BuildQueue = $CurrentUserPlanet['b_building_id']; $QueueArray = explode(";", $BuildQueue); $CurrentBuild = explode(",", $QueueArray[0]); $BuildElement = $CurrentBuild[0]; $BuildLevel = $CurrentBuild[1]; $BuildRestTime = pretty_time($CurrentBuild[3] - time()); $AllPlanets .= '' . $lang['tech'][$BuildElement] . ' (' . $BuildLevel . ')'; $AllPlanets .= "<br><font color=\"#7f7f7f\">(" . $BuildRestTime . ")</font>"; } else { CheckPlanetUsedFields($CurrentUserPlanet); $AllPlanets .= $lang['ov_free']; } } else { $AllPlanets .= $lang['ov_free']; } $AllPlanets .= "</center></th>"; if ($Colone <= 5) { $Colone++; } else { $AllPlanets .= "</tr><tr>"; $Colone = 1; } } } mysql_free_result($planets_query); $AllPlanets .= "</tr>"; if ($game_config['OverviewNewsFrame'] == '1') { $parse['NewsFrame'] = "<tr>" . $lang['ov_news_title'] . "<th colspan=\"4\">" . stripslashes($game_config['OverviewNewsText']) . "</th></tr>"; } if ($lunarow['id'] != 0 && $lunarow['destruyed'] != 1 && $CurrentPlanet['planet_type'] != 3) { if ($CurrentPlanet['planet_type'] == 1 or $lunarow['id'] != 0) { $moon = doquery("SELECT `id`,`name`,`image` FROM {{table}} WHERE `galaxy` = '" . $CurrentPlanet['galaxy'] . "' AND `system` = '" . $CurrentPlanet['system'] . "' AND `planet` = '" . $CurrentPlanet['planet'] . "' AND `planet_type` = '3'", 'planets', true); $parse['moon_img'] = "<a href=\"game.php?page=overview&cp=" . $moon['id'] . "&re=0\" title=\"" . $moon['name'] . "\"><img src=\"" . $dpath . "planeten/small/s_" . $moon['image'] . ".png\" height=\"90\" width=\"90\"></a>"; $parse['moon'] = $moon['name'] . ""; } else { $parse['moon_img'] = ""; $parse['moon'] = ""; } } elseif ($CurrentPlanet['planet_type'] == 3) { $moon = doquery("SELECT `id`,`name`,`image` FROM {{table}} WHERE `galaxy` = '" . $CurrentPlanet['galaxy'] . "' AND `system` = '" . $CurrentPlanet['system'] . "' AND `planet` = '" . $CurrentPlanet['planet'] . "' AND `planet_type` = '1'", 'planets', true); $parse['moon_img'] = "<a href=\"game.php?page=overview&cp=" . $moon['id'] . "&re=0\" title=\"" . $moon['name'] . "\"><img src=\"" . $dpath . "planeten/small/s_" . $moon['image'] . ".gif\" height=\"120\" width=\"120\"></a>"; $parse['moon'] = $moon['name'] . ""; } else { $parse['moon_img'] = ""; $parse['moon'] = ""; } $parse['planet_diameter'] = pretty_number($CurrentPlanet['diameter']); $parse['planet_field_current'] = $CurrentPlanet['field_current']; $parse['planet_field_max'] = CalculateMaxPlanetFields($CurrentPlanet); $parse['planet_temp_min'] = $CurrentPlanet['temp_min']; $parse['planet_temp_max'] = $CurrentPlanet['temp_max']; $StatRecord = doquery("SELECT `total_rank`,`total_points` FROM `{{table}}` WHERE `stat_type` = '1' AND `stat_code` = '1' AND `id_owner` = '" . $CurrentUser['id'] . "';", 'statpoints', true); $parse['user_username'] = $CurrentUser['username']; if (count($fpage) > 0) { ksort($fpage); foreach ($fpage as $time => $content) { $flotten .= $content . "\n"; } } // **** INICIA MOD {MOSTRAR TECNOLOGIA EN PROCESO EN VISTA GENERAL} **** if ($CurrentPlanet['b_building'] != 0) { include $xgp_root . 'includes/functions/InsertBuildListScript.' . $phpEx; UpdatePlanetBatimentQueueList($planetrow, $user); if ($CurrentPlanet['b_building'] != 0) { $BuildQueue = explode(";", $CurrentPlanet['b_building_id']); $CurrBuild = explode(",", $BuildQueue[0]); $RestTime = $CurrentPlanet['b_building'] - time(); $PlanetID = $CurrentPlanet['id']; $Build = InsertBuildListScript("buildings"); $Build .= "<table>"; $Build .= " <tr>"; $Build .= " <td colspan=\"2\">" . $lang['tech'][$CurrBuild[0]] . "</td>"; $Build .= " </tr>"; $Build .= " <tr>"; $Build .= " <td align=\"center\" valign=\"middle\"><img src=\"" . $dpath . "gebaeude/" . $CurrBuild[0] . ".gif\" width=\"40\" height=\"40\"></td>"; $Build .= " <td>" . $lang['pr_subiendo'] . " <span style=\"color:#FF8C00;\">Nivel " . $CurrBuild[1] . "</span><br />"; $Build .= " " . $lang['pr_duracion'] . ":<div id=\"blc\" class=\"z\" style=\"color:yellow;\">" . pretty_time($RestTime) . "</div>"; $Build .= " </td>"; $Build .= " </tr>"; $Build .= "</Table>"; $Build .= "\n<script language=\"JavaScript\">"; $Build .= "\n pp = \"" . $RestTime . "\";\n"; $Build .= "\n pk = \"" . 1 . "\";\n"; $Build .= "\n pm = \"cancel\";\n"; $Build .= "\n pl = \"" . $PlanetID . "\";\n"; $Build .= "\n t();\n"; $Build .= "\n</script>\n"; $parse['building'] = $Build; } else { $parse['building'] = $lang['ov_free']; } } else { $parse['building'] = $lang['ov_free']; } $PlanetaQueInv = doquery("SELECT id, name, b_tech, b_tech_id FROM `{{table}}` WHERE `id_owner` = '" . $CurrentUser['id'] . "' AND `b_tech` != '0';", 'planets', true); if ($PlanetaQueInv['b_tech'] != 0) { include $xgp_root . 'includes/functions/InsertTechListScript.' . $phpEx; UpdatePlanetBatimentQueueList($planetrow, $user); $NvlActual = $CurrentUser[$resource[$PlanetaQueInv['b_tech_id']]] + 1; $RestTime = $PlanetaQueInv['b_tech'] - time(); $PlanetID = $PlanetaQueInv['id']; $NomPlaneta = ""; if ($PlanetaQueInv['name'] != $CurrentPlanet['name']) { $NomPlaneta = " de " . $PlanetaQueInv['name']; } $Tech = InsertTechListScript("buildings", $NomPlaneta); $Tech .= "<table>"; $Tech .= " <tr>"; $Tech .= " <td colspan=\"2\">" . $lang['tech'][$PlanetaQueInv['b_tech_id']] . "</td>"; $Tech .= " </tr>"; $Tech .= " <tr>"; $Tech .= " <td align=\"center\" valign=\"middle\"><img src=\"" . $dpath . "gebaeude/" . $PlanetaQueInv['b_tech_id'] . ".gif\" width=\"40\" height=\"40\"></td>"; $Tech .= " <td>" . $lang['pr_investigando'] . " <span style=\"color:#FF8C00;\">Nivel " . $NvlActual . "</span><br />"; $Tech .= " " . $lang['pr_duracion'] . ":<div id=\"tec_blc\" class=\"z\" style=\"color:yellow;\">" . pretty_time($RestTime) . "</div>"; $Tech .= " </td>"; $Tech .= " </tr>"; $Tech .= "</Table>"; $Tech .= "\n<script language=\"JavaScript\">"; $Tech .= "\n tec_pp = \"" . $RestTime . "\";\n"; $Tech .= "\n tec_pk = \"" . 1 . "\";\n"; $Tech .= "\n tec_pm = \"cancel\";\n"; $Tech .= "\n tec_pl = \"" . $PlanetaQueInv['b_tech_id'] . "\";\n"; $Tech .= "\n tec_t();\n"; $Tech .= "\n</script>\n"; $parse['tech_en_proceso'] .= $Tech; } else { $parse['tech_en_proceso'] = $lang['ov_tfree']; } if ($CurrentPlanet['b_hangar'] != 0) { include $xgp_root . 'includes/functions/InsertHangarListScript.' . $phpEx; UpdatePlanetBatimentQueueList($planetrow, $user); $BuildQueue = explode(";", $CurrentPlanet['b_hangar_id']); $CurrBuild = explode(",", $BuildQueue[0]); $RealTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $CurrBuild[0]); $QueueTime = $RealTime * $CurrBuild[1]; $RestTime = $QueueTime - $CurrentPlanet['b_hangar']; $PlanetID = $CurrentPlanet['id']; $Hangar = InsertHangarListScript("overview"); $Hangar .= "<table>"; $Hangar .= " <tr>"; $Hangar .= " <td colspan=\"2\">" . $lang['tech'][$CurrBuild[0]] . "</td>"; $Hangar .= " </tr>"; $Hangar .= " <tr>"; $Hangar .= " <td align=\"center\" valign=\"middle\"><img src=\"" . $dpath . "gebaeude/" . $CurrBuild[0] . ".gif\" width=\"40\" height=\"40\"><br />"; $Hangar .= " </td>"; $Hangar .= " <td>" . $lang['pr_tiempo_prod'] . "<br />"; $Hangar .= " <div id=\"han_blc\" class=\"z\" style=\"color:yellow;\">" . pretty_time($RestTime) . "</div>"; $Hangar .= " </td>"; $Hangar .= " </tr>"; $Hangar .= "</Table>"; $Hangar .= "\n<script language=\"JavaScript\">"; $Hangar .= "\n han_pp = \"" . $RestTime . "\";\n"; $Hangar .= "\n han_pk = \"" . 1 . "\";\n"; $Hangar .= "\n han_pm = \"cancel\";\n"; $Hangar .= "\n han_pl = \"" . $PlanetID . "\";\n"; $Hangar .= "\n han_t();\n"; $Hangar .= "\n</script>\n"; $parse['hangar_en_proceso'] .= $Hangar; } else { $parse['hangar_en_proceso'] = $lang['ov_hree']; } $parse['overview_produccion'] = parsetemplate(gettemplate('overview/overview_produccion'), $parse); // **** FIN MOD {MOSTRAR TECNOLOGIA EN PROCESO EN VISTA GENERAL} **** $parse['fleet_list'] = $flotten; $parse['Have_new_message'] = $Have_new_message; $parse['planet_image'] = $CurrentPlanet['image']; $parse['anothers_planets'] = $AllPlanets; $parse["dpath"] = $dpath; if ($game_config['stat'] == 0) { $parse['user_rank'] = pretty_number($StatRecord['total_points']) . " (" . $lang['ov_place'] . " <a href=\"game.php?page=statistics&range=" . $StatRecord['total_rank'] . "\">" . $StatRecord['total_rank'] . "</a> " . $lang['ov_of'] . " " . $game_config['users_amount'] . ")"; } elseif ($game_config['stat'] == 1 && $CurrentUser['authlevel'] < $game_config['stat_level']) { $parse['user_rank'] = pretty_number($StatRecord['total_points']) . " (" . $lang['ov_place'] . " <a href=\"game.php?page=statistics&range=" . $StatRecord['total_rank'] . "\">" . $StatRecord['total_rank'] . "</a> " . $lang['ov_of'] . " " . $game_config['users_amount'] . ")"; } else { $parse['user_rank'] = "-"; } setlocale(LC_ALL, 'es_ES'); $parse['date_time'] = date("D M j H:i:s", time()); if ($Level > 0) { $parse['admin_link'] = "<tr><td><div align=\"center\"><a href=\"javascript:top.location.href='adm/index.php'\"> <font color=\"lime\">" . $lang['lm_administration'] . "</font></a></div></td></tr>"; } else { $parse['admin_link'] = ""; } if ($user["new_message"] != 0) { $color = "color=\"red\""; } else { $color = "color=\"white\""; } $parse["new_message"] = ' (<font size="1px" ' . $color . ' > ' . $user["new_message"] . ' </font>)'; return display(parsetemplate(gettemplate('overview/overview_body'), $parse)); break; } }
public function __construct() { global $ProdGrid, $LNG, $resource, $reslist, $CONF, $db, $PLANET, $USER; include_once ROOT_PATH . 'includes/functions/IsTechnologieAccessible.php'; include_once ROOT_PATH . 'includes/functions/GetElementPrice.php'; $TheCommand = request_var('cmd', ''); $Element = request_var('building', 0); $ListID = request_var('listid', 0); $PlanetRess = new ResourceUpdate(); $PlanetRess->CalcResource(); if (!empty($Element) && $USER['urlaubs_modus'] == 0 && (IsTechnologieAccessible($USER, $PLANET, $Element) && in_array($Element, $reslist['allow'][$PLANET['planet_type']])) || $TheCommand == "cancel" || $TheCommand == "remove") { if ($Element == 31 && $USER["b_tech_planet"] != 0 || ($Element == 15 || $Element == 21) && !empty($PLANET['b_hangar_id'])) { $TheCommand = ''; } switch ($TheCommand) { case 'cancel': $this->CancelBuildingFromQueue($PlanetRess); break; case 'remove': $this->RemoveBuildingFromQueue($ListID, $PlanetRess); break; case 'insert': $this->AddBuildingToQueue($Element, true); break; case 'destroy': $this->AddBuildingToQueue($Element, false); break; } } $PlanetRess->SavePlanetToDB(); $Queue = $this->ShowBuildingQueue(); $template = new template(); $CanBuildElement = count($Queue) < MAX_BUILDING_QUEUE_SIZE ? true : false; $BuildingPage = ""; $CurrentMaxFields = CalculateMaxPlanetFields($PLANET); $RoomIsOk = $PLANET["field_current"] < $CurrentMaxFields - count($Queue) ? true : false; $BuildEnergy = $USER[$resource[113]]; $BuildLevelFactor = 10; $BuildTemp = $PLANET['temp_max']; foreach ($reslist['allow'][$PLANET['planet_type']] as $ID => $Element) { if (!IsTechnologieAccessible($USER, $PLANET, $Element)) { continue; } $HaveRessources = IsElementBuyable($USER, $PLANET, $Element, true, false); if (in_array($Element, $reslist['prod'])) { $BuildLevel = $PLANET[$resource[$Element]]; $Need = floor(eval($ProdGrid[$Element]['formule']['energy']) * $CONF['resource_multiplier']) * (1 + ($this->TIME - $this->USER[$resource[704]] <= 0) ? 1 + $ExtraDM[704]['add'] : 1); $BuildLevel += 1; $Prod = floor(eval($ProdGrid[$Element]['formule']['energy']) * $CONF['resource_multiplier']) * (1 + ($this->TIME - $this->USER[$resource[704]] <= 0) ? 1 + $ExtraDM[704]['add'] : 1); $EnergyNeed = $Prod - $Need; } else { unset($EnergyNeed); } $parse['click'] = ''; $NextBuildLevel = $PLANET[$resource[$Element]] + 1; if ($RoomIsOk && $CanBuildElement) { $parse['click'] = $HaveRessources == true ? "<a href=\"game.php?page=buildings&cmd=insert&building=" . $Element . "\"><span style=\"color:#00FF00\">" . ($PLANET['b_building'] != 0 ? $LNG['bd_add_to_list'] : ($NextBuildLevel == 1 ? $LNG['bd_build'] : $LNG['bd_build_next_level'] . $NextBuildLevel)) . "</span></a>" : "<span style=\"color:#FF0000\">" . ($NextBuildLevel == 1 ? $LNG['bd_build'] : $LNG['bd_build_next_level'] . $NextBuildLevel) . "</span>"; } elseif ($RoomIsOk && !$CanBuildElement) { $parse['click'] = "<span style=\"color:#FF0000\">" . ($NextBuildLevel == 1 ? $LNG['bd_build'] : $LNG['bd_build_next_level'] . $NextBuildLevel) . "</span>"; } else { $parse['click'] = "<span style=\"color:#FF0000\">" . $LNG['bd_no_more_fields'] . "</span>"; } if (($Element == 6 || $Element == 31) && $USER['b_tech'] > TIMESTAMP) { $parse['click'] = "<span style=\"color:#FF0000\">" . $LNG['bd_working'] . "</span>"; } elseif (($Element == 15 || $Element == 21) && !empty($PLANET['b_hangar_id'])) { $parse['click'] = "<span style=\"color:#FF0000\">" . $LNG['bd_working'] . "</span>"; } $BuildInfoList[] = array('id' => $Element, 'name' => $LNG['tech'][$Element], 'descriptions' => $LNG['res']['descriptions'][$Element], 'level' => $PLANET[$resource[$Element]], 'destroyress' => array_map('pretty_number', GetBuildingPrice($USER, $PLANET, $Element, true, true)), 'destroytime' => pretty_time(GetBuildingTime($USER, $PLANET, $Element, true)), 'price' => GetElementPrice($USER, $PLANET, $Element, true), 'time' => pretty_time(GetBuildingTime($USER, $PLANET, $Element)), 'EnergyNeed' => isset($EnergyNeed) ? sprintf($EnergyNeed < 0 ? $LNG['bd_need_engine'] : $LNG['bd_more_engine'], pretty_number(abs($EnergyNeed)), $LNG['Energy']) : "", 'BuildLink' => $parse['click'], 'restprice' => $this->GetRestPrice($Element)); } if ($PLANET['b_building'] != 0) { $template->execscript('ReBuildView();Buildlist();'); $template->loadscript('buildlist.js'); $template->assign_vars(array('data' => json_encode(array('bd_cancel' => $LNG['bd_cancel'], 'bd_continue' => $LNG['bd_continue'], 'bd_finished' => $LNG['bd_finished'], 'build' => $Queue)))); } $template->assign_vars(array('BuildInfoList' => $BuildInfoList, 'bd_lvl' => $LNG['bd_lvl'], 'bd_next_level' => $LNG['bd_next_level'], 'Metal' => $LNG['Metal'], 'Crystal' => $LNG['Crystal'], 'Deuterium' => $LNG['Deuterium'], 'Norio' => $LNG['Norio'], 'Darkmatter' => $LNG['Darkmatter'], 'bd_dismantle' => $LNG['bd_dismantle'], 'fgf_time' => $LNG['fgf_time'], 'bd_remaining' => $LNG['bd_remaining'], 'bd_jump_gate_action' => $LNG['bd_jump_gate_action'], 'bd_price_for_destroy' => $LNG['bd_price_for_destroy'], 'bd_destroy_time' => $LNG['bd_destroy_time'])); $template->show("buildings_overview.tpl"); }