예제 #1
0
 public function getContent()
 {
     $page = new Neuron_Core_Template();
     $input = $this->getInputData();
     if (isset($input['reset']) && $input['reset'] == 'reset') {
         $input['action'] = 'reset';
     }
     //return print_r ($input, true);
     if (isset($input['log'])) {
         // Update current report
         return $this->showReportFromRequest($input['log']);
     }
     if (isset($input['action']) && $input['action'] == 'simulate') {
         return $this->simulate();
     }
     $slots = isset($input['slots']) ? intval($input['slots']) : 7;
     if ($slots < 3 || $slots > 99) {
         $slots = 7;
     }
     $page->set('slots', $slots);
     $races = Dolumar_Races_Race::getRaceObjects();
     $units = array();
     foreach ($races as $race) {
         $tmp = array();
         $unitsInput = Dolumar_Units_Unit::getAllUnits($race);
         foreach ($unitsInput as $v) {
             $tmp[] = array('id' => $v->getUnitId(), 'name' => $v->getName(), 'img' => $v->getImageUrl());
         }
         $units[] = array('id' => $race->getId(), 'name' => $race->getName(), 'units' => $tmp);
     }
     $page->set('units', $units);
     return $page->parse('battle/simulator/simulator.phpt');
 }
예제 #2
0
 public function getContent()
 {
     $me = Neuron_GameServer::getPlayer();
     $text = Neuron_Core_Text::__getInstance();
     $text->setFile('unit');
     $text->setSection('equipment');
     if ($this->village && $this->village->isActive() && $this->village->getOwner() && $this->village->getOwner()->getId() == $me->getId()) {
         $page = new Neuron_Core_Template();
         $page->set('noItems', $text->get('noItems'));
         $page->set('available', $text->get('available'));
         $page->set('total', $text->get('total'));
         $equipment = $this->village->getEquipment();
         $yourEquipment = array();
         foreach ($equipment as $type => $items) {
             if (count($items) > 0) {
                 $yourEquipment[$type] = array('type' => $text->get($type, 'types', 'equipment'), 'items' => array());
                 foreach ($items as $item) {
                     $yourEquipment[$type]['items'][] = array($item->getName(true), $item->getAvailableAmount(), $item->getAmount(), Neuron_Core_Tools::output_text($item->getStats_text()));
                 }
             }
         }
         $page->set('equipment', $yourEquipment);
         return $page->parse('equipment.tpl');
     } else {
         return '<p class="false">' . $text->get('login', 'login', 'account') . '</p>';
     }
 }
예제 #3
0
 public function getContent($msg = null, $failed = false)
 {
     $myself = Neuron_GameServer::getPlayer();
     if (!$this->village->isActive() || $this->village->getOwner()->getId() != $myself->getId()) {
         return false;
     }
     $page = new Neuron_Core_Template();
     $page->setTextSection('formation', 'battle');
     // Load battle slots
     $slots = $this->village->getDefenseSlots();
     // Load your units
     $squads = $this->village->getSquads(false, false, false);
     // See how much rows that is
     $rows = $this->countRows($squads, $slots);
     $page->set('rows', $rows);
     $page->set('slots', $slots);
     if (!empty($msg)) {
         $page->set('message', $msg);
         $page->set('error', $failed);
     }
     foreach ($squads as $v) {
         if ($v->getUnitsAmount() > 0) {
             $page->addListValue('squads', array('sName' => Neuron_Core_Tools::output_varchar($v->getName()), 'oUnits' => $v->getUnits(), 'id' => $v->getId()));
         }
     }
     return $page->parse('battle/formation.phpt');
 }
예제 #4
0
 public function getContent($error = null)
 {
     $text = Neuron_Core_Text::__getInstance();
     $text->setFile('account');
     $text->setSection('premium');
     $player = Neuron_GameServer::getPlayer();
     if (!$player) {
         return '<p class="false">' . $text->get('login', 'login', 'account') . '</p>';
     }
     $openid = isset($_SESSION['neuron_openid_identity']) ? md5($_SESSION['neuron_openid_identity']) : false;
     if ($player && $player->isFound() && ($player->isEmailCertified() || $openid)) {
         $page = new Neuron_Core_Template();
         // Premium account stuff
         $page->set('premium', $text->get('premium', 'myAccount'));
         if ($player->isPremium()) {
             $page->set('premiumLast', Neuron_Core_Tools::putIntoText($text->get('premiumLast', 'myAccount'), array(date(DATETIME, $player->getPremiumEndDate()))));
             $page->set('extend2', $text->getClickTo($text->get('toPremium', 'myAccount')));
         } else {
             $page->set('notPremium1', $text->get('notPremium', 'myAccount'));
             $page->set('notPremium2', $text->getClickTo($text->get('toPremium', 'myAccount')));
         }
         $page->set('toUse', $text->getClickTo(Neuron_Core_Tools::putIntoText($text->get('toUseCredit'), array('amount' => PREMIUM_COST_CREDITS))));
         $page->set('extend_url', htmlentities($player->getCreditUseUrl(PREMIUM_COST_CREDITS)));
         $page->set('benefits', $this->getBenefits());
         if (!empty($error)) {
             $page->set('error', $text->get($error));
         }
         return $page->parse('gameserver/account/premium.tpl');
     } elseif ($player->isFound()) {
         return '<p>' . $text->get('validateEmail') . '</p>';
     }
 }
