public function main() { $url_data = WoW::GetUrlData('discussion'); $blog_id = $url_data['blog_id']; if (!$blog_id || !WoW_Account::IsLoggedIn()) { if (isset($_GET['d_ref'])) { header('Location: ' . $_GET['d_ref']); } else { header('Location: ' . WoW::GetWoWPath() . '/'); } exit; } $replyToGuid = 0; $replyToComment = 0; $postDetail = isset($_POST['detail']) ? $_POST['detail'] : null; if (isset($_POST['replyTo'])) { // have reply $reply = explode(':', $_POST['replyTo']); if (is_array($reply) && isset($reply[1])) { $replyToGuid = $reply[0]; $replyToComment = $reply[1]; } } if ($postDetail != null) { DB::WoW()->query("INSERT INTO `DBPREFIX_blog_comments` (blog_id, account, character_guid, realm_id, postdate, comment_text, answer_to) VALUES (%d, %d, %d, %d, %d, '%s', %d)", $blog_id, WoW_Account::GetUserID(), WoW_Account::GetActiveCharacterInfo('guid'), WoW_Account::GetActiveCharacterInfo('realmId'), time(), $postDetail, $replyToComment); } if (isset($_GET['d_ref'])) { header('Location: ' . $_GET['d_ref']); } else { header('Location: ' . WoW::GetWoWPath() . '/'); } }
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'); }
public function main() { $url_data = WoW::GetUrlData('management'); if (!is_array($url_data) || !isset($url_data['action1']) || $url_data['action1'] != 'management') { header('Location: ' . WoW::GetWoWPath() . '/account/management/'); exit; } if (!WoW_Account::IsLoggedIn()) { header('Location: ' . WoW::GetWoWPath() . '/login/'); exit; } WoW_Template::SetTemplateTheme('account'); WoW_Account::UserGames(); WoW_Template::SetPageIndex('management'); WoW_Template::SetMenuIndex('management'); WoW_Template::SetPageData('page', 'management'); if ($url_data['action2'] == 'wow' && preg_match('/dashboard.html/i', $url_data['action3'])) { WoW_Account::InitializeAccount($_GET['accountName']); WoW_Template::SetPageIndex('dashboard'); WoW_Template::SetMenuIndex('games'); WoW_Template::SetPageData('page', 'dashboard'); } elseif ($url_data['action2'] == 'wow-account-conversion.html') { WoW_Template::SetPageData('conversion_page', 1); if (isset($_POST['targetpage'])) { switch ($_POST['targetpage']) { case '2': if (isset($_POST['username']) && isset($_POST['password'])) { if (WoW_Account::PerformConversionStep(1, array('username' => $_POST['username'], 'password' => $_POST['password']))) { WoW_Template::SetPageData('conversion_page', 2); } else { WoW_Template::SetPageData('conversion_page', 1); } } else { WoW_Template::SetPageData('conversion_page', 1); } break; case '3': WoW_Template::SetPageData('conversion_page', 3); break; case 'finish': if (!WoW_Account::PerformConversionStep(3)) { WoW_Template::SetPageData('conversion_page', 2); } break; default: break; } } WoW_Template::SetPageIndex('account_conversion'); Wow_Template::SetMenuIndex('games'); WoW_Template::SetPageData('page', 'account_conversion'); } WoW_Template::LoadTemplate('page_index'); }
public function main() { WoW_Template::SetPageData('body_class', sprintf('%s media-content', WoW_Locale::GetLocale(LOCALE_DOUBLE))); WoW_Template::SetTemplateTheme('wow'); $url_data = WoW::GetUrlData('media'); if (empty($url_data['action1'])) { WoW_Template::SetPageIndex('media'); WoW_Template::SetPageData('page', 'media'); } else { WoW_Template::ErrorPage(404); } WoW_Template::SetMenuIndex('menu-media'); WoW_Template::LoadTemplate('page_index'); }
public function main() { WoW_Template::SetPageData('body_class', WoW_Locale::GetLocale(LOCALE_DOUBLE)); WoW_Template::SetTemplateTheme('wow'); $url_data = WoW::GetUrlData('guild'); $guild_error = false; if (!$url_data) { WoW_Template::ErrorPage(404); } elseif (!WoW_Guild::LoadGuild($url_data['name'], WoW_Utils::GetRealmIDByName($url_data['realmName']))) { WoW_Template::ErrorPage(404); } else { $primary = WoW_Account::GetActiveCharacter(); WoW_Template::SetPageData('guild-authorized', false); if (is_array($primary) && isset($primary['realmName'])) { if ($primary['realmName'] == WoW_Guild::GetGuildRealmName() && $primary['guildId'] == WoW_Guild::GetGuildID()) { WoW_Template::SetPageData('guild-authorized', true); } } switch ($url_data['action0']) { default: WoW_Template::SetPageData('guild-page', 'summary'); WoW_Template::SetPageIndex('guild_page'); WoW_Template::SetPageData('page', 'guild_page'); break; case 'perk': WoW_Template::SetPageData('guild-page', 'perks'); WoW_Template::SetPageIndex('guild_perks'); WoW_Template::SetPageData('page', 'guild_perks'); break; case 'roster': switch ($url_data['action1']) { default: WoW_Template::SetPageIndex('guild_roster'); WoW_Template::SetPageData('page', 'guild_roster'); break; case 'professions': WoW_Guild::InitProfessions(); WoW_Template::SetPageIndex('guild_professions'); WoW_Template::SetPageData('page', 'guild_professions'); break; } WoW_Template::SetPageData('guild-page', 'roster'); break; } WoW_Template::SetPageData('guildName', $url_data['name']); WoW_Template::SetPageData('realmName', $url_data['realmName']); WoW_Template::SetMenuIndex('menu-game'); } WoW_Template::LoadTemplate('page_index'); }
public function main() { WoW_Template::SetTemplateTheme('wow'); WoW_Template::SetPageData('body_class', WoW_Locale::GetLocale(LOCALE_DOUBLE)); $url_data = WoW::GetUrlData('blog'); $blog_id = $url_data['blog_id']; if (!$blog_id || !WoW::LoadBlog($blog_id)) { WoW_Template::ErrorPage(404); } else { WoW_Template::SetPageData('wow_news', WoW::GetLastNews()); WoW_Template::SetPageData('blog_title', WoW::GetBlogData('title')); WoW_Template::SetPageData('overall_meta_title', WoW::GetBlogData('title')); WoW_Template::SetPageData('overall_meta_img', '/cms/blog_thumbnail/' . WoW::GetBlogData('image')); WoW_Template::SetPageIndex('blog'); WoW_Template::SetPageData('page', 'blog'); } WoW_Template::SetMenuIndex('menu-home'); WoW_Template::LoadTemplate('page_index'); }
public function main() { WoW_Template::SetPageData('body_class', sprintf('%s zone-index expansion-3', WoW_Locale::GetLocale(LOCALE_DOUBLE))); WoW_Template::SetTemplateTheme('wow'); WoW_Template::SetPageIndex('zones'); WoW_Template::SetPageData('page', 'zones'); $url_data = WoW::GetUrlData('zone'); if (isset($url_data['action3'])) { exit; } if (isset($url_data['action1']) && $url_data['action1'] != null) { // Try to find zone if (WoW_Game::IsZone($url_data['action1'])) { WoW_Template::SetPageData('zoneKey', $url_data['action1']); if (isset($url_data['action2']) && $url_data['action2'] != null) { if (in_array($url_data['action2'], array('loot', 'quests', 'quest-rewards', 'achievements', 'comments'))) { die('NYI'); } if (WoW_Game::IsBoss($url_data['action2'])) { WoW_Template::SetPageIndex('boss'); WoW_Template::SetPageData('page', 'boss'); WoW_Template::SetPageData('bossKey', $url_data['action2']); WoW_Game::LoadBoss($url_data['action2']); // save in memory WoW_Template::SetPageData('body_class', sprintf('%s zone-%s boss-%s', WoW_Locale::GetLocale(LOCALE_DOUBLE), $url_data['action1'], $url_data['action2'])); } } else { WoW_Template::SetPageIndex('zone'); WoW_Template::SetPageData('page', 'zone'); WoW_Game::LoadZone($url_data['action1']); // save in memory WoW_Template::SetPageData('body_class', sprintf('%s zone-%s', WoW_Locale::GetLocale(LOCALE_DOUBLE), $url_data['action1'])); } } } WoW_Template::SetMenuIndex('menu-game'); WoW_Template::LoadTemplate('page_index'); }
public function main() { WoW_Template::SetPageData('body_class', sprintf('%s faction-index expansion-3', WoW_Locale::GetLocale(LOCALE_DOUBLE))); WoW_Template::SetTemplateTheme('wow'); WoW_Template::SetPageIndex('faction'); WoW_Template::SetPageData('page', 'faction'); $url_data = WoW::GetUrlData('faction'); if (isset($url_data['action2']) && $url_data['action2'] != null) { exit; // [PH] } if (isset($url_data['action1']) && $url_data['action1'] != null) { // Try to find zone if (WoW_Game::IsZone($url_data['action1'])) { WoW_Template::SetPageIndex('zone'); WoW_Template::SetPageData('page', 'zone'); WoW_Game::LoadZone($url_data['action1']); // save in memory } } WoW_Template::SetMenuIndex('menu-game'); WoW_Template::LoadTemplate('page_index'); }
public function main() { WoW_Template::SetTemplateTheme('wow'); WoW_Template::SetPageData('body_class', WoW_Locale::GetLocale(LOCALE_DOUBLE)); WoW_Template::SetMenuIndex('menu-forums'); $url_data = WoW::GetUrlData('forum'); $page = isset($_GET['page']) && preg_match('/([0-9]+)/i', $_GET['page']) ? $_GET['page'] : 1; WoW_Template::SetPageData('current_page', $page); // Clear category/thread values WoW_Forums::SetCategoryId(0); WoW_Forums::SetThreadId(0); // Check preview if (isset($url_data['action4'], $url_data['action5'], $url_data['action6']) && $url_data['action4'] . $url_data['action5'] . $url_data['action6'] == 'topicpostpreview') { $post_text = isset($_POST['post']) ? $_POST['post'] : null; if ($post_text == null) { //This can not be here, it causes error when preview blank post text //WoW_Template::ErrorPage(500); } // Convert BB codes to HTML WoW_Forums::BBCodesToHTML($post_text); // Output json header('Content-type: text/json'); echo '{"detail":"' . $post_text . '"}'; exit; } // Set values (if any) if ($url_data['category_id'] > 0) { if (!WoW_Forums::SetCategoryId($url_data['category_id'])) { WoW_Template::ErrorPage(404); exit; } if (isset($url_data['action5']) && $url_data['action5'] == 'topic' && WoW_Account::IsHaveActiveCharacter()) { // Check $_POST query if (isset($_POST['xstoken'])) { $post_allowed = true; $required_post_fields = array('xstoken', 'sessionPersist', 'subject', 'postCommand_detail'); foreach ($required_post_fields as $field) { if (!isset($_POST[$field])) { $post_allowed = false; } } if ($post_allowed) { $post_info = WoW_Forums::AddNewThread($url_data['category_id'], $_POST, false); if (is_array($post_info)) { header('Location: ' . WoW::GetWoWPath() . '/wow/' . WoW_Locale::GetLocale() . '/forum/topic/' . $post_info['thread_id']); exit; } } } // Topic create WoW_Template::SetPageIndex('forum_new_topic'); WoW_Template::SetPageData('page', 'forum_new_topic'); } else { WoW_Template::SetPageIndex('forum_category'); WoW_Template::SetPageData('page', 'forum_category'); } } elseif ($url_data['thread_id'] > 0) { if (!WoW_Forums::SetThreadId($url_data['thread_id'])) { WoW_Template::ErrorPage(404); exit; } if (isset($url_data['action4']) && $url_data['action4'] == 'topic' && preg_match('/([0-9]+)/i', $url_data['action5']) && WoW_Account::IsHaveActiveCharacter()) { // Check $_POST query if (isset($_POST['xstoken'])) { $post_allowed = true; $required_post_fields = array('xstoken', 'sessionPersist', 'detail'); foreach ($required_post_fields as $field) { if (!isset($_POST[$field])) { $post_allowed = false; } } if ($post_allowed) { $post_info = WoW_Forums::AddNewPost(null, $url_data['thread_id'], $_POST); if (is_array($post_info)) { header('Location: ' . WoW::GetWoWPath() . '/wow/' . WoW_Locale::GetLocale() . '/forum/topic/' . $url_data['thread_id']); exit; } } } } WoW_Template::SetPageIndex('forum_thread'); WoW_Template::SetPageData('page', 'forum_thread'); } elseif (isset($url_data['action4']) && $url_data['action4'] == 'topic' && isset($url_data['action5']) && $url_data['action5'] == 'post' && isset($url_data['action6']) && preg_match('/([0-9]+)/i', $url_data['action6'])) { if (isset($url_data['action7']) && WoW_Account::IsHaveActiveCharacter()) { switch ($url_data['action7']) { case 'frag': $Quote = WoW_Forums::QuotePost($url_data['action6']); header('Content-type: text/json'); echo '{"detail":"' . $Quote['message'] . '","name":"' . $Quote['name'] . '"}'; exit; break; case 'edit': if (isset($_POST['xstoken'])) { $post_allowed = true; $required_post_fields = array('xstoken', 'sessionPersist', 'postCommand_detail'); foreach ($required_post_fields as $field) { if (!isset($_POST[$field])) { $post_allowed = false; } } if ($post_allowed) { $thread_id = WoW_Forums::EditPost($url_data['action6'], $_POST); if ($thread_id) { header('Location: ' . WoW::GetWoWPath() . '/wow/' . WoW_Locale::GetLocale() . '/forum/topic/' . $thread_id); exit; } } } if ($post = WoW_Forums::GetPost($url_data['action6'])) { if (!WoW_Forums::SetThreadId($post['thread_id'])) { WoW_Template::ErrorPage(404); exit; } WoW_Template::SetPageData('edit_text', $post['message']); WoW_Template::SetPageIndex('forum_edit_post'); WoW_Template::SetPageData('page', 'forum_edit_post'); } break; } } } elseif ($url_data['action4'] == 'blizztracker') { // Set Blizz tracker as active WoW_Forums::SetBlizzTrackerActive(); // Init Blizz tracker! WoW_Forums::InitBlizzTracker(false, $page); WoW_Template::SetPageIndex('forum_blizztracker'); WoW_Template::SetPageData('page', 'forum_blizztracker'); } else { // Init Blizz tracker! WoW_Forums::InitBlizzTracker(true); WoW_Template::SetPageIndex('forum_index'); WoW_Template::SetPageData('page', 'forum_index'); WoW_Template::SetPageData('body_class', WoW_Locale::GetLocale(LOCALE_DOUBLE) . ' station-home'); } // Init the forums! WoW_Forums::InitForums($page); WoW_Template::SetPageData('forum_category_title', WoW_Forums::GetCategoryTitle()); WoW_Template::SetPageData('forum_thread_title', WoW_Forums::GetThreadTitle()); WoW_Template::LoadTemplate('page_index'); }
public function main() { $url_data = WoW::GetUrlData('vault'); // Check session if ($url_data['action0'] != 'vault') { // Wrong URL parsing header('Location: ' . WoW::GetWoWPath() . '/wow/'); exit; } if (!WoW_Account::IsLoggedIn()) { header('Location: ' . WoW::GetWoWPath() . '/login/?ref=' . urlencode($_SERVER['REQUEST_URI'])); exit; } WoW_Template::SetTemplateTheme('wow'); switch ($url_data['action1']) { case 'character': switch ($url_data['action2']) { case 'auction': $auction_side = $url_data['action3']; if (!$auction_side || !in_array($auction_side, array('alliance', 'horde', 'neutral'))) { WoW::RedirectTo('wow/' . WoW_Locale::GetLocale() . '/vault/character/auction/' . WoW_Account::GetActiveCharacterInfo('faction_text')); } // Check active character if (WoW_Account::GetActiveCharacterInfo('guid') == 0) { WoW::RedirectTo(); } switch ($url_data['action4']) { default: WoW_Template::SetPageData('auction_side', $auction_side); WoW_Template::SetPageIndex('auction_lots'); WoW_Template::SetPageData('page', 'auction_lots'); break; case 'cancel': // Cancelling, adding, etc. requires core support! if (!isset($_POST['auc'])) { exit; } $auction_id = (int) $_POST['auc']; header('Content-type: text/plain'); echo WoW_Auction::CancelAuction($auction_id); exit; /* if(isset($_POST['auc'])) { $auction_id = (int) $_POST['auc']; // WoW REMOTE FEATURE } file_put_contents('cancel.txt', print_r($_POST, true)); exit; */ break; } break; default: WoW_Template::ErrorPage(404); break; } break; default: WoW_Template::ErrorPage(404); break; } WoW_Template::LoadTemplate('page_index'); }
public function main() { WoW_Template::SetTemplateTheme('wow'); WoW_Template::SetPageIndex('item_info'); WoW_Template::SetPageData('page', 'item_info'); WoW_Template::SetMenuIndex('menu-game'); $url_data = WoW::GetUrlData('item'); if (!$url_data) { if (!isset($_GET['t'])) { WoW_Template::ErrorPage(404); } exit; } $item_entry = $url_data['item_entry']; if ($item_entry == 0) { $breadcrumbs = WoW_Items::GetBreadCrumbsForItem($_GET); WoW_Template::SetPageIndex('item_list'); WoW_Template::SetPageData('body_class', 'item-index'); WoW_Template::SetPageData('page', 'item_list'); WoW_Template::SetPageData('breadcrumbs', $breadcrumbs); WoW_Template::SetPageData('last-crumb', is_array($breadcrumbs) ? $breadcrumbs[sizeof($breadcrumbs) - 1]['caption'] : WoW_Locale::GetString('template_menu_items')); WoW_Template::LoadTemplate('page_index'); exit; } // Load proto $proto = new WoW_ItemPrototype(); $proto->LoadItem($item_entry); if (!$proto->IsCorrect()) { if (!isset($_GET['t']) && (!isset($url_data['action0']) || $url_data['action0'] != 'tooltip')) { WoW_Template::ErrorPage(404); } exit; } WoW_Template::SetPageData('item_entry', $item_entry); // SSD and SSV data $ssd = DB::WoW()->selectRow("SELECT * FROM `DBPREFIX_ssd` WHERE `entry` = %d", $proto->ScalingStatDistribution); $ssd_level = MAX_PLAYER_LEVEL; if (isset($_GET['pl'])) { $ssd_level = (int) $_GET['pl']; if (is_array($ssd) && $ssd_level > $ssd['MaxLevel']) { $ssd_level = $ssd['MaxLevel']; } } $ssv = DB::WoW()->selectRow("SELECT * FROM `DBPREFIX_ssv` WHERE `level` = %d", $ssd_level); if (isset($_GET['t'])) { $url_data['tooltip'] = true; } if ($url_data['tooltip'] == true) { WoW_Template::SetPageIndex('item_tooltip'); WoW_Template::SetPageData('tooltip', true); WoW_Template::SetPageData('page', 'item_tooltip'); WoW_Template::SetPageData('proto', $proto); WoW_Template::SetPageData('ssd', $ssd); WoW_Template::SetPageData('ssd_level', $ssd_level); WoW_Template::SetPageData('ssv', $ssv); WoW_Template::LoadTemplate('page_item_tooltip'); } else { if (isset($url_data['action0']) && $url_data['action0'] != null) { WoW_Template::SetPageData('tab_type', $url_data['action0']); WoW_Template::LoadTemplate('page_item_tab'); exit; } WoW_Template::SetPageIndex('item'); WoW_Template::SetPageData('tooltip', false); WoW_Template::SetPageData('itemName', $proto->name); WoW_Template::SetPageData('page', 'item'); WoW_Template::SetPageData('proto', $proto); WoW_Template::SetPageData('ssd', $ssd); WoW_Template::SetPageData('ssd_level', $ssd_level); WoW_Template::SetPageData('ssv', $ssv); WoW_Template::LoadTemplate('page_index'); } unset($proto); }
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'); }
public function main() { $url_data = WoW::GetUrlData('management'); if (!is_array($url_data) || !isset($url_data['action1']) || $url_data['action1'] != 'creation') { header('Location: ' . WoW::GetWoWPath() . '/account/creation/tos.html'); exit; } WoW_Template::SetTemplateTheme('account'); if ($url_data['action2'] == 'wow' && $url_data['action3'] == 'signup') { if (!WoW_Account::IsLoggedIn()) { header('Location: ' . WoW::GetWoWPath() . '/login/?ref=' . urlencode('http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'])); exit; } if (isset($_POST['emailAddress'])) { $account_data = array('username' => $_POST['emailAddress'], 'sha' => sha1(strtoupper($_POST['emailAddress']) . ':' . strtoupper($_POST['password']))); if (WoW_Account::RegisterGameAccount($account_data)) { header('Location: ' . WoW::GetWoWPath() . '/account/management/wow/dashboard.html?accountName=' . $account_data['username']); exit; } } WoW_Template::LoadTemplate('creation_wow'); exit; } if (preg_match('/tos.html/i', $url_data['action2'])) { WoW_Template::SetPageIndex('creation_tos'); WoW_Template::SetPageData('page', 'creation_tos'); if (isset($_POST['csrftoken'])) { $registration_allowed = true; $required_post_fields = array('firstname', 'lastname', array('emailAddress', 'emailAddressConfirmation'), array('password', 'rePassword'), 'gender', 'question1', 'answer1', 'dobDay', 'dobMonth', 'dobYear', 'country'); // Check POST fields foreach ($required_post_fields as $field) { if (is_array($field)) { if (!isset($_POST[$field[0]], $_POST[$field[1]])) { $registration_allowed = false; WoW_Template::SetPageData('account_creation_error_msg', WoW_Locale::GetString('template_account_creation_error_fields')); } if ($_POST[$field[0]] != $_POST[$field[1]] || empty($_POST[$field[0]]) || empty($_POST[$field[1]])) { $registration_allowed = false; WoW_Template::SetPageData('account_creation_error_msg', WoW_Locale::GetString('template_account_creation_error_fields')); } } else { if (!isset($_POST[$field]) || $_POST[$field] == null) { $registration_allowed = false; WoW_Template::SetPageData('account_creation_error_msg', WoW_Locale::GetString('template_account_creation_error_fields')); } } } if ($registration_allowed) { // Generate user data $user_data = array('first_name' => $_POST['firstname'], 'last_name' => $_POST['lastname'], 'password' => $_POST['password'], 'sha' => sha1(strtoupper($_POST['emailAddress']) . ':' . strtoupper($_POST['password'])), 'treatment' => $_POST['gender'], 'email' => $_POST['emailAddress'], 'question_id' => $_POST['question1'], 'question_answer' => $_POST['answer1'], 'birthdate' => strtotime(sprintf('%d.%d.%d', $_POST['dobDay'], $_POST['dobMonth'], $_POST['dobYear'])), 'country_code' => $_POST['country']); // And try to register new account if (WoW_Account::RegisterUser($user_data, true)) { // Account created, redirect user to manager index header('Location: ' . WoW::GetWoWPath() . '/account/management/'); exit; } } else { WoW_Template::SetPageData('creation_error', true); } } } WoW_Template::LoadTemplate('creation_index'); }
public function main() { $url_data = WoW::GetUrlData('management'); if (!is_array($url_data) || !isset($url_data['action1'])) { header('Location: ' . WoW::GetWoWPath() . '/account/management/'); exit; } if ($url_data['action1'] == 'creation') { include CONTROLLERS_DIR . 'account' . DS . 'creation.php'; $controller = new Creation($this->m_actions, 'account'); $controller->main(); exit; } if (!WoW_Account::IsLoggedIn()) { if ($url_data['action1'] == 'support') { WoW_Template::SetTemplateTheme('account'); switch ($url_data['action2']) { default: case 'password-reset.html': WoW_Template::SetPageIndex('password_reset'); WoW_Template::SetPageData('page', 'password_reset'); break; case 'password-reset-select.html': if (isset($_POST['csrftoken'])) { $user_data = array('email' => $_POST['email'], 'username' => $_POST['firstName']); WoW_Account::DropLastErrorCode(); if (WoW_Account::RecoverPasswordSelect($user_data)) { $_SESSION['wow_password_recovery'] = WoW_Account::GetRecoverPasswordData(); WoW_Template::SetPageIndex('password_reset_select'); WoW_Template::SetPageData('page', 'password_reset_select'); } else { WoW_Account::SetLastErrorCode(ERORR_INVALID_PASSWORD_RECOVERY_COMBINATION); WoW_Template::SetPageIndex('password_reset'); WoW_Template::SetPageData('page', 'password_reset'); } } break; case 'password-reset-secred-answer.html': WoW_Account::SetRecoverPasswordData($_SESSION['wow_password_recovery']); if (isset($_POST['verificationMethod']) && $_POST['verificationMethod'] == 'SECURITY_QUESTION') { WoW_Template::SetPageIndex('password_reset_secred_answer'); WoW_Template::SetPageData('page', 'password_reset_secred_answer'); } else { WoW_Template::SetPageIndex('password_reset_select'); WoW_Template::SetPageData('page', 'password_reset_select'); } break; case 'password-reset-success.html': WoW_Account::SetRecoverPasswordData($_SESSION['wow_password_recovery']); if (isset($_POST['secretAnswer'])) { WoW_Account::DropLastErrorCode(); if (WoW_Account::RecoverPasswordSuccess($_POST['secretAnswer'])) { WoW_Template::SetPageIndex('password_reset_success'); WoW_Template::SetPageData('page', 'password_reset_success'); } else { WoW_Account::SetLastErrorCode(ERORR_INVALID_PASSWORD_RECOVERY_ANSWER); WoW_Template::SetPageIndex('password_reset_secred_answer'); WoW_Template::SetPageData('page', 'password_reset_secred_answer'); } } break; case 'password-reset-confirm.xml': if (isset($_POST['email']) && isset($_POST['ticket'])) { $data = array('newPassword' => $_POST['newPassword'], 'reNewPassword' => $_POST['reNewPassword']); WoW_Account::DropLastErrorCode(); if ($data['newPassword'] != $data['reNewPassword']) { WoW_Account::SetLastErrorCode(ERORR_NEW_PASSWORD_NOT_MATCH); WoW_Template::SetPageIndex('password_reset_confirm'); WoW_Template::SetPageData('page', 'password_reset_confirm'); } elseif (WoW_Account::RecoverPasswordChange($data['newPassword'])) { WoW_Template::SetPageIndex('password_reset_changed'); WoW_Template::SetPageData('page', 'password_reset_confirm'); } else { WoW_Account::SetLastErrorCode(ERORR_NEW_PASSWORD_FAIL); WoW_Template::SetPageIndex('password_reset_confirm'); WoW_Template::SetPageData('page', 'password_reset_confirm'); } } break; } if (preg_match('/password-reset-confirm.xml\\?ticket=([a-z0-9A-Z]{32})$/i', $url_data['action2'], $matches)) { if (WoW_Account::validTicket($matches[1])) { WoW_Template::SetPageIndex('password_reset_confirm'); WoW_Template::SetPageData('page', 'password_reset_confirm'); } } WoW_Template::LoadTemplate('support_index'); exit; } else { header('Location: ' . WoW::GetWoWPath() . '/login/'); exit; } } WoW_Template::SetTemplateTheme('account'); WoW_Account::UserGames(); WoW_Template::SetPageIndex('management'); WoW_Template::SetMenuIndex('management'); WoW_Template::SetPageData('page', 'management'); if ($url_data['action2'] == 'wow' && preg_match('/dashboard.html/i', $url_data['action3'])) { WoW_Account::InitializeAccount($_GET['accountName']); WoW_Template::SetPageIndex('dashboard'); WoW_Template::SetMenuIndex('games'); WoW_Template::SetPageData('page', 'dashboard'); WoW_Template::LoadTemplate('page_index'); } elseif ($url_data['action2'] == 'wow-account-conversion.html') { WoW_Template::SetPageData('conversion_page', 1); if (isset($_POST['targetpage'])) { switch ($_POST['targetpage']) { case '2': if (isset($_POST['username']) && isset($_POST['password'])) { if (WoW_Account::PerformConversionStep(1, array('username' => $_POST['username'], 'password' => $_POST['password']))) { WoW_Template::SetPageData('conversion_page', 2); } else { WoW_Template::SetPageData('conversion_page', 1); } } else { WoW_Template::SetPageData('conversion_page', 1); } break; case '3': WoW_Template::SetPageData('conversion_page', 3); break; case 'finish': if (!WoW_Account::PerformConversionStep(3)) { WoW_Template::SetPageData('conversion_page', 2); } break; default: break; } } WoW_Template::SetPageIndex('account_conversion'); Wow_Template::SetMenuIndex('games'); WoW_Template::SetPageData('page', 'account_conversion'); WoW_Template::LoadTemplate('page_index'); } WoW_Template::LoadTemplate('page_index'); }
public static function NavigationMenu() { // Maybe breadcrumb content should be filled from appropriate page controller? // Shadez $navigationMenu[0] = WoW_Locale::$navigation; $url_data = WoW::GetUrlData(); $path_data = NULL; $path_search_data = NULL; $last = false; $dynamic_content = false; switch ($url_data[1]) { case '/zone/': $dynamic_content = true; @($zone_info = WoW_Game::GetZone()); $_data = array(0 => '/', 1 => '/game/', 2 => '/zone/', 3 => '/zone/#expansion=' . @$zone_info['expansion'] . '&type=' . @$zone_info['type'] . 's', 4 => '/zone/' . @$url_data[2], 5 => '/zone/' . @$url_data[2] . '/' . @$url_data[3]); for ($a = 0; $a <= count($url_data); ++$a) { $path_search_data[$a] = $_data[$a]; } if (isset($url_data[2])) { $path_search_data[4] = $_data[4]; } break; case '/faction/': $dynamic_content = true; /** * WoW_Game::GetFaction() is not defined * * TODO * Create function WoW_Game::GetFaction() with same rules as WoW_Game::GetZone() * and edit wow_content_faction.php template to load datas from DB same as wow_content_zones.php template * * Create template and DB data to load and display each faction details. */ //@$faction_info = WoW_Game::GetFaction(); $_data = array(0 => '/', 1 => '/game/', 2 => '/faction/', 3 => '/faction/#expansion=' . @$faction_info['expansion'], 4 => '/faction/' . @$url_data[2]); for ($a = 0; $a <= count($url_data); ++$a) { $path_search_data[$a] = $_data[$a]; } if (isset($url_data[2])) { $path_search_data[4] = $_data[4]; } break; case '/item/': $dynamic_content = true; //WoW_Items::GetBreadCrumbsForItem($_GET) is NOT needed now if (isset($url_data[2])) { $preg = preg_match('/\\/(\\?classId=([0-9]+)((&subClassId=([0-9]+))?(&invType=([0-9]+))?)?)|([0-9]+)\\/{0,1}/i', $url_data[2], $matches); } $_data = array(0 => '/', 1 => '/game/', 2 => '/item/', 3 => NULL, 4 => NULL, 5 => NULL); for ($a = 0; $a <= count($url_data); ++$a) { $path_search_data[$a] = $_data[$a]; } if (isset($matches) && array_key_exists(8, $matches)) { $proto = new WoW_ItemPrototype(); $proto->LoadItem($matches[8]); $matches[2] = $proto->class; $matches[5] = $proto->subclass; if ($matches[2] == 4 && in_array($matches[5], array(0, 1, 2, 3, 4))) { $matches[7] = $proto->InventoryType; $path_search_data[6] = '/item/' . $matches[8]; $label[6] = $proto->name; } else { unset($matches[7]); $path_search_data[5] = '/item/' . $matches[8]; $label[5] = $proto->name; } } if (isset($matches) && (array_key_exists(2, $matches) || array_key_exists(8, $matches))) { $path_search_data[3] = '/item/?classId=' . $matches[2]; } if (isset($matches) && (array_key_exists(5, $matches) || array_key_exists(8, $matches))) { $path_search_data[4] = '/item/?classId=' . $matches[2] . '&subClassId=' . $matches[5]; } if (isset($matches) && array_key_exists(7, $matches)) { $path_search_data[5] = '/item/?classId=' . $matches[2] . '&subClassId=' . $matches[5] . '&invType=' . $matches[7]; } break; case '/profession/': $dynamic_content = true; $_data = array(0 => '/', 1 => '/game/', 2 => '/profession/', 3 => '/profession/' . @$url_data[2]); for ($a = 0; $a <= count($url_data); ++$a) { $path_search_data[$a] = $_data[$a]; } break; case '/pvp/': $dynamic_content = true; $_data = array(0 => '/', 1 => '/game/', 2 => '/pvp/', 3 => '/pvp/' . @$url_data[2]); for ($a = 0; $a <= count($url_data); ++$a) { $path_search_data[$a] = $_data[$a]; } break; case '/status/': $dynamic_content = true; $_data = array(0 => '/', 1 => '/game/', 2 => '/status/', 3 => '/status/' . @$url_data[2]); for ($a = 0; $a <= count($url_data); ++$a) { $path_search_data[$a] = $_data[$a]; } break; case '/character/': $dynamic_content = true; $subdata4 = ''; $data3 = ''; $count = 0; @($url_data[3] = @urldecode($url_data[3])); if (isset($url_data[4])) { if (in_array($url_data[4], array('/simple/', '/advanced/'))) { $count = 2; $subdata4 = @$url_data[4]; } elseif ($url_data[4] == '/achievement/') { $count = 3; $data3 = '/character/' . @$url_data[2] . @$url_data[3] . @$url_data[4]; $label[3] = WoW_Locale::GetString('template_profile_achievements'); } elseif ($url_data[4] == '/statistic/') { $count = 3; $data3 = '/character/' . @$url_data[2] . @$url_data[3] . @$url_data[4]; $label[3] = WoW_Locale::GetString('template_profile_statistics'); } elseif ($url_data[4] == '/reputation/') { $count = 3; $data3 = '/character/' . @$url_data[2] . @$url_data[3] . @$url_data[4]; $label[3] = WoW_Locale::GetString('template_profile_reputation'); } elseif ($url_data[4] == '/pvp/') { $count = 3; $data3 = '/character/' . @$url_data[2] . @$url_data[3] . @$url_data[4]; $label[3] = 'PvP'; } elseif ($url_data[4] == '/feed/') { $count = 3; $data3 = '/character/' . @$url_data[2] . @$url_data[3] . @$url_data[4]; $label[3] = WoW_Locale::GetString('template_profile_feed'); } elseif ($url_data[4] == '/mount/') { $count = 3; $data3 = '/character/' . @$url_data[2] . @$url_data[3] . @$url_data[4]; $label[3] = WoW_Locale::GetString('template_profile_mounts'); } elseif ($url_data[4] == '/companion/') { $count = 3; $data3 = '/character/' . @$url_data[2] . @$url_data[3] . @$url_data[4]; $label[3] = WoW_Locale::GetString('template_profile_companions'); } } $label[2] = str_replace(array('/', '+'), array('', ' '), @$url_data[3] . ' @ ' . @$url_data[2]); $_data = array(0 => '/', 1 => '/game/', 2 => '/character/' . @$url_data[2] . @$url_data[3] . $subdata4, 3 => $data3, 4 => NULL, 5 => NULL); for ($a = 0; $a <= $count; ++$a) { $path_search_data[$a] = $_data[$a]; } break; case '/blog/': $dynamic_content = true; $_data = array(0 => '/', 1 => '/blog/' . @$url_data[2]); $label[1] = WoW::GetBlogData('title'); for ($a = 0; $a < count($_data); ++$a) { $path_search_data[$a] = $_data[$a]; } break; case '/forum/': $dynamic_content = true; $_data = array(0 => '/', 1 => '/forum/', 2 => '/forum/#forum' . WoW_Forums::GetGlobalCategoryId(), 3 => '/forum/' . WoW_Forums::GetCategoryId() . '/', 4 => '/forum/topic/' . WoW_Forums::GetThreadId() . '/', 5 => '/forum/topic/post/' . @$url_data[4] . '/edit', 6 => '/forum/topic/post/' . @$url_data[4] . '/delete', 7 => '/forum/blizztracker/'); for ($a = 0; $a < count($url_data); ++$a) { $path_search_data[$a] = $_data[$a]; } if (isset($url_data[2]) && $url_data[2] != '/topic/') { if (isset($url_data[2]) && $url_data[2] == '/blizztracker/') { $path_search_data[2] = $_data[7]; $label[2] = WoW_Locale::GetString('template_blizztracker_title'); unset($path_search_data[3]); } else { $path_search_data[3] = $_data[3]; } } if (isset($url_data[2]) && $url_data[2] == '/topic/') { if ($url_data[3] == '/post/') { $path_search_data[3] = $_data[3]; $path_search_data[4] = $_data[5]; $label[4] = WoW_Forums::GetThreadTitle(); unset($path_search_data[5]); unset($path_search_data[6]); } else { $path_search_data[3] = $_data[3]; $path_search_data[4] = $_data[4]; $label[4] = WoW_Forums::GetThreadTitle(); } } break; default: $path_search_data = $url_data; break; } /* * BUG!!! Need Rewritten and Reworked script... * Need This <span class="breadcrumb-arrow"></span> */ echo '<ol class="ui-breadcrumb">'; $path_data = ''; for ($i = 0; $i < count($path_search_data); ++$i) { if ($i == count($path_search_data) - 1) { $last = true; } if ($dynamic_content) { $path_data = $path_search_data[$i]; } else { $path_data .= $url_data[$i]; } $path_data = str_replace('//', '/', $path_data); if (!isset($label[$i])) { $menu = self::array_searchRecursive($path_data, $navigationMenu); } else { $menu['label'] = $label[$i]; } echo '<li' . ($last == true ? ' class="last"' : null) . '><a href="' . WoW::GetWoWPath() . '/wow/' . WoW_Locale::GetLocale() . $path_data . '" rel="np">' . $menu['label'] . '</a></li>'; } echo '</ol>'; }