Пример #1
0
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;">&Sigma;</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);
}
Пример #2
0
function ShowTopNavigationBar($CurrentUser, $CurrentPlanet)
{
    global $lang, $game_config, $dpath;
    if ($CurrentUser['urlaubs_modus'] == 0) {
        PlanetResourceUpdate($CurrentUser, $CurrentPlanet, time());
    } else {
        doquery("UPDATE {{table}} SET `deuterium_sintetizer_porcent` = 0, `tritium_sintetizer_porcent` = 0, `metal_mine_porcent` = 0, `crystal_mine_porcent` = 0 WHERE id_owner = " . intval($CurrentUser['id']), "planets");
    }
    $parse = $lang;
    $parse['dpath'] = $dpath;
    $parse['image'] = $CurrentPlanet['image'];
    if ($CurrentUser['urlaubs_modus'] && $CurrentUser['db_deaktjava']) {
        $parse['show_umod_notice'] .= $CurrentUser['db_deaktjava'] ? '<table width="100%" style="border: 2px solid red; text-align:center;background:transparent;"><tr style="background:transparent;"><td style="background:transparent;">' . $lang['tn_delete_mode'] . date('d.m.Y h:i:s', $CurrentUser['db_deaktjava'] + 60 * 60 * 24 * 7) . '</td></tr></table>' : '';
    } else {
        $parse['show_umod_notice'] = $CurrentUser['urlaubs_modus'] ? '<table width="100%" style="border: 2px solid #1DF0F0; text-align:center;background:transparent;"><tr style="background:transparent;"><td style="background:transparent;">' . $lang['tn_vacation_mode'] . date('d.m.Y h:i:s', $CurrentUser['urlaubs_until']) . '</td></tr></table><br>' : '';
        $parse['show_umod_notice'] .= $CurrentUser['db_deaktjava'] ? '<table width="100%" style="border: 2px solid red; text-align:center;background:transparent;"><tr style="background:transparent;"><td style="background:transparent;">' . $lang['tn_delete_mode'] . date('d.m.Y h:i:s', $CurrentUser['db_deaktjava'] + 60 * 60 * 24 * 7) . '</td></tr></table>' : '';
    }
    $parse['planetlist'] = '';
    $ThisUsersPlanets = SortUserPlanets($CurrentUser);
    $parse['metal_max'] = pretty_number($CurrentPlanet['metal_max'] / 1000) . '&nbsp;K';
    $parse['crystal_max'] = pretty_number($CurrentPlanet['crystal_max'] / 1000) . '&nbsp;K';
    $parse['deuterium_max'] = pretty_number($CurrentPlanet['deuterium_max'] / 1000) . '&nbsp;K';
    $parse['tritium_max'] = pretty_number($CurrentPlanet['tritium_max'] / 1000) . '&nbsp;K';
    $parse['metal_bar'] = GetPercentBar($CurrentPlanet["metal"], $CurrentPlanet["metal_max"] * MAX_OVERFLOW);
    $parse['crystal_bar'] = GetPercentBar($CurrentPlanet["crystal"], $CurrentPlanet["crystal_max"] * MAX_OVERFLOW);
    $parse['deuterium_bar'] = GetPercentBar($CurrentPlanet["deuterium"], $CurrentPlanet["deuterium_max"] * MAX_OVERFLOW);
    $parse['tritium_bar'] = GetPercentBar($CurrentPlanet["tritium"], $CurrentPlanet["tritium_max"] * MAX_OVERFLOW);
    $parse['energy_bar'] = GetPercentBar(abs($CurrentPlanet["energy_used"] * (1 + $CurrentUser['rpg_ingenieur'] * 0.05)), $CurrentPlanet["energy_max"]);
    $planetas = 0;
    while ($CurPlanet = mysql_fetch_array($ThisUsersPlanets)) {
        if ($CurPlanet["destruyed"] == 0) {
            $parse['planetlist'] .= "\n<option ";
            if ($CurPlanet['id'] == $CurrentUser['current_planet']) {
                $parse['planetlist'] .= "selected=\"selected\" ";
            }
            $parse['planetlist'] .= "value=\"game.php?page={$_GET['page']}&gid={$_GET['gid']}&cp=" . $CurPlanet['id'] . "";
            $parse['planetlist'] .= "&amp;mode=" . $_GET['mode'];
            $parse['planetlist'] .= "&amp;re=0\">";
            if ($CurPlanet['planet_type'] != 3) {
                $parse['planetlist'] .= "" . $CurPlanet['name'];
            } else {
                $parse['planetlist'] .= "" . $CurPlanet['name'] . " (" . $lang['fcm_moon'] . ")";
            }
            $parse['planetlist'] .= "&nbsp;[" . $CurPlanet['galaxy'] . ":";
            $parse['planetlist'] .= "" . $CurPlanet['system'] . ":";
            $parse['planetlist'] .= "" . $CurPlanet['planet'];
            $parse['planetlist'] .= "]&nbsp;&nbsp;</option>";
            ++$planetas;
            if ($planetas == 1) {
                $planet_first_id = $CurPlanet['id'];
            }
            $planet_last_id = $CurPlanet['id'];
        }
    }
    if ($planet_first_id == $CurrentPlanet['id'] and $planetas >= 2) {
        $parse['flechas'] = "<center><input value=\"&gt;&gt;\" onclick=\"window.location=document.getElementById('pselector').options[document.getElementById('pselector').selectedIndex+1].value+'';\" type=\"button\"></center>";
    } elseif ($planet_last_id == $CurrentPlanet['id'] and $planetas >= 2) {
        $parse['flechas'] = "<center><input value=\"&lt;&lt;\" onclick=\"window.location=document.getElementById('pselector').options[document.getElementById('pselector').selectedIndex-1].value+'';\" type=\"button\"></center>";
    } elseif ($planetas >= 2) {
        $parse['flechas'] = "<center><input value=\"&lt;&lt;\" onclick=\"window.location=document.getElementById('pselector').options[document.getElementById('pselector').selectedIndex-1].value+'';\" type=\"button\">&nbsp;<input value=\"&gt;&gt;\" onclick=\"window.location=document.getElementById('pselector').options[document.getElementById('pselector').selectedIndex+1].value+'';\" type=\"button\"></center>";
    } else {
        $parse['flechas'] = '';
    }
    $energy = pretty_number($CurrentPlanet["energy_max"] + $CurrentPlanet["energy_used"]) . "/" . pretty_number($CurrentPlanet["energy_max"]);
    // Energie
    if ($CurrentPlanet["energy_max"] + $CurrentPlanet["energy_used"] < 0) {
        $parse['energy'] = colorRed($energy);
    } else {
        $parse['energy'] = $energy;
    }
    // Metal
    $metal = pretty_number($CurrentPlanet["metal"]);
    if ($CurrentPlanet["metal"] >= $CurrentPlanet["metal_max"]) {
        $parse['metal'] = colorRed($metal);
    } else {
        $parse['metal'] = $metal;
    }
    // Cristal
    $crystal = pretty_number($CurrentPlanet["crystal"]);
    if ($CurrentPlanet["crystal"] >= $CurrentPlanet["crystal_max"]) {
        $parse['crystal'] = colorRed($crystal);
    } else {
        $parse['crystal'] = $crystal;
    }
    // Deuterium
    $deuterium = pretty_number($CurrentPlanet["deuterium"]);
    if ($CurrentPlanet["deuterium"] >= $CurrentPlanet["deuterium_max"]) {
        $parse['deuterium'] = colorRed($deuterium);
    } else {
        $parse['deuterium'] = $deuterium;
    }
    $tritium = pretty_number($CurrentPlanet["tritium"]);
    if ($CurrentPlanet["tritium"] >= $CurrentPlanet["tritium_max"]) {
        $parse['tritium'] = colorRed($tritium);
    } else {
        $parse['tritium'] = $tritium;
    }
    $parse['darkmatter'] = pretty_number($CurrentUser["darkmatter"]);
    $TopBar = parsetemplate(gettemplate('topnav'), $parse);
    return $TopBar;
}