예제 #5
0
 public function getContent()
 {
     $server = Neuron_GameServer::getServer();
     $page = new Neuron_Core_Template();
     if ($server->getEndgameStartDate() > time()) {
         $page->set('endgame_start', Neuron_Core_Tools::getCountdown($server->getEndgameStartDate()));
     } else {
         $page->set('endgame_start', '<strong>already started</strong>');
     }
     return $page->parse('dolumar/serversettings.phpt');
 }
예제 #6
0
파일: Tower.php 프로젝트: Toxicat/dolumar
 protected function getCustomContent($input)
 {
     $page = new Neuron_Core_Template();
     $page->set('description', $this->getDescription());
     $runes = $this->getVillage()->resources->getUsedRunes_amount();
     $percentage = $this->getVillage()->battle->getTowerPercentage();
     $bonus = $this->getVillage()->battle->getDefenseBonus();
     $page->set('runes', $runes);
     $page->set('percentage', round($percentage));
     $page->set('bonus', round($bonus));
     return $page->parse('buildings/tower.phpt');
 }
예제 #7
0
 public function getBody()
 {
     $timeframe = Neuron_Core_Tools::getInput('_GET', 'timeframe', 'int', 60 * 60 * 48);
     $db = Neuron_DB_Database::__getInstance();
     $page = new Neuron_Core_Template();
     $page->set('timeframe', $timeframe);
     // Fetch all doubles
     $data = $db->query("\n\t\t\tSELECT\n\t\t\t\tn_login_log.l_ip,\n\t\t\t\t\n\t\t\t\tGROUP_CONCAT(DISTINCT n_login_log.l_plid) AS plids,\n\t\t\t\tGROUP_CONCAT(DISTINCT n_players.nickname) AS nicknames,\n\t\t\t\t\n\t\t\t\tGROUP_CONCAT(c.pac_plid1) AS cleared_1,\n\t\t\t\tGROUP_CONCAT(c.pac_plid2) AS cleared_2,\n\t\t\t\tGROUP_CONCAT(c.pac_reason) AS cleared_reason,\n\t\t\t\t\n\t\t\t\tCOUNT(DISTINCT l_plid) AS aantal\n\t\t\tFROM\n\t\t\t\tn_login_log\n\t\t\tLEFT JOIN\n\t\t\t\tn_players ON n_login_log.l_plid = n_players.plid\n\t\t\tLEFT JOIN\n\t\t\t\tn_players_admin_cleared c ON (c.pac_plid1 = n_login_log.l_plid OR c.pac_plid2 = n_login_log.l_plid)\n\t\t\tWHERE\n\t\t\t\tn_login_log.l_datetime > FROM_UNIXTIME(" . (NOW - $timeframe) . ") AND\n\t\t\t\tn_players.isPlaying = 1\n\t\t\tGROUP BY\n\t\t\t\tl_ip\n\t\t\tHAVING\n\t\t\t\taantal > 1\n\t\t");
     foreach ($data as $row) {
         $plids = explode(',', $row['plids']);
         $nicknames = explode(',', $row['nicknames']);
         // Check clearances.
         $clearances = $this->getClearancesFromRow($row);
         $players = array();
         $combinedlogs = "";
         foreach ($plids as $k => $v) {
             $players[] = array('id' => $plids[$k], 'name' => isset($nicknames[$k]) ? $nicknames[$k] : 'no-nickname-set', 'url' => $this->getUrl('user', array('id' => $plids[$k])), 'logs_url' => $this->getUrl('gamelogs', array('players' => $plids[$k])));
             $combinedlogs .= $plids[$k] . "|";
         }
         // Check for cleared accounts
         $allcleared = true;
         foreach ($players as $k => $v) {
             $players[$k]['cleared'] = $this->isCleared($clearances, $v, $players);
             if ($allcleared && !$players[$k]['cleared']) {
                 $allcleared = false;
             }
         }
         $combinedlogs = substr($combinedlogs, 0, -1);
         $page->addListValue('players', array('ip' => $row['l_ip'], 'players' => $players, 'combined_logs_url' => $this->getUrl('gamelogs', array('players' => $combinedlogs)), 'clearmultis' => $this->getUrl('clearmultis', array('players' => $combinedlogs)), 'cleared' => $allcleared, 'amount' => $row['aantal']));
     }
     $page->usortList('players', array($this, 'sortcompare'));
     return $page->parse('pages/admin/multis.phpt');
 }
