예제 #1
0
function ShowTeamspeakPage()
{
    global $LNG;
    $config = Config::get(Universe::getEmulated());
    if ($_POST) {
        $config_before = array('ts_timeout' => $config->ts_timeout, 'ts_modon' => $config->ts_modon, 'ts_server' => $config->ts_server, 'ts_tcpport' => $config->ts_tcpport, 'ts_udpport' => $config->ts_udpport, 'ts_version' => $config->ts_version, 'ts_login' => $config->ts_login, 'ts_password' => $config->ts_password, 'ts_cron_interval' => $config->ts_cron_interval);
        $ts_modon = isset($_POST['ts_on']) && $_POST['ts_on'] == 'on' ? 1 : 0;
        $ts_server = HTTP::_GP('ts_ip', '');
        $ts_tcpport = HTTP::_GP('ts_tcp', 0);
        $ts_udpport = HTTP::_GP('ts_udp', 0);
        $ts_timeout = HTTP::_GP('ts_to', 0);
        $ts_version = HTTP::_GP('ts_v', 0);
        $ts_login = HTTP::_GP('ts_login', '');
        $ts_password = HTTP::_GP('ts_password', '', true);
        $ts_cron_interval = HTTP::_GP('ts_cron', 0);
        $config_after = array('ts_timeout' => $ts_timeout, 'ts_modon' => $ts_modon, 'ts_server' => $ts_server, 'ts_tcpport' => $ts_tcpport, 'ts_udpport' => $ts_udpport, 'ts_version' => $ts_version, 'ts_login' => $ts_login, 'ts_password' => $ts_password, 'ts_cron_interval' => $ts_cron_interval);
        foreach ($config_after as $key => $value) {
            $config->{$key} = $value;
        }
        $config->save();
        $sql = "UPDATE %%CRONJOBS%%\n\t\tSET isActive = :isActive, `lock` = NULL, nextTime = 0\n\t\tWHERE name = 'teamspeak';";
        Database::get()->update($sql, array(':isActive' => $ts_modon));
        $LOG = new Log(3);
        $LOG->target = 4;
        $LOG->old = $config_before;
        $LOG->new = $config_after;
        $LOG->save();
    }
    $template = new template();
    $template->assign_vars(array('se_save_parameters' => $LNG['se_save_parameters'], 'ts_tcpport' => $LNG['ts_tcpport'], 'ts_serverip' => $LNG['ts_serverip'], 'ts_version' => $LNG['ts_version'], 'ts_active' => $LNG['ts_active'], 'ts_settings' => $LNG['ts_settings'], 'ts_udpport' => $LNG['ts_udpport'], 'ts_timeout' => $LNG['ts_timeout'], 'ts_server_query' => $LNG['ts_server_query'], 'ts_sq_login' => $LNG['ts_login'], 'ts_sq_pass' => $LNG['ts_pass'], 'ts_lng_cron' => $LNG['ts_cron'], 'ts_to' => $config->ts_timeout, 'ts_on' => $config->ts_modon, 'ts_ip' => $config->ts_server, 'ts_tcp' => $config->ts_tcpport, 'ts_udp' => $config->ts_udpport, 'ts_v' => $config->ts_version, 'ts_login' => $config->ts_login, 'ts_password' => $config->ts_password, 'ts_cron' => $config->ts_cron_interval));
    $template->show('TeamspeakPage.tpl');
}
예제 #2
0
 function send()
 {
     global $USER, $LNG;
     $ticketID = HTTP::_GP('id', 0);
     $message = HTTP::_GP('message', '', true);
     $change = HTTP::_GP('change_status', 0);
     $ticketDetail = $GLOBALS['DATABASE']->getFirstRow("SELECT ownerID, subject, status FROM " . TICKETS . " WHERE ticketID = " . $ticketID . ";");
     $status = $change ? $ticketDetail['status'] <= 1 ? 2 : 1 : 1;
     if (!$change && empty($message)) {
         HTTP::redirectTo('admin.php?page=support&mode=view&id=' . $ticketID);
     }
     $subject = "RE: " . $ticketDetail['subject'];
     if ($change && $status == 1) {
         $this->ticketObj->createAnswer($ticketID, $USER['id'], $USER['username'], $subject, $LNG['ti_admin_open'], $status);
     }
     if (!empty($message)) {
         $this->ticketObj->createAnswer($ticketID, $USER['id'], $USER['username'], $subject, $message, $status);
     }
     if ($change && $status == 2) {
         $this->ticketObj->createAnswer($ticketID, $USER['id'], $USER['username'], $subject, $LNG['ti_admin_close'], $status);
     }
     $subject = sprintf($LNG['sp_answer_message_title'], $ticketID);
     $text = sprintf($LNG['sp_answer_message'], $ticketID);
     PlayerUtil::sendMessage($ticketDetail['ownerID'], $USER['id'], $USER['username'], 4, $subject, $text, TIMESTAMP, NULL, 1, Universe::getEmulated());
     HTTP::redirectTo('admin.php?page=support');
 }
예제 #3
0
/**
 *  2Moons
 *  Copyright (C) 2012 Jan Kröpke
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * @package 2Moons
 * @author Jan Kröpke <*****@*****.**>
 * @copyright 2012 Jan Kröpke <*****@*****.**>
 * @license http://www.gnu.org/licenses/gpl.html GNU GPLv3 License
 * @version 1.7.2 (2013-03-18)
 * @info $Id$
 * @link http://2moons.cc/
 */
function ShowMenuPage()
{
    global $USER;
    $template = new template();
    $template->assign_vars(array('supportticks' => $GLOBALS['DATABASE']->getFirstCell("SELECT COUNT(*) FROM " . TICKETS . " WHERE universe = " . Universe::getEmulated() . " AND status = 0;")));
    $template->show('ShowMenuPage.tpl');
}
예제 #4
0
function ShowFlyingFleetPage()
{
    global $LNG;
    $id = HTTP::_GP('id', 0);
    if (!empty($id)) {
        $lock = HTTP::_GP('lock', 0);
        $GLOBALS['DATABASE']->query("UPDATE " . FLEETS . " SET `fleet_busy` = '" . $lock . "' WHERE `fleet_id` = '" . $id . "' AND `fleet_universe` = '" . Universe::getEmulated() . "';");
        $SQL = $lock == 0 ? "NULL" : "'ADM_LOCK'";
        $GLOBALS['DATABASE']->query("UPDATE " . FLEETS_EVENT . " SET `lock` = " . $SQL . " WHERE `fleetID` = " . $id . ";");
    }
    $orderBy = "fleet_id";
    $fleetResult = $GLOBALS['DATABASE']->query("SELECT \n\tfleet.*,\n\tevent.`lock`,\n\tCOUNT(event.fleetID) as error,\n\tpstart.name as startPlanetName,\n\tptarget.name as targetPlanetName,\n\tustart.username as startUserName,\n\tutarget.username as targetUserName,\n\tacs.name as acsName\n\tFROM " . FLEETS . " fleet\n\tLEFT JOIN " . FLEETS_EVENT . " event ON fleetID = fleet_id\n\tLEFT JOIN " . PLANETS . " pstart ON pstart.id = fleet_start_id\n\tLEFT JOIN " . PLANETS . " ptarget ON ptarget.id = fleet_end_id\n\tLEFT JOIN " . USERS . " ustart ON ustart.id = fleet_owner\n\tLEFT JOIN " . USERS . " utarget ON utarget.id = fleet_target_owner\n\tLEFT JOIN " . AKS . " acs ON acs.id = fleet_group\n\tWHERE fleet_universe = " . Universe::getEmulated() . "\n\tGROUP BY event.fleetID\n\tORDER BY " . $orderBy . ";");
    $FleetList = array();
    while ($fleetRow = $GLOBALS['DATABASE']->fetch_array($fleetResult)) {
        $shipList = array();
        $shipArray = array_filter(explode(';', $fleetRow['fleet_array']));
        foreach ($shipArray as $ship) {
            $shipDetail = explode(',', $ship);
            $shipList[$shipDetail[0]] = $shipDetail[1];
        }
        $FleetList[] = array('fleetID' => $fleetRow['fleet_id'], 'lock' => !empty($fleetRow['lock']), 'count' => $fleetRow['fleet_amount'], 'error' => !$fleetRow['error'], 'ships' => $shipList, 'state' => $fleetRow['fleet_mess'], 'starttime' => _date($LNG['php_tdformat'], $fleetRow['start_time'], $USER['timezone']), 'arrivaltime' => _date($LNG['php_tdformat'], $fleetRow['fleet_start_time'], $USER['timezone']), 'stayhour' => round(($fleetRow['fleet_end_stay'] - $fleetRow['fleet_start_time']) / 3600), 'staytime' => $fleetRow['fleet_start_time'] !== $fleetRow['fleet_end_stay'] ? _date($LNG['php_tdformat'], $fleetRow['fleet_end_stay'], $USER['timezone']) : 0, 'endtime' => _date($LNG['php_tdformat'], $fleetRow['fleet_end_time'], $USER['timezone']), 'missionID' => $fleetRow['fleet_mission'], 'acsID' => $fleetRow['fleet_group'], 'acsName' => $fleetRow['acsName'], 'startUserID' => $fleetRow['fleet_owner'], 'startUserName' => $fleetRow['startUserName'], 'startPlanetID' => $fleetRow['fleet_start_id'], 'startPlanetName' => $fleetRow['startPlanetName'], 'startPlanetGalaxy' => $fleetRow['fleet_start_galaxy'], 'startPlanetSystem' => $fleetRow['fleet_start_system'], 'startPlanetPlanet' => $fleetRow['fleet_start_planet'], 'startPlanetType' => $fleetRow['fleet_start_type'], 'targetUserID' => $fleetRow['fleet_target_owner'], 'targetUserName' => $fleetRow['targetUserName'], 'targetPlanetID' => $fleetRow['fleet_end_id'], 'targetPlanetName' => $fleetRow['targetPlanetName'], 'targetPlanetGalaxy' => $fleetRow['fleet_end_galaxy'], 'targetPlanetSystem' => $fleetRow['fleet_end_system'], 'targetPlanetPlanet' => $fleetRow['fleet_end_planet'], 'targetPlanetType' => $fleetRow['fleet_end_type'], 'resource' => array(901 => $fleetRow['fleet_resource_metal'], 902 => $fleetRow['fleet_resource_crystal'], 903 => $fleetRow['fleet_resource_deuterium'], 921 => $fleetRow['fleet_resource_darkmatter']));
    }
    $GLOBALS['DATABASE']->free_result($fleetResult);
    $template = new template();
    $template->assign_vars(array('FleetList' => $FleetList));
    $template->show('FlyingFleetPage.tpl');
}
예제 #5
0
function ShowDisclamerPage()
{
    global $LNG;
    $config = Config::get(Universe::getEmulated());
    if (!empty($_POST)) {
        $config_before = array('disclamerAddress' => $config->disclamerAddress, 'disclamerPhone' => $config->disclamerPhone, 'disclamerMail' => $config->disclamerMail, 'disclamerNotice' => $config->disclamerNotice);
        $disclaimerAddress = HTTP::_GP('disclaimerAddress', '', true);
        $disclaimerPhone = HTTP::_GP('disclaimerPhone', '', true);
        $disclaimerMail = HTTP::_GP('disclaimerMail', '', true);
        $disclaimerNotice = HTTP::_GP('disclaimerNotice', '', true);
        $config_after = array('disclamerAddress' => $disclaimerAddress, 'disclamerPhone' => $disclaimerPhone, 'disclamerMail' => $disclaimerMail, 'disclamerNotice' => $disclaimerNotice);
        foreach ($config_after as $key => $value) {
            $config->{$key} = $value;
        }
        $config->save();
        $LOG = new Log(3);
        $LOG->target = 5;
        $LOG->old = $config_before;
        $LOG->new = $config_after;
        $LOG->save();
    }
    $template = new template();
    $template->loadscript('../base/jquery.autosize-min.js');
    $template->execscript('$(\'textarea\').autosize();');
    $template->assign_vars(array('disclaimerAddress' => $config->disclamerAddress, 'disclaimerPhone' => $config->disclamerPhone, 'disclaimerMail' => $config->disclamerMail, 'disclaimerNotice' => $config->disclamerNotice, 'se_server_parameters' => $LNG['mu_disclaimer'], 'se_save_parameters' => $LNG['se_save_parameters'], 'se_disclaimerAddress' => $LNG['se_disclaimerAddress'], 'se_disclaimerPhone' => $LNG['se_disclaimerPhone'], 'se_disclaimerMail' => $LNG['se_disclaimerMail'], 'se_disclaimerNotice' => $LNG['se_disclaimerNotice']));
    $template->show('DisclamerConfigBody.tpl');
}
예제 #6
0
function ShowChatConfigPage()
{
    global $LNG;
    $config = Config::get(Universe::getEmulated());
    if (!empty($_POST)) {
        $config_before = array('chat_closed' => $config->chat_closed, 'chat_allowchan' => $config->chat_allowchan, 'chat_allowmes' => $config->chat_allowmes, 'chat_allowdelmes' => $config->chat_allowdelmes, 'chat_logmessage' => $config->chat_logmessage, 'chat_nickchange' => $config->chat_nickchange, 'chat_botname' => $config->chat_botname, 'chat_channelname' => $config->chat_channelname);
        $chat_allowchan = isset($_POST['chat_allowchan']) && $_POST['chat_allowchan'] == 'on' ? 1 : 0;
        $chat_allowmes = isset($_POST['chat_allowmes']) && $_POST['chat_allowmes'] == 'on' ? 1 : 0;
        $chat_allowdelmes = isset($_POST['chat_allowdelmes']) && $_POST['chat_allowdelmes'] == 'on' ? 1 : 0;
        $chat_logmessage = isset($_POST['chat_logmessage']) && $_POST['chat_logmessage'] == 'on' ? 1 : 0;
        $chat_nickchange = isset($_POST['chat_nickchange']) && $_POST['chat_nickchange'] == 'on' ? 1 : 0;
        $chat_closed = isset($_POST['chat_closed']) && $_POST['chat_closed'] == 'on' ? 1 : 0;
        $chat_channelname = HTTP::_GP('chat_channelname', '', true);
        $chat_botname = HTTP::_GP('chat_botname', '', true);
        $config_after = array('chat_closed' => $chat_closed, 'chat_allowchan' => $chat_allowchan, 'chat_allowmes' => $chat_allowmes, 'chat_allowdelmes' => $chat_allowdelmes, 'chat_logmessage' => $chat_logmessage, 'chat_nickchange' => $chat_nickchange, 'chat_botname' => $chat_botname, 'chat_channelname' => $chat_channelname);
        foreach ($config_after as $key => $value) {
            $config->{$key} = $value;
        }
        $config->save();
        $LOG = new Log(3);
        $LOG->target = 3;
        $LOG->old = $config_before;
        $LOG->new = $config_after;
        $LOG->save();
    }
    $template = new template();
    $template->assign_vars(array('chat_closed' => $config->chat_closed, 'chat_allowchan' => $config->chat_allowchan, 'chat_allowmes' => $config->chat_allowmes, 'chat_logmessage' => $config->chat_logmessage, 'chat_nickchange' => $config->chat_nickchange, 'chat_botname' => $config->chat_botname, 'chat_channelname' => $config->chat_channelname, 'se_server_parameters' => $LNG['se_server_parameters'], 'se_save_parameters' => $LNG['se_save_parameters'], 'ch_closed' => $LNG['ch_closed'], 'ch_allowchan' => $LNG['ch_allowchan'], 'ch_allowmes' => $LNG['ch_allowmes'], 'ch_allowdelmes' => $LNG['ch_allowdelmes'], 'ch_logmessage' => $LNG['ch_logmessage'], 'ch_nickchange' => $LNG['ch_nickchange'], 'ch_botname' => $LNG['ch_botname'], 'ch_channelname' => $LNG['ch_channelname']));
    $template->show('ChatConfigBody.tpl');
}
예제 #7
0
function ShowMultiIPPage()
{
    global $LNG;
    switch ($_GET['action']) {
        case 'known':
            $GLOBALS['DATABASE']->query("INSERT INTO " . MULTI . " SET userID = " . (int) $_GET['id'] . ";");
            HTTP::redirectTo("admin.php?page=multiips");
            break;
        case 'unknown':
            $GLOBALS['DATABASE']->query("DELETE FROM " . MULTI . " WHERE userID = " . (int) $_GET['id'] . ";");
            HTTP::redirectTo("admin.php?page=multiips");
            break;
    }
    $Query = $GLOBALS['DATABASE']->query("SELECT id, username, email, register_time, onlinetime, user_lastip, IFNULL(multiID, 0) as isKnown FROM " . USERS . " LEFT JOIN " . MULTI . " ON userID = id WHERE `universe` = '" . Universe::getEmulated() . "' AND user_lastip IN (SELECT user_lastip FROM " . USERS . " WHERE `universe` = '" . Universe::getEmulated() . "' GROUP BY user_lastip HAVING COUNT(*)>1) ORDER BY user_lastip, id ASC;");
    $IPs = array();
    while ($Data = $GLOBALS['DATABASE']->fetch_array($Query)) {
        if (!isset($IPs[$Data['user_lastip']])) {
            $IPs[$Data['user_lastip']] = array();
        }
        $Data['register_time'] = _date($LNG['php_tdformat'], $Data['register_time']);
        $Data['onlinetime'] = _date($LNG['php_tdformat'], $Data['onlinetime']);
        $IPs[$Data['user_lastip']][$Data['id']] = $Data;
    }
    $template = new template();
    $template->assign_vars(array('multiGroups' => $IPs));
    $template->show('MultiIPs.tpl');
}
예제 #8
0
function ShowSendMessagesPage()
{
    global $USER, $LNG;
    $ACTION = HTTP::_GP('action', '');
    if ($ACTION == 'send') {
        switch ($USER['authlevel']) {
            case AUTH_MOD:
                $class = 'mod';
                break;
            case AUTH_OPS:
                $class = 'ops';
                break;
            case AUTH_ADM:
                $class = 'admin';
                break;
            default:
                $class = '';
                break;
        }
        $Subject = HTTP::_GP('subject', '', true);
        $Message = HTTP::_GP('text', '', true);
        $Mode = HTTP::_GP('mode', 0);
        $Lang = HTTP::_GP('lang', '');
        if (!empty($Message) && !empty($Subject)) {
            require 'includes/classes/BBCode.class.php';
            if ($Mode == 0 || $Mode == 2) {
                $From = '<span class="' . $class . '">' . $LNG['user_level'][$USER['authlevel']] . ' ' . $USER['username'] . '</span>';
                $pmSubject = '<span class="' . $class . '">' . $Subject . '</span>';
                $pmMessage = '<span class="' . $class . '">' . BBCode::parse($Message) . '</span>';
                $USERS = $GLOBALS['DATABASE']->query("SELECT `id`, `username` FROM " . USERS . " WHERE `universe` = '" . Universe::getEmulated() . "'" . (!empty($Lang) ? " AND `lang` = '" . $GLOBALS['DATABASE']->sql_escape($Lang) . "'" : "") . ";");
                while ($UserData = $GLOBALS['DATABASE']->fetch_array($USERS)) {
                    $sendMessage = str_replace('{USERNAME}', $UserData['username'], $pmMessage);
                    PlayerUtil::sendMessage($UserData['id'], $USER['id'], $From, 50, $pmSubject, $sendMessage, TIMESTAMP, NULL, 1, Universe::getEmulated());
                }
            }
            if ($Mode == 1 || $Mode == 2) {
                require 'includes/classes/Mail.class.php';
                $userList = array();
                $USERS = $GLOBALS['DATABASE']->query("SELECT `email`, `username` FROM " . USERS . " WHERE `universe` = '" . Universe::getEmulated() . "'" . (!empty($Lang) ? " AND `lang` = '" . $GLOBALS['DATABASE']->sql_escape($Lang) . "'" : "") . ";");
                while ($UserData = $GLOBALS['DATABASE']->fetch_array($USERS)) {
                    $userList[$UserData['email']] = array('username' => $UserData['username'], 'body' => BBCode::parse(str_replace('{USERNAME}', $UserData['username'], $Message)));
                }
                Mail::multiSend($userList, strip_tags($Subject));
            }
            exit($LNG['ma_message_sended']);
        } else {
            exit($LNG['ma_subject_needed']);
        }
    }
    $sendModes = $LNG['ma_modes'];
    if (Config::get()->mail_active == 0) {
        unset($sendModes[1]);
        unset($sendModes[2]);
    }
    $template = new template();
    $template->assign_vars(array('langSelector' => array_merge(array('' => $LNG['ma_all']), $LNG->getAllowedLangs(false)), 'modes' => $sendModes));
    $template->show('SendMessagesPage.tpl');
}
예제 #9
0
function ShowMessageListPage()
{
    global $LNG;
    $page = HTTP::_GP('side', 1);
    $type = HTTP::_GP('type', 100);
    $sender = HTTP::_GP('sender', '', UTF8_SUPPORT);
    $receiver = HTTP::_GP('receiver', '', UTF8_SUPPORT);
    $dateStart = HTTP::_GP('dateStart', array());
    $dateEnd = HTTP::_GP('dateEnd', array());
    $perSide = 50;
    $messageList = array();
    $userWhereSQL = '';
    $dateWhereSQL = '';
    $countJoinSQL = '';
    $categories = $LNG['mg_type'];
    unset($categories[999]);
    $dateStart = array_filter($dateStart, 'is_numeric');
    $dateEnd = array_filter($dateEnd, 'is_numeric');
    $useDateStart = count($dateStart) == 3;
    $useDateEnd = count($dateEnd) == 3;
    if ($useDateStart && $useDateEnd) {
        $dateWhereSQL = ' AND message_time BETWEEN ' . mktime(0, 0, 0, (int) $dateStart['month'], (int) $dateStart['day'], (int) $dateStart['year']) . ' AND ' . mktime(23, 59, 59, (int) $dateEnd['month'], (int) $dateEnd['day'], (int) $dateEnd['year']);
    } elseif ($useDateStart) {
        $dateWhereSQL = ' AND message_time > ' . mktime(0, 0, 0, (int) $dateStart['month'], (int) $dateStart['day'], (int) $dateStart['year']);
    } elseif ($useDateStart) {
        $dateWhereSQL = ' AND message_time < ' . mktime(23, 59, 59, (int) $dateEnd['month'], (int) $dateEnd['day'], (int) $dateEnd['year']);
    }
    if (!empty($sender)) {
        $countJoinSQL .= ' LEFT JOIN ' . USERS . ' as us ON message_sender = us.id';
        $userWhereSQL .= ' AND us.username = "******"';
    }
    if (!empty($receiver)) {
        $countJoinSQL .= ' LEFT JOIN ' . USERS . ' as u ON message_owner = u.id';
        $userWhereSQL .= ' AND u.username = "******"';
    }
    if ($type != 100) {
        $MessageCount = $GLOBALS['DATABASE']->getFirstCell("SELECT COUNT(*) FROM " . MESSAGES . $countJoinSQL . " WHERE message_type = " . $type . " AND message_universe = " . Universe::getEmulated() . $dateWhereSQL . $userWhereSQL . ";");
    } else {
        $MessageCount = $GLOBALS['DATABASE']->getFirstCell("SELECT COUNT(*) FROM " . MESSAGES . $countJoinSQL . " WHERE message_universe = " . Universe::getEmulated() . $dateWhereSQL . $userWhereSQL . ";");
    }
    $maxPage = max(1, ceil($MessageCount / $perSide));
    $page = max(1, min($page, $maxPage));
    $sqlLimit = ($page - 1) * $perSide . ", " . ($perSide - 1);
    if ($type == 100) {
        $messageRaw = $GLOBALS['DATABASE']->query("SELECT u.username, us.username as senderName, m.* \n\t\tFROM " . MESSAGES . " as m \n\t\tLEFT JOIN " . USERS . " as u ON m.message_owner = u.id \n\t\tLEFT JOIN " . USERS . " as us ON m.message_sender = us.id\n\t\tWHERE m.message_universe = " . Universe::getEmulated() . "\n\t\t" . $dateWhereSQL . "\n\t\t" . $userWhereSQL . "\n\t\tORDER BY message_time DESC, message_id DESC\n\t\tLIMIT " . $sqlLimit . ";");
    } else {
        $messageRaw = $GLOBALS['DATABASE']->query("SELECT u.username, us.username as senderName, m.* \n\t\tFROM " . MESSAGES . " as m\n\t\tLEFT JOIN " . USERS . " as u ON m.message_owner = u.id\n\t\tLEFT JOIN " . USERS . " as us ON m.message_sender = us.id\n\t\tWHERE m.message_type = " . $type . " AND message_universe = " . Universe::getEmulated() . "\n\t\t" . $dateWhereSQL . "\n\t\t" . $userWhereSQL . "\n\t\tORDER BY message_time DESC, message_id DESC\n\t\tLIMIT " . $sqlLimit . ";");
    }
    while ($messageRow = $GLOBALS['DATABASE']->fetch_array($messageRaw)) {
        $messageList[$messageRow['message_id']] = array('sender' => empty($messageRow['senderName']) ? $messageRow['message_from'] : $messageRow['senderName'] . ' (ID:&nbsp;' . $messageRow['message_sender'] . ')', 'receiver' => $messageRow['username'] . ' (ID:&nbsp;' . $messageRow['message_owner'] . ')', 'subject' => $messageRow['message_subject'], 'text' => $messageRow['message_text'], 'type' => $messageRow['message_type'], 'time' => str_replace(' ', '&nbsp;', _date($LNG['php_tdformat'], $messageRow['message_time']), $USER['timezone']));
    }
    $template = new template();
    $template->assign_vars(array('categories' => $categories, 'maxPage' => $maxPage, 'page' => $page, 'messageList' => $messageList, 'type' => $type, 'dateStart' => $dateStart, 'dateEnd' => $dateEnd, 'sender' => $sender, 'receiver' => $receiver));
    $template->show('MessageList.tpl');
}
예제 #10
0
/**
 *  2Moons
 *  Copyright (C) 2012 Jan Kröpke
 *
 * For the full copyright and license information, please view the LICENSE
 *
 * @package 2Moons
 * @author Jan Kröpke <*****@*****.**>
 * @copyright 2012 Jan Kröpke <*****@*****.**>
 * @licence MIT
 * @version 1.7.2 (2013-03-18)
 * @info $Id$
 * @link http://2moons.cc/
 */
