private static function HandleAchievements() { if (!is_array(self::$m_achievements)) { return false; } $achievements = array(); foreach (self::$m_achievements as $ach) { if ($ach['parentCategory'] == 1) { $ach['type'] = 2; } else { $ach['type'] = 1; } $achievements[] = $ach; } self::$m_achievements = $achievements; unset($achievements, $ach); }
public function main() { if (!isset($this->m_actions['action3']) || !isset($this->m_actions['action4'])) { WoW_Template::ErrorPage(404); exit; } $ach_id = (int) $this->m_actions['action3']; $isTooltip = $this->m_actions['action4'] == 'tooltip' ? true : false; if (!$isTooltip || !$ach_id) { WoW_Template::ErrorPage(404); exit; } $ach = WoW_Achievements::GetAchievement($ach_id); header('Content-type: text/xml'); echo '<div class="wiki-tooltip"> <span class="icon-frame frame-56 " style=\'background-image: url("http://eu.media.blizzard.com/wow/icons/56/' . $ach['iconname'] . '.jpg");\'></span> <h3> <span class="float-right color-q0">' . $ach['points'] . ' очков</span>' . $ach['name'] . ' </h3> <span class="color-tooltip-yellow">' . $ach['desc'] . '</span> </div>'; }
private static function HandleGuildFeed() { if (!self::IsCorrect()) { WoW_Log::WriteError('%s : guild was not found.', __METHOD__); return false; } if (!self::$guild_feed) { self::LoadGuildFeed(); } $feeds_data = array(); $periods = array(WoW_Locale::GetString('template_feed_sec'), WoW_Locale::GetString('template_feed_min'), WoW_Locale::GetString('template_feed_hour')); $today = date('d.m.Y'); $lengths = array(60, 60, 24); $feed_count = 0; foreach (self::$guild_feed as $event) { if ($feed_count >= 25) { break; } $date_string = date('d.m.Y', $event['date']); if ($date_string == $today) { $diff = time() - $event['date']; for ($i = 0; $diff >= $lengths[$i]; $i++) { $diff /= $lengths[$i]; } $diff = round($diff); $date_string = sprintf('%s %s %s', $diff, $periods[$i], WoW_Locale::GetString('template_feed_ago')); } $feed = array(); switch ($event['type']) { case TYPE_ACHIEVEMENT_FEED: $achievement = WoW_Achievements::GetAchievementInfo($event['data']); if (!$achievement) { WoW_Log::WriteLog('%s : wrong feed data (TYPE_ACHIEVEMENT_FEED, achievement ID: %d), ignore.', __METHOD__, $event['data']); continue; } $feed = array('type' => TYPE_ACHIEVEMENT_FEED, 'date' => $date_string, 'id' => $event['data'], 'points' => $achievement['points'], 'name' => $achievement['name'], 'desc' => $achievement['desc'], 'icon' => $achievement['iconname'], 'category' => $achievement['categoryId'], 'charName' => $event['charName'], 'gender' => $event['gender']); break; case TYPE_ITEM_FEED: $item = WoW_Items::GetItemInfo($event['data']); if (!$item) { WoW_Log::WriteLog('%s : wrong feed data (TYPE_ITEM_FEED, item ID: %d), ignore.', __METHOD__, $event['data']); continue; } $item_icon = WoW_Items::GetItemIcon($item['entry'], $item['displayid']); $data_item = null; $feed = array('type' => TYPE_ITEM_FEED, 'date' => $date_string, 'id' => $event['data'], 'name' => WoW_Locale::GetLocale() == 'en' ? $item['name'] : WoW_Items::GetItemName($item['entry']), 'data-item' => $data_item, 'quality' => $item['Quality'], 'icon' => $item_icon, 'charName' => $event['charName'], 'gender' => $event['gender']); break; case TYPE_BOSS_FEED: // Not supported here. continue; default: WoW_Log::WriteError('%s : unknown feed type (%d)!', __METHOD__, $event['type']); continue; } $feeds_data[] = $feed; $feed_count++; } self::$guild_feed_data = $feeds_data; return true; }
public static function SetCategoryForTemplate($category) { self::$template_category = $category; }
public function main() { WoW_Template::SetPageData('body_class', WoW_Locale::GetLocale(LOCALE_DOUBLE)); WoW_Template::SetTemplateTheme('wow'); $url_data = WoW::GetUrlData('character'); if (!$url_data) { WoW_Template::SetPageIndex('404'); WoW_Template::SetPageData('page', '404'); WoW_Template::SetPageData('errorProfile', 'template_404'); } else { if ($url_data['action0'] == 'advanced') { // Set "wow.character.summary.view" cookie as "advanced" setcookie('wow.character.summary.view', 'advanced', strtotime('NEXT YEAR'), '/' . WoW::GetWoWPath() . '/character/'); } elseif ($url_data['action0'] == null && (isset($url_data['name']) && isset($url_data['realmName']))) { WoW::RedirectToCorrectProfilePage('simple'); //change to WoW::RedirectTo()? } elseif ($url_data['action0'] == 'simple') { // Set "wow.character.summary.view" cookie as "simple" setcookie('wow.character.summary.view', 'simple', strtotime('NEXT YEAR'), '/' . WoW::GetWoWPath() . '/character/'); } $load_result = WoW_Characters::LoadCharacter($url_data['name'], WoW_Utils::GetRealmIDByName($url_data['realmName']), true, true); if (!WoW_Characters::IsCorrect() || $load_result != 3) { if ($url_data['action0'] == 'tooltip') { exit; } if ($load_result == 2) { WoW_Template::SetPageData('errorProfile', 'template_lowlevel'); } else { WoW_Template::SetPageData('errorProfile', 'template_404'); } WoW_Template::SetPageIndex('404'); WoW_Template::SetPageData('page', '404'); } else { WoW_Achievements::Initialize(); WoW_Template::SetPageData('characterName', WoW_Characters::GetName()); WoW_Template::SetPageData('characterRealmName', WoW_Characters::GetRealmName()); switch ($url_data['action0']) { default: WoW_Template::SetPageIndex('character_profile_simple'); WoW_Template::SetPageData('page', 'character_profile'); WoW_Characters::CalculateStats(true); break; case 'advanced': WoW_Template::SetPageIndex('character_profile_advanced'); WoW_Template::SetPageData('page', 'character_profile'); WoW_Characters::CalculateStats(true); break; /* case 'talent': WoW_Template::SetPageIndex('character_talents'); WoW_Template::SetPageData('page', 'character_talents'); WoW_Template::SetPageData('talents', 'primary'); if($url_data['action1'] == 'secondary') { WoW_Template::SetPageData('talents', 'secondary'); } break; */ /* case 'talent': WoW_Template::SetPageIndex('character_talents'); WoW_Template::SetPageData('page', 'character_talents'); WoW_Template::SetPageData('talents', 'primary'); if($url_data['action1'] == 'secondary') { WoW_Template::SetPageData('talents', 'secondary'); } break; */ case 'tooltip': WoW_Template::LoadTemplate('page_character_tooltip'); exit; break; case 'achievement': for ($i = 2; $i > 0; $i--) { if (isset($url_data['action' . $i]) && $url_data['action' . $i] != null) { WoW_Achievements::SetCategoryForTemplate($url_data['action' . $i]); WoW_Template::LoadTemplate('page_character_achievements'); exit; } } WoW_Template::SetPageIndex('character_achievements'); WoW_Template::SetPageData('page', 'character_achievements'); break; case 'reputation': if (isset($url_data['action1']) && $url_data['action1'] == 'tabular') { WoW_Template::SetPageIndex('character_reputation_tabular'); } else { WoW_Template::SetPageIndex('character_reputation'); } WoW_Template::SetPageData('page', 'character_reputation'); WoW_Reputation::InitReputation(WoW_Characters::GetGUID()); break; case 'pvp': WoW_Template::SetPageIndex('character_pvp'); WoW_Template::SetPageData('page', 'character_pvp'); WoW_Characters::InitPvP(); break; case 'statistic': for ($i = 2; $i > 0; $i--) { if (isset($url_data['action' . $i]) && $url_data['action' . $i] != null) { WoW_Achievements::SetCategoryForTemplate($url_data['action' . $i]); WoW_Template::LoadTemplate('page_character_statistics'); exit; } } WoW_Template::SetPageIndex('character_statistics'); WoW_Template::SetPageData('page', 'character_statistics'); break; case 'feed': WoW_Template::SetPageIndex('character_feed'); WoW_Template::SetPageData('page', 'character_feed'); break; case 'companion': case 'mount': WoW_Template::SetPageIndex('character_companions_mounts'); WoW_Template::SetPageData('page', 'character_companions_mounts'); WoW_Template::SetPageData('category', $url_data['action0']); WoW_Characters::InitMounts(); break; } } } WoW_Template::SetMenuIndex('menu-game'); WoW_Template::LoadTemplate('page_index'); }
<?php $achievement = WoW_Achievements::GetAchievement(); $iconId = 1; ?> <script type="text/javascript">//<![CDATA[ var _ = g_users; var lv_comments0 = []; var lv_screenshots = []; var lv_videos = []; var lv_links = []; var g_pageInfo = {type: 10, typeId: <?php echo $achievement['id']; ?> , name: '<?php echo str_replace("'", "\\'", $achievement['name']); ?> '}; PageTemplate.set({breadcrumb: [0,9,<?php echo $achievement['type'] . ',' . $achievement['parentCategory'] . ',' . $achievement['categoryId']; ?> ]}); //]]></script> <table class="infobox"> <tr><th id="infobox-quick-facts">Quick Facts</th></tr> <tr><td><div class="infobox-spacer"></div><div id="sdhafcuvh0"></div></td></tr> <tr><th id="infobox-series">Series</th></tr> <tr><td><div class="infobox-spacer"></div><table class="series"><tr><th>1.</th><td><div><b>Level 10</b></div></td></tr><tr><th>2.</th><td><div><a href="/achievement=7">Level 20</a></div></td></tr><tr><th>3.</th><td><div><a href="/achievement=8">Level 30</a></div></td></tr><tr><th>4.</th><td><div><a href="/achievement=9">Level 40</a></div></td></tr><tr><th>5.</th><td><div><a href="/achievement=10">Level 50</a></div></td></tr><tr><th>6.</th><td><div><a href="/achievement=11">Level 60</a></div></td></tr><tr><th>7.</th><td><div><a href="/achievement=12">Level 70</a></div></td></tr><tr><th>8.</th><td><div><a href="/achievement=13">Level 80</a></div></td></tr><tr><th>9.</th><td><div><a href="/achievement=4826">Level 85</a></div></td></tr></table></td></tr> <tr><th id="infobox-screenshots">Screenshots</th></tr>
if (!$categoryInfo) { WoW_Log::WriteError('Statistics : categoryInfo for categoryID %d was not found!', $categoryID); exit; } ?> <ul> <li id="cat-<?php echo $categoryID; ?> " class="table"> <a name="s<?php echo $categoryID; ?> "></a> <h4><?php echo $categoryInfo['name']; ?> </h4> <?php $statistics = WoW_Achievements::StatisticCategory($categoryID); if (is_array($statistics)) { $toggleStyle = 1; foreach ($statistics as $stat) { echo sprintf('<dl%s><dt>%s</dt><dd>%s</dd></dl>', $toggleStyle % 2 ? ' class="odd"' : null, $stat['name'], $stat['quantity']); ++$toggleStyle; } } ?> </li> </ul> </div>
} ?> <span class="clear"><!-- --></span> </div> </div> </div> <h3 class="category"><?php echo WoW_Locale::GetString('template_achievements_latest_achievements'); ?> </h3> <div class="achievements-recent profile-box-full"> <ul> <?php $last_achievements = WoW_Achievements::GetLastAchievements(); if (is_array($last_achievements)) { foreach ($last_achievements as $ach) { echo sprintf('<li> <a href="#%d:a%d" onclick="window.location.hash = \'%d:a%d\'; dm.openEntry(false)" class="clear-after"> <span class="float-right">%s<span class="date">%s</span> </span> <span class="icon"> <span class="icon-frame frame-18" style=\'background-image: url("http://eu.battle.net/wow-assets/static/images/icons/18/%s.jpg");\'> </span> </span> <span class="info"> <strong class="title">%s</strong> <span class="description">%s</span> </span> </a>
private static function InitAchievements() { self::AssignTemplatePageIndex(array('achievements', 'achievement')); WoW_Template::SetPageData('activeTab', 0); WoW_Achievements::InitPage(WoW_Template::GetPageIndex(), self::GetPageAction()); }
?> <span class="comma">,</span> <span class="realm tip" id="profile-info-realm" data-battlegroup="<?php echo WoWConfig::$DefaultBGName; ?> "> <?php echo WoW_Characters::GetRealmName(); ?> </span> </div> <div class="achievements"><a href="<?php echo WoW_Characters::GetURL(); ?> achievement"><?php echo WoW_Achievements::GetAchievementsPoints(); ?> </a></div> </div> </div> <?php WoW_Template::LoadTemplate('block_profile_menu'); ?> </div> </div> </div> </div> <div class="profile-contents"> <div class="summary-top"> <div class="summary-top-right"> <ul class="profile-view-options" id="profile-view-options-summary">
private static function LoadFeed() { if (!self::IsCorrect()) { WoW_Log::WriteError('%s : character was not found.', __METHOD__); return false; } self::$feed_data = DB::Characters()->select("SELECT * FROM `character_feed_log` WHERE `guid` = %d AND `date` > 0 ORDER BY `date` DESC", self::GetGUID()); if (!self::IsFeedsLoaded()) { WoW_Log::WriteLog('%s : feed data for character %s (GUID: %d) was not found!', __METHOD__, self::GetName(), self::GetGUID()); return false; } $feed_count = count(self::$feed_data); for ($i = 0; $i < $feed_count; ++$i) { if (self::$feed_data[$i]['type'] == TYPE_ACHIEVEMENT_FEED) { self::$feed_data[$i]['date'] = WoW_Achievements::GetAchievementDate(self::$feed_data[$i]['data']); } } return true; }
<input alt="Filter statistics …" id="statistic-search" class="input" onkeyup="StatisticHandler.doSearch(this.value)" value="Filter statistics …" type="text" name="search-term" autocomplete="off" /> <div id="symbol-cross" onclick="StatisticHandler.resetSearch()"></div> </div> </form> </div> </div> <div class="profile-section"> <ul> <li id="cat-summary" class="table"> <a name="ssummary"></a> <h4><?php echo WoW_Locale::GetString('template_character_statistic_update'); ?> </h4> <?php $summary = WoW_Achievements::GetStatisticSummary(); if (is_array($summary)) { $toggleStyle = 1; foreach ($summary as $stat) { echo sprintf('<dl%s><dt>%s</dt><dd>%s</dd></dl>', $toggleStyle % 2 ? ' class="odd"' : null, $stat['name'], $stat['quantity']); ++$toggleStyle; } } ?> </li> </ul> <span id="search-error" class="table"> Search Error </span> <div id="statistic-list" class="statistic-list"></div> </div>
?> <div id="cat-<?php echo $categoryInfo['id']; ?> " class="container<?php if ($categoryID == 81) { echo ' feats'; } ?> "> <h3 class="category"><?php echo $categoryInfo['name']; ?> </h3><?php if ($categoryID != 81) { $progressInfo = WoW_Achievements::GetProgressInfo($categoryID); echo sprintf('<div class="profile-progress border-4" onmouseover="%s"> <div class="bar border-4" style="width: %d%%"></div> <div class="bar-contents">%s</div> </div>', sprintf(WoW_Locale::GetString('template_achievements_points_tooltip'), $progressInfo['achievedPoints'], $progressInfo['totalPoints']), $progressInfo['percent'], sprintf(WoW_Locale::GetString('template_achievements_progress_bar_data'), $progressInfo['completed'], $progressInfo['total'], $progressInfo['percent'])); } ?> <ul><?php foreach ($achievements as $ach) { $criterias_list = null; $criterias_failed = false; if (is_array($ach['criterias'])) { $list_opened = false; $criterias_list_header = '<div class="icon-expandable"></div><div class="meta-achievements">%s</div>'; foreach ($ach['criterias'] as $criteria) {
<input type="submit" value="Apply filter" /> </form><div class="pad"></div></div> <script type="text/javascript">//<![CDATA[ fi_init('achievements'); //]]></script> <div id="lv-achievements" class="listview"></div> <?php $achievements = WoW_Achievements::GetAchievements(); $js_icons_data = ''; $js_items_data = ''; $js_titles_data = ''; $js_listview_data = ''; $achievements_count = WoW_Achievements::GetCount(); if (is_array($achievements)) { $current = 1; $achievements_count_current = count($achievements); foreach ($achievements as $achievement) { $js_icons_data .= sprintf('_[%d]={name_%s:\'%s\',icon:\'%s\'};', $achievement['id'], WoW_Locale::GetLocale(LOCALE_SPLIT), str_replace("'", "\\'", $achievement['name']), str_replace("'", "\\'", $achievement['icon'])); if (isset($achievement['itemReward']) && is_array($achievement['itemReward'])) { $js_items_data .= sprintf('_[%d]={name_%s:\'%\',quality:%d,icon:\'%s\'};', $achievement['itemReward']['id'], WoW_Locale::GetLocale(LOCALE_SPLIT), $achievement['itemReward']['quality'], $achievement['itemReward']['icon']); } if (is_array($achievement['titleReward'])) { $js_titles_data .= sprintf('_[%d]={name_%s:\'%\'};', $achievement['titleReward']['id'], WoW_Locale::GetLocale(LOCALE_SPLIT), $achievement['titleReward']['name']); } $js_listview_data .= sprintf('{"category":%d,"description":"%s","id":%d,"name":"%s","parentcat":%d,"points":%d,"side":%d,"type":%d}', $achievement['categoryId'], str_replace('"', '\\"', $achievement['desc']), $achievement['id'], str_replace('"', '\\"', $achievement['name']), $achievement['parentCategory'], $achievement['points'], $achievement['side'], $achievement['type']); if ($current < $achievements_count_current) { $js_listview_data .= ','; }