예제 #8
0
파일: Economy.php 프로젝트: Toxicat/dolumar
 public function getContent()
 {
     $login = Neuron_Core_Login::__getInstance();
     $text = Neuron_Core_Text::__getInstance();
     $text->setFile('village');
     $text->setSection('economics');
     if ($login->isLogin() && $this->village && $this->village->isFound()) {
         $me = Neuron_GameServer::getPlayer();
         if ($this->village->isActive() && ($me->getId() == $this->village->getOwner()->getId() || $me->isModerator())) {
             $page = new Neuron_Core_Template();
             $page->set('resources', $text->get('resources'));
             $page->set('stock', $text->get('stock'));
             $page->set('max', $text->get('max'));
             $page->set('income', $text->get('income'));
             $page->set('norunes', $text->get('norunes'));
             $page->set('bruto', $text->get('bruto'));
             $page->set('consuming', $text->get('consuming'));
             $page->set('honour', $this->village->honour->getHonour());
             $page->set('hourly', $text->get('hourly'));
             $res = $this->village->resources->getResources();
             $income = $this->village->resources->getIncome();
             $capacity = $this->village->resources->getCapacity();
             $consumption = $this->village->resources->getUnitConsumption();
             $bruto = $this->village->resources->getBrutoIncome();
             foreach ($res as $k => $v) {
                 $page->addListValue('resources', array(ucfirst($text->get($k, 'resources', 'main')), $v, $capacity[$k], $income[$k], 'resource' => $k, 'bruto' => isset($bruto[$k]) ? $bruto[$k] : 0, 'consuming' => isset($consumption[$k]) ? $consumption[$k] : 0));
             }
             // Runes
             $page->set('runes', $text->get('runes'));
             $runes = $this->village->resources->getRuneSummary();
             foreach ($runes as $k => $v) {
                 if ($v > 0) {
                     if ($k == 'random') {
                         $k = 'randomrune';
                     }
                     $page->addListValue('runes', array('name' => ucfirst($text->get($k, 'runeDouble', 'main')), 'available' => $v['available'], 'key' => $k, 'used' => $v['used'], 'used_percentage' => $v['used_percentage'] * 100));
                 }
             }
             $page->sortList('runes');
             return $page->parse('economics.tpl');
         } else {
             return '<p>You are not authorized to view this information: ' . $this->village->getId() . ' != ' . $me->getId() . '</p>';
         }
     } else {
         return '<p class="false">' . $text->get('login', 'login', 'account') . '</p>';
     }
 }
예제 #9
0
 private function inVacationMode()
 {
     $myself = Neuron_GameServer::getPlayer();
     $input = $this->getInputData();
     $page = new Neuron_Core_Template();
     if (isset($input['disable'])) {
         if ($myself->endVacationMode()) {
             $page->set('success', true);
         } else {
             $page->set('success', false);
             $page->set('error', $myself->getError());
         }
     }
     // Get "since"
     $page->set('since', date(DATETIME, $myself->getVacationStart()));
     return $page->parse('gameserver/account/vacationModeActive.phpt');
 }
 public function getBody()
 {
     $player = Neuron_GameServer::getPlayer(Neuron_Core_Tools::getInput('_GET', 'id', 'int'));
     $statistics = $player->getStatistics();
     $out = $this->linearArray($statistics);
     $page = new Neuron_Core_Template();
     $page->set('statistics', $out);
     return $page->parse('gameserver/pages/statistics.phpt');
 }
예제 #11
0
 public function getOuterBody()
 {
     $username = Neuron_Core_Tools::getInput('_POST', 'username', 'varchar');
     $password = Neuron_Core_Tools::getInput('_POST', 'password', 'varchar');
     $page = new Neuron_Core_Template();
     if ($username && $password) {
         $chk = $this->login->login($username, $password, false);
         if ($chk) {
             $url = $this->getUrl('index');
             header('Location: ' . $url);
             return '<p>Welcome! Click <a href="' . $url . '">here</a> to continue.</p>';
         } else {
             $page->set('error', $this->login->getError());
         }
     }
     $page->set('action', '');
     return $page->parse('pages/login.phpt');
 }
예제 #12
0
파일: Search.php 프로젝트: Toxicat/dolumar
 public function getContent()
 {
     if ($result = $this->getResults()) {
         return $result;
     }
     $page = new Neuron_Core_Template();
     // Fetch me villages
     $premium = false;
     $player = Neuron_GameServer::getPlayer();
     if ($player) {
         foreach ($player->getVillages() as $v) {
             $loc = $v->buildings->getTownCenterLocation();
             $page->addListValue('villages', array('location' => $loc[0] . ',' . $loc[1], 'name' => Neuron_Core_Tools::output_varchar($v->getName())));
             $page->set('premium', $player->isPremium());
         }
     }
     $page->set('premium', $premium);
     return $page->parse('search/search.phpt');
 }
예제 #13
0
 public function getContent($language = false)
 {
     $login = Neuron_Core_Login::__getInstance();
     $text = Neuron_Core_Text::__getInstance();
     $page = new Neuron_Core_Template();
     $text->setFile('account');
     $text->setSection('language');
     $page->set('language', $text->get('language'));
     $page->set('submit', $text->get('submit'));
     $page->set('current_language', $language ? $language : $text->getCurrentLanguage());
     // Get languages
     $lang = $text->getLanguages();
     foreach ($lang as $v) {
         $text = new Neuron_Core_Text($v);
         $page->addListValue('languages', array($v, $text->get($v, 'languages', 'languages', $v)));
         $page->sortList('languages');
     }
     return $page->parse('language.tpl');
 }