function ShowTopnavPage()
{
    global $LNG, $USER;
    $template = new template();
    $universeSelect = array();
    foreach (Universe::availableUniverses() as $uniId) {
        $config = Config::get($uniId);
        $universeSelect[$uniId] = sprintf('%s (ID: %d)', $config->uni_name, $uniId);
    }
    ksort($universeSelect);
    $template->assign_vars(array('ad_authlevel_title' => $LNG['ad_authlevel_title'], 're_reset_universe' => $LNG['re_reset_universe'], 'mu_universe' => $LNG['mu_universe'], 'mu_moderation_page' => $LNG['mu_moderation_page'], 'adm_cp_title' => $LNG['adm_cp_title'], 'adm_cp_index' => $LNG['adm_cp_index'], 'adm_cp_logout' => $LNG['adm_cp_logout'], 'sid' => session_id(), 'id' => $USER['id'], 'authlevel' => $USER['authlevel'], 'AvailableUnis' => $universeSelect, 'UNI' => Universe::getEmulated()));
    $template->show('ShowTopnavPage.tpl');
}
예제 #11
0
function ShowGiveaway()
{
    global $LNG, $resource, $reslist;
    $template = new template();
    $action = HTTP::_GP('action', '');
    if ($action == 'send') {
        $planet = HTTP::_GP('planet', 0);
        $moon = HTTP::_GP('moon', 0);
        $mainplanet = HTTP::_GP('mainplanet', 0);
        $no_inactive = HTTP::_GP('no_inactive', 0);
        if (!$planet && !$moon) {
            $template->message($LNG['ga_selectplanettype']);
            exit;
        }
        $planetIN = array();
        if ($planet) {
            $planetIN[] = "'1'";
        }
        if ($moon) {
            $planetIN[] = "'3'";
        }
        $data = array();
        $DataIDs = array_merge($reslist['resstype'][1], $reslist['resstype'][3], $reslist['build'], $reslist['tech'], $reslist['fleet'], $reslist['defense'], $reslist['officier']);
        $logOld = array();
        $logNew = array();
        foreach ($DataIDs as $ID) {
            $amount = max(0, round(HTTP::_GP('element_' . $ID, 0.0)));
            $data[] = $resource[$ID] . " = " . $resource[$ID] . " + " . $amount;
            $logOld[$ID] = 0;
            $logNew[$ID] = $amount;
        }
        $SQL = "UPDATE " . PLANETS . " p INNER JOIN " . USERS . " u ON p.id_owner = u.id";
        if ($mainplanet == true) {
            $SQL .= " AND p.id = u.id_planet";
        }
        if ($no_inactive == true) {
            $SQL .= " AND u.onlinetime > " . (TIMESTAMP - INACTIVE);
        }
        $SQL .= " SET " . implode(', ', $data) . " WHERE p.universe = " . Universe::getEmulated() . " AND p.planet_type IN (" . implode(',', $planetIN) . ")";
        $GLOBALS['DATABASE']->query($SQL);
        $LOG = new Log(4);
        $LOG->target = 0;
        $LOG->old = $logOld;
        $LOG->new = $logNew;
        $LOG->save();
        $template->message($LNG['ga_success']);
        exit;
    }
    $template->assign_vars(array('reslist' => $reslist));
    $template->show("giveaway.tpl");
}
예제 #12
0
function ShowActivePage()
{
    global $LNG, $USER;
    $id = HTTP::_GP('id', 0);
    if ($_GET['action'] == 'delete' && !empty($id)) {
        $GLOBALS['DATABASE']->query("DELETE FROM " . USERS_VALID . " WHERE `validationID` = '" . $id . "' AND `universe` = '" . Universe::getEmulated() . "';");
    }
    $query = $GLOBALS['DATABASE']->query("SELECT * FROM " . USERS_VALID . " WHERE `universe` = '" . Universe::getEmulated() . "' ORDER BY validationID ASC");
    $Users = array();
    while ($User = $GLOBALS['DATABASE']->fetch_array($query)) {
        $Users[] = array('id' => $User['validationID'], 'name' => $User['userName'], 'date' => _date($LNG['php_tdformat'], $User['date'], $USER['timezone']), 'email' => $User['email'], 'ip' => $User['ip'], 'password' => $User['password'], 'validationKey' => $User['validationKey']);
    }
    $template = new template();
    $template->assign_vars(array('Users' => $Users, 'uni' => Universe::getEmulated()));
    $template->show('ActivePage.tpl');
}
예제 #13
0
function ShowFacebookPage()
{
    global $LNG;
    $config = Config::get(Universe::getEmulated());
    if ($_POST) {
        $fb_on = isset($_POST['fb_on']) && $_POST['fb_on'] == 'on' && !empty($_POST['fb_skey']) && !empty($_POST['fb_apikey']) ? 1 : 0;
        $fb_apikey = HTTP::_GP('fb_apikey', '');
        $fb_skey = HTTP::_GP('fb_skey', '');
        foreach (array('fb_on' => $fb_on, 'fb_apikey' => $fb_apikey, 'fb_skey' => $fb_skey) as $key => $value) {
            $config->{$key} = $value;
        }
        $config->save();
    }
    $template = new template();
    $template->assign_vars(array('se_save_parameters' => $LNG['se_save_parameters'], 'fb_info' => $LNG['fb_info'], 'fb_secrectkey' => $LNG['fb_secrectkey'], 'fb_api_key' => $LNG['fb_api_key'], 'fb_active' => $LNG['fb_active'], 'fb_settings' => $LNG['fb_settings'], 'fb_on' => $config->fb_on, 'fb_apikey' => $config->fb_apikey, 'fb_skey' => $config->fb_skey, 'fb_curl' => function_exists('curl_init') ? 1 : 0, 'fb_curl_info' => function_exists('curl_init') ? $LNG['fb_curl_yes'] : $LNG['fb_curl_no']));
    $template->show('FacebookPage.tpl');
}
예제 #14
0
function ShowConfigBasicPage()
{
    global $LNG;
    $config = Config::get(Universe::getEmulated());
    if (!empty($_POST)) {
        $config_before = array('ttf_file' => $config->ttf_file, 'game_name' => $config->game_name, 'mail_active' => $config->mail_active, 'mail_use' => $config->mail_use, 'smail_path' => $config->smail_path, 'smtp_host' => $config->smtp_host, 'smtp_port' => $config->smtp_port, 'smtp_user' => $config->smtp_user, 'smtp_pass' => $config->smtp_pass, 'smtp_ssl' => $config->smtp_ssl, 'smtp_sendmail' => $config->smtp_sendmail, 'ga_active' => $config->ga_active, 'ga_key' => $config->ga_key, 'capaktiv' => $config->capaktiv, 'cappublic' => $config->cappublic, 'capprivate' => $config->capprivate, 'del_oldstuff' => $config->del_oldstuff, 'del_user_manually' => $config->del_user_manually, 'del_user_automatic' => $config->del_user_automatic, 'del_user_sendmail' => $config->del_user_sendmail, 'sendmail_inactive' => $config->sendmail_inactive, 'timezone' => $config->timezone, 'dst' => $config->dst, 'close_reason' => $config->close_reason);
        $capaktiv = isset($_POST['capaktiv']) && $_POST['capaktiv'] == 'on' ? 1 : 0;
        $ga_active = isset($_POST['ga_active']) && $_POST['ga_active'] == 'on' ? 1 : 0;
        $sendmail_inactive = isset($_POST['sendmail_inactive']) && $_POST['sendmail_inactive'] == 'on' ? 1 : 0;
        $mail_active = isset($_POST['mail_active']) && $_POST['mail_active'] == 'on' ? 1 : 0;
        $ttf_file = HTTP::_GP('ttf_file', '');
        $close_reason = HTTP::_GP('close_reason', '', true);
        $game_name = HTTP::_GP('game_name', '', true);
        $capprivate = HTTP::_GP('capprivate', '');
        $cappublic = HTTP::_GP('cappublic', '');
        $ga_key = HTTP::_GP('ga_key', '', true);
        $mail_use = HTTP::_GP('mail_use', 0);
        $smail_path = HTTP::_GP('smail_path', '');
        $smtp_host = HTTP::_GP('smtp_host', '', true);
        $smtp_port = HTTP::_GP('smtp_port', 0);
        $smtp_user = HTTP::_GP('smtp_user', '', true);
        $smtp_sendmail = HTTP::_GP('smtp_sendmail', '', true);
        $smtp_pass = HTTP::_GP('smtp_pass', '', true);
        $smtp_ssl = HTTP::_GP('smtp_ssl', '');
        $del_oldstuff = HTTP::_GP('del_oldstuff', 0);
        $del_user_manually = HTTP::_GP('del_user_manually', 0);
        $del_user_automatic = HTTP::_GP('del_user_automatic', 0);
        $del_user_sendmail = HTTP::_GP('del_user_sendmail', 0);
        $timezone = HTTP::_GP('timezone', '');
        $dst = HTTP::_GP('dst', 0);
        $config_after = array('ttf_file' => $ttf_file, 'game_name' => $game_name, 'mail_active' => $mail_active, 'mail_use' => $mail_use, 'smail_path' => $smail_path, 'smtp_host' => $smtp_host, 'smtp_port' => $smtp_port, 'smtp_user' => $smtp_user, 'smtp_pass' => $smtp_pass, 'smtp_ssl' => $smtp_ssl, 'smtp_sendmail' => $smtp_sendmail, 'ga_active' => $ga_active, 'ga_key' => $ga_key, 'capaktiv' => $capaktiv, 'cappublic' => $cappublic, 'capprivate' => $capprivate, 'del_oldstuff' => $del_oldstuff, 'del_user_manually' => $del_user_manually, 'del_user_automatic' => $del_user_automatic, 'del_user_sendmail' => $del_user_sendmail, 'sendmail_inactive' => $sendmail_inactive, 'timezone' => $timezone, 'dst' => $dst, 'close_reason' => $close_reason);
        foreach ($config_after as $key => $value) {
            $config->{$key} = $value;
        }
        $config->save();
        $LOG = new Log(3);
        $LOG->target = 0;
        $LOG->old = $config_before;
        $LOG->new = $config_after;
        $LOG->save();
    }
    $TimeZones = get_timezone_selector();
    $template = new template();
    $template->assign_vars(array('del_oldstuff' => $config->del_oldstuff, 'del_user_manually' => $config->del_user_manually, 'del_user_automatic' => $config->del_user_automatic, 'del_user_sendmail' => $config->del_user_sendmail, 'sendmail_inactive' => $config->sendmail_inactive, 'ttf_file' => $config->ttf_file, 'game_name' => $config->game_name, 'mail_active' => $config->mail_active, 'mail_use' => $config->mail_use, 'smail_path' => $config->smail_path, 'smtp_host' => $config->smtp_host, 'smtp_port' => $config->smtp_port, 'smtp_user' => $config->smtp_user, 'smtp_pass' => $config->smtp_pass, 'smtp_sendmail' => $config->smtp_sendmail, 'smtp_ssl' => $config->smtp_ssl, 'capprivate' => $config->capprivate, 'cappublic' => $config->cappublic, 'capaktiv' => $config->capaktiv, 'ga_active' => $config->ga_active, 'ga_key' => $config->ga_key, 'timezone' => $config->timezone, 'dst' => $config->dst, 'Selector' => array('timezone' => $TimeZones, 'mail' => $LNG['se_mail_sel'], 'encry' => array('' => $LNG['se_smtp_ssl_1'], 'ssl' => $LNG['se_smtp_ssl_2'], 'tls' => $LNG['se_smtp_ssl_3']))));
    $template->show('ConfigBasicBody.tpl');
}
예제 #15
0
function ShowModulePage()
{
    global $LNG;
    $config = Config::get(Universe::getEmulated());
    $module = explode(';', $config->moduls);
    if ($_GET['mode']) {
        $module[HTTP::_GP('id', 0)] = $_GET['mode'] == 'aktiv' ? 1 : 0;
        $config->moduls = implode(";", $module);
        $config->save();
    }
    $IDs = range(0, MODULE_AMOUNT - 1);
    foreach ($IDs as $ID => $Name) {
        $Modules[$ID] = array('name' => $LNG['modul'][$ID], 'state' => isset($module[$ID]) ? $module[$ID] : 1);
    }
    asort($Modules);
    $template = new template();
    $template->assign_vars(array('Modules' => $Modules, 'mod_module' => $LNG['mod_module'], 'mod_info' => $LNG['mod_info'], 'mod_active' => $LNG['mod_active'], 'mod_deactive' => $LNG['mod_deactive'], 'mod_change_active' => $LNG['mod_change_active'], 'mod_change_deactive' => $LNG['mod_change_deactive']));
    $template->show('ModulePage.tpl');
}
예제 #16
0
function ShowAutoCompletePage()
{
    $searchText = HTTP::_GP('term', '', UTF8_SUPPORT);
    $searchList = array();
    if (empty($searchText) || $searchText === '#') {
        echo json_encode(array());
        exit;
    }
    if (substr($searchText, 0, 1) === '#') {
        $where = 'id = ' . (int) substr($searchText, 1);
        $orderBy = ' ORDER BY id ASC';
    } else {
        $where = "username LIKE '%" . $GLOBALS['DATABASE']->escape($searchText, true) . "%'";
        $orderBy = " ORDER BY (IF(username = '******'DATABASE']->sql_escape($searchText, true) . "', 1, 0) + IF(username LIKE '" . $GLOBALS['DATABASE']->sql_escape($searchText, true) . "%', 1, 0)) DESC, username";
    }
    $userRaw = $GLOBALS['DATABASE']->query("SELECT id, username FROM " . USERS . " WHERE universe = " . Universe::getEmulated() . " AND " . $where . $orderBy . " LIMIT 20");
    while ($userRow = $GLOBALS['DATABASE']->fetch_array($userRaw)) {
        $searchList[] = array('label' => $userRow['username'] . ' (ID:' . $userRow['id'] . ')', 'value' => $userRow['username']);
    }
    echo json_encode($searchList);
    exit;
}
예제 #17
0
function ShowStatsPage()
{
    global $LNG;
    $config = Config::get(Universe::getEmulated());
    if ($_POST) {
        $config_before = array('stat_settings' => $config->stat_settings, 'stat' => $config->stat, 'stat_level' => $config->stat_level);
        $stat_settings = HTTP::_GP('stat_settings', 0);
        $stat = HTTP::_GP('stat', 0);
        $stat_level = HTTP::_GP('stat_level', 0);
        $config_after = array('stat_settings' => $stat_settings, 'stat' => $stat, 'stat_level' => $stat_level);
        foreach ($config_after as $key => $value) {
            $config->{$key} = $value;
        }
        $config->save();
        $LOG = new Log(3);
        $LOG->target = 2;
        $LOG->old = $config_before;
        $LOG->new = $config_after;
        $LOG->save();
    }
    $template = new template();
    $template->assign_vars(array('stat_level' => $config->stat_level, 'stat' => $config->stat, 'stat_settings' => $config->stat_settings, 'cs_access_lvl' => $LNG['cs_access_lvl'], 'cs_points_to_zero' => $LNG['cs_points_to_zero'], 'cs_point_per_resources_used' => $LNG['cs_point_per_resources_used'], 'cs_title' => $LNG['cs_title'], 'cs_resources' => $LNG['cs_resources'], 'cs_save_changes' => $LNG['cs_save_changes'], 'Selector' => array(1 => $LNG['cs_yes'], 2 => $LNG['cs_no_view'], 0 => $LNG['cs_no'])));
    $template->show('StatsPage.tpl');
}
예제 #18
0
function ShowCreatorPage()
{
    global $LNG, $USER;
    $template = new template();
    switch ($_GET['mode']) {
        case 'user':
            $LNG->includeData(array('PUBLIC'));
            if ($_POST) {
                $UserName = HTTP::_GP('name', '', UTF8_SUPPORT);
                $UserPass = HTTP::_GP('password', '');
                $UserPass2 = HTTP::_GP('password2', '');
                $UserMail = HTTP::_GP('email', '');
                $UserMail2 = HTTP::_GP('email2', '');
                $UserAuth = HTTP::_GP('authlevel', 0);
                $Galaxy = HTTP::_GP('galaxy', 0);
                $System = HTTP::_GP('system', 0);
                $Planet = HTTP::_GP('planet', 0);
                $Language = HTTP::_GP('lang', '');
                $ExistsUser = $GLOBALS['DATABASE']->getFirstCell("SELECT (SELECT COUNT(*) FROM " . USERS . " WHERE universe = " . Universe::getEmulated() . " AND username = '******'DATABASE']->sql_escape($UserName) . "') + (SELECT COUNT(*) FROM " . USERS_VALID . " WHERE universe = " . Universe::getEmulated() . " AND username = '******'DATABASE']->sql_escape($UserName) . "')");
                $ExistsMails = $GLOBALS['DATABASE']->getFirstCell("SELECT (SELECT COUNT(*) FROM " . USERS . " WHERE universe = " . Universe::getEmulated() . " AND (email = '" . $GLOBALS['DATABASE']->sql_escape($UserMail) . "' OR email_2 = '" . $GLOBALS['DATABASE']->sql_escape($UserMail) . "')) + (SELECT COUNT(*) FROM " . USERS_VALID . " WHERE universe = " . Universe::getEmulated() . " AND email = '" . $GLOBALS['DATABASE']->sql_escape($UserMail) . "')");
                $errors = "";
                $config = Config::get(Universe::getEmulated());
                if (!PlayerUtil::isMailValid($UserMail)) {
                    $errors .= $LNG['invalid_mail_adress'];
                }
                if (empty($UserName)) {
                    $errors .= $LNG['empty_user_field'];
                }
                if (strlen($UserPass) < 6) {
                    $errors .= $LNG['password_lenght_error'];
                }
                if ($UserPass != $UserPass2) {
                    $errors .= $LNG['different_passwords'];
                }
                if ($UserMail != $UserMail2) {
                    $errors .= $LNG['different_mails'];
                }
                if (!PlayerUtil::isNameValid($UserName)) {
                    $errors .= $LNG['user_field_specialchar'];
                }
                if ($ExistsUser != 0) {
                    $errors .= $LNG['user_already_exists'];
                }
                if ($ExistsMails != 0) {
                    $errors .= $LNG['mail_already_exists'];
                }
                if (!PlayerUtil::isPositionFree(Universe::getEmulated(), $Galaxy, $System, $Planet)) {
                    $errors .= $LNG['planet_already_exists'];
                }
                if ($Galaxy > $config->max_galaxy || $System > $config->max_system || $Planet > $config->max_planets) {
                    $errors .= $LNG['po_complete_all2'];
                }
                if (!empty($errors)) {
                    $template->message($errors, '?page=create&mode=user', 10, true);
                    exit;
                }
                $Language = array_key_exists($Language, $LNG->getAllowedLangs(false)) ? $Language : $config->lang;
                PlayerUtil::createPlayer(Universe::getEmulated(), $UserName, PlayerUtil::cryptPassword($UserPass), $UserMail, $Language, $Galaxy, $System, $Planet, $LNG['fcm_planet'], $UserAuth);
                $template->message($LNG['new_user_success'], '?page=create&mode=user', 5, true);
                exit;
            }
            $AUTH = array();
            $AUTH[AUTH_USR] = $LNG['user_level'][AUTH_USR];
            if ($USER['authlevel'] >= AUTH_OPS) {
                $AUTH[AUTH_OPS] = $LNG['user_level'][AUTH_OPS];
            }
            if ($USER['authlevel'] >= AUTH_MOD) {
                $AUTH[AUTH_MOD] = $LNG['user_level'][AUTH_MOD];
            }
            if ($USER['authlevel'] >= AUTH_ADM) {
                $AUTH[AUTH_ADM] = $LNG['user_level'][AUTH_ADM];
            }
            $template->assign_vars(array('admin_auth' => $USER['authlevel'], 'new_add_user' => $LNG['new_add_user'], 'new_creator_refresh' => $LNG['new_creator_refresh'], 'new_creator_go_back' => $LNG['new_creator_go_back'], 'universe' => $LNG['mu_universe'], 'user_reg' => $LNG['user_reg'], 'pass_reg' => $LNG['pass_reg'], 'pass2_reg' => $LNG['pass2_reg'], 'email_reg' => $LNG['email_reg'], 'email2_reg' => $LNG['email2_reg'], 'new_coord' => $LNG['new_coord'], 'new_range' => $LNG['new_range'], 'lang_reg' => $LNG['lang_reg'], 'new_title' => $LNG['new_title'], 'Selector' => array('auth' => $AUTH, 'lang' => $LNG->getAllowedLangs(false))));
            $template->show('CreatePageUser.tpl');
            break;
        case 'moon':
            if ($_POST) {
                $PlanetID = HTTP::_GP('add_moon', 0);
                $MoonName = HTTP::_GP('name', '', UTF8_SUPPORT);
                $Diameter = HTTP::_GP('diameter', 0);
                $MoonPlanet = $GLOBALS['DATABASE']->getFirstRow("SELECT temp_max, temp_min, id_luna, galaxy, system, planet, planet_type, destruyed, id_owner FROM " . PLANETS . " WHERE id = '" . $PlanetID . "' AND universe = '" . Universe::getEmulated() . "' AND planet_type = '1' AND destruyed = '0';");
                if (!isset($MoonPlanet)) {
                    $template->message($LNG['mo_planet_doesnt_exist'], '?page=create&mode=moon', 3, true);
                    exit;
                }
                $moonId = PlayerUtil::createMoon(Universe::getEmulated(), $MoonPlanet['galaxy'], $MoonPlanet['system'], $MoonPlanet['planet'], $MoonPlanet['id_owner'], 20, $_POST['diameter_check'] == 'on' ? NULL : $Diameter, $MoonName);
                if ($moonId !== false) {
                    $template->message($LNG['mo_moon_added'], '?page=create&mode=moon', 3, true);
                } else {
                    $template->message($LNG['mo_moon_unavaible'], '?page=create&mode=moon', 3, true);
                }
                exit;
            }
            $template->assign_vars(array('admin_auth' => $USER['authlevel'], 'universum' => $LNG['mu_universe'], 'po_add_moon' => $LNG['po_add_moon'], 'input_id_planet' => $LNG['input_id_planet'], 'mo_moon_name' => $LNG['mo_moon_name'], 'mo_diameter' => $LNG['mo_diameter'], 'mo_temperature' => $LNG['mo_temperature'], 'mo_fields_avaibles' => $LNG['mo_fields_avaibles'], 'button_add' => $LNG['button_add'], 'new_creator_refresh' => $LNG['new_creator_refresh'], 'mo_moon' => $LNG['fcm_moon'], 'new_creator_go_back' => $LNG['new_creator_go_back']));
            $template->show('CreatePageMoon.tpl');
            break;
        case 'planet':
            if ($_POST) {
                $id = HTTP::_GP('id', 0);
                $Galaxy = HTTP::_GP('galaxy', 0);
                $System = HTTP::_GP('system', 0);
                $Planet = HTTP::_GP('planet', 0);
                $name = HTTP::_GP('name', '', UTF8_SUPPORT);
                $field_max = HTTP::_GP('field_max', 0);
                $config = Config::get(Universe::getEmulated());
                if ($Galaxy > $config->max_galaxy || $System > $config->max_system || $Planet > $config->max_planets) {
                    $template->message($LNG['po_complete_all2'], '?page=create&mode=planet', 3, true);
                    exit;
                }
                $ISUser = $GLOBALS['DATABASE']->getFirstRow("SELECT id, authlevel FROM " . USERS . " WHERE id = '" . $id . "' AND universe = '" . Universe::getEmulated() . "';");
                if (!PlayerUtil::checkPosition(Universe::getEmulated(), $Galaxy, $System, $Planet) || !isset($ISUser)) {
                    $template->message($LNG['po_complete_all'], '?page=create&mode=planet', 3, true);
                    exit;
                }
                $planetId = PlayerUtil::createPlanet($Galaxy, $System, $Planet, Universe::getEmulated(), $id, NULL, false, $ISUser['authlevel']);
                $SQL = "UPDATE " . PLANETS . " SET ";
                if ($_POST['diameter_check'] != 'on' || $field_max > 0) {
                    $SQL .= "field_max = '" . $field_max . "' ";
                }
                if (!empty($name)) {
                    $SQL .= ", name = '" . $GLOBALS['DATABASE']->sql_escape($name) . "' ";
                }
                $SQL .= "WHERE ";
                $SQL .= "id = '" . $planetId . "'";
                $GLOBALS['DATABASE']->query($SQL);
                $template->message($LNG['po_complete_succes'], '?page=create&mode=planet', 3, true);
                exit;
            }
            $template->assign_vars(array('admin_auth' => $USER['authlevel'], 'po_add_planet' => $LNG['po_add_planet'], 'po_galaxy' => $LNG['po_galaxy'], 'po_system' => $LNG['po_system'], 'po_planet' => $LNG['po_planet'], 'input_id_user' => $LNG['input_id_user'], 'new_creator_coor' => $LNG['new_creator_coor'], 'po_name_planet' => $LNG['po_name_planet'], 'po_fields_max' => $LNG['po_fields_max'], 'button_add' => $LNG['button_add'], 'po_colony' => $LNG['fcp_colony'], 'new_creator_refresh' => $LNG['new_creator_refresh'], 'new_creator_go_back' => $LNG['new_creator_go_back']));
            $template->show('CreatePagePlanet.tpl');
            break;
        default:
            $template->assign_vars(array('new_creator_title_u' => $LNG['new_creator_title_u'], 'new_creator_title_p' => $LNG['new_creator_title_p'], 'new_creator_title_l' => $LNG['new_creator_title_l'], 'new_creator_title' => $LNG['new_creator_title']));
            $template->show('CreatePage.tpl');
            break;
    }
}
예제 #19
0
function ShowBanPage()
{
    global $LNG, $USER;
    $ORDER = $_GET['order'] == 'id' ? "id" : "username";
    if ($_GET['view'] == 'bana') {
        $WHEREBANA = "AND `bana` = '1'";
    }
    $UserList = $GLOBALS['DATABASE']->query("SELECT `username`, `id`, `bana` FROM " . USERS . " WHERE `id` != 1 AND `authlevel` <= '" . $USER['authlevel'] . "' AND `universe` = '" . Universe::getEmulated() . "' " . $WHEREBANA . " ORDER BY " . $ORDER . " ASC;");
    $UserSelect = array('List' => '', 'ListBan' => '');
    $Users = 0;
    while ($a = $GLOBALS['DATABASE']->fetch_array($UserList)) {
        $UserSelect['List'] .= '<option value="' . $a['username'] . '">' . $a['username'] . '&nbsp;&nbsp;(ID:&nbsp;' . $a['id'] . ')' . ($a['bana'] == '1' ? $LNG['bo_characters_suus'] : '') . '</option>';
        $Users++;
    }
    $GLOBALS['DATABASE']->free_result($UserList);
    $ORDER2 = $_GET['order2'] == 'id' ? "id" : "username";
    $Banneds = 0;
    $UserListBan = $GLOBALS['DATABASE']->query("SELECT `username`, `id` FROM " . USERS . " WHERE `bana` = '1' AND `universe` = '" . Universe::getEmulated() . "' ORDER BY " . $ORDER2 . " ASC;");
    while ($b = $GLOBALS['DATABASE']->fetch_array($UserListBan)) {
        $UserSelect['ListBan'] .= '<option value="' . $b['username'] . '">' . $b['username'] . '&nbsp;&nbsp;(ID:&nbsp;' . $b['id'] . ')</option>';
        $Banneds++;
    }
    $GLOBALS['DATABASE']->free_result($UserListBan);
    $template = new template();
    $template->loadscript('filterlist.js');
    $Name = HTTP::_GP('ban_name', '', true);
    $BANUSER = $GLOBALS['DATABASE']->getFirstRow("SELECT b.theme, b.longer, u.id, u.urlaubs_modus, u.banaday FROM " . USERS . " as u LEFT JOIN " . BANNED . " as b ON u.`username` = b.`who` WHERE u.`username` = '" . $GLOBALS['DATABASE']->sql_escape($Name) . "' AND u.`universe` = '" . Universe::getEmulated() . "';");
    if (isset($_POST['panel'])) {
        if ($BANUSER['banaday'] <= TIMESTAMP) {
            $title = $LNG['bo_bbb_title_1'];
            $changedate = $LNG['bo_bbb_title_2'];
            $changedate_advert = '';
            $reas = '';
            $timesus = '';
        } else {
            $title = $LNG['bo_bbb_title_3'];
            $changedate = $LNG['bo_bbb_title_6'];
            $changedate_advert = '<td class="c" width="18px"><img src="./styles/resource/images/admin/i.gif" class="tooltip" data-tooltip-content="' . $LNG['bo_bbb_title_4'] . '"></td>';
            $reas = $BANUSER['theme'];
            $timesus = "<tr>\n\t\t\t\t\t<th>" . $LNG['bo_bbb_title_5'] . "</th>\n\t\t\t\t\t<th height=25 colspan=2>" . date($LNG['php_tdformat'], $BANUSER['longer']) . "</th>\n\t\t\t\t</tr>";
        }
        $vacation = $BANUSER['urlaubs_modus'] == 1 ? true : false;
        $template->assign_vars(array('name' => $Name, 'bantitle' => $title, 'changedate' => $changedate, 'reas' => $reas, 'changedate_advert' => $changedate_advert, 'timesus' => $timesus, 'vacation' => $vacation));
    } elseif (isset($_POST['bannow']) && $BANUSER['id'] != 1) {
        $Name = HTTP::_GP('ban_name', '', true);
        $reas = HTTP::_GP('why', '', true);
        $days = HTTP::_GP('days', 0);
        $hour = HTTP::_GP('hour', 0);
        $mins = HTTP::_GP('mins', 0);
        $secs = HTTP::_GP('secs', 0);
        $admin = $USER['username'];
        $mail = $USER['email'];
        $BanTime = $days * 86400 + $hour * 3600 + $mins * 60 + $secs;
        if ($BANUSER['longer'] > TIMESTAMP) {
            $BanTime += $BANUSER['longer'] - TIMESTAMP;
        }
        if (isset($_POST['permanent'])) {
            $BannedUntil = 2147483647;
        } else {
            $BannedUntil = $BanTime + TIMESTAMP < TIMESTAMP ? TIMESTAMP : TIMESTAMP + $BanTime;
        }
        if ($BANUSER['banaday'] > TIMESTAMP) {
            $SQL = "UPDATE " . BANNED . " SET ";
            $SQL .= "`who` = '" . $Name . "', ";
            $SQL .= "`theme` = '" . $reas . "', ";
            $SQL .= "`time` = '" . TIMESTAMP . "', ";
            $SQL .= "`longer` = '" . $BannedUntil . "', ";
            $SQL .= "`author` = '" . $admin . "', ";
            $SQL .= "`email` = '" . $mail . "' ";
            $SQL .= "WHERE `who2` = '" . $Name . "' AND `universe` = '" . Universe::getEmulated() . "';";
            $GLOBALS['DATABASE']->query($SQL);
        } else {
            $SQL = "INSERT INTO " . BANNED . " SET ";
            $SQL .= "`who` = '" . $Name . "', ";
            $SQL .= "`theme` = '" . $reas . "', ";
            $SQL .= "`time` = '" . TIMESTAMP . "', ";
            $SQL .= "`longer` = '" . $BannedUntil . "', ";
            $SQL .= "`author` = '" . $admin . "', ";
            $SQL .= "`universe` = '" . Universe::getEmulated() . "', ";
            $SQL .= "`email` = '" . $mail . "';";
            $GLOBALS['DATABASE']->query($SQL);
        }
        $SQL = "UPDATE " . USERS . " SET ";
        $SQL .= "`bana` = '1', ";
        $SQL .= "`banaday` = '" . $BannedUntil . "', ";
        $SQL .= isset($_POST['vacat']) ? "`urlaubs_modus` = '1'" : "`urlaubs_modus` = '0'";
        $SQL .= "WHERE ";
        $SQL .= "`username` = '" . $Name . "' AND `universe` = '" . Universe::getEmulated() . "';";
        $GLOBALS['DATABASE']->query($SQL);
        $template->message($LNG['bo_the_player'] . $Name . $LNG['bo_banned'], '?page=bans');
        exit;
    } elseif (isset($_POST['unban_name'])) {
        $Name = HTTP::_GP('unban_name', '', true);
        $GLOBALS['DATABASE']->query("UPDATE " . USERS . " SET bana = '0', banaday = '0' WHERE username = '******'DATABASE']->sql_escape($Name) . "' AND `universe` = '" . Universe::getEmulated() . "';");
        #DELETE FROM ".BANNED." WHERE who = '".$GLOBALS['DATABASE']->sql_escape($Name)."' AND `universe` = '".Universe::getEmulated()."';
        $template->message($LNG['bo_the_player2'] . $Name . $LNG['bo_unbanned'], '?page=bans');
        exit;
    }
    $template->assign_vars(array('UserSelect' => $UserSelect, 'usercount' => $Users, 'bancount' => $Banneds));
    $template->show('BanPage.tpl');
}
예제 #20
0
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` = '" . Universe::getEmulated() . "';");
        if (!isset($OnlyQueryLogin)) {
            $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 " . 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>&nbsp;</td>";
                $techoffi .= isset($officier[$i]) ? "<td>" . $LNG['tech'][$officier[$i]] . ": <font color=aqua>" . $UserQuery[$resource[$officier[$i]]] . "</font></td></tr>" : "<td>&nbsp;</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'] . "&nbsp;" . $LNG['ac_no_alliance'] . "</span>";
            } elseif ($alianza != NULL && $AliID != 0) {
                include_once 'includes/classes/BBCode.class.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'] . "&nbsp;" . $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::parse($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::parse($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::parse($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\">&nbsp;</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'] . "&nbsp;(" . $LNG['ac_moon'] . ")<br><font color=aqua>[" . $PlanetsWhile['galaxy'] . ":" . $PlanetsWhile['system'] . ":" . $PlanetsWhile['planet'] . "]</font>";
                    $MoonZ = 0;
                    $Moons = $PlanetsWhile['name'] . "&nbsp;(" . $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'] . "&nbsp;" . $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` = '" . Universe::getEmulated() . "' ORDER BY `username` ASC;");
    while ($UserList = $GLOBALS['DATABASE']->fetch_array($UserWhileLogin)) {
        $Userlist .= "<option value=\"" . $UserList['id'] . "\">" . $UserList['username'] . "&nbsp;&nbsp;(" . $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');
}
예제 #21
0
function ShowRightsPage()
{
    global $LNG, $USER;
    $mode = HTTP::_GP('mode', '');
    switch ($mode) {
        case 'rights':
            $template = new template();
            $template->loadscript('filterlist.js');
            if ($_POST) {
                $id = HTTP::_GP('id_1', 0);
                if ($USER['id'] != ROOT_USER && $id == ROOT_USER) {
                    $template->message($LNG['ad_authlevel_error_3'], '?page=rights&mode=rights&sid=' . session_id());
                    exit;
                }
                if (!isset($_POST['rights'])) {
                    $_POST['rights'] = array();
                }
                if ($_POST['action'] == 'send') {
                    $GLOBALS['DATABASE']->query("UPDATE " . USERS . " SET `rights` = '" . serialize(array_map('intval', $_POST['rights'])) . "' WHERE `id` = '" . $id . "';");
                }
                $Rights = $GLOBALS['DATABASE']->getFirstRow("SELECT rights FROM " . USERS . " WHERE `id` = '" . $id . "';");
                if (($Rights['rights'] = unserialize($Rights['rights'])) === false) {
                    $Rights['rights'] = array();
                }
                $Files = array_map('prepare', array_diff(scandir('includes/pages/adm/'), array('.', '..', '.svn', 'index.html', '.htaccess', 'ShowIndexPage.php', 'ShowOverviewPage.php', 'ShowMenuPage.php', 'ShowTopnavPage.php')));
                $template->assign_vars(array('Files' => $Files, 'Rights' => $Rights['rights'], 'id' => $id, 'yesorno' => $LNG['one_is_yes'], 'ad_authlevel_title' => $LNG['ad_authlevel_title'], 'button_submit' => $LNG['button_submit'], 'sid' => session_id()));
                $template->show('ModerrationRightsPostPage.tpl');
                exit;
            }
            if ($_GET['get'] == 'adm') {
                $WHEREUSERS = "AND `authlevel` = '" . AUTH_ADM . "'";
            } elseif ($_GET['get'] == 'ope') {
                $WHEREUSERS = "AND `authlevel` = '" . AUTH_OPS . "'";
            } elseif ($_GET['get'] == 'mod') {
                $WHEREUSERS = "AND `authlevel` = '" . AUTH_MOD . "'";
            } elseif ($_GET['get'] == 'pla') {
                $WHEREUSERS = "AND `authlevel` = '" . AUTH_USR . "'";
            }
            $QueryUsers = $GLOBALS['DATABASE']->query("SELECT `id`, `username`, `authlevel` FROM " . USERS . " WHERE `universe` = '" . Universe::getEmulated() . "'" . $WHEREUSERS . ";");
            $UserList = "";
            while ($List = $GLOBALS['DATABASE']->fetch_array($QueryUsers)) {
                $UserList .= '<option value="' . $List['id'] . '">' . $List['username'] . '&nbsp;&nbsp;(' . $LNG['rank'][$List['authlevel']] . ')</option>';
            }
            $template->assign_vars(array('Selector' => array(0 => $LNG['rank'][0], 1 => $LNG['rank'][1], 2 => $LNG['rank'][2], 3 => $LNG['rank'][3]), 'UserList' => $UserList, 'ad_authlevel_title' => $LNG['ad_authlevel_title'], 'bo_select_title' => $LNG['bo_select_title'], 'button_submit' => $LNG['button_submit'], 'button_deselect' => $LNG['button_deselect'], 'button_filter' => $LNG['button_filter'], 'ad_authlevel_insert_id' => $LNG['ad_authlevel_insert_id'], 'ad_authlevel_auth' => $LNG['ad_authlevel_auth'], 'ad_authlevel_aa' => $LNG['ad_authlevel_aa'], 'ad_authlevel_oo' => $LNG['ad_authlevel_oo'], 'ad_authlevel_mm' => $LNG['ad_authlevel_mm'], 'ad_authlevel_jj' => $LNG['ad_authlevel_jj'], 'ad_authlevel_tt' => $LNG['ad_authlevel_tt'], 'sid' => session_id()));
            $template->show('ModerrationRightsPage.tpl');
            break;
        case 'users':
            $template = new template();
            $template->loadscript('filterlist.js');
            if ($_POST) {
                $id = HTTP::_GP('id_1', 0);
                $authlevel = HTTP::_GP('authlevel', 0);
                if ($id == 0) {
                    $id = HTTP::_GP('id_2', 0);
                }
                if ($USER['id'] != ROOT_USER && $id == ROOT_USER) {
                    $template->message($LNG['ad_authlevel_error_3'], '?page=rights&mode=users&sid=' . session_id());
                    exit;
                }
                $GLOBALS['DATABASE']->multi_query("UPDATE " . USERS . " SET `authlevel` = '" . HTTP::_GP('authlevel', 0) . "' WHERE `id` = '" . $id . "';");
                $template->message($LNG['ad_authlevel_succes'], '?page=rights&mode=users&sid=' . session_id());
                exit;
            }
            if ($_GET['get'] == 'adm') {
                $WHEREUSERS = "AND `authlevel` = '" . AUTH_ADM . "'";
            } elseif ($_GET['get'] == 'ope') {
                $WHEREUSERS = "AND `authlevel` = '" . AUTH_OPS . "'";
            } elseif ($_GET['get'] == 'mod') {
                $WHEREUSERS = "AND `authlevel` = '" . AUTH_MOD . "'";
            } elseif ($_GET['get'] == 'pla') {
                $WHEREUSERS = "AND `authlevel` = '" . AUTH_USR . "'";
            }
            $QueryUsers = $GLOBALS['DATABASE']->query("SELECT `id`, `username`, `authlevel` FROM " . USERS . " WHERE `universe` = '" . Universe::getEmulated() . "'" . $WHEREUSERS . ";");
            $UserList = "";
            while ($List = $GLOBALS['DATABASE']->fetch_array($QueryUsers)) {
                $UserList .= '<option value="' . $List['id'] . '">' . $List['username'] . '&nbsp;&nbsp;(' . $LNG['rank'][$List['authlevel']] . ')</option>';
            }
            $template->assign_vars(array('Selector' => array(0 => $LNG['rank'][0], 1 => $LNG['rank'][1], 2 => $LNG['rank'][2], 3 => $LNG['rank'][3]), 'UserList' => $UserList, 'ad_authlevel_title' => $LNG['ad_authlevel_title'], 'bo_select_title' => $LNG['bo_select_title'], 'button_submit' => $LNG['button_submit'], 'button_deselect' => $LNG['button_deselect'], 'button_filter' => $LNG['button_filter'], 'ad_authlevel_insert_id' => $LNG['ad_authlevel_insert_id'], 'ad_authlevel_auth' => $LNG['ad_authlevel_auth'], 'ad_authlevel_aa' => $LNG['ad_authlevel_aa'], 'ad_authlevel_oo' => $LNG['ad_authlevel_oo'], 'ad_authlevel_mm' => $LNG['ad_authlevel_mm'], 'ad_authlevel_jj' => $LNG['ad_authlevel_jj'], 'ad_authlevel_tt' => $LNG['ad_authlevel_tt'], 'sid' => session_id()));
            $template->show('ModerrationUsersPage.tpl');
            break;
    }
}
예제 #22
0
function ShowQuickEditorPage()
{
    global $USER, $LNG, $reslist, $resource;
    $action = HTTP::_GP('action', '');
    $edit = HTTP::_GP('edit', '');
    $id = HTTP::_GP('id', 0);
    switch ($edit) {
        case 'planet':
            $DataIDs = array_merge($reslist['fleet'], $reslist['build'], $reslist['defense']);
            $SpecifyItemsPQ = "";
            foreach ($DataIDs as $ID) {
                $SpecifyItemsPQ .= "`" . $resource[$ID] . "`,";
            }
            $PlanetData = $GLOBALS['DATABASE']->getFirstRow("SELECT " . $SpecifyItemsPQ . " `name`, `id_owner`, `planet_type`, `galaxy`, `system`, `planet`, `destruyed`, `diameter`, `field_current`, `field_max`, `temp_min`, `temp_max`, `metal`, `crystal`, `deuterium` FROM " . PLANETS . " WHERE `id` = '" . $id . "';");
            if ($action == 'send') {
                $SQL = "UPDATE " . PLANETS . " SET ";
                $Fields = $PlanetData['field_current'];
                foreach ($DataIDs as $ID) {
                    $level = min(max(0, round(HTTP::_GP($resource[$ID], 0.0))), in_array($ID, $reslist['build']) ? 255 : 1.8446744073709552E+19);
                    if (in_array($ID, $reslist['allow'][$PlanetData['planet_type']])) {
                        $Fields += $level - $PlanetData[$resource[$ID]];
                    }
                    $SQL .= "`" . $resource[$ID] . "` = " . $level . ", ";
                }
                $SQL .= "`metal` = " . max(0, round(HTTP::_GP('metal', 0.0))) . ", ";
                $SQL .= "`crystal` = " . max(0, round(HTTP::_GP('crystal', 0.0))) . ", ";
                $SQL .= "`deuterium` = " . max(0, round(HTTP::_GP('deuterium', 0.0))) . ", ";
                $SQL .= "`field_current` = '" . $Fields . "', ";
                $SQL .= "`field_max` = '" . HTTP::_GP('field_max', 0) . "', ";
                $SQL .= "`name` = '" . $GLOBALS['DATABASE']->sql_escape(HTTP::_GP('name', '', UTF8_SUPPORT)) . "', ";
                $SQL .= "`eco_hash` = '' ";
                $SQL .= "WHERE `id` = '" . $id . "' AND `universe` = '" . Universe::getEmulated() . "';";
                $GLOBALS['DATABASE']->query($SQL);
                $old = array();
                $new = array();
                foreach (array_merge($DataIDs, $reslist['resstype'][1]) as $IDs) {
                    $old[$IDs] = $PlanetData[$resource[$IDs]];
                    $new[$IDs] = max(0, round(HTTP::_GP($resource[$IDs], 0.0)));
                }
                $old['field_max'] = $PlanetData['field_max'];
                $new['field_max'] = HTTP::_GP('field_max', 0);
                $LOG = new Log(2);
                $LOG->target = $id;
                $LOG->old = $old;
                $LOG->new = $new;
                $LOG->save();
                exit(sprintf($LNG['qe_edit_planet_sucess'], $PlanetData['name'], $PlanetData['galaxy'], $PlanetData['system'], $PlanetData['planet']));
            }
            $UserInfo = $GLOBALS['DATABASE']->getFirstRow("SELECT `username` FROM " . USERS . " WHERE `id` = '" . $PlanetData['id_owner'] . "' AND `universe` = '" . Universe::getEmulated() . "';");
            $build = $defense = $fleet = array();
            foreach ($reslist['allow'][$PlanetData['planet_type']] as $ID) {
                $build[] = array('type' => $resource[$ID], 'name' => $LNG['tech'][$ID], 'count' => pretty_number($PlanetData[$resource[$ID]]), 'input' => $PlanetData[$resource[$ID]]);
            }
            foreach ($reslist['fleet'] as $ID) {
                $fleet[] = array('type' => $resource[$ID], 'name' => $LNG['tech'][$ID], 'count' => pretty_number($PlanetData[$resource[$ID]]), 'input' => $PlanetData[$resource[$ID]]);
            }
            foreach ($reslist['defense'] as $ID) {
                $defense[] = array('type' => $resource[$ID], 'name' => $LNG['tech'][$ID], 'count' => pretty_number($PlanetData[$resource[$ID]]), 'input' => $PlanetData[$resource[$ID]]);
            }
            $template = new template();
            $template->assign_vars(array('build' => $build, 'fleet' => $fleet, 'defense' => $defense, 'id' => $id, 'ownerid' => $PlanetData['id_owner'], 'ownername' => $UserInfo['username'], 'name' => $PlanetData['name'], 'galaxy' => $PlanetData['galaxy'], 'system' => $PlanetData['system'], 'planet' => $PlanetData['planet'], 'field_min' => $PlanetData['field_current'], 'field_max' => $PlanetData['field_max'], 'temp_min' => $PlanetData['temp_min'], 'temp_max' => $PlanetData['temp_max'], 'metal' => floatToString($PlanetData['metal']), 'crystal' => floatToString($PlanetData['crystal']), 'deuterium' => floatToString($PlanetData['deuterium']), 'metal_c' => pretty_number($PlanetData['metal']), 'crystal_c' => pretty_number($PlanetData['crystal']), 'deuterium_c' => pretty_number($PlanetData['deuterium'])));
            $template->show('QuickEditorPlanet.tpl');
            break;
        case 'player':
            $DataIDs = array_merge($reslist['tech'], $reslist['officier']);
            $SpecifyItemsPQ = "";
            foreach ($DataIDs as $ID) {
                $SpecifyItemsPQ .= "`" . $resource[$ID] . "`,";
            }
            $UserData = $GLOBALS['DATABASE']->getFirstRow("SELECT " . $SpecifyItemsPQ . " `username`, `authlevel`, `galaxy`, `system`, `planet`, `id_planet`, `darkmatter`, `authattack`, `authlevel` FROM " . USERS . " WHERE `id` = '" . $id . "';");
            $ChangePW = $USER['id'] == ROOT_USER || $id != ROOT_USER && $USER['authlevel'] > $UserData['authlevel'];
            if ($action == 'send') {
                $SQL = "UPDATE " . USERS . " SET ";
                foreach ($DataIDs as $ID) {
                    $SQL .= "`" . $resource[$ID] . "` = " . min(abs(HTTP::_GP($resource[$ID], 0)), 255) . ", ";
                }
                $SQL .= "`darkmatter` = '" . max(HTTP::_GP('darkmatter', 0), 0) . "', ";
                if (!empty($_POST['password']) && $ChangePW) {
                    $SQL .= "`password` = '" . PlayerUtil::cryptPassword(HTTP::_GP('password', '', true)) . "', ";
                }
                $SQL .= "`username` = '" . $GLOBALS['DATABASE']->sql_escape(HTTP::_GP('name', '', UTF8_SUPPORT)) . "', ";
                $SQL .= "`authattack` = '" . ($UserData['authlevel'] != AUTH_USR && HTTP::_GP('authattack', '') == 'on' ? $UserData['authlevel'] : 0) . "' ";
                $SQL .= "WHERE `id` = '" . $id . "' AND `universe` = '" . Universe::getEmulated() . "';";
                $GLOBALS['DATABASE']->query($SQL);
                $old = array();
                $new = array();
                $multi = HTTP::_GP('multi', 0);
                foreach ($DataIDs as $IDs) {
                    $old[$IDs] = $UserData[$resource[$IDs]];
                    $new[$IDs] = abs(HTTP::_GP($resource[$IDs], 0));
                }
                $old[921] = $UserData[$resource[921]];
                $new[921] = abs(HTTP::_GP($resource[921], 0));
                $old['username'] = $UserData['username'];
                $new['username'] = $GLOBALS['DATABASE']->sql_escape(HTTP::_GP('name', '', UTF8_SUPPORT));
                $old['authattack'] = $UserData['authattack'];
                $new['authattack'] = $UserData['authlevel'] != AUTH_USR && HTTP::_GP('authattack', '') == 'on' ? $UserData['authlevel'] : 0;
                $old['multi'] = $GLOBALS['DATABASE']->getFirstCell("SELECT COUNT(*) FROM " . MULTI . " WHERE userID = " . $id . ";");
                $new['authattack'] = $multi;
                if ($old['multi'] != $multi) {
                    if ($multi == 0) {
                        $GLOBALS['DATABASE']->query("DELETE FROM " . MULTI . " WHERE userID = " . (int) $id . ";");
                    } elseif ($multi == 1) {
                        $GLOBALS['DATABASE']->query("INSERT INTO " . MULTI . " SET userID = " . (int) $id . ";");
                    }
                }
                $LOG = new Log(1);
                $LOG->target = $id;
                $LOG->old = $old;
                $LOG->new = $new;
                $LOG->save();
                exit(sprintf($LNG['qe_edit_player_sucess'], $UserData['username'], $id));
            }
            $PlanetInfo = $GLOBALS['DATABASE']->getFirstRow("SELECT `name` FROM " . PLANETS . " WHERE `id` = '" . $UserData['id_planet'] . "' AND `universe` = '" . Universe::getEmulated() . "';");
            $tech = array();
            $officier = array();
            foreach ($reslist['tech'] as $ID) {
                $tech[] = array('type' => $resource[$ID], 'name' => $LNG['tech'][$ID], 'count' => pretty_number($UserData[$resource[$ID]]), 'input' => $UserData[$resource[$ID]]);
            }
            foreach ($reslist['officier'] as $ID) {
                $officier[] = array('type' => $resource[$ID], 'name' => $LNG['tech'][$ID], 'count' => pretty_number($UserData[$resource[$ID]]), 'input' => $UserData[$resource[$ID]]);
            }
            $template = new template();
            $template->assign_vars(array('tech' => $tech, 'officier' => $officier, 'id' => $id, 'planetid' => $UserData['id_planet'], 'planetname' => $PlanetInfo['name'], 'name' => $UserData['username'], 'galaxy' => $UserData['galaxy'], 'system' => $UserData['system'], 'planet' => $UserData['planet'], 'authlevel' => $UserData['authlevel'], 'authattack' => $UserData['authattack'], 'multi' => $GLOBALS['DATABASE']->getFirstCell("SELECT COUNT(*) FROM " . MULTI . " WHERE userID = " . $id . ";"), 'ChangePW' => $ChangePW, 'darkmatter' => floatToString($UserData['darkmatter']), 'darkmatter_c' => pretty_number($UserData['darkmatter'])));
            $template->show('QuickEditorUser.tpl');
            break;
    }
}
예제 #23
0
function ShowAccountEditorPage()
{
    global $LNG, $reslist, $resource;
    $template = new template();
    switch ($_GET['edit']) {
        case 'resources':
            $id = HTTP::_GP('id', 0);
            $id_dark = HTTP::_GP('id_dark', 0);
            $metal = max(0, round(HTTP::_GP('metal', 0.0)));
            $cristal = max(0, round(HTTP::_GP('cristal', 0.0)));
            $deut = max(0, round(HTTP::_GP('deut', 0.0)));
            $dark = HTTP::_GP('dark', 0);
            if ($_POST) {
                if (!empty($id)) {
                    $before = $GLOBALS['DATABASE']->getFirstRow("SELECT `metal`,`crystal`,`deuterium`,`universe`  FROM " . PLANETS . " WHERE `id` = '" . $id . "';");
                }
                if (!empty($id_dark)) {
                    $before_dm = $GLOBALS['DATABASE']->getFirstRow("SELECT `darkmatter` FROM " . USERS . " WHERE `id` = '" . $id_dark . "';");
                }
                if ($_POST['add']) {
                    if (!empty($id)) {
                        $SQL = "UPDATE " . PLANETS . " SET ";
                        $SQL .= "`metal` = `metal` + '" . $metal . "', ";
                        $SQL .= "`crystal` = `crystal` + '" . $cristal . "', ";
                        $SQL .= "`deuterium` = `deuterium` + '" . $deut . "' ";
                        $SQL .= "WHERE ";
                        $SQL .= "`id` = '" . $id . "' AND `universe` = '" . Universe::getEmulated() . "';";
                        $GLOBALS['DATABASE']->query($SQL);
                        $after = array('metal' => $before['metal'] + $metal, 'crystal' => $before['crystal'] + $cristal, 'deuterium' => $before['deuterium'] + $deut);
                    }
                    if (!empty($id_dark)) {
                        $SQL = "UPDATE " . USERS . " SET ";
                        $SQL .= "`darkmatter` = `darkmatter` + '" . $dark . "' ";
                        $SQL .= "WHERE ";
                        $SQL .= "`id` = '" . $id_dark . "' AND `universe` = '" . Universe::getEmulated() . "' ";
                        $GLOBALS['DATABASE']->query($SQL);
                        $after_dm = array('darkmatter' => $before_dm['darkmatter'] + $dark);
                    }
                } elseif ($_POST['delete']) {
                    if (!empty($id)) {
                        $SQL = "UPDATE " . PLANETS . " SET ";
                        $SQL .= "`metal` = `metal` - '" . $metal . "', ";
                        $SQL .= "`crystal` = `crystal` - '" . $cristal . "', ";
                        $SQL .= "`deuterium` = `deuterium` - '" . $deut . "' ";
                        $SQL .= "WHERE ";
                        $SQL .= "`id` = '" . $id . "' AND `universe` = '" . Universe::getEmulated() . "';";
                        $GLOBALS['DATABASE']->query($SQL);
                        $after = array('metal' => $before['metal'] - $metal, 'crystal' => $before['crystal'] - $cristal, 'deuterium' => $before['deuterium'] - $deut);
                    }
                    if (!empty($id_dark)) {
                        $SQL = "UPDATE " . USERS . " SET ";
                        $SQL .= "`darkmatter` = `darkmatter` - '" . $dark . "' ";
                        $SQL .= "WHERE ";
                        $SQL .= "`id` = '" . $id_dark . "';";
                        $GLOBALS['DATABASE']->query($SQL);
                        $after_dm = array('darkmatter' => $before_dm['darkmatter'] - $dark);
                    }
                }
                if (!empty($id)) {
                    $LOG = new Log(2);
                    $LOG->target = $id;
                    $LOG->universe = $before_dm['universe'];
                    $LOG->old = $before;
                    $LOG->new = $after;
                    $LOG->save();
                }
                if (!empty($id_dark)) {
                    $LOG = new Log(1);
                    $LOG->target = $id_dark;
                    $LOG->universe = $before_dm['universe'];
                    $LOG->old = $before_dm;
                    $LOG->new = $after_dm;
                    $LOG->save();
                }
                if ($_POST['add']) {
                    $template->message($LNG['ad_add_res_sucess'], '?page=accounteditor&edit=resources');
                } else {
                    if ($_POST['delete']) {
                        $template->message($LNG['ad_delete_res_sucess'], '?page=accounteditor&edit=resources');
                    }
                }
                exit;
            }
            $template->show('AccountEditorPageResources.tpl');
            break;
        case 'ships':
            if ($_POST) {
                $before1 = $GLOBALS['DATABASE']->getFirstRow("SELECT * FROM " . PLANETS . " WHERE `id` = '" . HTTP::_GP('id', 0) . "';");
                $before = array();
                $after = array();
                foreach ($reslist['fleet'] as $ID) {
                    $before[$ID] = $before1[$resource[$ID]];
                }
                if ($_POST['add']) {
                    $SQL = "UPDATE " . PLANETS . " SET ";
                    $SQL .= "`eco_hash` = '', ";
                    foreach ($reslist['fleet'] as $ID) {
                        $QryUpdate[] = "`" . $resource[$ID] . "` = `" . $resource[$ID] . "` + '" . max(0, round(HTTP::_GP($resource[$ID], 0.0))) . "'";
                        $after[$ID] = $before[$ID] + max(0, round(HTTP::_GP($resource[$ID], 0.0)));
                    }
                    $SQL .= implode(", ", $QryUpdate);
                    $SQL .= "WHERE ";
                    $SQL .= "`id` = '" . HTTP::_GP('id', 0) . "' AND `universe` = '" . Universe::getEmulated() . "';";
                    $GLOBALS['DATABASE']->query($SQL);
                } elseif ($_POST['delete']) {
                    $SQL = "UPDATE " . PLANETS . " SET ";
                    $SQL .= "`eco_hash` = '', ";
                    foreach ($reslist['fleet'] as $ID) {
                        $QryUpdate[] = "`" . $resource[$ID] . "` = `" . $resource[$ID] . "` - '" . max(0, round(HTTP::_GP($resource[$ID], 0.0))) . "'";
                        $after[$ID] = max($before[$ID] - max(0, round(HTTP::_GP($resource[$ID], 0.0))), 0);
                    }
                    $SQL .= implode(", ", $QryUpdate);
                    $SQL .= "WHERE ";
                    $SQL .= "`id` = '" . HTTP::_GP('id', 0) . "' AND `universe` = '" . Universe::getEmulated() . "';";
                    $GLOBALS['DATABASE']->query($SQL);
                }
                $LOG = new Log(2);
                $LOG->target = HTTP::_GP('id', 0);
                $LOG->universe = $before1['universe'];
                $LOG->old = $before;
                $LOG->new = $after;
                $LOG->save();
                if ($_POST['add']) {
                    $template->message($LNG['ad_add_ships_sucess'], '?page=accounteditor&edit=ships');
                } else {
                    if ($_POST['delete']) {
                        $template->message($LNG['ad_delete_ships_sucess'], '?page=accounteditor&edit=ships');
                    }
                }
                exit;
            }
            $parse['ships'] = "";
            foreach ($reslist['fleet'] as $ID) {
                $INPUT[$ID] = array('type' => $resource[$ID]);
            }
            $template->assign_vars(array('inputlist' => $INPUT));
            $template->show('AccountEditorPageShips.tpl');
            break;
        case 'defenses':
            if ($_POST) {
                $before1 = $GLOBALS['DATABASE']->getFirstRow("SELECT * FROM " . PLANETS . " WHERE `id` = '" . HTTP::_GP('id', 0) . "';");
                $before = array();
                $after = array();
                foreach ($reslist['defense'] as $ID) {
                    $before[$ID] = $before1[$resource[$ID]];
                }
                if ($_POST['add']) {
                    $SQL = "UPDATE " . PLANETS . " SET ";
                    foreach ($reslist['defense'] as $ID) {
                        $QryUpdate[] = "`" . $resource[$ID] . "` = `" . $resource[$ID] . "` + '" . max(0, round(HTTP::_GP($resource[$ID], 0.0))) . "'";
                        $after[$ID] = $before[$ID] + max(0, round(HTTP::_GP($resource[$ID], 0.0)));
                    }
                    $SQL .= implode(", ", $QryUpdate);
                    $SQL .= "WHERE ";
                    $SQL .= "`id` = '" . HTTP::_GP('id', 0) . "' AND `universe` = '" . Universe::getEmulated() . "';";
                    $GLOBALS['DATABASE']->query($SQL);
                } elseif ($_POST['delete']) {
                    $SQL = "UPDATE " . PLANETS . " SET ";
                    foreach ($reslist['defense'] as $ID) {
                        $QryUpdate[] = "`" . $resource[$ID] . "` = `" . $resource[$ID] . "` - '" . max(0, round(HTTP::_GP($resource[$ID], 0.0))) . "'";
                        $after[$ID] = max($before[$ID] - max(0, round(HTTP::_GP($resource[$ID], 0.0))), 0);
                    }
                    $SQL .= implode(", ", $QryUpdate);
                    $SQL .= "WHERE ";
                    $SQL .= "`id` = '" . HTTP::_GP('id', 0) . "' AND `universe` = '" . Universe::getEmulated() . "';";
                    $GLOBALS['DATABASE']->query($SQL);
                    $Name = $LNG['log_nomoree'];
                }
                $LOG = new Log(2);
                $LOG->target = HTTP::_GP('id', 0);
                $LOG->universe = $before1['universe'];
                $LOG->old = $before;
                $LOG->new = $after;
                $LOG->save();
                if ($_POST['add']) {
                    $template->message($LNG['ad_add_defenses_success'], '?page=accounteditor&edit=defenses');
                } else {
                    if ($_POST['delete']) {
                        $template->message($LNG['ad_delete_defenses_success'], '?page=accounteditor&edit=defenses');
                    }
                }
                exit;
            }
            foreach ($reslist['defense'] as $ID) {
                $INPUT[$ID] = array('type' => $resource[$ID]);
            }
            $template->assign_vars(array('inputlist' => $INPUT));
            $template->show('AccountEditorPageDefenses.tpl');
            break;
            break;
        case 'buildings':
            if ($_POST) {
                $PlanetData = $GLOBALS['DATABASE']->getFirstRow("SELECT * FROM " . PLANETS . " WHERE `id` = '" . HTTP::_GP('id', 0) . "';");
                if (!isset($PlanetData)) {
                    $template->message($LNG['ad_add_not_exist'], '?page=accounteditor&edit=buildings');
                }
                $before = array();
                $after = array();
                foreach ($reslist['allow'][$PlanetData['planet_type']] as $ID) {
                    $before[$ID] = $PlanetData[$resource[$ID]];
                }
                if ($_POST['add']) {
                    $Fields = 0;
                    $SQL = "UPDATE " . PLANETS . " SET ";
                    $SQL .= "`eco_hash` = '', ";
                    foreach ($reslist['allow'][$PlanetData['planet_type']] as $ID) {
                        $Count = max(0, round(HTTP::_GP($resource[$ID], 0.0)));
                        $QryUpdate[] = "`" . $resource[$ID] . "` = `" . $resource[$ID] . "` + '" . $Count . "'";
                        $after[$ID] = $before[$ID] + $Count;
                        $Fields += $Count;
                    }
                    $SQL .= implode(", ", $QryUpdate);
                    $SQL .= ", `field_current` = `field_current` + '" . $Fields . "'";
                    $SQL .= "WHERE ";
                    $SQL .= "`id` = '" . HTTP::_GP('id', 0) . "' AND `universe` = '" . Universe::getEmulated() . "';";
                    $GLOBALS['DATABASE']->query($SQL);
                } elseif ($_POST['delete']) {
                    $Fields = 0;
                    $QryUpdate = array();
                    $SQL = "UPDATE " . PLANETS . " SET ";
                    $SQL .= "`eco_hash` = '', ";
                    foreach ($reslist['allow'][$PlanetData['planet_type']] as $ID) {
                        $Count = max(0, round(HTTP::_GP($resource[$ID], 0.0)));
                        $QryUpdate[] = "`" . $resource[$ID] . "` = `" . $resource[$ID] . "` - '" . $Count . "'";
                        $after[$ID] = max($before[$ID] - $Count, 0);
                        $Fields += $Count;
                    }
                    $SQL .= implode(", ", $QryUpdate);
                    $SQL .= ", `field_current` = `field_current` - '" . $Fields . "'";
                    $SQL .= "WHERE ";
                    $SQL .= "`id` = '" . HTTP::_GP('id', 0) . "' AND `universe` = '" . Universe::getEmulated() . "';";
                    $GLOBALS['DATABASE']->query($SQL);
                }
                $LOG = new Log(2);
                $LOG->target = HTTP::_GP('id', 0);
                $LOG->universe = Universe::getEmulated();
                $LOG->old = $before;
                $LOG->new = $after;
                $LOG->save();
                if ($_POST['add']) {
                    $template->message($LNG['ad_add_build_success'], '?page=accounteditor&edit=buildings');
                } else {
                    if ($_POST['delete']) {
                        $template->message($LNG['ad_delete_build_success'], '?page=accounteditor&edit=buildings');
                    }
                }
                exit;
            }
            foreach ($reslist['build'] as $ID) {
                $INPUT[$ID] = array('type' => $resource[$ID]);
            }
            $template->assign_vars(array('inputlist' => $INPUT));
            $template->show('AccountEditorPageBuilds.tpl');
            break;
        case 'researchs':
            if ($_POST) {
                $before1 = $GLOBALS['DATABASE']->getFirstRow("SELECT * FROM " . USERS . " WHERE `id` = '" . HTTP::_GP('id', 0) . "';");
                $before = array();
                $after = array();
                foreach ($reslist['tech'] as $ID) {
                    $before[$ID] = $before1[$resource[$ID]];
                }
                if ($_POST['add']) {
                    $SQL = "UPDATE " . USERS . " SET ";
                    foreach ($reslist['tech'] as $ID) {
                        $QryUpdate[] = "`" . $resource[$ID] . "` = `" . $resource[$ID] . "` + '" . max(0, round(HTTP::_GP($resource[$ID], 0.0))) . "'";
                        $after[$ID] = $before[$ID] + max(0, round(HTTP::_GP($resource[$ID], 0.0)));
                    }
                    $SQL .= implode(", ", $QryUpdate);
                    $SQL .= "WHERE ";
                    $SQL .= "`id` = '" . HTTP::_GP('id', 0) . "' AND `universe` = '" . Universe::getEmulated() . "';";
                    $GLOBALS['DATABASE']->query($SQL);
                } elseif ($_POST['delete']) {
                    $SQL = "UPDATE " . USERS . " SET ";
                    foreach ($reslist['tech'] as $ID) {
                        $QryUpdate[] = "`" . $resource[$ID] . "` = `" . $resource[$ID] . "` - '" . max(0, round(HTTP::_GP($resource[$ID], 0.0))) . "'";
                        $after[$ID] = max($before[$ID] - max(0, round(HTTP::_GP($resource[$ID], 0.0))), 0);
                    }
                    $SQL .= implode(", ", $QryUpdate);
                    $SQL .= "WHERE ";
                    $SQL .= "`id` = '" . HTTP::_GP('id', 0) . "' AND `universe` = '" . Universe::getEmulated() . "';";
                    $GLOBALS['DATABASE']->query($SQL);
                }
                $LOG = new Log(1);
                $LOG->target = HTTP::_GP('id', 0);
                $LOG->universe = $before1['universe'];
                $LOG->old = $before;
                $LOG->new = $after;
                $LOG->save();
                if ($_POST['add']) {
                    $template->message($LNG['ad_add_tech_success'], '?page=accounteditor&edit=researchs');
                } else {
                    if ($_POST['delete']) {
                        $template->message($LNG['ad_delete_tech_success'], '?page=accounteditor&edit=researchs');
                    }
                }
                exit;
            }
            foreach ($reslist['tech'] as $ID) {
                $INPUT[$ID] = array('type' => $resource[$ID]);
            }
            $template->assign_vars(array('inputlist' => $INPUT));
            $template->show('AccountEditorPageResearch.tpl');
            break;
        case 'personal':
            if ($_POST) {
                $id = HTTP::_GP('id', 0);
                $username = HTTP::_GP('username', '', UTF8_SUPPORT);
                $password = HTTP::_GP('password', '', true);
                $email = HTTP::_GP('email', '');
                $email_2 = HTTP::_GP('email_2', '');
                $vacation = HTTP::_GP('vacation', '');
                $before = $GLOBALS['DATABASE']->getFirstRow("SELECT `username`,`email`,`email_2`,`password`,`urlaubs_modus`,`urlaubs_until` FROM " . USERS . " WHERE `id` = '" . HTTP::_GP('id', 0) . "';");
                $after = array();
                $PersonalQuery = "UPDATE " . USERS . " SET ";
                if (!empty($username) && $id != ROOT_USER) {
                    $PersonalQuery .= "`username` = '" . $GLOBALS['DATABASE']->sql_escape($username) . "', ";
                    $after['username'] = $username;
                }
                if (!empty($email) && $id != ROOT_USER) {
                    $PersonalQuery .= "`email` = '" . $GLOBALS['DATABASE']->sql_escape($email) . "', ";
                    $after['email'] = $email;
                }
                if (!empty($email_2) && $id != ROOT_USER) {
                    $PersonalQuery .= "`email_2` = '" . $GLOBALS['DATABASE']->sql_escape($email_2) . "', ";
                    $after['email_2'] = $email_2;
                }
                if (!empty($password) && $id != ROOT_USER) {
                    $PersonalQuery .= "`password` = '" . $GLOBALS['DATABASE']->sql_escape(cryptPassword($password)) . "', ";
                    $after['password'] = cryptPassword($password) != $before['password'] ? 'CHANGED' : '';
                }
                $before['password'] = '';
                $Answer = 0;
                $TimeAns = 0;
                if ($vacation == 'yes') {
                    $Answer = 1;
                    $after['urlaubs_modus'] = 1;
                    $TimeAns = TIMESTAMP + $_POST['d'] * 86400 + $_POST['h'] * 3600 + $_POST['m'] * 60 + $_POST['s'];
                    $after['urlaubs_until'] = $TimeAns;
                }
                $PersonalQuery .= "`urlaubs_modus` = '" . $Answer . "', `urlaubs_until` = '" . $TimeAns . "' ";
                $PersonalQuery .= "WHERE `id` = '" . $id . "' AND `universe` = '" . Universe::getEmulated() . "'";
                $GLOBALS['DATABASE']->query($PersonalQuery);
                $LOG = new Log(1);
                $LOG->target = $id;
                $LOG->universe = $before['universe'];
                $LOG->old = $before;
                $LOG->new = $after;
                $LOG->save();
                $template->message($LNG['ad_personal_succes'], '?page=accounteditor&edit=personal');
                exit;
            }
            $template->assign_vars(array('Selector' => array('' => $LNG['select_option'], 'yes' => $LNG['one_is_yes'][1], 'no' => $LNG['one_is_yes'][0])));
            $template->show('AccountEditorPagePersonal.tpl');
            break;
        case 'officiers':
            if ($_POST) {
                $before1 = $GLOBALS['DATABASE']->getFirstRow("SELECT * FROM " . USERS . " WHERE `id` = '" . HTTP::_GP('id', 0) . "';");
                $before = array();
                $after = array();
                foreach ($reslist['officier'] as $ID) {
                    $before[$ID] = $before1[$resource[$ID]];
                }
                if ($_POST['add']) {
                    $SQL = "UPDATE " . USERS . " SET ";
                    foreach ($reslist['officier'] as $ID) {
                        $QryUpdate[] = "`" . $resource[$ID] . "` = `" . $resource[$ID] . "` + '" . max(0, round(HTTP::_GP($resource[$ID], 0.0))) . "'";
                        $after[$ID] = $before[$ID] + max(0, round(HTTP::_GP($resource[$ID], 0.0)));
                    }
                    $SQL .= implode(", ", $QryUpdate);
                    $SQL .= "WHERE ";
                    $SQL .= "`id` = '" . HTTP::_GP('id', 0) . "' AND `universe` = '" . Universe::getEmulated() . "';";
                    $GLOBALS['DATABASE']->query($SQL);
                } elseif ($_POST['delete']) {
                    $SQL = "UPDATE " . USERS . " SET ";
                    foreach ($reslist['officier'] as $ID) {
                        $QryUpdate[] = "`" . $resource[$ID] . "` = `" . $resource[$ID] . "` - '" . max(0, round(HTTP::_GP($resource[$ID], 0.0))) . "'";
                        $after[$ID] = max($before[$ID] - max(0, round(HTTP::_GP($resource[$ID], 0.0))), 0);
                    }
                    $SQL .= implode(", ", $QryUpdate);
                    $SQL .= "WHERE ";
                    $SQL .= "`id` = '" . HTTP::_GP('id', 0) . "' AND `universe` = '" . Universe::getEmulated() . "';";
                    $GLOBALS['DATABASE']->query($SQL);
                }
                $LOG = new Log(1);
                $LOG->target = HTTP::_GP('id', 0);
                $LOG->universe = $before1['universe'];
                $LOG->old = $before;
                $LOG->new = $after;
                $LOG->save();
                if ($_POST['add']) {
                    $template->message($LNG['ad_add_offi_success'], '?page=accounteditor&edit=officiers');
                } else {
                    if ($_POST['delete']) {
                        $template->message($LNG['ad_delete_offi_success'], '?page=accounteditor&edit=officiers');
                    }
                }
                exit;
            }
            foreach ($reslist['officier'] as $ID) {
                $INPUT[$ID] = array('type' => $resource[$ID]);
            }
            $template->assign_vars(array('inputlist' => $INPUT));
            $template->show('AccountEditorPageOfficiers.tpl');
            break;
        case 'planets':
            if ($_POST) {
                $id = HTTP::_GP('id', 0);
                $name = HTTP::_GP('name', '', UTF8_SUPPORT);
                $diameter = HTTP::_GP('diameter', 0);
                $fields = HTTP::_GP('fields', 0);
                $buildings = HTTP::_GP('0_buildings', '');
                $ships = HTTP::_GP('0_ships', '');
                $defenses = HTTP::_GP('0_defenses', '');
                $c_hangar = HTTP::_GP('0_c_hangar', '');
                $c_buildings = HTTP::_GP('0_c_buildings', '');
                $change_pos = HTTP::_GP('change_position', '');
                $galaxy = HTTP::_GP('g', 0);
                $system = HTTP::_GP('s', 0);
                $planet = HTTP::_GP('p', 0);
                if (!empty($name)) {
                    $GLOBALS['DATABASE']->query("UPDATE " . PLANETS . " SET `name` = '" . $GLOBALS['DATABASE']->sql_escape($name) . "' WHERE `id` = '" . $id . "' AND `universe` = '" . Universe::getEmulated() . "';");
                }
                if ($buildings == 'on') {
                    foreach ($reslist['build'] as $ID) {
                        $BUILD[] = "`" . $resource[$ID] . "` = '0'";
                    }
                    $GLOBALS['DATABASE']->query("UPDATE " . PLANETS . " SET " . implode(', ', $BUILD) . " WHERE `id` = '" . $id . "' AND `universe` = '" . Universe::getEmulated() . "';");
                }
                if ($ships == 'on') {
                    foreach ($reslist['fleet'] as $ID) {
                        $SHIPS[] = "`" . $resource[$ID] . "` = '0'";
                    }
                    $GLOBALS['DATABASE']->query("UPDATE " . PLANETS . " SET " . implode(', ', $SHIPS) . " WHERE `id` = '" . $id . "' AND `universe` = '" . Universe::getEmulated() . "';");
                }
                if ($defenses == 'on') {
                    foreach ($reslist['defense'] as $ID) {
                        $DEFS[] = "`" . $resource[$ID] . "` = '0'";
                    }
                    $GLOBALS['DATABASE']->query("UPDATE " . PLANETS . " SET " . implode(', ', $DEFS) . " WHERE `id` = '" . $id . "' AND `universe` = '" . Universe::getEmulated() . "';");
                }
                if ($c_hangar == 'on') {
                    $GLOBALS['DATABASE']->query("UPDATE " . PLANETS . " SET `b_hangar` = '0', `b_hangar_plus` = '0', `b_hangar_id` = '' WHERE `id` = '" . $id . "' AND `universe` = '" . Universe::getEmulated() . "';");
                }
                if ($c_buildings == 'on') {
                    $GLOBALS['DATABASE']->query("UPDATE " . PLANETS . " SET `b_building` = '0', `b_building_id` = '' WHERE `id` = '" . $id . "' AND `universe` = '" . Universe::getEmulated() . "';");
                }
                if (!empty($diameter)) {
                    $GLOBALS['DATABASE']->query("UPDATE " . PLANETS . " SET `diameter` = '" . $diameter . "' WHERE `id` = '" . $id . "' AND `universe` = '" . Universe::getEmulated() . "';");
                }
                if (!empty($fields)) {
                    $GLOBALS['DATABASE']->query("UPDATE " . PLANETS . " SET `field_max` = '" . $fields . "' WHERE `id` = '" . $id . "' AND `universe` = '" . Universe::getEmulated() . "';");
                }
                if ($change_pos == 'on' && $galaxy > 0 && $system > 0 && $planet > 0 && $galaxy <= Config::get(Universe::getEmulated())->max_galaxy && $system <= Config::get(Universe::getEmulated())->max_system && $planet <= Config::get(Universe::getEmulated())->max_planets) {
                    $P = $GLOBALS['DATABASE']->getFirstRow("SELECT galaxy,system,planet,planet_type FROM " . PLANETS . " WHERE `id` = '" . $id . "' AND `universe` = '" . Universe::getEmulated() . "';");
                    if ($P['planet_type'] == '1') {
                        if (PlayerUtil::checkPosition(Universe::getEmulated(), $galaxy, $system, $planet, $P['planet_type'])) {
                            $template->message($LNG['ad_pla_error_planets3'], '?page=accounteditor&edit=planets');
                            exit;
                        }
                        $GLOBALS['DATABASE']->query("UPDATE " . PLANETS . " SET `galaxy` = '" . $galaxy . "', `system` = '" . $system . "', `planet` = '" . $planet . "' WHERE `id` = '" . $id . "' AND `universe` = '" . Universe::getEmulated() . "';");
                    } else {
                        if (PlayerUtil::checkPosition(Universe::getEmulated(), $galaxy, $system, $planet, $P['planet_type'])) {
                            $template->message($LNG['ad_pla_error_planets5'], '?page=accounteditor&edit=planets');
                            exit;
                        }
                        $Target = $GLOBALS['DATABASE']->getFirstRow("SELECT id_luna FROM " . PLANETS . " WHERE `galaxy` = '" . $galaxy . "' AND `system` = '" . $system . "' AND `planet` = '" . $planet . "' AND `planet_type` = '1';");
                        if ($Target['id_luna'] != '0') {
                            $template->message($LNG['ad_pla_error_planets4'], '?page=accounteditor&edit=planets');
                            exit;
                        }
                        $GLOBALS['DATABASE']->multi_query("UPDATE " . PLANETS . " SET `id_luna` = '0' WHERE `galaxy` = '" . $P['galaxy'] . "' AND `system` = '" . $P['system'] . "' AND `planet` = '" . $P['planet'] . "' AND `planet_type` = '1';UPDATE " . PLANETS . " SET `id_luna` = '" . $id . "'  WHERE `galaxy` = '" . $galaxy . "' AND `system` = '" . $system . "' AND `planet` = '" . $planet . "' AND planet_type = '1';UPDATE " . PLANETS . " SET `galaxy` = '" . $galaxy . "', `system` = '" . $system . "', `planet` = '" . $planet . "' WHERE `id` = '" . $id . "' AND `universe` = '" . Universe::getEmulated() . "';");
                        $QMOON2 = $GLOBALS['DATABASE']->getFirstRow("SELECT id_owner FROM " . PLANETS . " WHERE `galaxy` = '" . $galaxy . "' AND `system` = '" . $system . "' AND `planet` = '" . $planet . "';");
                        $GLOBALS['DATABASE']->query("UPDATE " . PLANETS . " SET `galaxy` = '" . $galaxy . "', `system` = '" . $system . "', `planet` = '" . $planet . "', `id_owner` = '" . $QMOON2['id_owner'] . "' WHERE `id` = '" . $id . "' AND `universe` = '" . Universe::getEmulated() . "' AND `planet_type` = '3';");
                    }
                }
                $template->message($LNG['ad_pla_succes'], '?page=accounteditor&edit=planets');
                exit;
            }
            $template->show('AccountEditorPagePlanets.tpl');
            break;
        case 'alliances':
            if ($_POST) {
                $id = HTTP::_GP('id', 0);
                $name = HTTP::_GP('name', '', UTF8_SUPPORT);
                $changeleader = HTTP::_GP('changeleader', 0);
                $tag = HTTP::_GP('tag', '', UTF8_SUPPORT);
                $externo = HTTP::_GP('externo', '', true);
                $interno = HTTP::_GP('interno', '', true);
                $solicitud = HTTP::_GP('solicitud', '', true);
                $delete = HTTP::_GP('delete', '');
                $delete_u = HTTP::_GP('delete_u', '');
                $QueryF = $GLOBALS['DATABASE']->getFirstRow("SELECT * FROM " . ALLIANCE . " WHERE `id` = '" . $id . "' AND `ally_universe` = '" . Universe::getEmulated() . "';");
                if (!empty($name)) {
                    $GLOBALS['DATABASE']->query("UPDATE " . ALLIANCE . " SET `ally_name` = '" . $name . "' WHERE `id` = '" . $id . "' AND `ally_universe` = '" . Universe::getEmulated() . "';");
                }
                if (!empty($tag)) {
                    $GLOBALS['DATABASE']->query("UPDATE " . ALLIANCE . " SET `ally_tag` = '" . $tag . "' WHERE `id` = '" . $id . "' AND `ally_universe` = '" . Universe::getEmulated() . "';");
                }
                $QueryF2 = $GLOBALS['DATABASE']->getFirstRow("SELECT ally_id FROM " . USERS . " WHERE `id` = '" . $changeleader . "';");
                $GLOBALS['DATABASE']->multi_query("UPDATE " . ALLIANCE . " SET `ally_owner` = '" . $changeleader . "' WHERE `id` = '" . $id . "' AND `ally_universe` = '" . Universe::getEmulated() . "';UPDATE " . USERS . " SET `ally_rank_id` = '0' WHERE `id` = '" . $changeleader . "';");
                if (!empty($externo)) {
                    $GLOBALS['DATABASE']->query("UPDATE " . ALLIANCE . " SET `ally_description` = '" . $externo . "' WHERE `id` = '" . $id . "' AND `ally_universe` = '" . Universe::getEmulated() . "';");
                }
                if (!empty($interno)) {
                    $GLOBALS['DATABASE']->query("UPDATE " . ALLIANCE . " SET `ally_text` = '" . $interno . "' WHERE `id` = '" . $id . "' AND `ally_universe` = '" . Universe::getEmulated() . "';");
                }
                if (!empty($solicitud)) {
                    $GLOBALS['DATABASE']->query("UPDATE " . ALLIANCE . " SET `ally_request` = '" . $solicitud . "' WHERE `id` = '" . $id . "' AND `ally_universe` = '" . Universe::getEmulated() . "';");
                }
                if ($delete == 'on') {
                    $GLOBALS['DATABASE']->multi_query("DELETE FROM " . ALLIANCE . " WHERE `id` = '" . $id . "' AND `ally_universe` = '" . Universe::getEmulated() . "';UPDATE " . USERS . " SET `ally_id` = '0', `ally_rank_id` = '0', `ally_register_time` = '0' WHERE `ally_id` = '" . $id . "';");
                }
                if (!empty($delete_u)) {
                    $GLOBALS['DATABASE']->multi_query("UPDATE " . ALLIANCE . " SET `ally_members` = ally_members - 1 WHERE `id` = '" . $id . "' AND `ally_universe` = '" . Universe::getEmulated() . "';UPDATE " . USERS . " SET `ally_id` = '0', `ally_rank_id` = '0', `ally_register_time` = '0' WHERE `id` = '" . $delete_u . "' AND `ally_id` = '" . $id . "';");
                }
                $template->message($LNG['ad_ally_succes'], '?page=accounteditor&edit=alliances');
                exit;
            }
            $template->show('AccountEditorPageAlliance.tpl');
            break;
        default:
            $template->show('AccountEditorPageMenu.tpl');
            break;
    }
}
예제 #24
0
function ShowConfigUniPage()
{
    global $LNG;
    $config = Config::get(Universe::getEmulated());
    if (!empty($_POST)) {
        $config_before = array('noobprotectiontime' => $config->noobprotectiontime, 'noobprotectionmulti' => $config->noobprotectionmulti, 'noobprotection' => $config->noobprotection, 'Defs_Cdr' => $config->Defs_Cdr, 'Fleet_Cdr' => $config->Fleet_Cdr, 'game_disable' => $config->game_disable, 'close_reason' => $config->close_reason, 'OverviewNewsFrame' => $config->OverviewNewsFrame, 'reg_closed' => $config->reg_closed, 'OverviewNewsText' => $config->OverviewNewsText, 'uni_name' => $config->uni_name, 'forum_url' => $config->forum_url, 'game_speed' => $config->game_speed, 'fleet_speed' => $config->fleet_speed, 'resource_multiplier' => $config->resource_multiplier, 'halt_speed' => $config->halt_speed, 'energySpeed' => $config->energySpeed, 'initial_fields' => $config->initial_fields, 'metal_basic_income' => $config->metal_basic_income, 'crystal_basic_income' => $config->crystal_basic_income, 'deuterium_basic_income' => $config->deuterium_basic_income, 'debug' => $config->debug, 'adm_attack' => $config->adm_attack, 'lang' => $config->lang, 'min_build_time' => $config->min_build_time, 'user_valid' => $config->user_valid, 'trade_charge' => $config->trade_charge, 'trade_allowed_ships' => $config->trade_allowed_ships, 'game_name' => $config->game_name, 'capaktiv' => $config->capaktiv, 'capprivate' => $config->capprivate, 'cappublic' => $config->cappublic, 'max_galaxy' => $config->max_galaxy, 'max_system' => $config->max_system, 'max_planets' => $config->max_planets, 'min_player_planets' => $config->min_player_planets, 'planets_tech' => $config->planets_tech, 'planets_officier' => $config->planets_officier, 'planets_per_tech' => $config->planets_per_tech, 'planet_factor' => $config->planet_factor, 'max_elements_build' => $config->max_elements_build, 'max_elements_tech' => $config->max_elements_tech, 'max_elements_ships' => $config->max_elements_ships, 'max_overflow' => $config->max_overflow, 'moon_factor' => $config->moon_factor, 'moon_chance' => $config->moon_chance, 'darkmatter_cost_trader' => $config->darkmatter_cost_trader, 'factor_university' => $config->factor_university, 'max_fleets_per_acs' => $config->max_fleets_per_acs, 'vmode_min_time' => $config->vmode_min_time, 'gate_wait_time' => $config->gate_wait_time, 'metal_start' => $config->metal_start, 'crystal_start' => $config->crystal_start, 'deuterium_start' => $config->deuterium_start, 'darkmatter_start' => $config->darkmatter_start, 'debris_moon' => $config->debris_moon, 'deuterium_cost_galaxy' => $config->deuterium_cost_galaxy, 'ref_active' => $config->ref_active, 'ref_bonus' => $config->ref_bonus, 'ref_minpoints' => $config->ref_minpoints, 'ref_max_referals' => $config->ref_max_referals, 'silo_factor' => $config->silo_factor, 'max_dm_missions' => $config->max_dm_missions, 'alliance_create_min_points' => $config->alliance_create_min_points, 'max_fleet_per_build' => $config->max_fleet_per_build);
        $game_disable = isset($_POST['closed']) && $_POST['closed'] == 'on' ? 1 : 0;
        $noobprotection = isset($_POST['noobprotection']) && $_POST['noobprotection'] == 'on' ? 1 : 0;
        $debug = isset($_POST['debug']) && $_POST['debug'] == 'on' ? 1 : 0;
        $adm_attack = isset($_POST['adm_attack']) && $_POST['adm_attack'] == 'on' ? 1 : 0;
        $OverviewNewsFrame = isset($_POST['newsframe']) && $_POST['newsframe'] == 'on' ? 1 : 0;
        $reg_closed = isset($_POST['reg_closed']) && $_POST['reg_closed'] == 'on' ? 1 : 0;
        $user_valid = isset($_POST['user_valid']) && $_POST['user_valid'] == 'on' ? 1 : 0;
        $debris_moon = isset($_POST['debris_moon']) && $_POST['debris_moon'] == 'on' ? 1 : 0;
        $ref_active = isset($_POST['ref_active']) && $_POST['ref_active'] == 'on' ? 1 : 0;
        $OverviewNewsText = $_POST['NewsText'];
        $close_reason = HTTP::_GP('close_reason', '', true);
        $uni_name = HTTP::_GP('uni_name', '', true);
        $forum_url = HTTP::_GP('forum_url', '', true);
        $game_speed = 2500 * HTTP::_GP('game_speed', 0.0);
        $fleet_speed = 2500 * HTTP::_GP('fleet_speed', 0.0);
        $resource_multiplier = HTTP::_GP('resource_multiplier', 0.0);
        $halt_speed = HTTP::_GP('halt_speed', 0.0);
        $energySpeed = HTTP::_GP('energySpeed', 0.0);
        $initial_fields = HTTP::_GP('initial_fields', 0);
        $metal_basic_income = HTTP::_GP('metal_basic_income', 0);
        $crystal_basic_income = HTTP::_GP('crystal_basic_income', 0);
        $deuterium_basic_income = HTTP::_GP('deuterium_basic_income', 0);
        $lang = HTTP::_GP('lang', '');
        $Defs_Cdr = HTTP::_GP('Defs_Cdr', 0);
        $Fleet_Cdr = HTTP::_GP('Fleet_Cdr', 0);
        $noobprotectiontime = HTTP::_GP('noobprotectiontime', 0);
        $noobprotectionmulti = HTTP::_GP('noobprotectionmulti', 0);
        $min_build_time = HTTP::_GP('min_build_time', 0);
        $trade_allowed_ships = HTTP::_GP('trade_allowed_ships', '');
        $trade_charge = HTTP::_GP('trade_charge', 0.0);
        $max_galaxy = HTTP::_GP('max_galaxy', 0);
        $max_system = HTTP::_GP('max_system', 0);
        $max_planets = HTTP::_GP('max_planets', 0);
        $min_player_planets = HTTP::_GP('min_player_planets', 0);
        $planets_tech = HTTP::_GP('planets_tech', 0);
        $planets_officier = HTTP::_GP('planets_officier', 0);
        $planets_per_tech = HTTP::_GP('planets_per_tech', 0.0);
        $planet_factor = HTTP::_GP('planet_factor', 0.0);
        $max_elements_build = HTTP::_GP('max_elements_build', 0);
        $max_elements_tech = HTTP::_GP('max_elements_tech', 0);
        $max_elements_ships = HTTP::_GP('max_elements_ships', 0);
        $max_overflow = HTTP::_GP('max_overflow', 0);
        $moon_factor = HTTP::_GP('moon_factor', 0.0);
        $moon_chance = HTTP::_GP('moon_chance', 0);
        $darkmatter_cost_trader = HTTP::_GP('darkmatter_cost_trader', 0);
        $factor_university = HTTP::_GP('factor_university', 0);
        $max_fleets_per_acs = HTTP::_GP('max_fleets_per_acs', 0);
        $vmode_min_time = HTTP::_GP('vmode_min_time', 0);
        $gate_wait_time = HTTP::_GP('gate_wait_time', 0);
        $metal_start = HTTP::_GP('metal_start', 0);
        $crystal_start = HTTP::_GP('crystal_start', 0);
        $deuterium_start = HTTP::_GP('deuterium_start', 0);
        $darkmatter_start = HTTP::_GP('darkmatter_start', 0);
        $deuterium_cost_galaxy = HTTP::_GP('deuterium_cost_galaxy', 0);
        $max_fleet_per_build = max(0, round(HTTP::_GP('max_fleet_per_build', 0.0)));
        $ref_bonus = HTTP::_GP('ref_bonus', 0);
        $ref_minpoints = HTTP::_GP('ref_minpoints', 0);
        $silo_factor = HTTP::_GP('silo_factor', 0);
        $ref_max_referals = HTTP::_GP('ref_max_referals', 0);
        $max_dm_missions = HTTP::_GP('max_dm_missions', 1);
        $alliance_create_min_points = HTTP::_GP('alliance_create_min_points', 0);
        $config_after = array('noobprotectiontime' => $noobprotectiontime, 'noobprotectionmulti' => $noobprotectionmulti, 'noobprotection' => $noobprotection, 'Defs_Cdr' => $Defs_Cdr, 'Fleet_Cdr' => $Fleet_Cdr, 'game_disable' => $game_disable, 'close_reason' => $close_reason, 'OverviewNewsFrame' => $OverviewNewsFrame, 'reg_closed' => $reg_closed, 'OverviewNewsText' => $OverviewNewsText, 'uni_name' => $uni_name, 'forum_url' => $forum_url, 'game_speed' => $game_speed, 'fleet_speed' => $fleet_speed, 'resource_multiplier' => $resource_multiplier, 'halt_speed' => $halt_speed, 'energySpeed' => $energySpeed, 'initial_fields' => $initial_fields, 'metal_basic_income' => $metal_basic_income, 'crystal_basic_income' => $crystal_basic_income, 'deuterium_basic_income' => $deuterium_basic_income, 'debug' => $debug, 'adm_attack' => $adm_attack, 'lang' => $lang, 'min_build_time' => $min_build_time, 'user_valid' => $user_valid, 'trade_charge' => $trade_charge, 'trade_allowed_ships' => $trade_allowed_ships, 'max_galaxy' => $max_galaxy, 'max_system' => $max_system, 'max_planets' => $max_planets, 'min_player_planets' => $min_player_planets, 'planets_tech' => $planets_tech, 'planets_officier' => $planets_officier, 'planets_per_tech' => $planets_per_tech, 'planet_factor' => $planet_factor, 'max_elements_build' => $max_elements_build, 'max_elements_tech' => $max_elements_tech, 'max_elements_ships' => $max_elements_ships, 'max_overflow' => $max_overflow, 'moon_factor' => $moon_factor, 'moon_chance' => $moon_chance, 'darkmatter_cost_trader' => $darkmatter_cost_trader, 'factor_university' => $factor_university, 'max_fleets_per_acs' => $max_fleets_per_acs, 'vmode_min_time' => $vmode_min_time, 'gate_wait_time' => $gate_wait_time, 'metal_start' => $metal_start, 'crystal_start' => $crystal_start, 'deuterium_start' => $deuterium_start, 'darkmatter_start' => $darkmatter_start, 'debris_moon' => $debris_moon, 'deuterium_cost_galaxy' => $deuterium_cost_galaxy, 'ref_active' => $ref_active, 'ref_bonus' => $ref_bonus, 'ref_minpoints' => $ref_minpoints, 'ref_max_referals' => $ref_max_referals, 'silo_factor' => $silo_factor, 'max_dm_missions' => $max_dm_missions, 'alliance_create_min_points' => $alliance_create_min_points, 'max_fleet_per_build' => $max_fleet_per_build);
        foreach ($config_after as $key => $value) {
            $config->{$key} = $value;
        }
        $config->save();
        $LOG = new Log(3);
        $LOG->target = 1;
        $LOG->old = $config_before;
        $LOG->new = $config_after;
        $LOG->save();
        if ($config->adm_attack == 0) {
            $GLOBALS['DATABASE']->query("UPDATE " . USERS . " SET `authattack` = '0' WHERE `universe` = '" . Universe::getEmulated() . "';");
        }
    }
    $template = new template();
    $template->loadscript('../base/jquery.autosize-min.js');
    $template->execscript('$(\'textarea\').autosize();');
    $template->assign_vars(array('se_server_parameters' => $LNG['se_server_parameters'], 'se_game_name' => $LNG['se_game_name'], 'se_uni_name' => $LNG['se_uni_name'], 'se_cookie_advert' => $LNG['se_cookie_advert'], 'se_lang' => $LNG['se_lang'], 'se_general_speed' => $LNG['se_general_speed'], 'se_fleet_speed' => $LNG['se_fleet_speed'], 'se_energy_speed' => $LNG['se_energy_speed'], 'se_halt_speed' => $LNG['se_halt_speed'], 'se_normal_speed' => $LNG['se_normal_speed'], 'se_normal_speed_fleet' => $LNG['se_normal_speed_fleet'], 'se_resources_producion_speed' => $LNG['se_resources_producion_speed'], 'se_normal_speed_resoruces' => $LNG['se_normal_speed_resoruces'], 'se_normal_speed_halt' => $LNG['se_normal_speed_halt'], 'se_forum_link' => $LNG['se_forum_link'], 'se_server_op_close' => $LNG['se_server_op_close'], 'se_server_status_message' => $LNG['se_server_status_message'], 'se_server_planet_parameters' => $LNG['se_server_planet_parameters'], 'se_initial_fields' => $LNG['se_initial_fields'], 'se_metal_production' => $LNG['se_metal_production'], 'se_admin_protection' => $LNG['se_admin_protection'], 'se_crystal_production' => $LNG['se_crystal_production'], 'se_deuterium_production' => $LNG['se_deuterium_production'], 'se_several_parameters' => $LNG['se_several_parameters'], 'se_min_build_time' => $LNG['se_min_build_time'], 'se_reg_closed' => $LNG['se_reg_closed'], 'se_verfiy_mail' => $LNG['se_verfiy_mail'], 'se_min_build_time_info' => $LNG['se_min_build_time_info'], 'se_verfiy_mail_info' => $LNG['se_verfiy_mail_info'], 'se_fields' => $LNG['se_fields'], 'se_per_hour' => $LNG['se_per_hour'], 'se_debug_mode' => $LNG['se_debug_mode'], 'se_title_admins_protection' => $LNG['se_title_admins_protection'], 'se_debug_message' => $LNG['se_debug_message'], 'se_ships_cdr_message' => $LNG['se_ships_cdr_message'], 'se_def_cdr_message' => $LNG['se_def_cdr_message'], 'se_ships_cdr' => $LNG['se_ships_cdr'], 'se_def_cdr' => $LNG['se_def_cdr'], 'se_noob_protect' => $LNG['se_noob_protect'], 'se_noob_protect3' => $LNG['se_noob_protect3'], 'se_noob_protect2' => $LNG['se_noob_protect2'], 'se_noob_protect_e2' => $LNG['se_noob_protect_e2'], 'se_noob_protect_e3' => $LNG['se_noob_protect_e3'], 'se_trader_head' => $LNG['se_trader_head'], 'se_trader_ships' => $LNG['se_trader_ships'], 'se_trader_charge' => $LNG['se_trader_charge'], 'se_news_head' => $LNG['se_news_head'], 'se_news_active' => $LNG['se_news_active'], 'se_news_info' => $LNG['se_news_info'], 'se_news' => $LNG['se_news'], 'se_news_limit' => $LNG['se_news_limit'], 'se_recaptcha_head' => $LNG['se_recaptcha_head'], 'se_recaptcha_active' => $LNG['se_recaptcha_active'], 'se_recaptcha_desc' => $LNG['se_recaptcha_desc'], 'se_recaptcha_public' => $LNG['se_recaptcha_public'], 'se_recaptcha_private' => $LNG['se_recaptcha_private'], 'se_smtp' => $LNG['se_smtp'], 'se_mail_active' => $LNG['se_mail_active'], 'se_mail_use' => $LNG['se_mail_use'], 'se_smail_path' => $LNG['se_smail_path'], 'se_smtp_info' => $LNG['se_smtp_info'], 'se_smtp_host' => $LNG['se_smtp_host'], 'se_smtp_host_info' => $LNG['se_smtp_host_info'], 'se_smtp_ssl' => $LNG['se_smtp_ssl'], 'se_smtp_ssl_info' => $LNG['se_smtp_ssl_info'], 'se_smtp_port' => $LNG['se_smtp_port'], 'se_smtp_port_info' => $LNG['se_smtp_port_info'], 'se_smtp_user' => $LNG['se_smtp_user'], 'se_smtp_pass' => $LNG['se_smtp_pass'], 'se_smtp_sendmail' => $LNG['se_smtp_sendmail'], 'se_smtp_sendmail_info' => $LNG['se_smtp_sendmail_info'], 'se_google' => $LNG['se_google'], 'se_google_active' => $LNG['se_google_active'], 'se_google_info' => $LNG['se_google_info'], 'se_google_key' => $LNG['se_google_key'], 'se_google_key_info' => $LNG['se_google_key_info'], 'se_save_parameters' => $LNG['se_save_parameters'], 'se_max_galaxy' => $LNG['se_max_galaxy'], 'se_max_galaxy_info' => $LNG['se_max_galaxy_info'], 'se_max_system' => $LNG['se_max_system'], 'se_max_system_info' => $LNG['se_max_system_info'], 'se_max_planets' => $LNG['se_max_planets'], 'se_max_planets_info' => $LNG['se_max_planets_info'], 'se_min_player_planets' => $LNG['se_min_player_planets'], 'se_max_player_planets_info' => $LNG['se_max_player_planets_info'], 'se_max_player_planets' => $LNG['se_max_player_planets'], 'se_min_player_planets_info' => $LNG['se_min_player_planets_info'], 'se_planet_factor' => $LNG['se_planet_factor'], 'se_planet_factor_info' => $LNG['se_planet_factor_info'], 'se_max_elements_build' => $LNG['se_max_elements_build'], 'se_max_elements_build_info' => $LNG['se_max_elements_build_info'], 'se_max_elements_tech' => $LNG['se_max_elements_tech'], 'se_max_elements_tech_info' => $LNG['se_max_elements_tech_info'], 'se_max_elements_ships' => $LNG['se_max_elements_ships'], 'se_max_elements_ships_info' => $LNG['se_max_elements_ships_info'], 'se_max_fleet_per_build' => $LNG['se_max_fleet_per_build'], 'se_max_fleet_per_build_info' => $LNG['se_max_fleet_per_build_info'], 'se_max_overflow' => $LNG['se_max_overflow'], 'se_max_overflow_info' => $LNG['se_max_overflow_info'], 'se_moon_factor' => $LNG['se_moon_factor'], 'se_moon_factor_info' => $LNG['se_moon_factor_info'], 'se_moon_chance' => $LNG['se_moon_chance'], 'se_moon_chance_info' => $LNG['se_moon_chance_info'], 'se_darkmatter_cost_trader' => $LNG['se_darkmatter_cost_trader'], 'se_darkmatter_cost_trader_info' => $LNG['se_darkmatter_cost_trader_info'], 'se_factor_university' => $LNG['se_factor_university'], 'se_factor_university_info' => $LNG['se_factor_university_info'], 'se_max_fleets_per_acs' => $LNG['se_max_fleets_per_acs'], 'se_max_fleets_per_acs_info' => $LNG['se_max_fleets_per_acs_info'], 'se_vmode_min_time' => $LNG['se_vmode_min_time'], 'se_vmode_min_time_info' => $LNG['se_vmode_min_time_info'], 'se_gate_wait_time' => $LNG['se_gate_wait_time'], 'se_gate_wait_time_info' => $LNG['se_gate_wait_time_info'], 'se_metal_start' => $LNG['se_metal_start'], 'se_metal_start_info' => $LNG['se_metal_start_info'], 'se_crystal_start' => $LNG['se_crystal_start'], 'se_crystal_start_info' => $LNG['se_crystal_start_info'], 'se_deuterium_start' => $LNG['se_deuterium_start'], 'se_deuterium_start_info' => $LNG['se_deuterium_start_info'], 'se_darkmatter_start' => $LNG['se_darkmatter_start'], 'se_darkmatter_start_info' => $LNG['se_darkmatter_start_info'], 'se_debris_moon' => $LNG['se_debris_moon'], 'se_debris_moon_info' => $LNG['se_debris_moon_info'], 'se_deuterium_cost_galaxy' => $LNG['se_deuterium_cost_galaxy'], 'se_deuterium_cost_galaxy_info' => $LNG['se_deuterium_cost_galaxy_info'], 'se_buildlist' => $LNG['se_buildlist'], 'Deuterium' => $LNG['tech'][903], 'Darkmatter' => $LNG['tech'][921], 'se_ref' => $LNG['se_ref'], 'se_ref_active' => $LNG['se_ref_active'], 'se_ref_active_info' => $LNG['se_ref_active_info'], 'se_ref_max_referals' => $LNG['se_ref_max_referals'], 'se_ref_max_referals_info' => $LNG['se_ref_max_referals_info'], 'se_ref_bonus' => $LNG['se_ref_bonus'], 'se_ref_bonus_info' => $LNG['se_ref_bonus_info'], 'se_ref_minpoints' => $LNG['se_ref_minpoints'], 'se_ref_minpoints_info' => $LNG['se_ref_minpoints_info'], 'se_silo_factor' => $LNG['se_silo_factor'], 'se_silo_factor_info' => $LNG['se_silo_factor_info'], 'se_max_dm_missions' => $LNG['se_max_dm_missions'], 'se_alliance_create_min_points' => $LNG['se_alliance_create_min_points'], 'game_name' => $config->game_name, 'uni_name' => $config->uni_name, 'game_speed' => $config->game_speed / 2500, 'fleet_speed' => $config->fleet_speed / 2500, 'resource_multiplier' => $config->resource_multiplier, 'halt_speed' => $config->halt_speed, 'energySpeed' => $config->energySpeed, 'forum_url' => $config->forum_url, 'initial_fields' => $config->initial_fields, 'metal_basic_income' => $config->metal_basic_income, 'crystal_basic_income' => $config->crystal_basic_income, 'deuterium_basic_income' => $config->deuterium_basic_income, 'game_disable' => $config->game_disable, 'close_reason' => $config->close_reason, 'debug' => $config->debug, 'adm_attack' => $config->adm_attack, 'defenses' => $config->Defs_Cdr, 'shiips' => $config->Fleet_Cdr, 'noobprot' => $config->noobprotection, 'noobprot2' => $config->noobprotectiontime, 'noobprot3' => $config->noobprotectionmulti, 'mail_active' => $config->mail_active, 'mail_use' => $config->mail_use, 'smail_path' => $config->smail_path, 'smtp_host' => $config->smtp_host, 'smtp_port' => $config->smtp_port, 'smtp_user' => $config->smtp_user, 'smtp_pass' => $config->smtp_pass, 'smtp_sendmail' => $config->smtp_sendmail, 'smtp_ssl' => $config->smtp_ssl, 'user_valid' => $config->user_valid, 'newsframe' => $config->OverviewNewsFrame, 'reg_closed' => $config->reg_closed, 'NewsTextVal' => $config->OverviewNewsText, 'capprivate' => $config->capprivate, 'cappublic' => $config->cappublic, 'capaktiv' => $config->capaktiv, 'min_build_time' => $config->min_build_time, 'trade_allowed_ships' => $config->trade_allowed_ships, 'trade_charge' => $config->trade_charge, 'Selector' => array('langs' => $LNG->getAllowedLangs(false), 'mail' => $LNG['se_mail_sel'], 'encry' => array('' => $LNG['se_smtp_ssl_1'], 'ssl' => $LNG['se_smtp_ssl_2'], 'tls' => $LNG['se_smtp_ssl_3'])), 'lang' => $config->lang, 'max_galaxy' => $config->max_galaxy, 'max_system' => $config->max_system, 'max_planets' => $config->max_planets, 'min_player_planets' => $config->min_player_planets, 'planets_tech' => $config->planets_tech, 'planets_officier' => $config->planets_officier, 'planets_per_tech' => $config->planets_per_tech, 'planet_factor' => $config->planet_factor, 'max_elements_build' => $config->max_elements_build, 'max_elements_tech' => $config->max_elements_tech, 'max_elements_ships' => $config->max_elements_ships, 'max_fleet_per_build' => $config->max_fleet_per_build, 'max_overflow' => $config->max_overflow, 'moon_factor' => $config->moon_factor, 'moon_chance' => $config->moon_chance, 'darkmatter_cost_trader' => $config->darkmatter_cost_trader, 'factor_university' => $config->factor_university, 'max_fleets_per_acs' => $config->max_fleets_per_acs, 'vmode_min_time' => $config->vmode_min_time, 'gate_wait_time' => $config->gate_wait_time, 'metal_start' => $config->metal_start, 'crystal_start' => $config->crystal_start, 'deuterium_start' => $config->deuterium_start, 'darkmatter_start' => $config->darkmatter_start, 'debris_moon' => $config->debris_moon, 'deuterium_cost_galaxy' => $config->deuterium_cost_galaxy, 'ref_active' => $config->ref_active, 'ref_bonus' => $config->ref_bonus, 'ref_minpoints' => $config->ref_minpoints, 'ref_max_referals' => $config->ref_max_referals, 'silo_factor' => $config->silo_factor, 'max_dm_missions' => $config->max_dm_missions, 'alliance_create_min_points' => $config->alliance_create_min_points));
    $template->show('ConfigBodyUni.tpl');
}
예제 #25
0
function ShowSearchPage()
{
    global $LNG, $USER;
    if ($_GET['delete'] == 'user') {
        PlayerUtil::deletePlayer((int) $_GET['user']);
        message($LNG['se_delete_succes_p'], '?page=search&search=users&minimize=on', 2);
    } elseif ($_GET['delete'] == 'planet') {
        PlayerUtil::deletePlanet((int) $_GET['planet']);
        message($LNG['se_delete_succes_p'], '?page=search&search=planet&minimize=on', 2);
    }
    $SearchFile = HTTP::_GP('search', '');
    $SearchFor = HTTP::_GP('search_in', '');
    $SearchMethod = HTTP::_GP('fuki', '');
    $SearchKey = HTTP::_GP('key_user', '', UTF8_SUPPORT);
    $Page = HTTP::_GP('side', 0);
    $Order = HTTP::_GP('key_order', '');
    $OrderBY = HTTP::_GP('key_acc', '');
    $limit = HTTP::_GP('limit', 25);
    $Selector = array('list' => array('users' => $LNG['se_users'], 'planet' => $LNG['se_planets'], 'moon' => $LNG['se_moons'], 'alliance' => $LNG['se_allys'], 'vacation' => $LNG['se_vacations'], 'banned' => $LNG['se_suspended'], 'admin' => $LNG['se_authlevels'], 'inactives' => $LNG['se_inactives'], 'online' => $LNG['online_users'], 'p_connect' => $LNG['se_planets_act']), 'search' => array('name' => $LNG['se_input_name'], 'id' => $LNG['input_id']), 'filter' => array('normal' => $LNG['se_type_all'], 'exacto' => $LNG['se_type_exact'], 'last' => $LNG['se_type_last'], 'first' => $LNG['se_type_first']), 'order' => array('ASC' => $LNG['se_input_asc'], 'DESC' => $LNG['se_input_desc']), 'limit' => array('1' => '1', '5' => '5', '10' => '10', '15' => '15', '20' => '20', '25' => '25', '50' => '50', '100' => '100', '200' => '200', '500' => '500'));
    $template = new template();
    if (HTTP::_GP('minimize', '') == 'on') {
        $Minimize = "&amp;minimize=on";
        $template->assign_vars(array('minimize' => 'checked = "checked"', 'diisplaay' => 'style="display:none;"'));
    }
    switch ($SearchMethod) {
        case 'exacto':
            $SpecifyWhere = "= '" . $GLOBALS['DATABASE']->sql_escape($SearchKey) . "'";
            break;
        case 'last':
            $SpecifyWhere = "LIKE '" . $GLOBALS['DATABASE']->sql_escape($SearchKey, true) . "%'";
            break;
        case 'first':
            $SpecifyWhere = "LIKE '%" . $GLOBALS['DATABASE']->sql_escape($SearchKey, true) . "'";
            break;
        default:
            $SpecifyWhere = "LIKE '%" . $GLOBALS['DATABASE']->sql_escape($SearchKey, true) . "%'";
            break;
    }
    if (!empty($SearchFile)) {
        $ArrayUsers = array("users", "vacation", "admin", "inactives", "online");
        $ArrayPlanets = array("planet", "moon", "p_connect");
        $ArrayBanned = array("banned");
        $ArrayAlliance = array("alliance");
        if (in_array($SearchFile, $ArrayUsers)) {
            $Table = "users";
            $NameLang = $LNG['se_search_users'];
            $SpecifyItems = "id,username,email_2,onlinetime,register_time,user_lastip,authlevel,bana,urlaubs_modus";
            $SName = $LNG['se_input_userss'];
            $SpecialSpecify = "";
            if ($SearchFile == "vacation") {
                $SpecialSpecify = "AND urlaubs_modus = '1'";
                $SName = $LNG['se_input_vacatii'];
            }
            if ($SearchFile == "online") {
                $SpecialSpecify = "AND onlinetime >= '" . (TIMESTAMP - 15 * 60) . "'";
                $SName = $LNG['se_input_connect'];
            }
            if ($SearchFile == "inactives") {
                $SpecialSpecify = "AND onlinetime < '" . (TIMESTAMP - 60 * 60 * 24 * 7) . "'";
                $SName = $LNG['se_input_inact'];
            }
            if ($SearchFile == "admin") {
                $SpecialSpecify = "AND authlevel <= '" . $USER['authlevel'] . "' AND authlevel > '0'";
                $SName = $LNG['se_input_admm'];
            }
            $SpecialSpecify .= " AND universe = '" . Universe::getEmulated() . "'";
            $SearchFor == "name" ? $WhereItem = "WHERE username" : ($WhereItem = "WHERE id");
            $ArrayOSec = array("id", "username", "email_2", "onlinetime", "register_time", "user_lastip", "authlevel", "bana", "urlaubs_modus");
            $Array0SecCount = count($ArrayOSec);
            for ($OrderNum = 0; $OrderNum < $Array0SecCount; $OrderNum++) {
                $OrderBYParse[$ArrayOSec[$OrderNum]] = $LNG['se_search_users'][$OrderNum];
            }
        } elseif (in_array($SearchFile, $ArrayPlanets)) {
            $Table = "planets p";
            $TableUsers = "2";
            $NameLang = $LNG['se_search_planets'];
            $SpecifyItems = "p.id,p.name,CONCAT(u.username, ' (ID:&nbsp;', p.id_owner, ')'),p.last_update,p.galaxy,p.system,p.planet,p.id_luna";
            if ($SearchFile == "planet") {
                $SpecialSpecify = "AND planet_type = '1'";
                $SName = $LNG['se_input_planett'];
            } elseif ($SearchFile == "moon") {
                $SpecialSpecify = "AND planet_type = '3'";
                $SName = $LNG['se_input_moonn'];
            } elseif ($SearchFile == "p_connect") {
                $SpecialSpecify = "AND last_update >= " . (TIMESTAMP - 60 * 60) . "";
                $SName = $LNG['se_input_act_pla'];
            }
            $SpecialSpecify .= " AND p.universe = " . Universe::getEmulated();
            $WhereItem = "LEFT JOIN " . USERS . " u ON u.id = p.id_owner ";
            if ($SearchFor == "name") {
                $WhereItem .= "WHERE p.name";
            } else {
                $WhereItem .= "WHERE p.id";
            }
            $ArrayOSec = array("id", "name", "id_owner", "id_luna", "last_update", "galaxy", "system", "planet");
            $Array0SecCount = count($ArrayOSec);
            for ($OrderNum = 0; $OrderNum < $Array0SecCount; $OrderNum++) {
                $OrderBYParse[$ArrayOSec[$OrderNum]] = $LNG['se_search_planets'][$OrderNum];
            }
        } elseif (in_array($SearchFile, $ArrayBanned)) {
            $Table = "banned";
            $NameLang = $LNG['se_search_banned'];
            $SpecifyItems = "id,who,time,longer,theme,author";
            $SName = $LNG['se_input_susss'];
            $SpecialSpecify = " AND universe = '" . Universe::getEmulated() . "'";
            $SearchFor == "name" ? $WhereItem = "WHERE who" : ($WhereItem = "WHERE id");
            $ArrayOSec = array("id", "who", "time", "longer", "theme", "author");
            $Array0SecCount = count($ArrayOSec);
            for ($OrderNum = 0; $OrderNum < $Array0SecCount; $OrderNum++) {
                $OrderBYParse[$ArrayOSec[$OrderNum]] = $LNG['se_search_banned'][$OrderNum];
            }
        } elseif (in_array($SearchFile, $ArrayAlliance)) {
            $Table = "alliance";
            $NameLang = $LNG['se_search_alliance'];
            $SpecifyItems = "id,ally_name,ally_tag,ally_owner,ally_register_time,ally_members";
            $SName = $LNG['se_input_allyy'];
            $SpecialSpecify = " AND ally_universe = '" . Universe::getEmulated() . "'";
            $SearchFor == "name" ? $WhereItem = "WHERE ally_name" : ($WhereItem = "WHERE id");
            $ArrayOSec = array("id", "ally_name", "ally_tag", "ally_owner", "ally_register_time", "ally_members");
            $Array0SecCount = count($ArrayOSec);
            for ($OrderNum = 0; $OrderNum < $Array0SecCount; $OrderNum++) {
                $OrderBYParse[$ArrayOSec[$OrderNum]] = $LNG['se_search_alliance'][$OrderNum];
            }
        }
        $RESULT = MyCrazyLittleSearch($SpecifyItems, $WhereItem, $SpecifyWhere, $SpecialSpecify, $Order, $OrderBY, $limit, $Table, $Page, $NameLang, $ArrayOSec, $Minimize, $SName, $SearchFile);
    }
    $template->assign_vars(array('Selector' => $Selector, 'limit' => $limit, 'search' => $SearchKey, 'SearchFile' => $SearchFile, 'SearchFor' => $SearchFor, 'SearchMethod' => $SearchMethod, 'Order' => $Order, 'OrderBY' => $OrderBY, 'OrderBYParse' => $OrderBYParse, 'se_search' => $LNG['se_search'], 'se_limit' => $LNG['se_limit'], 'se_asc_desc' => $LNG['se_asc_desc'], 'se_filter_title' => $LNG['se_filter_title'], 'se_search_in' => $LNG['se_search_in'], 'se_type_typee' => $LNG['se_type_typee'], 'se_intro' => $LNG['se_intro'], 'se_search_title' => $LNG['se_search_title'], 'se_contrac' => $LNG['se_contrac'], 'se_search_order' => $LNG['se_search_order'], 'ac_minimize_maximize' => $LNG['ac_minimize_maximize'], 'LIST' => $RESULT['LIST'], 'PAGES' => $RESULT['PAGES']));
    $template->show('SearchPage.tpl');
}
예제 #26
0
function ShowUniversePage()
{
    global $LNG, $USER;
    $template = new template();
    $action = HTTP::_GP('action', '');
    $universe = HTTP::_GP('uniID', 0);
    switch ($action) {
        case 'open':
            $config = Config::get($universe);
            $config->game_disable = 1;
            $config->save();
            break;
        case 'closed':
            $config = Config::get($universe);
            $config->game_disable = 0;
            $config->save();
            break;
        case 'delete':
            if (!empty($universe) && $universe != ROOT_UNI && $universe != Universe::current()) {
                $GLOBALS['DATABASE']->query("DELETE FROM " . ALLIANCE . ", " . ALLIANCE_RANK . ", " . ALLIANCE_REQUEST . " \n\t\t\t\tUSING " . ALLIANCE . " \n\t\t\t\tLEFT JOIN " . ALLIANCE_RANK . " ON " . ALLIANCE . ".id = " . ALLIANCE_RANK . ".allianceID\n\t\t\t\tLEFT JOIN " . ALLIANCE_REQUEST . " ON " . ALLIANCE . ".id = " . ALLIANCE_REQUEST . " .allianceID\n\t\t\t\tWHERE ally_universe = " . $universe . ";");
                $GLOBALS['DATABASE']->query("DELETE FROM " . BANNED . " WHERE universe = " . $universe . ";");
                $GLOBALS['DATABASE']->query("DELETE FROM " . BUDDY . ", " . BUDDY_REQUEST . "\n\t\t\t\tUSING " . BUDDY . "\n\t\t\t\tLEFT JOIN " . BUDDY_REQUEST . " ON " . BUDDY . ".id = " . BUDDY_REQUEST . ".id\n\t\t\t\tWHERE " . BUDDY . ".universe = " . $universe . ";");
                $GLOBALS['DATABASE']->query("DELETE FROM " . CONFIG . " WHERE uni = " . $universe . ";");
                $GLOBALS['DATABASE']->query("DELETE FROM " . DIPLO . " WHERE universe = " . $universe . ";");
                $GLOBALS['DATABASE']->query("DELETE FROM " . FLEETS . ", " . FLEETS_EVENT . ", " . AKS . ", " . LOG_FLEETS . "\n\t\t\t\tUSING " . FLEETS . "\n\t\t\t\tLEFT JOIN " . FLEETS_EVENT . " ON " . FLEETS . ".fleet_id = " . FLEETS_EVENT . ".fleetID\n\t\t\t\tLEFT JOIN " . AKS . " ON " . FLEETS . ".fleet_group = " . AKS . ".id\n\t\t\t\tLEFT JOIN " . LOG_FLEETS . " ON " . FLEETS . ".fleet_id = " . LOG_FLEETS . ".fleet_id\n\t\t\t\tWHERE " . FLEETS . ".fleet_universe = " . $universe . ";");
                $GLOBALS['DATABASE']->query("DELETE FROM " . MESSAGES . " WHERE message_universe = " . $universe . ";");
                $GLOBALS['DATABASE']->query("DELETE FROM " . NOTES . " WHERE universe = " . $universe . ";");
                $GLOBALS['DATABASE']->query("DELETE FROM " . PLANETS . " WHERE universe = " . $universe . ";");
                $GLOBALS['DATABASE']->query("DELETE FROM " . STATPOINTS . " WHERE universe = " . $universe . ";");
                $GLOBALS['DATABASE']->query("DELETE FROM " . TICKETS . ", " . TICKETS_ANSWER . "\n\t\t\t\tUSING " . TICKETS . "\n\t\t\t\tLEFT JOIN " . TICKETS_ANSWER . " ON " . TICKETS . ".ticketID = " . TICKETS_ANSWER . ".ticketID\n\t\t\t\tWHERE universe = " . $universe . ";");
                $GLOBALS['DATABASE']->query("DELETE FROM " . TOPKB . " WHERE universe = " . $universe . ";");
                $GLOBALS['DATABASE']->query("DELETE FROM " . USERS . ", " . USERS_ACS . ", " . USERS_AUTH . ", " . TOPKB_USERS . ", " . SESSION . ", " . SHORTCUTS . ", " . RECORDS . "\n\t\t\t\tUSING " . USERS . "\n\t\t\t\tLEFT JOIN " . USERS_ACS . " ON " . USERS . ".id = " . USERS_ACS . ".userID\n\t\t\t\tLEFT JOIN " . USERS_AUTH . " ON " . USERS . ".id = " . USERS_AUTH . ".id\n\t\t\t\tLEFT JOIN " . TOPKB_USERS . " ON " . USERS . ".id = " . TOPKB_USERS . ".uid\n\t\t\t\tLEFT JOIN " . SESSION . " ON " . USERS . ".id = " . SESSION . ".userID\n\t\t\t\tLEFT JOIN " . SHORTCUTS . " ON " . USERS . ".id = " . SHORTCUTS . ".ownerID\n\t\t\t\tLEFT JOIN " . RECORDS . " ON " . USERS . ".id = " . RECORDS . ".userID\n\t\t\t\tLEFT JOIN " . LOSTPASSWORD . " ON " . USERS . ".id = " . LOSTPASSWORD . ".userID\n\t\t\t\tWHERE " . USERS . ".universe = " . $universe . ";");
                $GLOBALS['DATABASE']->query("DELETE FROM " . USERS_VALID . " WHERE universe = " . $universe . ";");
                if (Universe::getEmulated() == $universe) {
                    Universe::setEmulated(Universe::current());
                }
                if (count(Universe::availableUniverses()) == 2) {
                    // Hack The Session
                    setcookie(session_name(), session_id(), SESSION_LIFETIME, HTTP_BASE, NULL, HTTPS, true);
                    HTTP::redirectTo("../admin.php?reload=r");
                }
            }
            break;
        case 'create':
            $universeCount = count(Universe::availableUniverses());
            // Check Multiuniverse Support
            $ch = curl_init();
            if ($universeCount == 1) {
                curl_setopt($ch, CURLOPT_URL, PROTOCOL . HTTP_HOST . HTTP_BASE . "uni" . ROOT_UNI . "/");
            } else {
                curl_setopt($ch, CURLOPT_URL, PROTOCOL . HTTP_HOST . HTTP_BASE);
            }
            curl_setopt($ch, CURLOPT_HTTPGET, true);
            curl_setopt($ch, CURLOPT_AUTOREFERER, true);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; 2Moons/" . Config::get()->VERSION . "; +http://2moons.cc)");
            curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3", "Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4"));
            curl_exec($ch);
            $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
            curl_close($ch);
            if ($httpCode != 302) {
                $template = new template();
                $template->message(str_replace(array('{NGINX-CODE}'), array('rewrite /(.*)/?uni[0-9]+/?(.*) /$1/$2 break;'), $LNG->getTemplate('createUniverseInfo')) . '<a href="javascript:window.history.back();"><button>' . $LNG['uvs_back'] . '</button></a>' . '<a href="javascript:window.location.reload();"><button>' . $LNG['uvs_reload'] . '</button></a>');
                exit;
            }
            $config = Config::get();
            $configSQL = array();
            foreach (Config::getGlobalConfigKeys() as $basicConfigKey) {
                $configSQL[] = '`' . $basicConfigKey . '` = "' . $config->{$basicConfigKey} . '"';
            }
            $configSQL[] = '`uni_name` = "' . $LNG['fcm_universe'] . ' ' . ($universeCount + 1) . '"';
            $configSQL[] = '`close_reason` = ""';
            $configSQL[] = '`OverviewNewsText` = "' . $GLOBALS['DATABASE']->escape($config->OverviewNewsText) . '"';
            $GLOBALS['DATABASE']->query("INSERT INTO " . CONFIG . " SET " . implode(', ', $configSQL) . ";");
            $newUniverse = $GLOBALS['DATABASE']->GetInsertID();
            Config::reload();
            list($userID, $planetID) = PlayerUtil::createPlayer($newUniverse, $USER['username'], '', $USER['email'], $USER['lang'], 1, 1, 1, NULL, AUTH_ADM);
            $GLOBALS['DATABASE']->query("UPDATE " . USERS . " SET password = '******'password'] . "' WHERE id = " . $userID . ";");
            if ($universeCount === 1) {
                // Hack The Session
                setcookie(session_name(), session_id(), SESSION_LIFETIME, HTTP_ROOT . 'uni' . $USER['universe'] . '/', NULL, HTTPS, true);
                HTTP::redirectTo("uni" . $USER['universe'] . "/admin.php?reload=r");
            }
            break;
    }
    $uniList = array();
    $uniResult = $GLOBALS['DATABASE']->query("SELECT uni, users_amount, game_disable, energySpeed, halt_speed, resource_multiplier, fleet_speed, game_speed, uni_name, COUNT(DISTINCT inac.id) as inactive, COUNT(planet.id) as planet\n\tFROM " . CONFIG . " conf\n\tLEFT JOIN " . USERS . " as inac ON uni = inac.universe AND inac.onlinetime < " . (TIMESTAMP - INACTIVE) . "\n\tLEFT JOIN " . PLANETS . " as planet ON uni = planet.universe\n\tGROUP BY conf.uni, inac.universe, planet.universe\n\tORDER BY uni ASC;");
    while ($uniRow = $GLOBALS['DATABASE']->fetch_array($uniResult)) {
        $uniList[$uniRow['uni']] = $uniRow;
    }
    $template->assign_vars(array('uniList' => $uniList, 'SID' => session_id()));
    $template->show('UniversePage.tpl');
}
예제 #27
0
 function __construct($mode)
 {
     $this->data['mode'] = $mode;
     $this->data['admin'] = Session::load()->userId;
     $this->data['uni'] = Universe::getEmulated();
 }
예제 #28
0
function ShowResetPage()
{
    global $LNG, $reslist, $resource;
    $template = new template();
    $config = Config::get(ROOT_UNI);
    if ($_POST) {
        foreach ($reslist['build'] as $ID) {
            $dbcol['build'][$ID] = "`" . $resource[$ID] . "` = '0'";
        }
        foreach ($reslist['tech'] as $ID) {
            $dbcol['tech'][$ID] = "`" . $resource[$ID] . "` = '0'";
        }
        foreach ($reslist['fleet'] as $ID) {
            $dbcol['fleet'][$ID] = "`" . $resource[$ID] . "` = '0'";
        }
        foreach ($reslist['defense'] as $ID) {
            $dbcol['defense'][$ID] = "`" . $resource[$ID] . "` = '0'";
        }
        foreach ($reslist['officier'] as $ID) {
            $dbcol['officier'][$ID] = "`" . $resource[$ID] . "` = '0'";
        }
        foreach ($reslist['resstype'][1] as $ID) {
            if (isset($config->{$resource[$ID] . '_start'})) {
                $dbcol['resource_planet_start'][$ID] = "`" . $resource[$ID] . "` = " . $config->{$resource[$ID] . '_start'};
            }
        }
        foreach ($reslist['resstype'][3] as $ID) {
            if (isset($config->{$resource[$ID] . '_start'})) {
                $dbcol['resource_user_start'][$ID] = "`" . $resource[$ID] . "` = " . $config->{$resource[$ID] . '_start'};
            }
        }
        // Players and Planets
        if ($_POST['players'] == 'on') {
            $ID = $GLOBALS['DATABASE']->getFirstCell("SELECT `id_owner` FROM " . PLANETS . " WHERE `universe` = " . Universe::getEmulated() . " AND `galaxy` = '1' AND `system` = '1' AND `planet` = '1';");
            $GLOBALS['DATABASE']->multi_query("DELETE FROM " . USERS . " WHERE `universe` = " . Universe::getEmulated() . " AND `id` != '" . $ID . "';DELETE FROM " . PLANETS . " WHERE `universe` = " . Universe::getEmulated() . " AND `id_owner` != '" . $ID . "';");
        }
        if ($_POST['planets'] == 'on') {
            $GLOBALS['DATABASE']->multi_query("DELETE FROM " . PLANETS . " WHERE `universe` = " . Universe::getEmulated() . " AND `id` NOT IN (SELECT id_planet FROM " . USERS . " WHERE `universe` = " . Universe::getEmulated() . ");UPDATE " . PLANETS . " SET `id_luna` = '0' WHERE `universe` = " . Universe::getEmulated() . ";");
        }
        if ($_POST['moons'] == 'on') {
            $GLOBALS['DATABASE']->multi_query("DELETE FROM " . PLANETS . " WHERE `planet_type` = '3' AND `universe` = " . Universe::getEmulated() . ";UPDATE " . PLANETS . " SET `id_luna` = '0' WHERE `universe` = " . Universe::getEmulated() . ";");
        }
        // HANGARES Y DEFENSAS
        if ($_POST['defenses'] == 'on') {
            $GLOBALS['DATABASE']->query("UPDATE " . PLANETS . " SET " . implode(", ", $dbcol['defense']) . " WHERE `universe` = " . Universe::getEmulated() . ";");
        }
        if ($_POST['ships'] == 'on') {
            $GLOBALS['DATABASE']->query("UPDATE " . PLANETS . " SET " . implode(", ", $dbcol['fleet']) . " WHERE `universe` = " . Universe::getEmulated() . ";");
        }
        if ($_POST['h_d'] == 'on') {
            $GLOBALS['DATABASE']->query("UPDATE " . PLANETS . " SET `b_hangar` = '0', `b_hangar_id` = '' WHERE `universe` = " . Universe::getEmulated() . ";");
        }
        // EDIFICIOS
        if ($_POST['edif_p'] == 'on') {
            $GLOBALS['DATABASE']->query("UPDATE " . PLANETS . " SET " . implode(", ", $dbcol['build']) . ", `field_current` = '0' WHERE `planet_type` = '1' AND `universe` = " . Universe::getEmulated() . ";");
        }
        if ($_POST['edif_l'] == 'on') {
            $GLOBALS['DATABASE']->query("UPDATE " . PLANETS . " SET " . implode(", ", $dbcol['build']) . ", `field_current` = '0' WHERE `planet_type` = '3' AND `universe` = " . Universe::getEmulated() . ";");
        }
        if ($_POST['edif'] == 'on') {
            $GLOBALS['DATABASE']->query("UPDATE " . PLANETS . " SET `b_building` = '0', `b_building_id` = '' WHERE `universe` = " . Universe::getEmulated() . ";");
        }
        // INVESTIGACIONES Y OFICIALES
        if ($_POST['inves'] == 'on') {
            $GLOBALS['DATABASE']->query("UPDATE " . USERS . " SET " . implode(", ", $dbcol['tech']) . " WHERE `universe` = " . Universe::getEmulated() . ";");
        }
        if ($_POST['ofis'] == 'on') {
            $GLOBALS['DATABASE']->query("UPDATE " . USERS . " SET " . implode(", ", $dbcol['officier']) . " WHERE `universe` = " . Universe::getEmulated() . ";");
        }
        if ($_POST['inves_c'] == 'on') {
            $GLOBALS['DATABASE']->query("UPDATE " . USERS . " SET `b_tech_planet` = '0', `b_tech` = '0', `b_tech_id` = '0', `b_tech_queue` = '' WHERE `universe` = " . Universe::getEmulated() . ";");
        }
        // RECURSOS
        if ($_POST['dark'] == 'on') {
            $GLOBALS['DATABASE']->query("UPDATE " . USERS . " SET " . implode(", ", $dbcol['resource_user_start']) . " WHERE `universe` = " . Universe::getEmulated() . ";");
        }
        if ($_POST['resources'] == 'on') {
            $GLOBALS['DATABASE']->query("UPDATE " . PLANETS . " SET " . implode(", ", $dbcol['resource_planet_start']) . " WHERE `universe` = " . Universe::getEmulated() . ";");
        }
        // GENERAL
        if ($_POST['notes'] == 'on') {
            $GLOBALS['DATABASE']->query("DELETE FROM " . NOTES . " WHERE `universe` = " . Universe::getEmulated() . ";");
        }
        if ($_POST['rw'] == 'on') {
            $GLOBALS['DATABASE']->query("DELETE FROM " . TOPKB . " WHERE `universe` = " . Universe::getEmulated() . ";");
        }
        if ($_POST['friends'] == 'on') {
            $GLOBALS['DATABASE']->query("DELETE FROM " . BUDDY . " WHERE `universe` = " . Universe::getEmulated() . ";");
        }
        if ($_POST['alliances'] == 'on') {
            $GLOBALS['DATABASE']->multi_query("DELETE FROM " . ALLIANCE . " WHERE `ally_universe` = '" . Universe::getEmulated() . "';UPDATE " . USERS . " SET `ally_id` = '0', `ally_register_time` = '0', `ally_rank_id` = '0' WHERE `universe` = " . Universe::getEmulated() . ";");
        }
        if ($_POST['fleets'] == 'on') {
            $GLOBALS['DATABASE']->query("DELETE FROM " . FLEETS . " WHERE `fleet_universe` = '" . Universe::getEmulated() . "';");
        }
        if ($_POST['banneds'] == 'on') {
            $GLOBALS['DATABASE']->multi_query("DELETE FROM " . BANNED . " WHERE `universe` = " . Universe::getEmulated() . ";UPDATE " . USERS . " SET `bana` = '0', `banaday` = '0' WHERE `universe` = " . Universe::getEmulated() . ";");
        }
        if ($_POST['messages'] == 'on') {
            $GLOBALS['DATABASE']->multi_query("DELETE FROM " . MESSAGES . " WHERE `message_universe` = '" . Universe::getEmulated() . "';");
        }
        if ($_POST['statpoints'] == 'on') {
            $GLOBALS['DATABASE']->query("DELETE FROM " . STATPOINTS . " WHERE `universe` = " . Universe::getEmulated() . ";");
        }
        $template->message($LNG['re_reset_excess'], '?page=reset&sid=' . session_id(), 3);
        exit;
    }
    $template->assign_vars(array('button_submit' => $LNG['button_submit'], 're_reset_universe_confirmation' => $LNG['re_reset_universe_confirmation'], 're_reset_all' => $LNG['re_reset_all'], 're_reset_all' => $LNG['re_reset_all'], 're_defenses_and_ships' => $LNG['re_defenses_and_ships'], 're_reset_buldings' => $LNG['re_reset_buldings'], 're_buildings_lu' => $LNG['re_buildings_lu'], 're_buildings_pl' => $LNG['re_buildings_pl'], 're_buldings' => $LNG['re_buldings'], 're_reset_hangar' => $LNG['re_reset_hangar'], 're_ships' => $LNG['re_ships'], 're_defenses' => $LNG['re_defenses'], 're_resources_met_cry' => $LNG['re_resources_met_cry'], 're_resources_dark' => $LNG['re_resources_dark'], 're_resources' => $LNG['re_resources'], 're_reset_invest' => $LNG['re_reset_invest'], 're_investigations' => $LNG['re_investigations'], 're_ofici' => $LNG['re_ofici'], 're_inve_ofis' => $LNG['re_inve_ofis'], 're_reset_statpoints' => $LNG['re_reset_statpoints'], 're_reset_messages' => $LNG['re_reset_messages'], 're_reset_banned' => $LNG['re_reset_banned'], 're_reset_errors' => $LNG['re_reset_errors'], 're_reset_fleets' => $LNG['re_reset_fleets'], 're_reset_allys' => $LNG['re_reset_allys'], 're_reset_buddies' => $LNG['re_reset_buddies'], 're_reset_rw' => $LNG['re_reset_rw'], 're_reset_notes' => $LNG['re_reset_notes'], 're_reset_moons' => $LNG['re_reset_moons'], 're_reset_planets' => $LNG['re_reset_planets'], 're_reset_player' => $LNG['re_reset_player'], 're_player_and_planets' => $LNG['re_player_and_planets'], 're_general' => $LNG['re_general']));
    $template->show('ResetPage.tpl');
}