private static function HandleNPCs() { if (!is_array(self::$m_npcs)) { return false; } $npcs = array(); foreach (self::$m_npcs as $npc) { if (WoW_Locale::GetLocaleID() != LOCALE_EN) { if (isset($npc['name_loc']) && $npc['name_loc'] != null) { $npc['name'] = $npc['name_loc']; unset($npc['name_loc']); } if (isset($npc['subname_loc']) && $npc['subname_loc'] != null) { $npc['subname'] = $npc['subname_loc']; unset($npc['subname_loc']); } } $npcs[] = $npc; } self::$m_npcs = $npcs; unset($npcs, $npc); }
<?php $npc = WoW_NPCs::GetNPC(); ?> <script type="text/javascript">//<![CDATA[ var _ = g_users; var lv_comments0 = []; var _ = g_users; var lv_screenshots = []; var lv_videos = []; var lv_links = []; var g_pageInfo = {type: 1, typeId: <?php echo $npc['entry']; ?> , name: '<?php echo str_replace("'", "\\'", $npc['name']); ?> '}; PageTemplate.set({breadcrumb: [0,4,<?php echo $npc['type']; ?> ,0]}); //]]></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-screenshots">Screenshots</th></tr> <tr><td><div class="infobox-spacer"></div><div id="infobox-sticky-ss"></div></td></tr> <tr><th id="infobox-videos">Videos</th></tr>
private static function InitNPCs() { self::AssignTemplatePageIndex(array('npcs', 'npc')); WoW_Template::SetPageData('activeTab', 0); WoW_NPCs::InitPage(WoW_Template::GetPageIndex(), self::GetPageAction()); }
private static function HandleAchievement() { if (!is_array(self::$m_achievement)) { return false; } $ach =& self::$m_achievement; $ach['name'] = $ach['name_' . WoW_Locale::GetLocale()]; $ach['desc'] = $ach['desc_' . WoW_Locale::GetLocale()]; $ach['titleReward'] = $ach['titleReward_' . WoW_Locale::GetLocale()]; WoW_Template::SetPageData('db_page_title', $ach['name'] . ' - '); if ($ach['parentCategory'] == 1) { $ach['type'] = 2; } else { $ach['type'] = 1; } // Check titleReward if ($ach['titleReward'] != null) { // Check rewards (item or title) $rewards = DB::World()->selectRow("SELECT * FROM achievement_reward WHERE entry = %d", $ach['id']); if (is_array($rewards)) { // Item? $ach['titleReward'] = array(); if ($rewards['item'] > 0) { $ach['titleReward'][] = array('type' => 'item', 'data' => WoW_Items::GetBasicItemInfo($rewards['item'])); } if ($rewards['title_A'] > 0 || $rewards['title_H'] > 0) { $ach['titleReward'][] = array('type' => 'title', 'data' => DB::World()->select("SELECT id, title_M_%s AS title FROM DBPREFIX_titles WHERE id IN (%s)", WoW_Locale::GetLocale(), array($rewards['title_A'], $rewards['title_H']))); } } } else { $ach['titleReward'] = array(); } WoW_Template::SetPageData('breadcrumb', '0,9,' . $ach['categoryId']); if (is_array($ach['criterias'])) { // CRITERA STRING SHOULD BE GENERATED HERE, NOT IN VIEW! foreach ($ach['criterias'] as &$cr) { $cr['name'] = $cr['name_' . WoW_Locale::GetLocale()]; $cr['criteria_string'] = $cr['name']; switch ($cr['requiredType']) { case ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE: $cr['criteria_string'] = '<a href="' . WoW::GetWoWPath() . '/npc=' . $cr['data'] . '">' . WoW_NPCs::GetNPCInfo($cr['data'], 'name') . '</a> ' . WoW_Locale::GetString('template_achievement_slain'); break; case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_ACHIEVEMENT: $cr['criteria_string'] = '<a href="' . WoW::GetWoWPath() . '/achievement=' . $cr['data'] . '">' . self::GetAchievementInfo($cr['data'], 'name') . '</a>'; //$cr['data_achievement'] = self::GetBasicAchievementInfo($cr['data']); break; case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SPELL: break; case ACHIEVEMENT_CRITERIA_TYPE_OWN_ITEM: case ACHIEVEMENT_CRITERIA_TYPE_USE_ITEM: case ACHIEVEMENT_CRITERIA_TYPE_LOOT_ITEM: case ACHIEVEMENT_CRITERIA_TYPE_EQUIP_EPIC_ITEM: case ACHIEVEMENT_CRITERIA_TYPE_EQUIP_ITEM: break; case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LEVEL: case ACHIEVEMENT_CRITERIA_TYPE_REACH_SKILL_LEVEL: break; case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL: break; case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST: break; case ACHIEVEMENT_CRITERIA_TYPE_GAIN_REPUTATION: break; case ACHIEVEMENT_CRITERIA_TYPE_GAIN_EXALTED_REPUTATION: break; } } } }
</tr></table><div id="fi_criteria" class="padded criteria"><div></div></div><div><a href="javascript:;" id="fi_addcriteria" onclick="fi_addCriterion(this); return false">Add another filter</a></div><div class="padded2">Match: <input type="radio" name="ma" value="" id="ma-0" checked="checked" /><label for="ma-0">All filters</label><input type="radio" name="ma" value="1" id="ma-1" /><label for="ma-1">At least one</label></div> <div class="padded"></div> <input type="submit" value="Apply filter" /><div class="clear"></div></form><div class="pad"></div></div> <script type="text/javascript">//<![CDATA[ fi_init('npcs'); //]]></script> <div id="lv-npcs" class="listview"></div> <script type="text/javascript">//<![CDATA[ new Listview({template: 'npc', id: 'npcs', note: $WH.sprintf(LANG.lvnote_npcsfound, <?php echo WoW_NPCs::GetCount(); ?> , 200) + LANG.dash + LANG.lvnote_tryfiltering, _truncated: 1, data: [ <?php $npcs = WoW_NPCs::GetNPCs(); if (is_array($npcs)) { $count = count($npcs); $current = 1; foreach ($npcs as $npc) { echo sprintf('{"boss":%d,"classification":%d,"id":%d,"location":[%d],"maxlevel":%d,"minlevel":%d,"name":"%s","react":[-1,-1],%s"type":%d}', $npc['rank'] == 3 ? 1 : 0, $npc['rank'], $npc['entry'], isset($npc['zoneID']) ? $npc['zoneID'] : 0, $npc['rank'] == 3 ? 999 : $npc['maxlevel'], $npc['rank'] == 3 ? 999 : $npc['minlevel'], str_replace('"', '\\"', $npc['name']), $npc['subname'] != null ? '"tag":"' . str_replace('"', '\\"', $npc['subname']) . '",' : null, $npc['type']); if ($current < $count) { echo ', '; } } } ?> ]}); //]]></script>