예제 #14
0
 public function getBody()
 {
     $player = Neuron_GameServer::getPlayer();
     if (!$player->isModerator()) {
         return '<p>You don\'t have the rights to access the player logs.</p>';
     }
     $page = new Neuron_Core_Template();
     // Let's find the players
     $input = Neuron_Core_Tools::getInput('_GET', 'players', 'varchar');
     $playerids = explode('|', $input);
     $players = array();
     $villages = array();
     $ids = array();
     $i = 0;
     foreach ($playerids as $v) {
         $player = Neuron_GameServer::getPlayer($v);
         if ($player) {
             $players[] = $player;
             $villages = array_merge($villages, $player->getVillages());
             $ids[$player->getId()] = $i;
             $page->addListValue('players', array('key' => $i, 'id' => $player->getId(), 'name' => $player->getName(), 'url' => $this->getUrl('user', array('id' => $player->getId()))));
             $i++;
         }
     }
     $pageid = max(0, intval(Neuron_Core_Tools::getInput('_GET', 'page', 'int', 1)) - 1);
     $objLogs = Dolumar_Players_Logs::getInstance();
     $logs = $objLogs->getLogs($villages, $pageid * 250, 250, 'DESC');
     foreach ($logs as $v) {
         $player = Dolumar_Players_Village::getFromId($v['village'])->getOwner();
         // Check if this is an important log.
         $bImportant = $this->isImportantLog($players, $v);
         $page->addListValue('logs', array('action' => $objLogs->getLogText($v, false), 'date' => date(DATETIME, $v['timestamp']), 'player' => $player->getName(), 'url' => $this->getUrl('user', array('id' => $player->getId())), 'key' => $ids[$player->getId()], 'important' => $bImportant ? 'important' : null));
     }
     $page->set('page', $pageid + 1);
     if (count($logs) == 250) {
         $page->set('nextpage', $this->getUrl('gamelogs', array('players' => $input, 'page' => $pageid + 2)));
     }
     if ($pageid > 0) {
         $page->set('previouspage', $this->getUrl('gamelogs', array('players' => $input, 'page' => $pageid)));
     }
     return $page->parse('pages/admin/gamelogs.phpt');
 }
예제 #15
0
파일: Invite.php 프로젝트: Toxicat/dolumar
 public function getContent()
 {
     $player = Neuron_GameServer::getPlayer();
     if (!$player) {
         $text = Neuron_Core_Text::__getInstance();
         return '<p class="false">' . $text->get('login', 'login', 'account') . '</p>';
     }
     $page = new Neuron_Core_Template();
     $page->set('sUrl', ABSOLUTE_URL . '?pref=' . $player->getId());
     return $page->parse('account/invite.phpt');
 }
예제 #16
0
파일: Newsbar.php 프로젝트: Toxicat/dolumar
 public function getContent()
 {
     //return $this->getCurrentResources ();
     $data = $this->getRequestData();
     $page = isset($data['page']) ? intval($data['page']) : 1;
     $myself = Neuron_GameServer::getPlayer();
     // Sort of config ;-)
     $totalPages = 0;
     if ($myself) {
         $villages = $myself->getVillages();
         $totalPages = count($villages);
     }
     $content = $this->getResourcesPage();
     // Next & previous pages
     $nextPage = $page + 1;
     $previousPage = $page - 1;
     if ($previousPage < 1) {
         // Highest page id
         $previousPage = $totalPages;
     }
     if ($nextPage > $totalPages) {
         $nextPage = 1;
     }
     $text = Neuron_Core_Text::__getInstance();
     $page = new Neuron_Core_Template();
     $page->set('nextPage', $nextPage);
     $page->set('previousPage', $previousPage);
     $page->set('minimap', $text->get('minimap', 'menu', 'main'));
     // Check for news messages
     $hasMessages = false;
     if ($myself) {
         $mapper = Neuron_GameServer_Mappers_CachedChatMapper::getInstance();
         $messages = $mapper->countUnreadMessages($myself);
         $hasMessages = $messages > 0;
         //return $messages;
         // Get current village
         $village = $myself->getCurrentVillage();
         if ($village) {
             $page->set('current_village', Neuron_Core_Tools::output_varchar($village->getName()));
             $page->set('current_village_id', Neuron_Core_Tools::output_varchar($village->getId()));
         }
     }
     $page->set('hasMessages', $hasMessages);
     $page->set('inbox', $text->get('inbox', 'menu', 'main'));
     $page->set('home', $text->get('home', 'menu', 'main'));
     $page->set('homecors', $this->getHomeLocation());
     $page->set('content', $content);
     return $page->parse('newsbar.tpl');
 }
예제 #17
0
 public function getOuterBody()
 {
     $page = new Neuron_Core_Template();
     $page->set('body', $this->getBody());
     $page->set('messages', $this->getUrl('messages'));
     $page->set('onlineurl', ABSOLUTE_URL . 'test/online/');
     $page->set('searchplayers', $this->getUrl('searchplayers'));
     // Add navigations
     $player = Neuron_GameServer::getPlayer();
     if ($player->isModerator()) {
         $page->set('multiaccounts', $this->getUrl('multis'));
     }
     if ($player->isAdmin()) {
         $page->set('execute', $this->getUrl('execute'));
     }
     if ($player->isDeveloper()) {
         $page->set('bonusbuilding', $this->getUrl('bonusbuilding'));
     }
     $page->set('isModerator', $player->isModerator());
     $page->set('isAdmin', $player->isAdmin());
     $page->set('isDeveloper', $player->isDeveloper());
     return $page->parse('pages/admin/page.phpt');
 }
