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>
Exemple #9
0
 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 .= ',';
        }