public static function bundle2text($xml, $sName = 'default')
 {
     $data = self::getTextContent($xml);
     $cache = Neuron_Core_Cache::getInstance('language/' . $sName . '/');
     foreach ($data['messages'] as $k => $v) {
         $cache->setCache($k, serialize($v));
     }
     foreach ($data['files'] as $k => $v) {
         $cache->setCache($k, $v);
     }
 }
 protected function load_file($file)
 {
     $cache = Neuron_Core_Cache::getInstance('language/' . $this->sName . '/');
     if ($data = $cache->getCache($file)) {
         $this->cache[$file] = unserialize($data);
     } else {
         Neuron_Core_MessageBundle::bundle2text($this->sUrl, $this->sName);
         // Now check again. If it not exists, enter an empty array.
         if ($data = $cache->getCache($file)) {
             $this->cache[$file] = unserialize($data);
         } else {
             $cache->setCache($file, serialize(array()));
         }
     }
 }
Exemplo n.º 3
0
 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;
 }