예제 #18
0
파일: Portal.php 프로젝트: Toxicat/dolumar
 public function getGeneralContent($showAll = false)
 {
     // Fetch thze portal
     $portals = Dolumar_Map_Portal::getFromBuilding($this);
     /*
     if (count ($portals) == 0)
     {
     	return '<p class="false">This portal leads to nowhere...</p>';
     }
     */
     $targets = array();
     foreach ($portals as $v) {
         $village = $v->getOtherSide($this->getVillage());
         $targets[] = $village->getDisplayName();
     }
     $page = new Neuron_Core_Template();
     $destroydate = $this->getDestroyDate();
     if ($destroydate) {
         $page->set('timeleft', Neuron_Core_Tools::getCountdown($this->getDestroyDate()));
     }
     $page->set('targets', $targets);
     return $page->parse('buildings/portal.phpt');
 }
예제 #19
0
 public function getAdditionalContent($page)
 {
     $page = new Neuron_Core_Template();
     $modes = Neuron_GameServer_Player::getAdminModes();
     $out = array();
     $db = Neuron_DB_Database::getInstance();
     $i = 0;
     foreach ($modes as $k => $v) {
         if ($k > 0 && $k < 8) {
             $out[$v] = array();
             $k = intval($k);
             $sql = $db->query("\n\t\t\t\t\tSELECT\n\t\t\t\t\t\tplid\n\t\t\t\t\tFROM\n\t\t\t\t\t\tn_players\n\t\t\t\t\tWHERE\n\t\t\t\t\t\tp_admin = {$k}\n\t\t\t\t");
             foreach ($sql as $vv) {
                 $player = Neuron_GameServer::getPlayer($vv['plid']);
                 $out[$v][] = $player->getDisplayName();
                 $i++;
             }
         }
     }
     $page->set('moderators', $out);
     $page->set('hasmods', $i > 0);
     return $page->parse('neuron/imprint/imprint.phpt');
 }
 public function getContent()
 {
     $text = Neuron_Core_Text::getInstance();
     $player = Neuron_GameServer::getPlayer();
     if (!$player) {
         return $this->throwError($text->get('login', 'login', 'account'));
     }
     $page = new Neuron_Core_Template();
     $page->set('nickname', '');
     // Ignore a player.
     $input = $this->getInputData();
     $nickname = isset($input['nickname']) ? $input['nickname'] : null;
     if (!empty($nickname)) {
         $target = Neuron_GameServer_Player::getFromName($nickname);
         if ($target && $target->getId() == $player->getId()) {
             $page->set('error', 'ignore_yourself');
         } else {
             if ($target) {
                 $player->setIgnoring($target);
             } else {
                 $page->set('nickname', $nickname);
                 $page->set('error', 'player_not_found');
             }
         }
     }
     // Unignore a player
     if (isset($input['unignore'])) {
         $target = Neuron_GameServer::getPlayer($input['unignore']);
         if ($target) {
             $player->setIgnoring($target, false);
         }
     }
     foreach ($player->getIgnoredPlayers() as $v) {
         $page->addListValue('players', array('id' => $v->getId(), 'name' => Neuron_Core_Tools::output_varchar($v->getName())));
     }
     return $page->parse('gameserver/account/ignorelist.phpt');
 }
예제 #21
0
파일: Welcome.php 프로젝트: Toxicat/dolumar
 public function getContent()
 {
     $player = Neuron_GameServer::getPlayer();
     if ($player && $player->isPlaying()) {
         $page = new Neuron_Core_Template();
         // Check for welcome message
         if (isset($_SESSION['welcome_html'])) {
             $page->set('welcome', $_SESSION['welcome_html']);
         }
         $server = Neuron_GameServer_Server::getInstance();
         $txt = $server->getText('headline');
         $page->set('headline', isset($txt) ? Neuron_Core_Tools::output_text($txt) : null);
         $page->set('nickname', $player->getDisplayName());
         $page->set('isPremium', $player->isPremium());
         $page->set('date', date(DATE, $player->getPremiumEndDate()));
         $page->set('isFreePremium', !$player->isProperPremium());
         $msg = Neuron_GameServer_Mappers_CachedChatMapper::getInstance();
         $messages = $msg->countUnreadMessages($player);
         $page->set('inbox', $messages);
         $clans = $player->getClans();
         $page->set('hasclan', count($clans) > 0);
         if (count($clans) > 0) {
             $objlogs = Dolumar_Players_ClanLogs::getInstance();
             $objlogs->clearMyVillages();
             foreach ($player->getVillages() as $village) {
                 $objlogs->addMyVillage($village);
             }
             $logs = $objlogs->getClanLogs($clans, 0, 3);
             foreach ($logs as $v) {
                 $page->addListValue('logs', array('date' => date(DATETIME, $v['timestamp']), 'text' => $objlogs->getLogText($v)));
             }
         }
         // Fetch thze news
         if (defined('GAMENEWS_RSS_URL')) {
             $text = Neuron_Core_Text::getInstance();
             $localized_link = str_replace('{lang}', $text->getCurrentLanguage(), GAMENEWS_RSS_URL);
             $rss = new Neuron_Core_RSSParser($localized_link);
             $rss->setCache(Neuron_Core_Cache::getInstance('newsfeed/'));
             foreach ($rss->getItems(3) as $v) {
                 $page->addListValue('gamenews', array('date' => $v['date'] ? date(DATETIME, $v['date']) : null, 'title' => $v['title'], 'url' => $v['url']));
             }
         }
         return $page->parse('dolumar/welcome/welcome.phpt');
     }
     return false;
 }
