ordered bricks somewhat

simple listview-pages now use one shared template (instead of having the same file multiple times)

some bug fixing here and there
 - achievement: faction is no longer out of range (need to reparse the faction :/)
 - item: quality is prepended to the name again and wont be left out in case of heirlooms (is 0)
 - general: forgot to change some error()-calls in index
 - and some more wich i forgot..
This commit is contained in:
Sarjuuk
2013-03-23 12:56:51 +01:00
parent 041aea1a85
commit 58316679bf
46 changed files with 305 additions and 306 deletions

View File

@@ -88,7 +88,7 @@ class AchievementList extends BaseType
'name' => Util::localizedString($this->curTpl, 'name'),
'description' => Util::localizedString($this->curTpl, 'description'),
'points' => $this->curTpl['points'],
'faction' => $this->curTpl['faction'] + 1,
'faction' => $this->curTpl['faction'],
'category' => $this->curTpl['category'],
'parentCat' => $this->curTpl['parentCat'],
);

View File

@@ -40,7 +40,7 @@ class CharClassList extends BaseType
$refs['gClasses'] = [];
while ($this->iterate())
$refs['gClasses'][$this->id] = Util::jsEscape($this->names[$this->id]);
$refs['gClasses'][$this->id] = ['name' => $this->names[$this->id]];
}
public function addRewardsToJScript(&$ref) { }

View File

@@ -35,8 +35,8 @@ class CurrencyList extends BaseType
while ($this->iterate())
{
$refs['gCurrencies'][$this->id] = array(
'name_'.User::$localeString => Util::jsEscape($this->names[$this->id]),
'icon' => $this->curTpl['iconString']
'name' => $this->names[$this->id],
'icon' => $this->curTpl['iconString']
);
}

View File

@@ -96,6 +96,10 @@ class ItemList extends BaseType
$data[$this->id] = $this->json[$this->id];
// json vs listview quirk
$data[$this->id]['name'] = $data[$this->id]['quality'].$data[$this->id]['name'];
unset($data[$this->id]['quality']);
if (isset($this->itemMods[$this->id])) // due to ITEMINFO_JSON
foreach ($this->itemMods[$this->id] as $k => $v)
$data[$this->id][Util::$itemMods[$k]] = $v;
@@ -499,7 +503,7 @@ class ItemList extends BaseType
// required skill
if ($this->curTpl['RequiredSkill'])
{
$skillText = DB::Aowow()->selectRow('SELECT * FROM ?_skill WHERE skillID = ?d', $this->curTpl['RequiredSkill']);
$skillText = DB::Aowow()->selectRow('SELECT * FROM ?_skill WHERE skillId = ?d', $this->curTpl['RequiredSkill']);
$x .= '<br />'.Lang::$game['requires'].' <a class="q1" href="?skill='.$this->curTpl['RequiredSkill'].'">'.Util::localizedString($skillText, 'name').'</a>';
if ($this->curTpl['RequiredSkillRank'])
$x .= ' ('.$this->curTpl['RequiredSkillRank'].')';
@@ -595,10 +599,10 @@ class ItemList extends BaseType
$xSet = '<br /><span class="q"><a href="?itemset='.$itemset['id'].'" class="q">'.Util::localizedString($itemset, 'name').'</a> (0/'.$num.')</span>';
if ($itemset['skillID']) // bonus requires skill to activate
if ($itemset['skillId']) // bonus requires skill to activate
{
$name = DB::Aowow()->selectRow('SELECT * FROM ?_skill WHERE skillID=?d', $itemset['skillID']);
$xSet .= '<br />'.Lang::$game['requires'].' <a href="?skills='.$itemset['skillID'].'" class="q1">'.Util::localizedString($name, 'name').'</a>';
$name = DB::Aowow()->selectRow('SELECT * FROM ?_skill WHERE skillId=?d', $itemset['skillId']);
$xSet .= '<br />'.Lang::$game['requires'].' <a href="?skills='.$itemset['skillId'].'" class="q1">'.Util::localizedString($name, 'name').'</a>';
if ($itemset['skillLevel'])
$xSet .= ' ('.$itemset['skillLevel'].')';
@@ -881,7 +885,7 @@ class ItemList extends BaseType
}
foreach ($this->json[$this->id] as $k => $v)
if (!isset($v) || $v === "false" || (!in_array($k, ['classs', 'subclass']) && $v == "0"))
if (!isset($v) || $v === "false" || (!in_array($k, ['classs', 'subclass', 'quality']) && $v == "0"))
unset($this->json[$this->id][$k]);
}
@@ -1058,7 +1062,7 @@ class ItemList extends BaseType
// clear zero-values afterwards
foreach ($json as $k => $v)
if (!isset($v) || $v === "false" || (!in_array($k, ['classs', 'subclass']) && $v == "0"))
if (!isset($v) || $v === "false" || (!in_array($k, ['classs', 'subclass', 'quality']) && $v == "0"))
unset($json[$k]);
$this->json[$json['id']] = $json;

View File

@@ -60,7 +60,7 @@ switch ($pageCall)
if (file_exists('pages/'.$pageCall.'.php'))
require 'pages/'.$pageCall.'.php';
else
require 'pages/error.php';
$smarty->error();
break;
case 'talent': // tool: talent calculator
case 'petcalc': // tool: pet talent calculator
@@ -123,7 +123,7 @@ switch ($pageCall)
if (isset($_GET['power']))
die('$WowheadPower.register(0, '.User::$localeId.', {})');
else // in conjunction with a propper rewriteRule in .htaccess...
require 'pages/error.php';
$smarty->error();
break;
}

