moved articles to template-class .. and am fed up with smarty by now..

This commit is contained in:
Sarjuuk
2013-06-27 22:04:45 +02:00
parent 3d66eacb90
commit bbfc4f5820
7 changed files with 456 additions and 336 deletions

View File

@@ -309,6 +309,60 @@ trait listviewHelper
} }
trait spawnHelper
{
private static $spawnQuery = " SELECT a.guid AS ARRAY_KEY, map, position_x, position_y, spawnMask, phaseMask, spawntimesecs, eventEntry, pool_entry AS pool FROM ?# a LEFT JOIN ?# b ON a.guid = b.guid LEFT JOIN ?# c ON a.guid = c.guid WHERE id = ?d";
private function fetch()
{
if (!$this->id)
return false;
switch (get_class($this))
{
case 'CreatureList':
return DB::Aowow()->select(self::$spawnQuery, 'creature', 'game_event_creature', 'pool_creature', $this->id);
case 'GameObjectList':
return DB::Aowow()->select(self::$spawnQuery, 'gameobject', 'game_event_gameobject', 'pool_gameobject', $this->id);
default:
return false;
}
}
public function getSpawns($short = false)
{
// short: true => only the most populated area and only coordinates
$data = [];
$raw = $this->fetch();
if (!$raw)
return [];
/*
long:
$data = array(
areaId => array(
floorNo => array (
posX =>
posY =>
respawn =>
phaseMask =>
spawnMask =>
eventId =>
poolId =>
)
)
)
short: zoneId, [pos-sets]
$data = [6456, [[51,42.2],[51,43]]];
*/
return $data;
}
}
class Lang class Lang
{ {
public static $main; public static $main;
@@ -584,10 +638,55 @@ class SmartyAoWoW extends Smarty
public function display($tpl) public function display($tpl)
{ {
// since it's the same for every page, except index.. $tv = &$this->_tpl_vars;
if ($this->_tpl_vars['query'][0] && !preg_match('/[^a-z]/i', $this->_tpl_vars['query'][0])) $_ = [];
if ($tv['page']['type'] && $tv['page']['typeId'])
{ {
$ann = DB::Aowow()->Select('SELECT * FROM ?_announcements WHERE status = 1 AND (page = ?s OR page = "*")', $this->_tpl_vars['query'][0]); if ($article = DB::Aowow()->selectRow('SELECT id, article, quickInfo FROM ?_articles WHERE type = ?d AND typeId = ?d AND locale = ?d', $tv['page']['type'], $tv['page']['typeId'], User::$localeId))
{
$globals = DB::Aowow()->select('SELECT type, typeId FROM ?_article_items WHERE id = ?d', $article['id']);
$tv['article'] = $article['article'];
@$tv['infoBox'] .= $article['quickInfo'];
foreach ($globals as $glob)
{
if (!isset($_[$glob['type']]))
$_[$glob['type']] = [];
$_[$glob['type']][] = $glob['typeId'];
}
foreach ($_ as $type => $ids)
{
switch ($type)
{
case TYPE_NPC: (new CreatureList(array(['ct.entry', $ids])))->addGlobalsToJscript($tv['lvData']); break;
case TYPE_OBJECT: (new GameobjectList(array(['gt.entry', $ids])))->addGlobalsToJscript($tv['lvData']); break;
case TYPE_ITEM: (new ItemList(array(['it.entry', $ids])))->addGlobalsToJscript($tv['lvData']); break;
case TYPE_ITEMSET: (new ItemsetList(array(['id', $ids])))->addGlobalsToJscript($tv['lvData']); break;
case TYPE_QUEST: (new QuestList(array(['qt.entry', $ids])))->addGlobalsToJscript($tv['lvData']); break;
case TYPE_SPELL: (new SpellList(array(['s.id', $ids])))->addGlobalsToJscript($tv['lvData']); break;
case TYPE_ZONE: (new ZoneList(array(['z.id', $ids])))->addGlobalsToJscript($tv['lvData']); break;
case TYPE_FACTION: (new FactionList(array(['id', $ids])))->addGlobalsToJscript($tv['lvData']); break;
case TYPE_PET: (new PetList(array(['id', $ids])))->addGlobalsToJscript($tv['lvData']); break;
case TYPE_ACHIEVEMENT: (new AchievementList(array(['id', $ids])))->addGlobalsToJscript($tv['lvData']); break;
case TYPE_TITLE: (new TitleList(array(['id', $ids])))->addGlobalsToJscript($tv['lvData']); break;
case TYPE_WORLDEVENT: (new WorldEventList(array(['id', $ids])))->addGlobalsToJscript($tv['lvData']); break;
case TYPE_CLASS: (new CharClassList(array(['id', $ids])))->addGlobalsToJscript($tv['lvData']); break;
case TYPE_RACE: (new CharRaceList(array(['id', $ids])))->addGlobalsToJscript($tv['lvData']); break;
case TYPE_SKILL: (new SkillList(array(['id', $ids])))->addGlobalsToJscript($tv['lvData']); break;
case TYPE_CURRENCY: (new CurrencyList(array(['id', $ids])))->addGlobalsToJscript($tv['lvData']); break;
}
}
}
}
// since it's the same for every page, except index..
if ($tv['query'][0] && !preg_match('/[^a-z]/i', $tv['query'][0]))
{
$ann = DB::Aowow()->Select('SELECT * FROM ?_announcements WHERE status = 1 AND (page = ?s OR page = "*")', $tv['query'][0]);
foreach ($ann as $k => $v) foreach ($ann as $k => $v)
{ {
if ($t = Util::localizedString($v, 'text')) if ($t = Util::localizedString($v, 'text'))

View File

@@ -164,7 +164,6 @@ if (!$smarty->loadCache($cacheKeyPage, $pageData))
'title' => $name, // for header 'title' => $name, // for header
'path' => $path, 'path' => $path,
'infobox' => $infobox ? '[ul][li]'.implode('[/li][li]', $infobox).'[/li][/ul]' : null, 'infobox' => $infobox ? '[ul][li]'.implode('[/li][li]', $infobox).'[/li][/ul]' : null,
'article' => null, // todo (med): hmm, move to $smarty..?
'pieces' => $pieces, 'pieces' => $pieces,
'spells' => $spells, 'spells' => $spells,
'view3D' => json_encode($eqList, JSON_NUMERIC_CHECK), 'view3D' => json_encode($eqList, JSON_NUMERIC_CHECK),

View File

@@ -3,165 +3,167 @@
<div class="main" id="main"> <div class="main" id="main">
<div class="main-precontents" id="main-precontents"></div> <div class="main-precontents" id="main-precontents"></div>
<div class="main-contents" id="main-contents"> <div class="main-contents" id="main-contents">
{if !empty($announcements)} {if !empty($announcements)}
{foreach from=$announcements item=item} {foreach from=$announcements item=item}
{include file='bricks/announcement.tpl' an=$item} {include file='bricks/announcement.tpl' an=$item}
{/foreach} {/foreach}
{/if} {/if}
<script type="text/javascript">
<script type="text/javascript">//<![CDATA[
{include file='bricks/community.tpl'} {include file='bricks/community.tpl'}
var g_pageInfo = {ldelim}type: {$page.type}, typeId: {$page.typeId}, name: '{$lvData.page.name|escape:"quotes"}'{rdelim}; // username:XXX in profiles var g_pageInfo = {ldelim}type: {$page.type}, typeId: {$page.typeId}, name: '{$lvData.page.name|escape:"quotes"}'{rdelim}; // username:XXX in profiles
g_initPath({$page.path}); g_initPath({$page.path});
</script> //]]></script>
<table class="infobox"> {* include file='bricks/infobox.tpl' *}
<tr><th>{$lang.quickFacts}</th></tr>
<tr><td><div class="infobox-spacer"></div>
<ul>
{if $lvData.page.points}<li><div>{$lang.points}: <span class="moneyachievement tip" onmouseover="Listview.funcBox.moneyAchievementOver(event)" onmousemove="Tooltip.cursorUpdate(event)" onmouseout="Tooltip.hide()">{$lvData.page.points}</span></div></li>{/if}
{foreach from=$lvData.infoBox item=info}
<li><div>{$info}</div></li>
{/foreach}
{*<li><div>Location: {$lvData.page.location}</div></li> todo: need to be parsed first *}
</ul>
</td></tr>
{strip}{*************** CHAIN OF ACHIEVEMENTS ***************}
{if isset($lvData.page.series)}
<tr><th>{$lang.series}</th></tr>
<tr><td><div class="infobox-spacer"></div>
<table class="series">
{section name=i loop=$lvData.page.series}
<tr>
<th>{$smarty.section.i.index+1}.</th>
<td>
{if ($lvData.page.series[i].id == $lvData.page.id)}
<b>{$lvData.page.series[i].name}</b>
{else}
<div><a href="?achievement={$lvData.page.series[i].id}">{$lvData.page.series[i].name}</a></div>
{/if}
</td>
</tr>
{/section}
</table>
</td>
</tr>
{/if}
{/strip}{*************** / CHAIN OF ACHIEVEMENTS ***************}
<tr><th id="infobox-screenshots">{$lang.screenshots}</th></tr>
<tr><td><div class="infobox-spacer"></div><div id="infobox-sticky-ss"></div></td></tr>
<tr><th id="infobox-videos">{$lang.videos}</th></tr>
<tr><td><div class="infobox-spacer"></div><div id="infobox-sticky-vi"></div></td></tr>
</table>
<script type="text/javascript">ss_appendSticky()</script>
<script type="text/javascript">vi_appendSticky()</script>
<div class="text"> <table class="infobox">
<tr><th>{$lang.quickFacts}</th></tr>
<div id="h1-icon-generic" class="h1-icon"></div> <tr><td><div class="infobox-spacer"></div>
<ul>
<script type="text/javascript"> {if $lvData.page.points}<li><div>{$lang.points}: <span class="moneyachievement tip" onmouseover="Listview.funcBox.moneyAchievementOver(event)" onmousemove="Tooltip.cursorUpdate(event)" onmouseout="Tooltip.hide()">{$lvData.page.points}</span></div></li>{/if}
ge('h1-icon-generic').appendChild(Icon.create('{$lvData.page.iconname|escape:"javascript"}', 1)); {foreach from=$lvData.infoBox item=info}
</script> <li><div>{$info}</div></li>
{/foreach}
<a href="javascript:;" id="open-links-button" class="button-red" onclick="this.blur(); {*<li><div>Location: {$lvData.page.location}</div></li> todo: need to be parsed first *}
Links.show({ldelim} type: 10, typeId: {$lvData.page.id}, linkColor: 'ffffff00', linkId: '{$lvData.page.id}:&quot;..UnitGUID(&quot;player&quot;)..&quot;:0:0:0:0:0:0:0:0', linkName: '{$lvData.page.name|escape:'javascript'}' {rdelim});"> </ul>
<em><b><i>{$lang.links}</i></b><span>{$lang.links}</span></em></a> </td></tr>
<a href="http://old.wowhead.com/?{$query[0]}={$query[1]}" class="button-red"><em><b><i>Wowhead</i></b><span>Wowhead</span></em></a> {strip}{*************** CHAIN OF ACHIEVEMENTS ***************}
<h1 class="h1-icon">{$lvData.page.name}</h1> {if isset($lvData.page.series)}
<tr><th>{$lang.series}</th></tr>
{$lvData.page.description} <tr><td><div class="infobox-spacer"></div>
<table class="series">
{if !empty($lvData.page.criteria)}<h3>{$lang.criteria}{if $lvData.page.count} &ndash; <small><b>{$lang.requires} {$lvData.page.count} {$lang.outOf} {$lvData.page.total_criteria}</b></small>{/if}</h3>{/if} {section name=i loop=$lvData.page.series}
<tr>
<div style="float: left; margin-right: 25px"> <th>{$smarty.section.i.index+1}.</th>
<table class="iconlist"> <td>
{strip} {if ($lvData.page.series[i].id == $lvData.page.id)}
{foreach from=$lvData.page.criteria item=cr name=criteria} <b>{$lvData.page.series[i].name}</b>
<tr> {else}
<th{if isset($cr.icon)} align="right" id="iconlist-icon{$cr.icon}"{/if}> <div><a href="?achievement={$lvData.page.series[i].id}">{$lvData.page.series[i].name}</a></div>
{* for reference and standard entries *} {/if}
{if !isset($cr.icon) && (isset($cr.link) || $cr.standard)} </td>
<ul><li><var>&nbsp;</var></li></ul> </tr>
{/if} {/section}
</th> </table>
<td>
{if isset($cr.link)}<a href="{$cr.link.href}"{if isset($cr.link.quality)} class="q{$cr.link.quality}"{/if}>{$cr.link.text|escape:"html"}</a>{if isset($cr.link.count) && $cr.link.count > 1} ({$cr.link.count}){/if}{/if}
{* STANDARD TEXT *}
{if isset($cr.extra_text)} {$cr.extra_text}{/if}
{if $user.roles > 0} <small title="{$lang.criteriaType} {$cr.type}" class="q0">[{$cr.id}]</small>{/if}
</td> </td>
</tr> </tr>
{* If the first column is over (it may be a greater element) *} {/if}
{if $smarty.foreach.criteria.index+1 == round(count($lvData.page.criteria) / 2)} {/strip}{*************** / CHAIN OF ACHIEVEMENTS ***************}
<tr><th id="infobox-screenshots">{$lang.screenshots}</th></tr>
<tr><td><div class="infobox-spacer"></div><div id="infobox-sticky-ss"></div></td></tr>
<tr><th id="infobox-videos">{$lang.videos}</th></tr>
<tr><td><div class="infobox-spacer"></div><div id="infobox-sticky-vi"></div></td></tr>
</table>
<script type="text/javascript">ss_appendSticky()</script>
<script type="text/javascript">vi_appendSticky()</script>
<div class="text">
<div id="h1-icon-generic" class="h1-icon"></div>
<script type="text/javascript">//<![CDATA[
ge('h1-icon-generic').appendChild(Icon.create('{$lvData.page.iconname|escape:"javascript"}', 1));
//]]></script>
<a href="javascript:;" id="open-links-button" class="button-red" onclick="this.blur(); Links.show({ldelim} type: 10, typeId: {$lvData.page.id}, linkColor: 'ffffff00', linkId: '{$lvData.page.id}:&quot;..UnitGUID(&quot;player&quot;)..&quot;:0:0:0:0:0:0:0:0', linkName: '{$lvData.page.name|escape:'javascript'}' {rdelim});"><em><b><i>{$lang.links}</i></b><span>{$lang.links}</span></em></a>
<a href="http://old.wowhead.com/?{$query[0]}={$query[1]}" class="button-red"><em><b><i>Wowhead</i></b><span>Wowhead</span></em></a>
<h1 class="h1-icon">{$lvData.page.name}</h1>
{$lvData.page.description}
{if !empty($lvData.page.criteria)}<h3>{$lang.criteria}{if $lvData.page.count} &ndash; <small><b>{$lang.requires} {$lvData.page.count} {$lang.outOf} {$lvData.page.total_criteria}</b></small>{/if}</h3>{/if}
<div style="float: left; margin-right: 25px">
<table class="iconlist">
{strip}
{foreach from=$lvData.page.criteria item=cr name=criteria}
<tr>
<th{if isset($cr.icon)} align="right" id="iconlist-icon{$cr.icon}"{/if}>
{* for reference and standard entries *}
{if !isset($cr.icon) && (isset($cr.link) || $cr.standard)}
<ul><li><var>&nbsp;</var></li></ul>
{/if}
</th>
<td>
{if isset($cr.link)}<a href="{$cr.link.href}"{if isset($cr.link.quality)} class="q{$cr.link.quality}"{/if}>{$cr.link.text|escape:"html"}</a>{if isset($cr.link.count) && $cr.link.count > 1} ({$cr.link.count}){/if}{/if}
{* STANDARD TEXT *}
{if isset($cr.extra_text)} {$cr.extra_text}{/if}
{if $user.roles > 0} <small title="{$lang.criteriaType} {$cr.type}" class="q0">[{$cr.id}]</small>{/if}
</td>
</tr>
{* If the first column is over (it may be a greater element) *}
{if $smarty.foreach.criteria.index+1 == round(count($lvData.page.criteria) / 2)}
</table>
</div>
<div style="float: left">
<table class="iconlist">
{/if}
{/foreach}
{/strip}
</table> </table>
</div> </div>
<div style="float: left">
<table class="iconlist">
{/if}
{/foreach}
{/strip}
</table>
</div>
{strip} {strip}
<script type="text/javascript"> <script type="text/javascript">//<![CDATA[
{foreach from=$lvData.page.icons item=ic} {foreach from=$lvData.page.icons item=ic}
ge('iconlist-icon{$ic.itr}').appendChild({$ic.type}.createIcon({$ic.id}, 0, {if isset($ic.count) && $ic.count > 0}{$ic.count}{else}0{/if})); ge('iconlist-icon{$ic.itr}').appendChild({$ic.type}.createIcon({$ic.id}, 0, {if isset($ic.count) && $ic.count > 0}{$ic.count}{else}0{/if}));
{/foreach} {/foreach}
</script> //]]></script>
{/strip} {/strip}
<div style="clear: left"></div> <div style="clear: left"></div>
{* for items *} {* for items *}
{if $lvData.page.itemReward} {if $lvData.page.itemReward}
<h3>{$lang.rewards}</h3> <h3>{$lang.rewards}</h3>
{$lang.itemReward}<table class="icontab"> {$lang.itemReward}<table class="icontab">
<tr> <tr>
{foreach from=$lvData.page.itemReward item=i name=item key=id} {foreach from=$lvData.page.itemReward item=i name=item key=id}
<th id="icontab-icon{$smarty.foreach.item.index}"></th><td><span class="q{$i.quality}"><a href="?item={$id}">{$i.name}</a></span></td> <th id="icontab-icon{$smarty.foreach.item.index}"></th><td><span class="q{$i.quality}"><a href="?item={$id}">{$i.name}</a></span></td>
{/foreach} {/foreach}
<script type="text/javascript"> <script type="text/javascript">//<![CDATA[
{foreach from=$lvData.page.itemReward item=i name=item key=id} {foreach from=$lvData.page.itemReward item=i name=item key=id}
ge('icontab-icon{$smarty.foreach.item.index}').appendChild(g_items.createIcon({$id}, 1, 1)); ge('icontab-icon{$smarty.foreach.item.index}').appendChild(g_items.createIcon({$id}, 1, 1));
{/foreach} {/foreach}
</script> //]]></script>
</tr> </tr>
</table> </table>
{/if} {/if}
{* for titles *} {* for titles *}
{if $lvData.page.titleReward} {if $lvData.page.titleReward}
<h3>{$lang.gains}</h3> <h3>{$lang.gains}</h3>
<ul> <ul>
{foreach from=$lvData.page.titleReward item=i} {foreach from=$lvData.page.titleReward item=i}
<li><div>{$i}</div></li> <li><div>{$i}</div></li>
{/foreach} {/foreach}
</ul> </ul>
{/if} {/if}
<h2>{$lang.related}</h2> <h2>{$lang.related}</h2>
</div> </div>
<div id="tabs-generic"></div> <div id="tabs-generic"></div>
<div id="listview-generic" class="listview"></div> <div id="listview-generic" class="listview"></div>
<script type="text/javascript"> <script type="text/javascript">//<![CDATA[
var tabsRelated = new Tabs({ldelim}parent: ge('tabs-generic'){rdelim}); var tabsRelated = new Tabs({ldelim}parent: ge('tabs-generic'){rdelim});
{if $lvData.page.saData} {include file='bricks/listviews/achievement.tpl' data=$lvData.page.saData params=$lvData.page.saParams}{/if} {if $lvData.page.saData} {include file='bricks/listviews/achievement.tpl' data=$lvData.page.saData params=$lvData.page.saParams}{/if}
{if isset($lvData.page.coData)} {include file='bricks/listviews/achievement.tpl' data=$lvData.page.coData params=$lvData.page.coParams}{/if} {if isset($lvData.page.coData)} {include file='bricks/listviews/achievement.tpl' data=$lvData.page.coData params=$lvData.page.coParams}{/if}
new Listview({ldelim}template: 'comment', id: 'comments', name: LANG.tab_comments, tabs: tabsRelated, parent: 'listview-generic', data: lv_comments{rdelim}); new Listview({ldelim}template: 'comment', id: 'comments', name: LANG.tab_comments, tabs: tabsRelated, parent: 'listview-generic', data: lv_comments{rdelim});
new Listview({ldelim}template: 'screenshot', id: 'screenshots', name: LANG.tab_screenshots, tabs: tabsRelated, parent: 'listview-generic', data: lv_screenshots{rdelim}); new Listview({ldelim}template: 'screenshot', id: 'screenshots', name: LANG.tab_screenshots, tabs: tabsRelated, parent: 'listview-generic', data: lv_screenshots{rdelim});
if (lv_videos.length || (g_user && g_user.roles & (U_GROUP_ADMIN | U_GROUP_BUREAU | U_GROUP_VIDEO))) if (lv_videos.length || (g_user && g_user.roles & (U_GROUP_ADMIN | U_GROUP_BUREAU | U_GROUP_VIDEO)))
new Listview({ldelim}template: 'video', id: 'videos', name: LANG.tab_videos, tabs: tabsRelated, parent: 'listview-generic', data: lv_videos{rdelim}); new Listview({ldelim}template: 'video', id: 'videos', name: LANG.tab_videos, tabs: tabsRelated, parent: 'listview-generic', data: lv_videos{rdelim});
tabsRelated.flush(); tabsRelated.flush();
</script> //]]></script>
{include file='bricks/contribute.tpl'} {include file='bricks/contribute.tpl'}
</div><!-- main-contents --> </div><!-- main-contents -->
</div><!-- main --> </div><!-- main -->
{include file='footer.tpl'} {include file='footer.tpl'}

View File

@@ -0,0 +1,8 @@
{if !empty($article)}
<div id="article-generic" class="left"></div>
<script type="text/javascript">//<![CDATA[
Markup.printHtml("{$article}", "article-generic", {ldelim}mode:Markup.MODE_ARTICLE{rdelim});
//]]></script>
<div class="pad2"></div>
{/if}

View File

@@ -3,17 +3,18 @@
<div class="main" id="main"> <div class="main" id="main">
<div class="main-precontents" id="main-precontents"></div> <div class="main-precontents" id="main-precontents"></div>
<div class="main-contents" id="main-contents"> <div class="main-contents" id="main-contents">
{if !empty($announcements)} {if !empty($announcements)}
{foreach from=$announcements item=item} {foreach from=$announcements item=item}
{include file='bricks/announcement.tpl' an=$item} {include file='bricks/announcement.tpl' an=$item}
{/foreach} {/foreach}
{/if} {/if}
<script type="text/javascript"> <script type="text/javascript">//<![CDATA[
{include file='bricks/community.tpl'} {include file='bricks/community.tpl'}
var g_pageInfo = {ldelim}type: {$page.type}, typeId: {$page.typeId}, name: '{$lvData.page.name|escape:"quotes"}'{rdelim}; var g_pageInfo = {ldelim}type: {$page.type}, typeId: {$page.typeId}, name: '{$lvData.page.name|escape:"quotes"}'{rdelim};
g_initPath({$page.path}); g_initPath({$page.path});
</script> //]]></script>
{include file='bricks/infobox.tpl'} {include file='bricks/infobox.tpl'}
@@ -24,12 +25,7 @@
<a href="{if $lvData.page.id > 0}http://old.wowhead.com/?{$query[0]}={$query[1]}{else}javascript:;{/if}" class="button-red{if $lvData.page.id < 0} button-red-disabled{/if}"><em><b><i>Wowhead</i></b><span>Wowhead</span></em></a> <a href="{if $lvData.page.id > 0}http://old.wowhead.com/?{$query[0]}={$query[1]}{else}javascript:;{/if}" class="button-red{if $lvData.page.id < 0} button-red-disabled{/if}"><em><b><i>Wowhead</i></b><span>Wowhead</span></em></a>
<h1>{$lvData.page.name}</h1> <h1>{$lvData.page.name}</h1>
{if $lvData.article} {include file='bricks/article.tpl'}
<div id="article-generic" class="left"></div>
<script type="text/javascript">//<![CDATA[
Markup.printHtml("{$lvData.article}", "article-generic", {ldelim}mode:Markup.MODE_ARTICLE{rdelim});
//]]></script>
{/if}
{$lvData.page.description} {$lvData.page.description}
@@ -45,11 +41,11 @@
{/section} {/section}
</table> </table>
<script type="text/javascript"> <script type="text/javascript">//<![CDATA[
{section name=i loop=$lvData.pieces} {section name=i loop=$lvData.pieces}
ge('iconlist-icon{$smarty.section.i.index + 1}').appendChild(g_items.createIcon({$lvData.pieces[i].id}, 0, 0)); ge('iconlist-icon{$smarty.section.i.index + 1}').appendChild(g_items.createIcon({$lvData.pieces[i].id}, 0, 0));
{/section} {/section}
</script> //]]></script>
{if $lvData.page.unavailable} {if $lvData.page.unavailable}
<div class="pad"></div><b style="color: red">{$lang._unavailable}</b> <div class="pad"></div><b style="color: red">{$lang._unavailable}</b>
@@ -74,19 +70,19 @@
<h2 class="clear">{$lang.related}</h2> <h2 class="clear">{$lang.related}</h2>
</div> </div>
<div id="tabs-generic"></div> <div id="tabs-generic"></div>
<div id="listview-generic" class="listview"></div> <div id="listview-generic" class="listview"></div>
<script type="text/javascript">//<![CDATA[ <script type="text/javascript">//<![CDATA[
var tabsRelated = new Tabs({ldelim}parent: ge('tabs-generic'){rdelim}); var tabsRelated = new Tabs({ldelim}parent: ge('tabs-generic'){rdelim});
{if !empty($lvData.related)} {include file='bricks/listviews/itemset.tpl' data=$lvData.related.data params=$lvData.related.params} {/if} {if !empty($lvData.related)} {include file='bricks/listviews/itemset.tpl' data=$lvData.related.data params=$lvData.related.params} {/if}
new Listview({ldelim}template: 'comment', id: 'comments', name: LANG.tab_comments, tabs: tabsRelated, parent: 'listview-generic', data: lv_comments{rdelim}); new Listview({ldelim}template: 'comment', id: 'comments', name: LANG.tab_comments, tabs: tabsRelated, parent: 'listview-generic', data: lv_comments{rdelim});
new Listview({ldelim}template: 'screenshot', id: 'screenshots', name: LANG.tab_screenshots, tabs: tabsRelated, parent: 'listview-generic', data: lv_screenshots{rdelim}); new Listview({ldelim}template: 'screenshot', id: 'screenshots', name: LANG.tab_screenshots, tabs: tabsRelated, parent: 'listview-generic', data: lv_screenshots{rdelim});
if (lv_videos.length || (g_user && g_user.roles & (U_GROUP_ADMIN | U_GROUP_BUREAU | U_GROUP_VIDEO))) if (lv_videos.length || (g_user && g_user.roles & (U_GROUP_ADMIN | U_GROUP_BUREAU | U_GROUP_VIDEO)))
new Listview({ldelim}template: 'video', id: 'videos', name: LANG.tab_videos, tabs: tabsRelated, parent: 'listview-generic', data: lv_videos{rdelim}); new Listview({ldelim}template: 'video', id: 'videos', name: LANG.tab_videos, tabs: tabsRelated, parent: 'listview-generic', data: lv_videos{rdelim});
tabsRelated.flush(); tabsRelated.flush();
//]]></script> //]]></script>
{include file='bricks/contribute.tpl'} {include file='bricks/contribute.tpl'}
</div><!-- main-contents --> </div><!-- main-contents -->
</div><!-- main --> </div><!-- main -->

View File

@@ -1,19 +1,25 @@
{include file='header.tpl'} {include file='header.tpl'}
{assign var="iconlist1" value="1"} {assign var="iconlist1" value="1"}
{assign var="iconlist2" value="1"} {assign var="iconlist2" value="1"}
<div id="main"> <div id="main">
<div id="main-precontents"></div> <div id="main-precontents" class="main-precontents"></div>
<div id="main-contents" class="main-contents"> <div id="main-contents" class="main-contents">
<script type="text/javascript"> {if !empty($announcements)}
{foreach from=$announcements item=item}
{include file='bricks/announcement.tpl' an=$item}
{/foreach}
{/if}
<script type="text/javascript">
{include file='bricks/community.tpl'} {include file='bricks/community.tpl'}
var g_pageInfo = {ldelim}type: {$page.type}, typeId: {$page.typeId}, name: '{$lvData.page.name|escape:"javascript"}'{rdelim}; var g_pageInfo = {ldelim}type: {$page.type}, typeId: {$page.typeId}, name: '{$lvData.page.name|escape:"javascript"}'{rdelim};
g_initPath({$page.path}); g_initPath({$page.path});
</script> </script>
{include file='bricks/infobox.tpl'} {include file='bricks/infobox.tpl'}
</table> </table>
<div class="text"> <div class="text">
<a href="javascript:;" id="open-links-button" class="button-red" onclick="this.blur(); <a href="javascript:;" id="open-links-button" class="button-red" onclick="this.blur();
@@ -22,165 +28,168 @@
<a href="http://old.wowhead.com/?{$query[0]}={$query[1]}" class="button-red"><em><b><i>Wowhead</i></b><span>Wowhead</span></em></a> <a href="http://old.wowhead.com/?{$query[0]}={$query[1]}" class="button-red"><em><b><i>Wowhead</i></b><span>Wowhead</span></em></a>
<h1>{$lvData.page.name}</h1> <h1>{$lvData.page.name}</h1>
<div id="headicon-generic" style="float: left"></div> <div id="headicon-generic" style="float: left"></div>
<div id="tooltip{$lvData.page.id}-generic" class="tooltip" style="float: left; padding-top: 1px"> <div id="tooltip{$lvData.page.id}-generic" class="tooltip" style="float: left; padding-top: 1px">
<table><tr><td>{$lvData.page.info}</td><th style="background-position: top right"></th></tr><tr><th style="background-position: bottom left"></th><th style="background-position: bottom right"></th></tr></table> <table><tr><td>{$lvData.page.info}</td><th style="background-position: top right"></th></tr><tr><th style="background-position: bottom left"></th><th style="background-position: bottom right"></th></tr></table>
</div> </div>
<div style="clear: left"></div> <div style="clear: left"></div>
<script type="text/javascript"> <script type="text/javascript">
ge('headicon-generic').appendChild(Icon.create('{$lvData.page.icon}', 2, 0, 0, {$lvData.page.stack})); ge('headicon-generic').appendChild(Icon.create('{$lvData.page.icon}', 2, 0, 0, {$lvData.page.stack}));
Tooltip.fix(ge('tooltip{$lvData.page.id}-generic'), 1, 1); Tooltip.fix(ge('tooltip{$lvData.page.id}-generic'), 1, 1);
</script> </script>
{if !empty($lvData.page.buff)} {if !empty($lvData.page.buff)}
<h3>{$lang._aura}</h3> <h3>{$lang._aura}</h3>
<div id="btt{$lvData.page.id}" class="tooltip"> <div id="btt{$lvData.page.id}" class="tooltip">
<table><tr><td>{$lvData.page.buff}</td><th style="background-position: top right"></th></tr><tr><th style="background-position: bottom left"></th><th style="background-position: bottom right"></th></tr></table> <table><tr><td>{$lvData.page.buff}</td><th style="background-position: top right"></th></tr><tr><th style="background-position: bottom left"></th><th style="background-position: bottom right"></th></tr></table>
</div> </div>
<script type="text/javascript"> <script type="text/javascript">
Tooltip.fixSafe(ge('btt{$lvData.page.id}'), 1, 1) Tooltip.fixSafe(ge('btt{$lvData.page.id}'), 1, 1)
</script> </script>
{/if} {/if}
{if $lvData.page.reagents}{if $lvData.page.tools}<div style="float: left; margin-right: 75px">{/if} {if $lvData.page.reagents}{if $lvData.page.tools}<div style="float: left; margin-right: 75px">{/if}
<h3>{$lang.reagents}</h3> <h3>{$lang.reagents}</h3>
<table class="iconlist"> <table class="iconlist">
{section name=i loop=$lvData.page.reagents} {section name=i loop=$lvData.page.reagents}
<tr><th align="right" id="iconlist-icon{$iconlist1++}"></th><td><span class="q{$lvData.page.reagents[i].quality}"><a href="?item={$lvData.page.reagents[i].entry}">{$lvData.page.reagents[i].name}</a></span>{if $lvData.page.reagents[i].count > 1}&nbsp({$lvData.page.reagents[i].count}){/if}</td></tr> <tr><th align="right" id="iconlist-icon{$iconlist1++}"></th><td><span class="q{$lvData.page.reagents[i].quality}"><a href="?item={$lvData.page.reagents[i].entry}">{$lvData.page.reagents[i].name}</a></span>{if $lvData.page.reagents[i].count > 1}&nbsp({$lvData.page.reagents[i].count}){/if}</td></tr>
{/section} {/section}
</table>
<script type="text/javascript">
{section name=i loop=$lvData.page.reagents}
ge('iconlist-icon{$iconlist2++}').appendChild(g_items.createIcon({$lvData.page.reagents[i].entry}, 0, {$lvData.page.reagents[i].count}));
{/section}
</script>
{if $lvData.page.tools}</div>{/if}{/if}
{if $lvData.page.tools}{if $lvData.page.reagents}<div style="float: left">{/if}
<h3>{$lang.tools}</h3>
<table class="iconlist">
{section name=i loop=$lvData.page.tools}
<tr><th align="right" id="iconlist-icon{$iconlist1++}"></th><td><span class="q1"><a href="{$lvData.page.tools[i].url}">{$lvData.page.tools[i].name}</a></span></td></tr>
{/section}
</table>
<script type="text/javascript">
{section name=i loop=$lvData.page.tools}{if isset($lvData.page.tools[i].entry)}
ge('iconlist-icon{$iconlist2++}').appendChild(g_items.createIcon({$lvData.page.tools[i].entry}, 0, 1));
{/if}{/section}
</script>
{if $lvData.page.reagents}</div>{/if}{/if}
<div class="clear"></div>
<h3>{$lang._spellDetails}</h3>
<table class="grid" id="spelldetails">
<colgroup>
<col width="8%" />
<col width="42%" />
<col width="50%" />
</colgroup>
<tr>
<td colspan="2" style="padding: 0; border: 0; height: 1px"></td>
<td rowspan="6" style="padding: 0; border-left: 3px solid #404040">
<table class="grid" style="border: 0">
<tr>
<td style="height: 0; padding: 0; border: 0" colspan="2"></td>
</tr>
<tr>
<th style="border-left: 0; border-top: 0">{$lang.duration}</th>
<td width="100%" style="border-top: 0">{$lvData.page.duration}</td>
</tr>
<tr>
<th style="border-left: 0">{$lang.school}</th>
<td>{$lvData.page.school}</td>
</tr>
<tr>
<th style="border-left: 0">{$lang.mechanic}</th>
<td>{$lvData.page.mechanic}</td>
</tr>
<tr>
<th style="border-left: 0">{$lang.dispelType}</th>
<td>{$lvData.page.dispel}</td>
</tr>
<tr>
<th style="border-bottom: 0; border-left: 0">{$lang._gcdCategory}</th>
<td style="border-bottom: 0">{$lvData.page.gcdCat}</td>
</tr>
</table>
</td>
</tr>
<tr>
<th style="border-top: 0">{$lang._cost}</th>
<td style="border-top: 0">{if !empty($lvData.page.powerCost)}{$lvData.page.powerCost}{else}{$lang._none}{/if}</td>
</tr>
<tr>
<th>{$lang._range}</th>
<td>{$lvData.page.range} {$lang._distUnit} <small>({$lvData.page.rangeName})</small></td>
</tr>
<tr>
<th>{$lang._castTime}</th>
<td>{$lvData.page.castTime}</td>
</tr>
<tr>
<th>{$lang._cooldown}</th>
<td>{$lvData.page.cooldown}</td>
</tr>
<tr>
<th><dfn title="{$lang._globCD}">{$lang._gcd}</dfn></th>
<td>{$lvData.page.gcd}</td>
</tr>
{if $lvData.page.stances}
<tr>
<th>{$lang._forms}</th>
<td colspan="3">{$lvData.page.stances}</td>
</tr>
{/if}
{if $lvData.page.items}
<tr>
<th>{$lang.requires2}</th>
<td colspan="3">{$lvData.page.items}</td>
</tr>
{/if}
{section name=i loop=$lvData.page.effect}
<tr>
<th>{$lang._effect} #{$smarty.section.i.index+1}</th>
<td colspan="3" style="line-height: 17px">
{$lvData.page.effect[i].name}
<small>
{if isset($lvData.page.effect[i].value)}<br>{$lang._value}{$lang.colon}{$lvData.page.effect[i].value}{/if}
{if isset($lvData.page.effect[i].radius)}<br>{$lang._radius}{$lang.colon}{$lvData.page.effect[i].radius} {$lang._distUnit}{/if}
{if isset($lvData.page.effect[i].interval)}<br>{$lang._interval}{$lang.colon}{$lvData.page.effect[i].interval} {$lang.seconds}{/if}
</small>
{if isset($lvData.page.effect[i].icon)}
<table class="icontab">
<tr>
<th id="icontab-icon{$smarty.section.i.index}"></th>
{if isset($lvData.page.effect[i].icon.quality)}
<td><span class="q{$lvData.page.effect[i].icon.quality}"><a href="?item={$lvData.page.effect[i].icon.id}">{$lvData.page.effect[i].icon.name}</a></span></td>
{else}
<td><a href="?spell={$lvData.page.effect[i].icon.id}">{$lvData.page.effect[i].icon.name}</a></td>
{/if}
<th></th><td></td>
</tr>
</table> </table>
<script type="text/javascript"> <script type="text/javascript">
ge('icontab-icon{$smarty.section.i.index}').appendChild({if isset($lvData.page.effect[i].icon.quality)}g_items{else}g_spells{/if}.createIcon({$lvData.page.effect[i].icon.id}, 1, {$lvData.page.effect[i].icon.count})); {section name=i loop=$lvData.page.reagents}
</script> ge('iconlist-icon{$iconlist2++}').appendChild(g_items.createIcon({$lvData.page.reagents[i].entry}, 0, {$lvData.page.reagents[i].count}));
{/if}
</td>
</tr>
{/section} {/section}
</table> </script>
{if $lvData.page.tools}</div>{/if}{/if}
{if $lvData.page.tools}{if $lvData.page.reagents}<div style="float: left">{/if}
<h3>{$lang.tools}</h3>
<table class="iconlist">
{section name=i loop=$lvData.page.tools}
<tr><th align="right" id="iconlist-icon{$iconlist1++}"></th><td><span class="q1"><a href="{$lvData.page.tools[i].url}">{$lvData.page.tools[i].name}</a></span></td></tr>
{/section}
</table>
<script type="text/javascript">
{section name=i loop=$lvData.page.tools}{if isset($lvData.page.tools[i].entry)}
ge('iconlist-icon{$iconlist2++}').appendChild(g_items.createIcon({$lvData.page.tools[i].entry}, 0, 1));
{/if}{/section}
</script>
{if $lvData.page.reagents}</div>{/if}{/if}
<h2>{$lang.related}</h2> <div class="clear"></div>
</div> {include file='bricks/article.tpl'}
<div id="tabs-generic"></div> <h3>{$lang._spellDetails}</h3>
<div id="listview-generic" class="listview"></div>
<script type="text/javascript"> <table class="grid" id="spelldetails">
var tabsRelated = new Tabs({ldelim}parent: ge('tabs-generic'){rdelim}); <colgroup>
<col width="8%" />
<col width="42%" />
<col width="50%" />
</colgroup>
<tr>
<td colspan="2" style="padding: 0; border: 0; height: 1px"></td>
<td rowspan="6" style="padding: 0; border-left: 3px solid #404040">
<table class="grid" style="border: 0">
<tr>
<td style="height: 0; padding: 0; border: 0" colspan="2"></td>
</tr>
<tr>
<th style="border-left: 0; border-top: 0">{$lang.duration}</th>
<td width="100%" style="border-top: 0">{$lvData.page.duration}</td>
</tr>
<tr>
<th style="border-left: 0">{$lang.school}</th>
<td>{$lvData.page.school}</td>
</tr>
<tr>
<th style="border-left: 0">{$lang.mechanic}</th>
<td>{$lvData.page.mechanic}</td>
</tr>
<tr>
<th style="border-left: 0">{$lang.dispelType}</th>
<td>{$lvData.page.dispel}</td>
</tr>
<tr>
<th style="border-bottom: 0; border-left: 0">{$lang._gcdCategory}</th>
<td style="border-bottom: 0">{$lvData.page.gcdCat}</td>
</tr>
</table>
</td>
</tr>
<tr>
<th style="border-top: 0">{$lang._cost}</th>
<td style="border-top: 0">{if !empty($lvData.page.powerCost)}{$lvData.page.powerCost}{else}{$lang._none}{/if}</td>
</tr>
<tr>
<th>{$lang._range}</th>
<td>{$lvData.page.range} {$lang._distUnit} <small>({$lvData.page.rangeName})</small></td>
</tr>
<tr>
<th>{$lang._castTime}</th>
<td>{$lvData.page.castTime}</td>
</tr>
<tr>
<th>{$lang._cooldown}</th>
<td>{$lvData.page.cooldown}</td>
</tr>
<tr>
<th><dfn title="{$lang._globCD}">{$lang._gcd}</dfn></th>
<td>{$lvData.page.gcd}</td>
</tr>
{if $lvData.page.stances}
<tr>
<th>{$lang._forms}</th>
<td colspan="3">{$lvData.page.stances}</td>
</tr>
{/if}
{if $lvData.page.items}
<tr>
<th>{$lang.requires2}</th>
<td colspan="3">{$lvData.page.items}</td>
</tr>
{/if}
{section name=i loop=$lvData.page.effect}
<tr>
<th>{$lang._effect} #{$smarty.section.i.index+1}</th>
<td colspan="3" style="line-height: 17px">
{$lvData.page.effect[i].name}
<small>
{if isset($lvData.page.effect[i].value)}<br>{$lang._value}{$lang.colon}{$lvData.page.effect[i].value}{/if}
{if isset($lvData.page.effect[i].radius)}<br>{$lang._radius}{$lang.colon}{$lvData.page.effect[i].radius} {$lang._distUnit}{/if}
{if isset($lvData.page.effect[i].interval)}<br>{$lang._interval}{$lang.colon}{$lvData.page.effect[i].interval} {$lang.seconds}{/if}
</small>
{if isset($lvData.page.effect[i].icon)}
<table class="icontab">
<tr>
<th id="icontab-icon{$smarty.section.i.index}"></th>
{if isset($lvData.page.effect[i].icon.quality)}
<td><span class="q{$lvData.page.effect[i].icon.quality}"><a href="?item={$lvData.page.effect[i].icon.id}">{$lvData.page.effect[i].icon.name}</a></span></td>
{else}
<td><a href="?spell={$lvData.page.effect[i].icon.id}">{$lvData.page.effect[i].icon.name}</a></td>
{/if}
<th></th><td></td>
</tr>
</table>
<script type="text/javascript">
ge('icontab-icon{$smarty.section.i.index}').appendChild({if isset($lvData.page.effect[i].icon.quality)}g_items{else}g_spells{/if}.createIcon({$lvData.page.effect[i].icon.id}, 1, {$lvData.page.effect[i].icon.count}));
</script>
{/if}
</td>
</tr>
{/section}
</table>
<h2>{$lang.related}</h2>
</div>
<div id="tabs-generic"></div>
<div id="listview-generic" class="listview"></div>
<script type="text/javascript">//<![CDATA[
var tabsRelated = new Tabs({ldelim}parent: ge('tabs-generic'){rdelim});
{if isset($lvData.taughtbynpc)} {include file='bricks/listviews/creature.tpl' data=$lvData.taughtbynpc.data params=$lvData.taughtbynpc.params } {/if} {if isset($lvData.taughtbynpc)} {include file='bricks/listviews/creature.tpl' data=$lvData.taughtbynpc.data params=$lvData.taughtbynpc.params } {/if}
{if isset($lvData.taughtbyitem)} {include file='bricks/listviews/item.tpl' data=$lvData.taughtbyitem.data params=$lvData.taughtbyitem.params } {/if} {if isset($lvData.taughtbyitem)} {include file='bricks/listviews/item.tpl' data=$lvData.taughtbyitem.data params=$lvData.taughtbyitem.params } {/if}
{if isset($lvData.taughtbyquest)} {include file='bricks/listviews/quest.tpl' data=$lvData.taughtbyquest.data params=$lvData.taughtbyquest.params} {/if} {if isset($lvData.taughtbyquest)} {include file='bricks/listviews/quest.tpl' data=$lvData.taughtbyquest.data params=$lvData.taughtbyquest.params} {/if}
@@ -191,11 +200,16 @@
{if isset($lvData.contains)} {include file='bricks/listviews/item.tpl' data=$lvData.contains.data params=$lvData.contains.params } {/if} {if isset($lvData.contains)} {include file='bricks/listviews/item.tpl' data=$lvData.contains.data params=$lvData.contains.params } {/if}
{if isset($lvData.seealso)} {include file='bricks/listviews/spell.tpl' data=$lvData.seealso.data params=$lvData.seealso.params } {/if} {if isset($lvData.seealso)} {include file='bricks/listviews/spell.tpl' data=$lvData.seealso.data params=$lvData.seealso.params } {/if}
{if isset($lvData.criteria_of)} {include file='bricks/listviews/achievement.tpl' data=$lvData.criteria_of.data params=$lvData.criteria_of.params } {/if} {if isset($lvData.criteria_of)} {include file='bricks/listviews/achievement.tpl' data=$lvData.criteria_of.data params=$lvData.criteria_of.params } {/if}
new Listview({ldelim}template: 'comment', id: 'comments', name: LANG.tab_comments, tabs: tabsRelated, parent: 'listview-generic', data: lv_comments{rdelim}); new Listview({ldelim}template: 'comment', id: 'comments', name: LANG.tab_comments, tabs: tabsRelated, parent: 'listview-generic', data: lv_comments{rdelim});
tabsRelated.flush(); new Listview({ldelim}template: 'screenshot', id: 'screenshots', name: LANG.tab_screenshots, tabs: tabsRelated, parent: 'listview-generic', data: lv_screenshots{rdelim});
</script> if (lv_videos.length || (g_user && g_user.roles & (U_GROUP_ADMIN | U_GROUP_BUREAU | U_GROUP_VIDEO)))
{include file='bricks/contribute.tpl'} new Listview({ldelim}template: 'video', id: 'videos', name: LANG.tab_videos, tabs: tabsRelated, parent: 'listview-generic', data: lv_videos{rdelim});
</div> tabsRelated.flush();
</div> //]]></script>
{include file='bricks/contribute.tpl'}
</div><!-- main-contents -->
</div><!-- main -->
{include file='footer.tpl'} {include file='footer.tpl'}

View File

@@ -3,45 +3,47 @@
<div class="main" id="main"> <div class="main" id="main">
<div class="main-precontents" id="main-precontents"></div> <div class="main-precontents" id="main-precontents"></div>
<div class="main-contents" id="main-contents"> <div class="main-contents" id="main-contents">
{if !empty($announcements)} {if !empty($announcements)}
{foreach from=$announcements item=item} {foreach from=$announcements item=item}
{include file='bricks/announcement.tpl' an=$item} {include file='bricks/announcement.tpl' an=$item}
{/foreach} {/foreach}
{/if} {/if}
<script type="text/javascript"> <script type="text/javascript">//<![CDATA[
{include file='bricks/community.tpl'} {include file='bricks/community.tpl'}
var g_pageInfo = {ldelim}type: {$page.type}, typeId: {$page.typeId}, name: '{$lvData.page.name|escape:"quotes"}'{rdelim}; var g_pageInfo = {ldelim}type: {$page.type}, typeId: {$page.typeId}, name: '{$lvData.page.name|escape:"quotes"}'{rdelim};
g_initPath({$page.path}); g_initPath({$page.path});
</script> //]]></script>
{include file='bricks/infobox.tpl'} {include file='bricks/infobox.tpl'}
<div class="text"> <div class="text">
<a href="javascript:;" id="open-links-button" class="button-red" onclick="this.blur(); Links.show({ldelim} type: 11, typeId: {$lvData.page.id} {rdelim});"> <a href="javascript:;" id="open-links-button" class="button-red" onclick="this.blur(); Links.show({ldelim} type: 11, typeId: {$lvData.page.id} {rdelim});"><em><b><i>{$lang.links}</i></b><span>{$lang.links}</span></em></a>
<em><b><i>{$lang.links}</i></b><span>{$lang.links}</span></em>
</a>
<a href="http://old.wowhead.com/?{$query[0]}={$query[1]}" class="button-red"><em><b><i>Wowhead</i></b><span>Wowhead</span></em></a> <a href="http://old.wowhead.com/?{$query[0]}={$query[1]}" class="button-red"><em><b><i>Wowhead</i></b><span>Wowhead</span></em></a>
<h1 class="h1-icon">{if isset($lvData.page.expansion)}<span class="{$lvData.page.expansion}-icon-right">{$lvData.page.name}</span>{else}{$lvData.page.name}{/if}</h1> <h1 class="h1-icon">{if isset($lvData.page.expansion)}<span class="{$lvData.page.expansion}-icon-right">{$lvData.page.name}</span>{else}{$lvData.page.name}{/if}</h1>
{include file='bricks/article.tpl'}
<h2 class="clear">{$lang.related}</h2> <h2 class="clear">{$lang.related}</h2>
</div> </div>
<div id="tabs-generic"></div> <div id="tabs-generic"></div>
<div id="listview-generic" class="listview"></div> <div id="listview-generic" class="listview"></div>
<script type="text/javascript">//<![CDATA[ <script type="text/javascript">//<![CDATA[
var tabsRelated = new Tabs({ldelim}parent: ge('tabs-generic'){rdelim}); var tabsRelated = new Tabs({ldelim}parent: ge('tabs-generic'){rdelim});
{if isset($lvData.page.acvReward)} {include file='bricks/listviews/achievement.tpl' data=$lvData.page.acvReward params=$lvData.page.acvParams } {/if} {if isset($lvData.page.acvReward)} {include file='bricks/listviews/achievement.tpl' data=$lvData.page.acvReward params=$lvData.page.acvParams } {/if}
{if isset($lvData.page.questReward)} {include file='bricks/listviews/quest.tpl' data=$lvData.page.questReward params=$lvData.page.questParams} {/if} {if isset($lvData.page.questReward)} {include file='bricks/listviews/quest.tpl' data=$lvData.page.questReward params=$lvData.page.questParams} {/if}
new Listview({ldelim}template: 'comment', id: 'comments', name: LANG.tab_comments, tabs: tabsRelated, parent: 'listview-generic', data: lv_comments{rdelim}); new Listview({ldelim}template: 'comment', id: 'comments', name: LANG.tab_comments, tabs: tabsRelated, parent: 'listview-generic', data: lv_comments{rdelim});
new Listview({ldelim}template: 'screenshot', id: 'screenshots', name: LANG.tab_screenshots, tabs: tabsRelated, parent: 'listview-generic', data: lv_screenshots{rdelim}); new Listview({ldelim}template: 'screenshot', id: 'screenshots', name: LANG.tab_screenshots, tabs: tabsRelated, parent: 'listview-generic', data: lv_screenshots{rdelim});
if (lv_videos.length || (g_user && g_user.roles & (U_GROUP_ADMIN | U_GROUP_BUREAU | U_GROUP_VIDEO))) if (lv_videos.length || (g_user && g_user.roles & (U_GROUP_ADMIN | U_GROUP_BUREAU | U_GROUP_VIDEO)))
new Listview({ldelim}template: 'video', id: 'videos', name: LANG.tab_videos, tabs: tabsRelated, parent: 'listview-generic', data: lv_videos{rdelim}); new Listview({ldelim}template: 'video', id: 'videos', name: LANG.tab_videos, tabs: tabsRelated, parent: 'listview-generic', data: lv_videos{rdelim});
tabsRelated.flush(); tabsRelated.flush();
//]]></script> //]]></script>
{include file='bricks/contribute.tpl'} {include file='bricks/contribute.tpl'}
</div><!-- main-contents --> </div><!-- main-contents -->
</div><!-- main --> </div><!-- main -->
{include file='footer.tpl'} {include file='footer.tpl'}