예제 #22
0
파일: Battle.php 프로젝트: Toxicat/dolumar
 private function getOverview()
 {
     $player = Neuron_GameServer::getPlayer();
     $map = $this->getServer()->getMap();
     if (!$map instanceof Dolumar_Underworld_Map_Map) {
         $this->reloadWindow();
         return '<p>Mission is finished.</p>';
     }
     $mission = $map->getMission();
     $side = $mission->getPlayerSide($player);
     $total = Dolumar_Underworld_Mappers_BattleMapper::countFromSide($mission, $side);
     $battles = Dolumar_Underworld_Mappers_BattleMapper::getFromSide($mission, $side);
     $page = new Neuron_Core_Template();
     $page->set('side', $side);
     foreach ($battles as $v) {
         $page->addListValue('battles', $v);
     }
     return $page->parse('dolumar/underworld/windows/battle.phpt');
 }
예제 #23
0
 public function getContent()
 {
     if (!$this->village || !$this->village->isFound()) {
         return null;
     }
     // Fetch all buildings
     $buildings = $this->village->buildings->getBuildings();
     // Group buildings
     $groups = array();
     foreach ($buildings as $v) {
         $key = $v->getBuildingId();
         if (!isset($groups[$key])) {
             $groups[$key] = array();
         }
         $groups[$key][] = $v;
     }
     $page = new Neuron_Core_Template();
     $page->set('groups', $groups);
     return $page->parse('village/overview.phpt');
 }
예제 #24
0
파일: Multis.php 프로젝트: Toxicat/dolumar
 public function getBody()
 {
     $timeframe = Neuron_Core_Tools::getInput('_GET', 'timeframe', 'int', 60 * 60 * 48);
     $page = new Neuron_Core_Template();
     $page->set('timeframe', $timeframe);
     $objLogs = Dolumar_Players_Logs::getInstance();
     $objLogs->setTimeInterval(NOW - $timeframe, NOW);
     $pageid = Neuron_Core_Tools::getInput('_GET', 'page', 'int', 1);
     $limit = Neuron_Core_Tools::splitInPages($page, $objLogs->getSuspiciousLogsCounter(), $pageid, self::SUSPICIOUS_TRANSACTIONS_PERPAGE, 7, array('timeframe' => $timeframe), 'multis');
     //print_r ($limit);
     //$logs = $objLogs->getSuspiciousLogs ();
     $logs = $objLogs->getSuspiciousLogs($limit['start'], $limit['perpage'], 'DESC');
     foreach ($logs as $v) {
         $player = Dolumar_Players_Village::getFromId($v['village'])->getOwner();
         $page->addListValue('logs', array('action' => $objLogs->getLogText($v, false), 'date' => date(DATETIME, $v['timestamp']), 'player' => $player->getDisplayName()));
     }
     // Output the shizzle
     $html = $page->parse('dolumar/pages/admin/multis/dangeroustransactions.phpt');
     $html .= parent::getBody();
     return $html;
 }
