public function main() { WoW_Template::SetPageData('body_class', sprintf('%s game-index', WoW_Locale::GetLocale(LOCALE_DOUBLE))); WoW_Template::SetTemplateTheme('wow'); $url_data = WoW::GetUrlData('game'); if (empty($url_data['action1'])) { WoW_Template::SetPageIndex('game'); WoW_Template::SetPageData('page', 'game'); } elseif ($url_data['action1'] == 'guide') { switch ($url_data['action2']) { case 'getting-started': case 'how-to-play': case 'playing-together': case 'late-game': WoW_Template::SetPageIndex('game_guide_' . str_replace('-', '_', $url_data['action2'])); WoW_Template::SetPageData('body_class', 'game-guide-' . $url_data['action2']); WoW_Template::SetPageData('page', 'game_guide_' . str_replace('-', '_', $url_data['action2'])); break; default: WoW_Template::SetPageIndex('game_guide_what_is_wow'); WoW_Template::SetPageData('body_class', 'game-guide-what-is-wow'); WoW_Template::SetPageData('page', 'game_guide_what_is_wow'); break; } } elseif ($url_data['action1'] == 'race') { $race_id = WoW_Utils::GetRaceIDByKey($url_data['action2']); if ($race_id > 0) { WoW_Game::LoadRace($race_id); WoW_Template::SetPageIndex('game_race'); WoW_Template::SetPageData('body_class', 'race-' . $url_data['action2']); WoW_Template::SetPageData('race', $url_data['action2']); WoW_Template::SetPageData('page', 'game_race'); WoW_Template::SetPageData('raceId', $race_id); } else { WoW_Template::SetPageIndex('game_race_index'); WoW_Template::SetPageData('body_class', 'game-race-index'); WoW_Template::SetPageData('page', 'game_race_index'); } } elseif ($url_data['action1'] == 'class') { $class_id = WoW_Utils::GetClassIDByKey($url_data['action2']); if ($class_id > 0) { WoW_Game::LoadClass($class_id); WoW_Template::SetPageIndex('game_class'); WoW_Template::SetPageData('body_class', 'class-' . $url_data['action2']); WoW_Template::SetPageData('class', $url_data['action2']); WoW_Template::SetPageData('classId', $class_id); WoW_Template::SetPageData('page', 'game_class'); } else { WoW_Template::SetPageIndex('game_class_index'); WoW_Template::SetPageData('body_class', 'game-classes-index'); WoW_Template::SetPageData('page', 'game_class_index'); } } else { WoW_Template::ErrorPage(404); } WoW_Template::SetMenuIndex('menu-game'); WoW_Template::LoadTemplate('page_index'); }
<span class="available-info-box-desc"><?php echo sprintf(WoW_Locale::GetString('template_game_race_classes_desc'), WoW_Locale::GetString('character_race_' . $race['id'] . '_decl')); ?> </span> <div class="list-box"> <div class="wrapper"> <ul> <?php $class_masks = array('CLASS_MASK_WARRIOR', 'CLASS_MASK_PALADIN', 'CLASS_MASK_HUNTER', 'CLASS_MASK_ROGUE', 'CLASS_MASK_PRIEST', 'CLASS_MASK_DK', 'CLASS_MASK_SHAMAN', 'CLASS_MASK_MAGE', 'CLASS_MASK_WARLOCK', 'CLASS_MASK_DRUID'); foreach ($class_masks as $mask) { if ($race['classes_flag'] & constant($mask)) { $class_key = strtolower(substr($mask, 11)); if ($class_key == 'dk') { $class_key = 'death-knight'; } $class_id = WoW_Utils::GetClassIDByKey($class_key); if (!$class_id) { continue; } echo ' <li> <a href="../class/' . $class_key . '"> <span class="icon-frame frame-36 class-icon-36 class-icon-36-' . $class_key . '"> <span class="frame"></span> </span> <span class="list-title">' . WoW_Locale::GetString('character_class_' . $class_id) . '</span> </a> </li>'; } } ?>