View File

@@ -53,13 +53,11 @@ if (isset($_GET['power']))
// regular page
if (!$smarty->loadCache($cacheKeyPage, $pageData))
{
if ($acv->error)
$smarty->notFound(Lang::$achievement['achievement']);
$pageData['path'] = [];
$pageData['title'] = [ucfirst(Lang::$achievement['achievement'])];
$acv->renderTooltip();
// create page title and path
$curCat = $acv->getField('category');
@@ -75,8 +73,8 @@ if (!$smarty->loadCache($cacheKeyPage, $pageData))
array_unshift($pageData['title'], $acv->names[$id]);
$acv->addRewardsToJscript($pageData);
$pageData['page'] = $acv->getDetailedData();
$pageData['page'] = $acv->getDetailedData()[$id];
$acv->reset();
// infobox content
switch ($acv->getField('faction'))
{
@@ -132,7 +130,7 @@ if (!$smarty->loadCache($cacheKeyPage, $pageData))
// create rewards
$pageData['page']['titleReward'] = [];
$pageData['page']['itemReward'] = [];
$acv->addRewardsToJscript($pageData);
foreach ($pageData['page']['titleReward'] as $k => $v)
$pageData['page']['titleReward'][$k] = sprintf(Lang::$achievement['titleReward'], $k, trim(str_replace('%s', '', $v['name'])));
@@ -368,6 +366,7 @@ if (!$smarty->loadCache($cacheKeyPage, $pageData))
$smarty->saveCache($cacheKeyPage, $pageData);
}
$vars = array(
'title' => implode(" - ", $pageData['title']),
'path' => "[".implode(", ", $pageData['path'])."]",// menuId 9: Achievement (g_initPath)
@@ -379,12 +378,8 @@ $vars = array(
$smarty->updatePageVars($vars);
$smarty->assign('community', CommunityContent::getAll(TYPE_ACHIEVEMENT, $id)); // comments, screenshots, videos
$smarty->assign('lang', array_merge(Lang::$main, Lang::$game, Lang::$achievement));
$smarty->assign('data', $pageData);
// Mysql query execution statistics
$smarty->assign('lvData', $pageData);
$smarty->assign('mysql', DB::Aowow()->getStatistics());
// load the page
$smarty->display('achievement.tpl');
?>

View File

@@ -83,7 +83,7 @@ $page = array(
$smarty->updatePageVars($page);
$smarty->assign('data', $pageData);
$smarty->assign('lvData', $pageData);
$smarty->assign('lang', array_merge(Lang::$main, Lang::$compare));
$smarty->assign('mysql', DB::Aowow()->getStatistics());
$smarty->display('compare.tpl');

View File

@@ -42,27 +42,28 @@ if (!$smarty->loadCache($cacheKey, $pageData))
$events = new WorldEventList($condition);
$events->addGlobalsToJScript($pageData);
$deps = [];
while ($events->iterate())
if ($d = $events->getField('requires'))
$deps[$events->id] = $d;
$pageData = array(
'page' => $events->getListviewData(),
'file' => 'event',
'data' => $events->getListviewData(),
'deps' => $deps,
'calendar' => false, // todo: fix it Felix!
'params' => array(
'tabs' => '$myTabs'
)
);
$events->addGlobalsToJScript($pageData);
$smarty->saveCache($cacheKey, $pageData);
}
// recalculate dates with now(); can't be cached, obviously
foreach ($pageData['page'] as &$data)
foreach ($pageData['data'] as &$data)
{
// is a followUp-event
if (!empty($pageData['deps'][$data['id']]))
@@ -86,7 +87,7 @@ $page = array(
$smarty->updatePageVars($page);
$smarty->assign('lang', Lang::$main);
$smarty->assign('mysql', DB::Aowow()->getStatistics());
$smarty->assign('data', $pageData);
$smarty->display('events.tpl');
$smarty->assign('lvData', $pageData);
$smarty->display('generic-no-filter.tpl');
?>

View File

@@ -608,7 +608,7 @@ $smarty->updatePageVars(array(
// comments, screenshots, videos
// $smarty->assign('community', CommunityContent::getAll(9, $id));
$smarty->assign('lang', array_merge(Lang::$main, Lang::$spell));
$smarty->assign('data', $pageData);
$smarty->assign('lvData', $pageData);
$smarty->assign('spell', $spell);
// Mysql query execution statistics

View File

@@ -17,9 +17,11 @@ if (!$smarty->loadCache($cacheKeyPage, $pageData))
$smarty->notFound(Lang::$game['title']);
$title->addGlobalsToJscript($pageData);
$title->reset();
$infobox = [];
$colon = User::$localeId == LOCALE_FR ? ' : ' : ': '; // Je suis un prick! <_<
if ($title->getField('side') == 1)
$infobox[] = Lang::$main['side'].$colon.'[span class=alliance-icon]'.Lang::$game['alliance'].'[/span]';
else if ($title->getField('side') == 2)
@@ -33,7 +35,6 @@ if (!$smarty->loadCache($cacheKeyPage, $pageData))
if ($e = $title->getField('eventId'))
$infobox[] = Lang::$game['eventShort'].$colon.'[url=?event='.$e.']'.WorldEvent::getName($e).'[/url]';
$title->reset();
$pageData = array(
'page' => array(
'name' => $title->getHtmlizedName(),
@@ -43,40 +44,43 @@ if (!$smarty->loadCache($cacheKeyPage, $pageData))
'infobox' => '[li][ul]'.implode('[/ul][ul]', $infobox).'[/ul][/li]',
);
foreach ($title->sources[$id] as $type => $entries)
if (!empty($title->sources[$id]))
{
// todo: hidden-/visibleCols by actual use
switch ($type)
foreach ($title->sources[$id] as $type => $entries)
{
case 4:
$quests = new QuestList(array(['id', $entries]));
$quests->addRewardsToJscript($pageData);
switch ($type)
{
case 4:
$quests = new QuestList(array(['id', $entries]));
$quests->addRewardsToJscript($pageData);
$pageData['page']['questReward'] = $quests->getListviewData();
$pageData['page']['questParams'] = array(
'id' => 'reward-from-quest',
'name' => '$LANG.tab_rewardfrom',
'hiddenCols' => "$['side']",
'visibleCols' => "$['category']"
);
break;
case 12:
$acvs = new AchievementList(array(['id', $entries]));
$acvs->addGlobalsToJscript($pageData);
$acvs->addRewardsToJscript($pageData);
$pageData['page']['questReward'] = $quests->getListviewData();
$pageData['page']['questParams'] = array(
'id' => 'reward-from-quest',
'name' => '$LANG.tab_rewardfrom',
'hiddenCols' => "$['side']",
'visibleCols' => "$['category']"
);
break;
case 12:
$acvs = new AchievementList(array(['id', $entries]));
$acvs->addGlobalsToJscript($pageData);
$acvs->addRewardsToJscript($pageData);
$pageData['page']['acvReward'] = $acvs->getListviewData();
$pageData['page']['acvParams'] = array(
'id' => 'reward-from-achievement',
'name' => '$LANG.tab_rewardfrom',
'visibleCols' => "$['category']",
'sort' => "$['reqlevel', 'name']"
);
break;
// case 13:
// not displayed
$pageData['page']['acvReward'] = $acvs->getListviewData();
$pageData['page']['acvParams'] = array(
'id' => 'reward-from-achievement',
'name' => '$LANG.tab_rewardfrom',
'visibleCols' => "$['category']",
'sort' => "$['reqlevel', 'name']"
);
break;
// case 13:
// not displayed
}
}
}
$pageData['title'] = ucFirst(trim(str_replace('%s', '', str_replace(',', '', $title->names[$title->id][0]))));
$pageData['path'] = '[0, 10, '.$title->getField('category').']';
@@ -94,7 +98,7 @@ $smarty->updatePageVars(array(
$smarty->assign('community', CommunityContent::getAll(TYPE_TITLE, $id)); // comments, screenshots, videos
$smarty->assign('lang', array_merge(Lang::$main));
$smarty->assign('data', $pageData);
$smarty->assign('lvData', $pageData);
$smarty->assign('mysql', DB::Aowow()->getStatistics());
$smarty->display('title.tpl');

View File

@@ -21,12 +21,11 @@ if (isset($cat))
if (!$smarty->loadCache($cacheKey, $pageData))
{
$titles = new TitleList(isset($cat) ? array(['category', (int)$cat]) : []);
$listview = $titles->getListviewData();
$pageData = array(
'page' => $listview,
'file' => 'title',
'data' => $titles->getListviewData(),
'params' => array(
'parent' => false,
'tabs' => false
)
);
@@ -49,8 +48,8 @@ $page = array(
$smarty->updatePageVars($page);
$smarty->assign('lang', Lang::$main);
$smarty->assign('data', $pageData);
$smarty->assign('lvData', $pageData);
$smarty->assign('mysql', DB::Aowow()->getStatistics());
$smarty->display('titles.tpl');
$smarty->display('generic-no-filter.tpl');
?>

View File

@@ -519,7 +519,7 @@ else /* if ($searchMask & SEARCH_TYPE_REGULAR) */
$smarty->updatePageVars($vars);
$smarty->assign('lang', array_merge(Lang::$main, Lang::$search));
$smarty->assign('found', $found);
$smarty->assign('data', $jsGlobals);
$smarty->assign('lvData', $jsGlobals);
$smarty->assign('search', $search);
$smarty->assign('mysql', DB::Aowow()->getStatistics());
$smarty->assign('util', new Util); // just for debugging / optimizing

View File

@@ -1,6 +0,0 @@
var _ = g_achievements;
{strip}
{foreach from=$data key=id item=item}
_[{$id}]={ldelim}icon:'{$item.icon|escape:"javascript"}',name_{$user.language}:'{$item.name|escape:"javascript"}'{rdelim};
{/foreach}
{/strip}

View File

@@ -1,6 +0,0 @@
var _ = g_classes;
{strip}
{foreach from=$data key=id item=item}
_[{$id}]={ldelim}name_{$user.language}:'{$item|escape:"javascript"}'{rdelim};
{/foreach}
{/strip}

View File

@@ -1,8 +0,0 @@
{strip}
var _ = g_gatheredcurrencies;
{foreach from=$data key=id item=item}
_[{$id}]={ldelim}icon:'{$item.icon|escape:"javascript"}',name_{$user.language}:'{$item.name|escape:"javascript"}'{rdelim};
{/foreach}
{/strip}

View File

@@ -1,10 +0,0 @@
var _ = g_items;
{strip}
{foreach from=$data key=id item=item}
_[{$id}]={ldelim}
icon:'{$item.icon|escape:"javascript"}',
name_{$user.language}:'{$item.name|escape:"javascript"}'
{if isset($item.quality)}, quality:'{$item.quality}'{/if}
{rdelim};
{/foreach}
{/strip}

View File

@@ -1,6 +0,0 @@
var _ = g_races;
{strip}
{foreach from=$data key=id item=item}
_[{$id}]={ldelim}name_{$user.language}:'{$item.name|escape:"javascript"}'{rdelim};
{/foreach}
{/strip}

View File

@@ -1,37 +0,0 @@
{strip}
new Listview({ldelim}
template:'classs',
{if !isset($params.id)}id:'classes',{/if}
{if !isset($params.tabs)}tabs:'listview-generic',{/if}
{if !isset($params.name)}name:LANG.tab_classes,{/if}
{if !isset($params.parent)}parent:'listview-generic',{/if}
{if isset($params.note)}_truncated: 1,{/if}
{foreach from=$params key=k item=v}
{if $v[0] == '$'}
{$k}:{$v|substr:1},
{else if $v}
{$k}:'{$v}',
{/if}
{/foreach}
data:[
{foreach name=i from=$data item=curr}
{ldelim}
id:{$curr.id},
name:'{$curr.name|escape:"javascript"}',
races:{$curr.races},
roles:{$curr.roles},
power:{$curr.power},
weapon:{$curr.weapon},
armor:{$curr.armor}
{if isset($curr.hero)}
,hero:1
{/if}
{if isset($curr.expansion)}
,expansion:{$curr.expansion}
{/if}
{rdelim}
{if $smarty.foreach.i.last}{else},{/if}
{/foreach}
]
{rdelim});
{/strip}

View File

@@ -0,0 +1,9 @@
var _ = g_achievements;
{strip}
{foreach from=$data key=id item=item}
_[{$id}]={ldelim}
name_{$user.language}:'{$item.name|escape:"javascript"}',
icon:'{$item.icon|escape:"javascript"}'
{rdelim};
{/foreach}
{/strip}

View File

@@ -0,0 +1,8 @@
var _ = g_classes;
{strip}
{foreach from=$data key=id item=item}
_[{$id}]={ldelim}
name_{$user.language}:'{$item.name|escape:"javascript"}'
{rdelim};
{/foreach}
{/strip}

View File

@@ -0,0 +1,9 @@
var _ = g_gatheredcurrencies;
{strip}
{foreach from=$data key=id item=item}
_[{$id}]={ldelim}
name_{$user.language}:'{$item.name|escape:"javascript"}',
icon:'{$item.icon|escape:"javascript"}'
{rdelim};
{/foreach}
{/strip}

View File

@@ -0,0 +1,10 @@
var _ = g_items;
{strip}
{foreach from=$data key=id item=item}
_[{$id}]={ldelim}
name_{$user.language}:'{$item.name|escape:"javascript"}',
icon:'{$item.icon|escape:"javascript"}'
{if isset($item.quality)}, quality:'{$item.quality}'{/if}
{rdelim};
{/foreach}
{/strip}

View File

@@ -0,0 +1,8 @@
var _ = g_races;
{strip}
{foreach from=$data key=id item=item}
_[{$id}]={ldelim}
name_{$user.language}:'{$item.name|escape:"javascript"}'
{rdelim};
{/foreach}
{/strip}

View File

@@ -0,0 +1,9 @@
var _ = g_spells;
{strip}
{foreach from=$data key=id item=item}
_[{$id}]={ldelim}
name_{$user.language}:'{$item.name|escape:"javascript"}',
icon:'{$item.icon|escape:"javascript"}'
{rdelim};
{/foreach}
{/strip}

View File

@@ -9,5 +9,5 @@
<script type="text/javascript">ss_appendSticky()</script>
<script type="text/javascript">vi_appendSticky()</script>
<script type="text/javascript">
Markup.printHtml("{$data.infobox}", "infobox-contents0", {ldelim}mode:Markup.MODE_QUICKFACTS{rdelim});
Markup.printHtml("{$lvData.infobox}", "infobox-contents0", {ldelim}mode:Markup.MODE_QUICKFACTS{rdelim});
</script>

View File

@@ -1,33 +0,0 @@
{strip}
new Listview({ldelim}
template:'itemset',
{if !isset($params.id)}id:'itemsets',{/if}
{if !isset($params.tabs)}tabs:'listview-generic',{/if}
{if !isset($params.name)}name:LANG.tab_itemsets,{/if}
{if !isset($params.parent)}parent:'listview-generic',{/if}
{if isset($params.note)}_truncated: 1,{/if}
{foreach from=$params key=k item=v}
{if $v[0] == '$'}
{$k}:{$v|substr:1},
{else if $v}
{$k}:'{$v}',
{/if}
{/foreach}
data:[
{foreach name=i from=$data item=curr}
{ldelim}
name:'{$curr.quality}{$curr.name|escape:"quotes"}',
{if $curr.minlevel}minlevel:{$curr.minlevel},{/if}
{if $curr.maxlevel}maxlevel:{$curr.maxlevel},{/if}
{if $curr.classes}classes:[{section name=j loop=$curr.classes}{$curr.classes[j]}{if $smarty.section.j.last}{else},{/if}{/section}],{/if}
{if $curr.reqclass}reqclass:{$curr.reqclass},{/if}
{if $curr.note}note:{$curr.note},{/if}
{if $curr.pieces}pieces:[{section name=j loop=$curr.pieces}{$curr.pieces[j]}{if $smarty.section.j.last}{else},{/if}{/section}],{/if}
{if isset($curr.type)}type:{$curr.type},{/if}
id:{$curr.id}
{rdelim}
{if $smarty.foreach.i.last}{else},{/if}
{/foreach}
]
{rdelim});
{/strip}

View File

@@ -0,0 +1,37 @@
{strip}
new Listview({ldelim}
template:'classs',
{if !isset($params.id)}id:'classes',{/if}
{if !isset($params.tabs)}tabs:'listview-generic',{/if}
{if !isset($params.name)}name:LANG.tab_classes,{/if}
{if !isset($params.parent)}parent:'listview-generic',{/if}
{if isset($params.note)}_truncated: 1,{/if}
{foreach from=$params key=k item=v}
{if $v[0] == '$'}
{$k}:{$v|substr:1},
{else if $v}
{$k}:'{$v}',
{/if}
{/foreach}
data:[
{foreach name=i from=$data item=curr}
{ldelim}
id:{$curr.id},
name:'{$curr.name|escape:"javascript"}',
races:{$curr.races},
roles:{$curr.roles},
power:{$curr.power},
weapon:{$curr.weapon},
armor:{$curr.armor}
{if isset($curr.hero)}
,hero:1
{/if}
{if isset($curr.expansion)}
,expansion:{$curr.expansion}
{/if}
{rdelim}
{if $smarty.foreach.i.last}{else},{/if}
{/foreach}
]
{rdelim});
{/strip}

View File

@@ -16,7 +16,7 @@
data:[
{foreach name=i from=$data item=curr}
{ldelim}
name:'{$curr.quality}{$curr.name|escape:"quotes"}',
name:'{$curr.name|escape:"quotes"}',
{if isset($curr.level)}
level:{$curr.level},
{/if}
@@ -83,35 +83,35 @@
{* 4.3 loot-example
template: 'item',
id: 'drops',
name: LANG.tab_drops,
tabs: tabsRelated,
parent: 'lkljbjkb574',
extraCols: [Listview.extraCols.count, Listview.extraCols.percent],
sort:['-percent', 'name'],
_totalCount: 448092, /* total # creature killed/looted */
computeDataFunc: Listview.funcBox.initLootTable,
onAfterCreate: Listview.funcBox.addModeIndicator,
data: [
{
"classs":15, /* Tab Type */
"commondrop":true, /* loot filtered as "not noteworthy" */
"id":25445,
"level":1,
"name":"7Wretched Ichor",
"slot":0,
"source":[2], /* 1: crafted; 2:zonedrop; 3:pvp; 4:quest; 5: Vendors; 6:Trainer; 7:Discovery; 8:Redemption; 9: Talent; 10:Starter; 11: Event; 12:Achievement; */
"sourcemore":[{"z":3520}], /* z: zone... */
"subclass":0, /* Tab:Type */
modes:{
"mode":4, /* &1: heroic; &4: noteworthy(?); &8: reg10; &16: reg25; &32: hc10; &64: hc25; &128: RaidFinder */
"4":{"count":363318,"outof":448092} /* calculate pct chance */
},
count:363318,
stack:[1,1], /* [min, max] */
pctstack:'{1: 50.0123,2: 49.9877}' /* {dropCount: relChanceForThisStack} */
template: 'item',
id: 'drops',
name: LANG.tab_drops,
tabs: tabsRelated,
parent: 'lkljbjkb574',
extraCols: [Listview.extraCols.count, Listview.extraCols.percent],
sort:['-percent', 'name'],
_totalCount: 448092, /* total # creature killed/looted */
computeDataFunc: Listview.funcBox.initLootTable,
onAfterCreate: Listview.funcBox.addModeIndicator,
data: [
{
"classs":15, /* Tab Type */
"commondrop":true, /* loot filtered as "not noteworthy" */
"id":25445,
"level":1,
"name":"7Wretched Ichor",
"slot":0,
"source":[2], /* 1: crafted; 2:zonedrop; 3:pvp; 4:quest; 5: Vendors; 6:Trainer; 7:Discovery; 8:Redemption; 9: Talent; 10:Starter; 11: Event; 12:Achievement; */
"sourcemore":[{"z":3520}], /* z: zone... */
"subclass":0, /* Tab:Type */
modes:{
"mode":4, /* &1: heroic; &4: noteworthy(?); &8: reg10; &16: reg25; &32: hc10; &64: hc25; &128: RaidFinder */
"4":{"count":363318,"outof":448092} /* calculate pct chance */
},
count:363318,
stack:[1,1], /* [min, max] */
pctstack:'{1: 50.0123,2: 49.9877}' /* {dropCount: relChanceForThisStack} */
}
]
]
});
*}

View File

@@ -0,0 +1,34 @@
{strip}
new Listview({ldelim}
template:'itemset',
{if !isset($params.id)}id:'itemsets',{/if}
{if !isset($params.tabs)}tabs:'listview-generic',{/if}
{if !isset($params.name)}name:LANG.tab_itemsets,{/if}
{if !isset($params.parent)}parent:'listview-generic',{/if}
{if isset($params.note)}_truncated: 1,{/if}
{foreach from=$params key=k item=v}
{if $v[0] == '$'}
{$k}:{$v|substr:1},
{else if $v}
{$k}:'{$v}',
{/if}
{/foreach}
data:[
{foreach name=i from=$data item=curr}
{ldelim}
name:'{$curr.quality}{$curr.name|escape:"quotes"}',
{if $curr.minlevel}minlevel:{$curr.minlevel},{/if}
{if $curr.maxlevel}maxlevel:{$curr.maxlevel},{/if}
{if $curr.classes}classes:[{section name=j loop=$curr.classes}{$curr.classes[j]}{if $smarty.section.j.last}{else},{/if}{/section}],{/if}
{if $curr.reqclass}reqclass:{$curr.reqclass},{/if}
{if $curr.note}note:{$curr.note},{/if}
{if $curr.pieces}pieces:[{section name=j loop=$curr.pieces}{$curr.pieces[j]}{if $smarty.section.j.last}{else},{/if}{/section}],{/if}
{if isset($curr.type)}type:{$curr.type},{/if}
heroic:{if isset($curr.heroic) && $curr.heroic == 1}true{else}false{/if},
id:{$curr.id}
{rdelim}
{if $smarty.foreach.i.last}{else},{/if}
{/foreach}
]
{rdelim});
{/strip}

View File

@@ -0,0 +1,34 @@
{strip}
new Listview({ldelim}
template:'race',
{if !isset($params.id)}id:'races',{/if}
{if !isset($params.tabs)}tabs:'listview-generic',{/if}
{if !isset($params.name)}name:LANG.tab_races,{/if}
{if !isset($params.parent)}parent:'listview-generic',{/if}
{if isset($params.note)}_truncated: 1,{/if}
{foreach from=$params key=k item=v}
{if $v[0] == '$'}
{$k}:{$v|substr:1},
{else if $v}
{$k}:'{$v}',
{/if}
{/foreach}
data:[
{foreach name=i from=$data item=curr}
{ldelim}
id:{$curr.id},
name:'{$curr.name|escape:"javascript"}',
classes:{$curr.classes},
faction:{$curr.faction},
leader:{$curr.leader},
zone:{$curr.zone},
side:{$curr.side}
{if isset($curr.expansion)}
,expansion:{$curr.expansion}
{/if}
{rdelim}
{if $smarty.foreach.i.last}{else},{/if}
{/foreach}
]
{rdelim});
{/strip}

View File

@@ -1,34 +0,0 @@
{strip}
new Listview({ldelim}
template:'race',
{if !isset($params.id)}id:'races',{/if}
{if !isset($params.tabs)}tabs:'listview-generic',{/if}
{if !isset($params.name)}name:LANG.tab_races,{/if}
{if !isset($params.parent)}parent:'listview-generic',{/if}
{if isset($params.note)}_truncated: 1,{/if}
{foreach from=$params key=k item=v}
{if $v[0] == '$'}
{$k}:{$v|substr:1},
{else if $v}
{$k}:'{$v}',
{/if}
{/foreach}
data:[
{foreach name=i from=$data item=curr}
{ldelim}
id:{$curr.id},
name:'{$curr.name|escape:"javascript"}',
classes:{$curr.classes},
faction:{$curr.faction},
leader:{$curr.leader},
zone:{$curr.zone},
side:{$curr.side}
{if isset($curr.expansion)}
,expansion:{$curr.expansion}
{/if}
{rdelim}
{if $smarty.foreach.i.last}{else},{/if}
{/foreach}
]
{rdelim});
{/strip}

View File

@@ -13,10 +13,10 @@
<div class="text">
<div id="compare-generic"></div>
<script type="text/javascript">//<![CDATA[
{foreach name=cmpItems from=$data.items item=curr}
{foreach name=cmpItems from=$lvData.items item=curr}
g_items.add({$curr[0]}, {ldelim}name_{$user.language}:'{$curr[1]}', quality:{$curr[2]}, icon:'{$curr[3]}', jsonequip:{$curr[4]}{rdelim});
{/foreach}
new Summary({ldelim}template:'compare',id:'compare',parent:'compare-generic',groups:{$data.summary}{rdelim});
new Summary({ldelim}template:'compare',id:'compare',parent:'compare-generic',groups:{$lvData.summary}{rdelim});
//]]></script>
</div>
<div class="clear"></div>

View File

@@ -1,29 +0,0 @@
{include file='header.tpl'}
<div id="main">
<div id="main-precontents"></div>
<div id="main-contents" class="main-contents">
{if !empty($announcements)}
{foreach from=$announcements item=item}
{include file='bricks/announcement.tpl' an=$item}
{/foreach}
{/if}
<script type="text/javascript">
g_initPath({$page.path});
</script>
<div id="tabs-generic"></div>
<div id="listview-generic" class="listview"></div>
<script type="text/javascript">
var myTabs = new Tabs({ldelim}parent: ge('tabs-generic'){rdelim});
{include file='bricks/event_table.tpl' data=$data.page params=$data.params}
{* include file='bricks/calendar_table.tpl' data=$data.page params=$data.params *}
myTabs.flush();
</script>
<div class="clear"></div>
</div>
</div>
{include file='footer.tpl'}

View File

@@ -1,20 +1,27 @@
{include file='header.tpl'}
{assign var="file" value=$lvData.file}
<div id="main">
<div id="main-precontents"></div>
<div id="main-contents" class="main-contents">
{if !empty($announcements)}
{foreach from=$announcements item=item}
{include file='bricks/announcement.tpl' an=$item}
{/foreach}
{/if}
<script type="text/javascript">
g_initPath({$page.path});
</script>
<div id="lv-titles" class="listview"></div>
<div id="tabs-generic"></div>
<div id="listview-generic" class="listview"></div>
<script type="text/javascript">
{include file='bricks/title_table.tpl' data=$data.page params=$data.params}
var myTabs = new Tabs({ldelim}parent: $WH.ge('tabs-generic'){rdelim});
{include file="bricks/listviews/$file.tpl" data=$lvData.data params=$lvData.params}
{if !empty($lvData.calendar)}{include file='bricks/listviews/calendar.tpl' data=$lvData.data params=$lvData.params}{/if}
myTabs.flush();
</script>
<div class="clear"></div>

View File

@@ -1,4 +1,4 @@
<title>{if $page.title}{$page.title|escape:"html"} - {/if}{$app_name}</title>
<title>{if $page.title}{$page.title|escape:"html"} - {/if}{$appName}</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link rel="SHORTCUT ICON" href="template/images/favicon.ico">

View File

@@ -31,13 +31,13 @@
{strip}<script type="text/javascript">
g_initHeader({$page.tab});
LiveSearch.attach(ge('livesearch-generic'));
{if isset($data.gAchievements)} { include file='bricks/allachievements_table.tpl' data=$data.gAchievements }{/if}
{if isset($data.gClasses)} { include file='bricks/allclasses_table.tpl' data=$data.gClasses }{/if}
{if isset($data.gCurrencies)} { include file='bricks/allcurrencies_table.tpl' data=$data.gCurrencies }{/if}
{if isset($data.gHolidays)} { include file='bricks/allholidays_table.tpl' data=$data.gHolidays }{/if}
{if isset($data.gItems)} { include file='bricks/allitems_table.tpl' data=$data.gItems }{/if}
{if isset($data.gRaces)} { include file='bricks/allraces_table.tpl' data=$data.gRaces }{/if}
{if isset($data.gSpells)} { include file='bricks/allspells_table.tpl' data=$data.gSpells }{/if}
{if isset($data.gTitles)} { include file='bricks/alltitles_table.tpl' data=$data.gTitles }{/if}
{if isset($lvData.gAchievements)} { include file='bricks/globals/achievements.tpl' data=$lvData.gAchievements }{/if}
{if isset($lvData.gClasses)} { include file='bricks/globals/classes.tpl' data=$lvData.gClasses }{/if}
{if isset($lvData.gCurrencies)} { include file='bricks/globals/currencies.tpl' data=$lvData.gCurrencies }{/if}
{if isset($lvData.gHolidays)} { include file='bricks/globals/holidays.tpl' data=$lvData.gHolidays }{/if}
{if isset($lvData.gItems)} { include file='bricks/globals/items.tpl' data=$lvData.gItems }{/if}
{if isset($lvData.gRaces)} { include file='bricks/globals/races.tpl' data=$lvData.gRaces }{/if}
{if isset($lvData.gSpells)} { include file='bricks/globals/spells.tpl' data=$lvData.gSpells }{/if}
{if isset($lvData.gTitles)} { include file='bricks/globals/titles.tpl' data=$lvData.gTitles }{/if}
{* TODO: Factions, Quests, NPCs, Objects, g_gatheredzones(?) *}
</script>{/strip}

View File

@@ -17,28 +17,28 @@
<div id="listview-generic" class="listview"></div>
<script type="text/javascript">
var myTabs = new Tabs({ldelim}parent: ge('tabs-generic'){rdelim});
{if isset($found.class)} {include file='bricks/class_table.tpl' data=$found.class.data params=$found.class.params } {/if}
{if isset($found.race)} {include file='bricks/race_table.tpl' data=$found.race.data params=$found.race.params } {/if}
{if isset($found.title)} {include file='bricks/title_table.tpl' data=$found.title.data params=$found.title.params } {/if}
{if isset($found.npc)} {include file='bricks/creature_table.tpl' data=$found.npc.data params=$found.npc.params } {/if}
{if isset($found.object)} {include file='bricks/object_table.tpl' data=$found.object.data params=$found.object.params } {/if}
{if isset($found.itemset)} {include file='bricks/itemset_table.tpl' data=$found.itemset.data params=$found.itemset.params } {/if}
{if isset($found.item)} {include file='bricks/item_table.tpl' data=$found.item.data params=$found.item.params } {/if}
{if isset($found.quest)} {include file='bricks/quest_table.tpl' data=$found.quest.data params=$found.quest.params } {/if}
{if isset($found.ability)} {include file='bricks/spell_table.tpl' data=$found.ability.data params=$found.ability.params } {/if}
{if isset($found.talent)} {include file='bricks/spell_table.tpl' data=$found.talent.data params=$found.talent.params } {/if}
{if isset($found.npcSpell)} {include file='bricks/spell_table.tpl' data=$found.npcSpell.data params=$found.npcSpell.params } {/if}
{if isset($found.petSpell)} {include file='bricks/spell_table.tpl' data=$found.petSpell.data params=$found.petSpell.params } {/if}
{if isset($found.spell)} {include file='bricks/spell_table.tpl' data=$found.spell.data params=$found.spell.params } {/if}
{if isset($found.unkSpell)} {include file='bricks/spell_table.tpl' data=$found.unkSpell.data params=$found.unkSpell.params } {/if}
{if isset($found.zone)} {include file='bricks/zone_table.tpl' data=$found.zone.data params=$found.zone.params } {/if}
{if isset($found.faction)} {include file='bricks/faction_table.tpl' data=$found.faction.data params=$found.faction.params } {/if}
{if isset($found.pet)} {include file='bricks/npc_table.tpl' data=$found.pet.data params=$found.pet.params } {/if}
{if isset($found.achievement)} {include file='bricks/achievement_table.tpl' data=$found.achievement.data params=$found.achievement.params} {/if}
{if isset($found.statistic)} {include file='bricks/achievement_table.tpl' data=$found.statistic.data params=$found.statistic.params } {/if}
{if isset($found.event)} {include file='bricks/event_table.tpl' data=$found.event.data params=$found.event.params } {/if}
{if isset($found.skill)} {include file='bricks/skill_table.tpl' data=$found.skill.data params=$found.skill.params } {/if}
{if isset($found.currency)} {include file='bricks/currency_table.tpl' data=$found.currency.data params=$found.currency.params } {/if}
{if isset($found.class)} {include file='bricks/listviews/class.tpl' data=$found.class.data params=$found.class.params } {/if}
{if isset($found.race)} {include file='bricks/listviews/race.tpl' data=$found.race.data params=$found.race.params } {/if}
{if isset($found.title)} {include file='bricks/listviews/title.tpl' data=$found.title.data params=$found.title.params } {/if}
{if isset($found.npc)} {include file='bricks/listviews/creature.tpl' data=$found.npc.data params=$found.npc.params } {/if}
{if isset($found.object)} {include file='bricks/listviews/object.tpl' data=$found.object.data params=$found.object.params } {/if}
{if isset($found.itemset)} {include file='bricks/listviews/itemset.tpl' data=$found.itemset.data params=$found.itemset.params } {/if}
{if isset($found.item)} {include file='bricks/listviews/item.tpl' data=$found.item.data params=$found.item.params } {/if}
{if isset($found.quest)} {include file='bricks/listviews/quest.tpl' data=$found.quest.data params=$found.quest.params } {/if}
{if isset($found.ability)} {include file='bricks/listviews/spell.tpl' data=$found.ability.data params=$found.ability.params } {/if}
{if isset($found.talent)} {include file='bricks/listviews/spell.tpl' data=$found.talent.data params=$found.talent.params } {/if}
{if isset($found.npcSpell)} {include file='bricks/listviews/spell.tpl' data=$found.npcSpell.data params=$found.npcSpell.params } {/if}
{if isset($found.petSpell)} {include file='bricks/listviews/spell.tpl' data=$found.petSpell.data params=$found.petSpell.params } {/if}
{if isset($found.spell)} {include file='bricks/listviews/spell.tpl' data=$found.spell.data params=$found.spell.params } {/if}
{if isset($found.unkSpell)} {include file='bricks/listviews/spell.tpl' data=$found.unkSpell.data params=$found.unkSpell.params } {/if}
{if isset($found.zone)} {include file='bricks/listviews/zone.tpl' data=$found.zone.data params=$found.zone.params } {/if}
{if isset($found.faction)} {include file='bricks/listviews/faction.tpl' data=$found.faction.data params=$found.faction.params } {/if}
{if isset($found.pet)} {include file='bricks/listviews/npc.tpl' data=$found.pet.data params=$found.pet.params } {/if}
{if isset($found.achievement)} {include file='bricks/listviews/achievement.tpl' data=$found.achievement.data params=$found.achievement.params} {/if}
{if isset($found.statistic)} {include file='bricks/listviews/achievement.tpl' data=$found.statistic.data params=$found.statistic.params } {/if}
{if isset($found.event)} {include file='bricks/listviews/event.tpl' data=$found.event.data params=$found.event.params } {/if}
{if isset($found.skill)} {include file='bricks/listviews/skill.tpl' data=$found.skill.data params=$found.skill.params } {/if}
{if isset($found.currency)} {include file='bricks/listviews/currency.tpl' data=$found.currency.data params=$found.currency.params } {/if}
myTabs.flush();
</script>
{else}

View File

@@ -11,18 +11,18 @@
<script type="text/javascript">
{include file='bricks/community.tpl'}
var g_pageInfo = {ldelim}type: {$page.type}, typeId: {$page.typeId}, name: '{$data.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});
</script>
{include file='bricks/infobox.tpl'}
<div class="text">
<a href="javascript:;" id="open-links-button" class="button-red" onclick="this.blur(); Links.show({ldelim} type: 11, typeId: {$data.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.link}</i></b><span>{$lang.link}</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($data.page.expansion)}<span class="{$data.page.expansion}-icon-right">{$data.page.name}</span>{else}{$data.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>
<h2 class="clear">{$lang.related}</h2>
</div>
@@ -30,8 +30,8 @@
<div id="listview-generic" class="listview"></div>
<script type="text/javascript">//<![CDATA[
var tabsRelated = new Tabs({ldelim}parent: ge('tabs-generic'){rdelim});
{if isset($data.page.acvReward)} {include file='bricks/achievement_table.tpl' data=$data.page.acvReward params=$data.page.acvParams } {/if}
{if isset($data.page.questReward)} {include file='bricks/quest_table.tpl' data=$data.page.questReward params=$data.page.questParams} {/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}
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});
if (lv_videos.length || (g_user && g_user.roles & (U_GROUP_ADMIN | U_GROUP_BUREAU | U_GROUP_VIDEO)))