예제 #25
0
 public function getBody()
 {
     $action = $unit = $this->getParameter(2);
     switch ($action) {
         case 'list':
             return $this->getAllImages();
             break;
     }
     $login = Neuron_Core_Login::getInstance();
     if (!$login->isLogin()) {
         $userid = 0;
     } else {
         $userid = $login->getUserId();
     }
     if (isset($_FILES['uploadfile'])) {
         $im = $this->getImageFromInput($_FILES['uploadfile']);
         if ($im) {
             $new = $this->getGeneratedImage($im);
             if (!is_dir(PUBLIC_PATH . 'signs/')) {
                 mkdir(PUBLIC_PATH . 'signs/');
                 chmod(PUBLIC_PATH . 'signs/', 0755);
             }
             $filename = $userid . '_' . date('dmYHis') . '.png';
             imagepng($new, PUBLIC_PATH . 'signs/' . $filename);
             chmod(PUBLIC_PATH . 'signs/' . $filename, 0755);
             $db = Neuron_DB_Database::getInstance();
             $db->query("\n\t\t\t\t\tINSERT INTO\n\t\t\t\t\t\tplayers_tiles\n\t\t\t\t\tSET\n\t\t\t\t\t\tt_userid = " . intval($userid) . ",\n\t\t\t\t\t\tt_imagename = 'signs/" . $db->escape($filename) . "'\n\t\t\t\t");
             // Show confirm screen
             $page = new Neuron_Core_Template();
             $page->set('img_url', PUBLIC_URL . 'signs/' . $filename);
             return $page->parse('pages/customsign/image.phpt');
         }
     }
     $page = new Neuron_Core_Template();
     $page->set('action', ABSOLUTE_URL . 'page/customsign/');
     return $page->parse('pages/customsign/upload.phpt');
 }
 public function getBody()
 {
     $page = new Neuron_Core_Template();
     // Let's find the players
     $input = Neuron_Core_Tools::getInput('_GET', 'players', 'varchar');
     $playerids = explode('|', $input);
     $page->set('action_url', $this->getUrl('clearmultis', array('players' => $input)));
     $players = array();
     $ids = array();
     $i = 0;
     foreach ($playerids as $v) {
         $player = $this->getPlayer($v);
         if ($player) {
             $players[] = $player;
             $page->addListValue('players', array('id' => $player->getId(), 'name' => $player->getDisplayName()));
         }
     }
     $this->process($players);
     $clearances = $this->getClearances($players);
     foreach ($clearances as $v) {
         $page->addListValue('clearances', array('player1' => $this->getPlayerName($v['player1']), 'player2' => $this->getPlayerName($v['player2']), 'remove_url' => $this->getUrl('clearmultis', array('players' => $input, 'remove' => $v['id'])), 'reason' => $v['reason']));
     }
     return $page->parse('pages/admin/clearmultis/clearmultis.phpt');
 }
 public function getHTML()
 {
     $container = isset($_SESSION['opensocial_container']) ? $_SESSION['opensocial_container'] : null;
     $page = new Neuron_Core_Template();
     $player = Neuron_GameServer::getPlayer();
     if ($player) {
         $page->set('plid', $player->getId());
     } else {
         $page->set('plid', '');
     }
     if (isset($_SESSION['birthday'])) {
         $page->set('birthday', date('Y-m-d', $_SESSION['birthday']));
         $page->set('age', getAge(date('Y-m-d', $_SESSION['birthday'])));
     }
     if (isset($_SESSION['gender'])) {
         $page->set('gender', $_SESSION['gender']);
     }
     $page->set('container', $container);
     //print_r ($_SESSION);
     return $page->parse('neuron/advertisement/loading.phpt');
 }
예제 #28
0
 private function getOpenIdForm($sError = false)
 {
     $page = new Neuron_Core_Template();
     $page->setTextSection('openid', 'account');
     $page->set('error', $sError);
     $page->set('url', API_OPENID_URL . 'login/');
     $page->addListValue('popular', array('Yahoo', 'http://www.yahoo.com/'));
     return $page->parse('gameserver/account/openid.phpt');
 }
 public function getHTML($error = null)
 {
     $page = new Neuron_Core_Template();
     $page->setTextSection('chooseTarget', 'main');
     $page->set('canTargetSelf', $this->bTargetSelf);
     $page->set('vid', $this->objVillage->getId());
     // Return action
     if (isset($this->sReturnAction)) {
         $page->set('returnUrl', $this->sReturnAction);
         $page->set('returnText', $this->sReturnText);
     }
     $sQuery = null;
     if (isset($this->aInput['sVillageName'])) {
         $sQuery = $this->aInput['sVillageName'];
         unset($this->aInput['sVillageName']);
     }
     $page->set('input', $this->aInput);
     $page->set('query', Neuron_Core_Tools::output_varchar($sQuery));
     // Fetch all troops
     if (!empty($sQuery)) {
         $db = Neuron_Core_Database::__getInstance();
         $page->set('hasSearched', true);
         $l = $db->getDataFromQuery($db->customQuery("\n\t\t\t\t\tSELECT\n\t\t\t\t\t\t*\n\t\t\t\t\tFROM\n\t\t\t\t\t\tvillages\n\t\t\t\t\tWHERE\n\t\t\t\t\t\tvname LIKE '%" . $db->escape($sQuery) . "%'\n\t\t\t\t\t\tAND isActive = 1\n\t\t\t\t\tORDER BY\n\t\t\t\t\t\tFIELD(vname, '" . $db->escape($sQuery) . "', vname),\n\t\t\t\t\t\tvname ASC\n\t\t\t\t\tLIMIT 10\n\t\t\t\t"));
         if (count($l) > 0) {
             foreach ($l as $v) {
                 $village = Dolumar_Players_Village::getVillage($v['vid'], false);
                 $village->setData($v);
                 $tc = $village->buildings->getTownCenter();
                 if ($tc) {
                     $loc = $tc->getLocation();
                     $page->addListValue('results', array('id' => $village->getId(), 'name' => Neuron_Core_Tools::output_varchar($village->getName()), 'location' => $loc[0] . ',' . $loc[1]));
                 }
             }
         }
     } elseif ($this->bShowTargets) {
         $db = Neuron_DB_Database::__getInstance();
         // Popular targets
         /*
         $l = $db->getDataFromQuery
         (
         	$db->customQuery
         	("
         		SELECT
         			l_vid,
         			villages.*
         		FROM
         			game_log
         		LEFT JOIN
         			villages ON game_log.l_vid = villages.vid
         		WHERE
         			(l_action = 'attack' OR l_action = 'defend') 
         			AND l_vid != ".$this->objVillage->getId ()."
         			AND l_subId = ".$this->objVillage->getId ()."
         			AND isActive = 1
         		GROUP BY
         			l_vid
         		ORDER BY
         			l_date ASC
         		LIMIT 10
         	")
         );
         */
         $l = $this->objVillage->visits->getLastVisits();
         if (count($l) > 0) {
             foreach ($l as $village) {
                 // Only add active villages
                 if ($village->isActive()) {
                     $tc = $village->buildings->getTownCenter();
                     if ($tc) {
                         $loc = $tc->getLocation();
                         $page->addListValue('results', array('id' => $village->getId(), 'name' => Neuron_Core_Tools::output_varchar($village->getName()), 'location' => $loc[0] . ',' . $loc[1]));
                     }
                 }
             }
         }
     }
     if (isset($error)) {
         $page->set('external_error', $error);
     }
     return $page->parse('neuron/structure/chooseTarget.phpt');
 }
예제 #30
0
파일: Menu.php 프로젝트: Toxicat/dolumar
 public function getContent()
 {
     $login = Neuron_Core_Login::__getInstance();
     $text = Neuron_Core_Text::__getInstance();
     $text->setFile('main');
     $text->setSection('menu');
     $page = new Neuron_Core_Template();
     // Add text elements
     $page->set('myAccount', Neuron_Core_Tools::output_varchar($text->get('myAccount')));
     $page->set('build', Neuron_Core_Tools::output_varchar($text->get('build')));
     $page->set('bonusbuild', Neuron_Core_Tools::output_varchar($text->get('bonusbuild')));
     $page->set('economy', Neuron_Core_Tools::output_varchar($text->get('economy')));
     $page->set('preferences', Neuron_Core_Tools::output_varchar($text->get('preferences')));
     $page->set('help', Neuron_Core_Tools::output_varchar($text->get('help')));
     $page->set('language', Neuron_Core_Tools::output_varchar($text->get('language')));
     $page->set('ranking', Neuron_Core_Tools::output_varchar($text->get('ranking')));
     $page->set('units', Neuron_Core_Tools::output_varchar($text->get('units')));
     $page->set('chat', Neuron_Core_Tools::output_varchar($text->get('chat')));
     $page->set('battle', Neuron_Core_Tools::output_varchar($text->get('battle')));
     $page->set('battleCalc', Neuron_Core_Tools::output_varchar($text->get('battleCalc')));
     $page->set('forum', Neuron_Core_Tools::output_varchar($text->get('forum')));
     $page->set('ingameForum', Neuron_Core_Tools::output_varchar($text->get('ingameForum')));
     $page->set('contact', Neuron_Core_Tools::output_varchar($text->get('contact')));
     $page->set('equipment', Neuron_Core_Tools::output_varchar($text->get('equipment')));
     $page->set('magic', Neuron_Core_Tools::output_varchar($text->get('magic')));
     $page->set('invite', Neuron_Core_Tools::output_varchar($text->get('friendinvite')));
     if (!defined('HIDE_IMPRINT') || !HIDE_IMPRINT) {
         $page->set('imprint', Neuron_Core_Tools::output_varchar($text->get('imprint')));
     }
     $page->set('simulator', Neuron_Core_Tools::output_varchar($text->get('simulator')));
     $localized_forum = str_replace('{lang}', $text->getCurrentLanguage(), FORUM_URL);
     $page->set('forum_url', $localized_forum);
     $page->set('ignorelist', $text->get('ignorelist'));
     $page->set('flag', $text->getCurrentLanguage());
     $noVillage = true;
     if ($login->isLogin()) {
         $me = Neuron_GameServer::getPlayer();
         $page->set('messages', $text->get('messages'));
         $villages = $me->getVillages();
         if (count($villages) > 0) {
             $noVillage = false;
             if (count($villages) > 1 || $this->SHOW_ONLY_VILLAGE && count($villages) > 0) {
                 foreach ($villages as $v) {
                     // Add the links
                     $page->addListValue('villages', array(Neuron_Core_Tools::output_varchar($v->getName()), $v->getId()));
                 }
                 $page->sortList('villages');
             }
             // Set the current village ID.
             $page->set('vid', $me->getCurrentVillage()->getId());
         }
         // Administration links
         if ($me->isModerator()) {
             $page->set('adminForum', 'Admin Forum');
         }
         // Clans
         foreach ($me->getClans() as $v) {
             $page->addListValue('clans', array('id' => $v->getId(), 'name' => Neuron_Core_Tools::output_varchar($v->getName())));
         }
         $page->set('donation', $text->get('donation'));
     }
     if ($noVillage) {
         $page->set('vid', 0);
     }
     // Premium
     /*
     $player = Neuron_GameServer::getPlayer ();
     
     if ($player)
     {
     	$credits = $player->getCredits ();
     	$page->set ('premium', $credits);
     }
     */
     return $page->parse('menu.tpl');
 }