menu more and tools
- items: allow 'upg' to be an array - filter: fixed logic error in checks - Markup: prevent handling of [menu], as PageTemplate is nyi - Power: advanced features (hide reagents or sellprice; recoloring, renaming, iconizing of links) - search: side-icon for titles - smarty: added template-vars to cache (has to be fixed sooner or later) - identify as HTML5 (fixed a strange bug with displaced list-pegs) - removed several typos
19
config/aowow.xml.in
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
|
||||
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
|
||||
<ShortName>/*$shortName*/</ShortName>
|
||||
<Description>/*$name*/</Description>
|
||||
<Url
|
||||
type="text/html"
|
||||
method="get"
|
||||
template="/*HOST_URL*//?search={searchTerms}" />
|
||||
|
||||
<Url
|
||||
type="application/x-suggestions+json"
|
||||
method="get"
|
||||
template="/*HOST_URL*//?search={searchTerms}&opensearch" />
|
||||
|
||||
<Image height="16" width="16" type="image/vnd.microsoft.icon">/*STATIC_URL*//images/logos/favicon.ico</Image>
|
||||
<Image height="16" width="16" type="image/gif">/*STATIC_URL*//images/icons/favicon.gif</Image>
|
||||
|
||||
</OpenSearchDescription>
|
||||
5
crossdomain.xml
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
|
||||
<cross-domain-policy>
|
||||
<site-control permitted-cross-domain-policies="all"/>
|
||||
<allow-access-from domain="*"/>
|
||||
</cross-domain-policy>
|
||||
|
|
@ -672,7 +672,7 @@ abstract class Filter
|
|||
|
||||
if (is_array($v) && !empty($v))
|
||||
$_[$k] = $k.'='.implode(':', $v);
|
||||
else if ($v === '')
|
||||
else if ($v !== '')
|
||||
$_[$k] = $k.'='.$v;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -416,6 +416,7 @@ class ItemList extends BaseType
|
|||
$_flags = $this->curTpl['flags'];
|
||||
$_class = $this->curTpl['class'];
|
||||
$_subClass = $this->curTpl['subClass'];
|
||||
$_slot = $this->curTpl['slot'];
|
||||
$causesScaling = false;
|
||||
|
||||
if (!empty($enhance['rand']))
|
||||
|
|
@ -440,6 +441,9 @@ class ItemList extends BaseType
|
|||
}
|
||||
}
|
||||
|
||||
if (isset($enhance['sock']) && !in_array($_slot, [INVTYPE_WRISTS, INVTYPE_WAIST, INVTYPE_HANDS]))
|
||||
unset($enhance['sock']);
|
||||
|
||||
// IMPORTAT: DO NOT REMOVE THE HTML-COMMENTS! THEY ARE REQUIRED TO UPDATE THE TOOLTIP CLIENTSIDE
|
||||
$x = '';
|
||||
|
||||
|
|
@ -528,7 +532,7 @@ class ItemList extends BaseType
|
|||
$x .= '<table width="100%"><tr>';
|
||||
|
||||
// Class
|
||||
$x .= '<td>'.Lang::$item['inventoryType'][$this->curTpl['slot']].'</td>';
|
||||
$x .= '<td>'.Lang::$item['inventoryType'][$_slot].'</td>';
|
||||
|
||||
// Subclass
|
||||
if ($_class == ITEM_CLASS_ARMOR && $_subClass > 0)
|
||||
|
|
@ -540,8 +544,8 @@ class ItemList extends BaseType
|
|||
|
||||
$x .= '</tr></table>';
|
||||
}
|
||||
else if (($_ = $this->curTpl['slot']) && $_class != ITEM_CLASS_CONTAINER) // yes, slot can occur on random items and is then also displayed <_< .. excluding Bags >_>
|
||||
$x .= '<br />'.Lang::$item['inventoryType'][$this->curTpl['slot']].'<br />';
|
||||
else if ($_slot && $_class != ITEM_CLASS_CONTAINER) // yes, slot can occur on random items and is then also displayed <_< .. excluding Bags >_>
|
||||
$x .= '<br />'.Lang::$item['inventoryType'][$_slot].'<br />';
|
||||
else
|
||||
$x .= '<br />';
|
||||
|
||||
|
|
@ -930,7 +934,7 @@ class ItemList extends BaseType
|
|||
foreach ($reagents->iterate() as $__)
|
||||
$reqReag[] = '<a href="?item='.$reagents->id.'">'.$reagents->getField('name', true).'</a> ('.$reagentItems[$reagents->id].')';
|
||||
|
||||
$xCraft .= '<br /><span class="q1">'.Lang::$game['requires2'].' '.implode(', ', $reqReag).'</span>';
|
||||
$xCraft .= '<div class="q1 whtt-reagents"><br />'.Lang::$game['requires2'].' '.implode(', ', $reqReag).'</div>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -956,9 +960,6 @@ class ItemList extends BaseType
|
|||
if ($this->curTpl['spellCharges1'] > 1 || $this->curTpl['spellCharges1'] < -1)
|
||||
$xMisc[] = '<span class="q1">'.abs($this->curTpl['spellCharges1']).' '.Lang::$item['charges'].'</span>';
|
||||
|
||||
if ($sp = $this->curTpl['sellPrice'])
|
||||
$xMisc[] = '<span class="q1">'.Lang::$item['sellPrice'].Lang::$colon.Util::formatMoney($sp).'</span>';
|
||||
|
||||
// list required reagents
|
||||
if (isset($xCraft))
|
||||
$xMisc[] = $xCraft;
|
||||
|
|
@ -966,13 +967,16 @@ class ItemList extends BaseType
|
|||
if ($xMisc)
|
||||
$x .= implode('<br />', $xMisc);
|
||||
|
||||
if ($sp = $this->curTpl['sellPrice'])
|
||||
$x .= '<div class="q1 whtt-sellprice">'.Lang::$item['sellPrice'].Lang::$colon.Util::formatMoney($sp).'</div>';
|
||||
|
||||
if (!$subOf)
|
||||
$x .= '</td></tr></table>';
|
||||
|
||||
// tooltip scaling
|
||||
if (!isset($xCraft))
|
||||
{
|
||||
$link = [$subOf ? $subOf : $this->id, 1]; // itemid, scaleMinLevel
|
||||
$link = [$subOf ? $subOf : $this->id, 1]; // itemId, scaleMinLevel
|
||||
if (isset($this->ssd[$this->id])) // is heirloom
|
||||
{
|
||||
array_push($link,
|
||||
|
|
@ -1885,26 +1889,17 @@ class ItemListFilter extends Filter
|
|||
// upgrade for [form only]
|
||||
if (isset($_v['upg']))
|
||||
{
|
||||
/* notice!
|
||||
profiler can send $_GET['upg'] as an array
|
||||
this should results in in N listviews-sets (weapons generate more more than one listview per slot) for N items
|
||||
<div id="jkbfksdbl4"></div>
|
||||
<div id="lkljbjkb574" class="listview"></div>
|
||||
var tabsGroups = new Tabs({parent: $WH.ge('jkbfksdbl4')});
|
||||
{template: 'item', id: 'ranged', name: 'Ranged', tabs: tabsGroups, parent: 'lkljbjkb574', hideCount: 1, note: $WH.sprintf(LANG.lvnote_viewmoreslot, '', 'sl=15;maxrl=80;si=1;ub=1;cr=161;crs=1;crv=0;upg=45498'), customFilter: fi_filterUpgradeListview, _upgradeIds: [45498], extraCols: fi_getExtraCols(fi_extraCols, 0, 0, 0), onAfterCreate: fi_addUpgradeIndicator, data:[]}
|
||||
*/
|
||||
|
||||
// valid item?
|
||||
if (!is_int($_v['upg']))
|
||||
if (!is_int($_v['upg']) && !is_array($_v['upg']))
|
||||
unset($_v['upg']);
|
||||
else
|
||||
{
|
||||
$_ = DB::Aowow()->selectCell('SELECT slot FROM ?_items WHERE class IN (2, 3, 4) AND id = ?d', $_v['upg']);
|
||||
$_ = DB::Aowow()->selectCol('SELECT id as ARRAY_KEY, slot FROM ?_items WHERE class IN (2, 3, 4) AND id IN (?a)', (array)$_v['upg']);
|
||||
if ($_ === null)
|
||||
unset($_v['upg']);
|
||||
else
|
||||
{
|
||||
$this->formData['form']['upg'] = $_v['upg'];
|
||||
$this->formData['form']['upg'] = $_;
|
||||
if ($_)
|
||||
$parts[] = ['slot', $_];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ class SmartyAoWoW extends Smarty
|
|||
$tv = &$this->_tpl_vars;
|
||||
|
||||
// fetch article & static infobox
|
||||
if ($tv['type'] && $tv['typeId'])
|
||||
if (isset($tv['type']) && isset($tv['typeId']))
|
||||
{
|
||||
$article = DB::Aowow()->selectRow(
|
||||
'SELECT SQL_CALC_FOUND_ROWS article, quickInfo, locale FROM ?_articles WHERE type = ?d AND typeId = ?d AND locale = ?d UNION ALL '.
|
||||
|
|
@ -70,7 +70,13 @@ class SmartyAoWoW extends Smarty
|
|||
|
||||
if ($article)
|
||||
{
|
||||
$tv['article'] = ['text' => Util::jsEscape($article['article'])];
|
||||
$replace = array(
|
||||
'script' => 'scr"+"ipt',
|
||||
'HOST_URL' => HOST_URL,
|
||||
'STATIC_URL' => STATIC_URL
|
||||
);
|
||||
$tv['article'] = ['text' => strtr(Util::jsEscape($article['article']), $replace)];
|
||||
|
||||
if (empty($tv['infobox']) && !empty($article['quickInfo']))
|
||||
$tv['infobox'] = $article['quickInfo'];
|
||||
|
||||
|
|
@ -248,6 +254,7 @@ class SmartyAoWoW extends Smarty
|
|||
$file = $this->cache_dir.'data/'.$key;
|
||||
|
||||
$cacheData = time()." ".AOWOW_REVISION."\n";
|
||||
$cacheData .= serialize($this->_tpl_vars)."\n"; // todo(med): this should not be nessecary, rework caching
|
||||
$cacheData .= serialize(str_replace(["\n", "\t"], ['\n', '\t'], $data));
|
||||
|
||||
if ($filter)
|
||||
|
|
@ -273,9 +280,12 @@ class SmartyAoWoW extends Smarty
|
|||
if ($expireTime <= time() || $rev < AOWOW_REVISION)
|
||||
return false;
|
||||
|
||||
$data = str_replace(['\n', '\t'], ["\n", "\t"], unserialize($cache[1]));
|
||||
if (isset($cache[2]))
|
||||
$filter = unserialize($cache[2]);
|
||||
$this->_tpl_vars = unserialize($cache[1]);
|
||||
|
||||
$data = str_replace(['\n', '\t'], ["\n", "\t"], unserialize($cache[2]));
|
||||
|
||||
if (isset($cache[3]))
|
||||
$filter = unserialize($cache[3]);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,6 +77,15 @@ switch ($pageCall)
|
|||
else
|
||||
$smarty->error();
|
||||
break;
|
||||
case 'whats-new':
|
||||
case 'searchplugins':
|
||||
case 'searchbox':
|
||||
case 'tooltips':
|
||||
case 'help':
|
||||
case 'faq':
|
||||
case 'aboutus':
|
||||
require 'pages/more.php';
|
||||
break;
|
||||
case 'petcalc': // tool: pet talent calculator
|
||||
$petCalc = true;
|
||||
case 'talent': // tool: talent calculator
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ $lang = array(
|
|||
'ab' => ["J.", "M.", "W.", "Tag", "Std.", "Min.", "Sek.", "Ms."],
|
||||
),
|
||||
'main' => array(
|
||||
'help' => "Hilfe",
|
||||
'name' => "Name",
|
||||
'link' => "Link",
|
||||
'signIn' => "Anmelden / Registrieren",
|
||||
|
|
@ -107,7 +106,14 @@ $lang = array(
|
|||
'talentCalc' => "Talentrechner",
|
||||
'petCalc' => "Begleiterrechner",
|
||||
'chooseClass' => "Wählt eine Klasse",
|
||||
'chooseFamily' => "Wählt eine Tierart"
|
||||
'chooseFamily' => "Wählt eine Tierart",
|
||||
|
||||
// help
|
||||
'help' => "Hilfe",
|
||||
'helpTopics' => array(
|
||||
"Wie man Kommentare schreibt", "Modellviewer", "Screenshots: Tipps & Tricks", "Gewichtung von Werten",
|
||||
"Talentrechner", "Gegenstandsvergleich", "Profiler"
|
||||
)
|
||||
),
|
||||
'search' => array(
|
||||
'search' => "Suche",
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ $lang = array(
|
|||
'ab' => ["yr", "mo", "wk", "day", "hr", "min", "sec", "ms"]
|
||||
),
|
||||
'main' => array(
|
||||
'help' => "Help",
|
||||
'name' => "name",
|
||||
'link' => "Link",
|
||||
'signIn' => "Log in / Register",
|
||||
|
|
@ -94,7 +93,14 @@ $lang = array(
|
|||
'talentCalc' => "Talent Calculator",
|
||||
'petCalc' => "Hunter Pet Calculator",
|
||||
'chooseClass' => "Choose a class",
|
||||
'chooseFamily' => "Choose a pet family"
|
||||
'chooseFamily' => "Choose a pet family",
|
||||
|
||||
// help
|
||||
'help' => "Help",
|
||||
'helpTopics' => array(
|
||||
"Commenting and You", "Model Viewer", "Screenshots: Tips & Tricks", "Stat Weighting",
|
||||
"Talent Calculator", "Item Comparison", "Profiler"
|
||||
)
|
||||
),
|
||||
'search' => array(
|
||||
'search' => "Search",
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ $lang = array(
|
|||
'ab' => ["año", "mes", "sem", "", "h", "min", "seg", "ms"],
|
||||
),
|
||||
'main' => array(
|
||||
'help' => "Ayuda",
|
||||
'name' => "nombre",
|
||||
'link' => "Enlace",
|
||||
'signIn' => "Iniciar sesión / Registrarse",
|
||||
|
|
@ -99,7 +98,14 @@ $lang = array(
|
|||
'talentCalc' => "Calculadora de talentos",
|
||||
'petCalc' => "Calculadora de mascotas",
|
||||
'chooseClass' => "Escoge una clase",
|
||||
'chooseFamily' => "Escoge una familia de mascota"
|
||||
'chooseFamily' => "Escoge una familia de mascota",
|
||||
|
||||
// help
|
||||
'help' => "Ayuda",
|
||||
'helpTopics' => array(
|
||||
"Los comentarios y tú", "Visualizador de modelos", "Capturas de pantalla: Sugerencias y trucos", "Medición de atributos",
|
||||
"Calculadora de talentos", "Comparación de objetos", "Perfiles"
|
||||
)
|
||||
),
|
||||
'search' => array(
|
||||
'search' => "Búsqueda",
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ $lang = array(
|
|||
'ab' => ["an", "mo", "sem", "jour", "h", "min", "s", "ms"]
|
||||
),
|
||||
'main' => array(
|
||||
'help' => "Aide",
|
||||
'name' => "nom",
|
||||
'link' => "Lien",
|
||||
'signIn' => "Se connecter / S'inscrire",
|
||||
|
|
@ -99,7 +98,14 @@ $lang = array(
|
|||
'talentCalc' => "Calculateur de Talents",
|
||||
'petCalc' => "Calculateur de familiers",
|
||||
'chooseClass' => "Choisissez une classe",
|
||||
'chooseFamily' => "Choisissez un familier"
|
||||
'chooseFamily' => "Choisissez un familier",
|
||||
|
||||
// help
|
||||
'help' => "Aide",
|
||||
'helpTopics' => array(
|
||||
"Le guide du commentaire", "Visionneuse 3D", "Captures d'écran : Trucs et astuces", "Échelles de valeurs",
|
||||
"Calculateur de talents", "Comparaison d'objets", "Profiler"
|
||||
)
|
||||
),
|
||||
'search' => array(
|
||||
'search' => "Recherche",
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ $lang = array(
|
|||
'ab' => ["г.", "мес.", "нед.", "дн", "ч.", "мин", "сек.", "мс"]
|
||||
),
|
||||
'main' => array(
|
||||
'help' => "Справка",
|
||||
'name' => "название",
|
||||
'link' => "Ссылка",
|
||||
'signIn' => "Вход / Регистрация",
|
||||
|
|
@ -99,7 +98,14 @@ $lang = array(
|
|||
'talentCalc' => "Расчёт талантов",
|
||||
'petCalc' => "Расчёт умений питомцев",
|
||||
'chooseClass' => "Выберите класс",
|
||||
'chooseFamily' => "Выберите семейство питомцев"
|
||||
'chooseFamily' => "Выберите семейство питомцев",
|
||||
|
||||
// help
|
||||
'help' => "Справка",
|
||||
'helpTopics' => array(
|
||||
"Комментарии и Вы", "3D просмотр", "Скриншоты: Секреты мастерства", "Значимость характеристик",
|
||||
"Расчёт талантов", "Сравнение предметов", "Профили персонажей"
|
||||
)
|
||||
),
|
||||
'search' => array(
|
||||
'search' => "Поиск",
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ if (isset($_GET['power']))
|
|||
}
|
||||
|
||||
// regular page
|
||||
if (!$smarty->loadCache($cacheKeyPage, $item))
|
||||
if (!$smarty->loadCache($cacheKeyPage, $pageData))
|
||||
{
|
||||
$item = new ItemList(array(['i.id', $_id]));
|
||||
if ($item->error)
|
||||
|
|
@ -885,7 +885,6 @@ if (!$smarty->loadCache($cacheKeyPage, $item))
|
|||
$smarty->saveCache($cacheKeyPage, $pageData);
|
||||
}
|
||||
|
||||
|
||||
$smarty->updatePageVars($pageData['page']);
|
||||
$smarty->assign('community', CommunityContent::getAll(TYPE_ITEM, $_id)); // comments, screenshots, videos
|
||||
$smarty->assign('lang', array_merge(Lang::$main, Lang::$game, Lang::$item, ['colon' => Lang::$colon]));
|
||||
|
|
|
|||
89
pages/more.php
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
<?php
|
||||
|
||||
if (!defined('AOWOW_REVISION'))
|
||||
die('illegal access');
|
||||
|
||||
$type = 0; // "type, the unclean" (jupp, this var is dancing (in a pile of crap and goo))
|
||||
$typeId = -1;
|
||||
$_path = [2];
|
||||
$title = ''; // not translated except for help
|
||||
$validParams = array(
|
||||
"commenting-and-you",
|
||||
"modelviewer",
|
||||
"screenshots-tips-tricks",
|
||||
"stat-weighting",
|
||||
"talent-calculator",
|
||||
"item-comparison",
|
||||
"profiler"
|
||||
);
|
||||
|
||||
switch($pageCall)
|
||||
{
|
||||
case 'help':
|
||||
$type = -13;
|
||||
if (isset($validParams[$pageParam]))
|
||||
header('Location: ?help='.$validParams[$pageParam]);
|
||||
|
||||
if (($typeId = array_search($pageParam, $validParams)) === false)
|
||||
Util::$pageTemplate->error();
|
||||
|
||||
$title = Lang::$main['helpTopics'][$typeId];
|
||||
break;
|
||||
case 'tooltips':
|
||||
$type = -10;
|
||||
$typeId = 0;
|
||||
$title = 'Tooltips';
|
||||
break;
|
||||
case 'faq':
|
||||
$type = -3;
|
||||
$typeId = 0;
|
||||
$title = 'Frequently Asked Questions';
|
||||
break;
|
||||
case 'aboutus':
|
||||
$type = 0;
|
||||
$typeId = 0;
|
||||
$title = 'What is AoWoW?';
|
||||
break;
|
||||
case 'searchplugins':
|
||||
$type = -8;
|
||||
$typeId = 0;
|
||||
$title = 'Search Plugins';
|
||||
break;
|
||||
case 'searchbox':
|
||||
$type = -16;
|
||||
$typeId = 0;
|
||||
$title = 'Search Box';
|
||||
break;
|
||||
case 'whats-new':
|
||||
$type = -7;
|
||||
$typeId = 0;
|
||||
$title = 'What\'s New';
|
||||
break;
|
||||
default:
|
||||
Util::$pageTemplate->error();
|
||||
}
|
||||
|
||||
$_path[] = abs($type);
|
||||
|
||||
if ($typeId > -1)
|
||||
$_path[] = $typeId;
|
||||
|
||||
// the actual text is an article accessed by type + typeId
|
||||
// menuId 2: More g_initPath()
|
||||
// tabid 2: More g_initHeader()
|
||||
$pageData = array(
|
||||
'name' => $title,
|
||||
'title' => $title,
|
||||
'path' => json_encode($_path, JSON_NUMERIC_CHECK),
|
||||
'tab' => 2,
|
||||
'type' => $type,
|
||||
'typeId' => $typeId
|
||||
);
|
||||
|
||||
$smarty->updatePageVars($pageData);
|
||||
$smarty->assign('lang', array_merge(Lang::$main, Lang::$game));
|
||||
|
||||
// load the page
|
||||
$smarty->display('text-page-generic.tpl');
|
||||
|
||||
?>
|
||||
|
|
@ -32,7 +32,7 @@ if (isset($_GET['power']))
|
|||
$x = '$WowheadPower.registerNpc('.$_id.', '.User::$localeId.", {\n";
|
||||
$x .= "\tname_".User::$localeString.": '".Util::jsEscape($npc->getField('name', true))."',\n";
|
||||
$x .= "\ttooltip_".User::$localeString.": '".Util::jsEscape($npc->renderTooltip())."',\n";
|
||||
// $x .= "\tmap: ".($s ? '{zone: '.$s[0].', coords: {0:'.json_encode($s[1], JSON_NUMERIC_CHECK).'}' : '{}')."\n";
|
||||
// $x .= "\tmap: ".($s ? '{zone: '.$s[0].', coords: {0:'.json_encode($s[1], JSON_NUMERIC_CHECK).'}}' : '{}')."\n";
|
||||
$x .= "});";
|
||||
|
||||
$smarty->saveCache($cacheKeyTooltip, $x);
|
||||
|
|
|
|||
113
power/demo.html
|
|
@ -1,113 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>'Powered by Wowhead' Demo</title>
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
|
||||
|
||||
<script src="aowowPower.js?lang=en" type="text/javascript"></script>
|
||||
|
||||
<style type="text/css">
|
||||
body { padding: 50px 15px 15px 15px; margin: 0; font-family: Arial; color: white; background: black }
|
||||
a { color: #FFD100; cursor: pointer; outline: none }
|
||||
a:hover { color: white }
|
||||
h2 { font-size: 20px; margin-top: 0; padding-top: 0; line-height: 1.5em }
|
||||
h2 small { font-size: 13px; font-weight: normal }
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<h2>'Powered by Wowhead' Demo<br /><small><a href="../">« Return to the site</a></small></h2>
|
||||
|
||||
<div style="float: left; width: 400px; margin-right: 64px">
|
||||
|
||||
<i>Items</i><br /><br />
|
||||
|
||||
<a href="http://sarjuuk.dyndns.org/item=31015" class="q4">Skyshatter Cover</a><br />
|
||||
<a href="http://sarjuuk.dyndns.org/item=30987" class="q4">Lightbringer Faceguard</a><br /><br />
|
||||
|
||||
<a href="http://ptr.wowhead.com/item=49286" class="q4">X-51 Nether-Rocket X-TREME (PTR)</a><br /><br />
|
||||
|
||||
<a href="http://www.skosiris.com" rel="item=28288" class="q3">Abacus of Violent Odds</a> <small>(Custom URL)</small><br />
|
||||
<a href="http://sarjuuk.dyndns.org/item=22589&lvl=80" class="q5">Atiesh, Greatstaff of the Guardian</a> <small>(Level 80 conversions)</small><br />
|
||||
<a href="http://sarjuuk.dyndns.org/item=25697" rel="gems=23121&ench=2647&pcs=25697:25695:25696" class="q3">Felstalker Bracers</a> <small>(Enchant, gem, set bonus)</small><br />
|
||||
<a href="http://sarjuuk.dyndns.org/item=31928" rel="rand=-63&ench=2931" class="q3">Dark Band of Agility</a> <small>(Random enchantment, enchant)</small><br />
|
||||
<a href="http://sarjuuk.dyndns.org/item=32474" rel="ench=3003&gems=32409:31865" class="q3">Surestrike Goggles v2.0</a> <small>(Enchant, gems)</small><br /><br />
|
||||
|
||||
<hr />
|
||||
|
||||
<i>Spells</i><br /><br />
|
||||
<a href="http://sarjuuk.dyndns.org/spell=18562">Swiftmend</a><br />
|
||||
<a href="http://cata.wowhead.com/spell=589&lvl=42">Shadow Word: Pain</a> <small>(Level 42 scaling)</small><br />
|
||||
<a href="http://sarjuuk.dyndns.org/spell=36257">Blacksmithing: Bulwark of the Ancient Kings</a><br /><br />
|
||||
|
||||
<a href="http://sarjuuk.dyndns.org/spell=1126" rel="buff">Mark of the Wild</a> <small>(Buff)</small><br /><br />
|
||||
|
||||
<hr />
|
||||
|
||||
<i>Quests</i><br /><br />
|
||||
<a href="http://sarjuuk.dyndns.org/quest=826">Zalazane</a><br />
|
||||
<a href="http://sarjuuk.dyndns.org/quest=11389">Wanted: Arcatraz Sentinels</a><br />
|
||||
<a href="http://sarjuuk.dyndns.org/quest=11058">An Apexis Relic</a><br />
|
||||
<a href="http://sarjuuk.dyndns.org/quest=9637">Kalynna's Request</a><br /><br />
|
||||
|
||||
<hr />
|
||||
|
||||
<i>Achievements</i><br /><br />
|
||||
<a href="http://wotlk.wowhead.com/achievement=277">'Tis the Season</a><br />
|
||||
<a href="http://wotlk.wowhead.com/achievement=1558">100 Fish</a><br /><br />
|
||||
|
||||
<hr />
|
||||
|
||||
<i>Profiles</i><br /><br />
|
||||
<a href="http://sarjuuk.dyndns.org/profile=us.draenor.drekdarok">Drekdarok</a><br />
|
||||
<a href="http://sarjuuk.dyndns.org/profile=10344553">DPS</a><br /><br/>
|
||||
|
||||
<a href="http://www.skosiris.com" rel="profile=us.draenor.drekdarok">Drekdarok</a><small> (Custom URL)</small><br />
|
||||
<a href="http://www.skosiris.com" rel="profile=10344553">DPS</a><small> (Custom URL)</small><br />
|
||||
<hr />
|
||||
|
||||
<i>Custom</i><br /><br />
|
||||
<a href="javascript:;" onmouseover="$WowheadPower.showTooltip(event, 'Hello :0', 'inv_sword_14')" onmousemove="$WowheadPower.moveTooltip(event)" onmouseout="$WowheadPower.hideTooltip();">Hai to you!</a><br /><br />
|
||||
|
||||
<hr />
|
||||
|
||||
<i>Image Map</i><br /><br />
|
||||
|
||||
<map id="planetmap" name="planetmap">
|
||||
<area shape="rect" coords="0,0,82,126" href="http://sarjuuk.dyndns.org/item=30987" target="_blank" alt="Sun" />
|
||||
<area shape="circle" coords="90,58,3" href="http://sarjuuk.dyndns.org/spell=1126" target="_blank" alt="Mercury" />
|
||||
<area shape="circle" coords="124,58,8" href="http://sarjuuk.dyndns.org/quest=11058" target="_blank" alt="Venus" />
|
||||
</map>
|
||||
<img src="http://www.w3schools.com/TAGS/planets.gif" width="145" height="126" alt="" border="0" usemap ="#planetmap" />
|
||||
|
||||
</div>
|
||||
|
||||
<div style="float: left">
|
||||
<i>Localized links</i> <small>(requires your site to use UTF-8 encoding)</small><br /><br />
|
||||
|
||||
<b>Deutsch:</b> <a href="http://de.wowhead.com/item=31015" class="q4">Bedeckung des Himmelsdonners</a><br />
|
||||
<b>Français:</b> <a href="http://fr.wowhead.com/item=31015" rel="domain=fr" class="q4">Couvre-chef Brise-ciel</a><br />
|
||||
<b>Español:</b> <a href="http://es.wowhead.com/item=31015" class="q4">Casquete de destrozacielos</a><br />
|
||||
<b>Русский:</b> <a href="http://ru.wowhead.com/item=31015" class="q4">Убор Небокрушителя</a><br />
|
||||
</div>
|
||||
|
||||
<div style="clear: both"></div>
|
||||
|
||||
<div style="width: 30px; height: 800px"></div>
|
||||
|
||||
<center>
|
||||
<a href="http://sarjuuk.dyndns.org/item=30301">Item #30301</a><br />
|
||||
<a href="http://sarjuuk.dyndns.org/item=99999">Item #99999</a>
|
||||
</center>
|
||||
|
||||
<a style="position: absolute; right: 0; bottom: 0; background: black" href="http://sarjuuk.dyndns.org/item=30319">Item #30319</a>
|
||||
<a style="position: absolute; left: 0; bottom: 0; background: black" href="http://sarjuuk.dyndns.org/item=22589">Item #22589</a>
|
||||
<a style="position: absolute; right: 0; top: 0; background: black" href="http://sarjuuk.dyndns.org/item=8171">Item #8171</a>
|
||||
<a style="position: absolute; left: 0; top: 0; background: black" href="http://sarjuuk.dyndns.org/item=6479">Item #6479!</a>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -60,7 +60,7 @@ if (isset($_GET['json']))
|
|||
}
|
||||
else if (isset($_GET['opensearch']))
|
||||
{
|
||||
$maxResults = CFG_SQL_LIMIT_QUCKSEARCH;
|
||||
$maxResults = CFG_SQL_LIMIT_QUICKSEARCH;
|
||||
$searchMask |= SEARCH_TYPE_OPEN | SEARCH_MASK_OPEN;
|
||||
}
|
||||
else
|
||||
|
|
@ -196,6 +196,9 @@ if (!$smarty->loadCache($cacheKey, $found))
|
|||
|
||||
if ($data = $titles->getListviewData())
|
||||
{
|
||||
foreach ($titles->iterate() as $id => $__)
|
||||
$data[$id]['param1'] = $titles->getField('side');
|
||||
|
||||
$found['title'] = array(
|
||||
'type' => TYPE_TITLE,
|
||||
'appendix' => ' (Title)',
|
||||
|
|
|
|||
18
setup/more-articles_ann-help.sql
Normal file
|
|
@ -50,6 +50,7 @@ pre.code
|
|||
line-height: normal;
|
||||
font-family: 'Bitstream Vera Sans Mono','Lucida Console','Courier New', Monaco, Courier, monospace;
|
||||
overflow: auto;
|
||||
white-space:pre-wrap;
|
||||
}
|
||||
|
||||
div.quote
|
||||
|
|
@ -950,6 +951,13 @@ span.menu-buttons span.hassubmenu {
|
|||
}
|
||||
/* end note */
|
||||
|
||||
.tabs, .text ul.tabs, ul.tabs
|
||||
{
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
.tabs li
|
||||
{
|
||||
float: left;
|
||||
|
|
@ -957,9 +965,20 @@ span.menu-buttons span.hassubmenu {
|
|||
height: 30px;
|
||||
}
|
||||
|
||||
.tabs li a div, .tabs li a b
|
||||
{
|
||||
color: #FFD100;
|
||||
}
|
||||
|
||||
.tabs li a.selected div, .tabs li a:hover div, .tabs li a.selected b, .tabs li a:hover b
|
||||
{
|
||||
color: white;
|
||||
}
|
||||
|
||||
.tabs a
|
||||
{
|
||||
float: left;
|
||||
font-size: 13px;
|
||||
position: relative;
|
||||
display: block;
|
||||
height: 29px;
|
||||
|
|
@ -969,6 +988,18 @@ span.menu-buttons span.hassubmenu {
|
|||
border-bottom: 1px solid #282828;
|
||||
}
|
||||
|
||||
.tabs a:hover
|
||||
{
|
||||
background-color: #383838;
|
||||
border-bottom: 1px solid #303030;
|
||||
}
|
||||
|
||||
.tabs a.selected, .tabs a.selected:hover
|
||||
{
|
||||
background-color: #404040;
|
||||
border-bottom: 1px solid #404040;
|
||||
}
|
||||
|
||||
.tabs b
|
||||
{
|
||||
padding: 0 5px;
|
||||
|
|
@ -1012,13 +1043,15 @@ span.menu-buttons span.hassubmenu {
|
|||
.tabs-level ul
|
||||
{
|
||||
position: absolute;
|
||||
left: 0;
|
||||
left: 0 !important;
|
||||
margin: 0px !important;
|
||||
padding-left: 0px !important;
|
||||
}
|
||||
|
||||
.tabbed-contents
|
||||
{
|
||||
border: 1px solid #404040;
|
||||
border-top-width: 3px;
|
||||
border-top-width: 2px;
|
||||
background-color: #141414;
|
||||
padding: 8px;
|
||||
clear: both;
|
||||
|
|
|
|||
19
static/download/searchplugins/aowow.xml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
|
||||
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
|
||||
<ShortName>Aowow</ShortName>
|
||||
<Description>Aowowo Search Plugin</Description>
|
||||
<Url
|
||||
type="text/html"
|
||||
method="get"
|
||||
template="http://aowow.dyndns.org/?search={searchTerms}" />
|
||||
|
||||
<Url
|
||||
type="application/x-suggestions+json"
|
||||
method="get"
|
||||
template="http://aowow.dyndns.org/?search={searchTerms}&opensearch" />
|
||||
|
||||
<Image height="16" width="16" type="image/vnd.microsoft.icon">http://aowow.dyndns.org/static/images/logos/favicon.ico</Image>
|
||||
<Image height="16" width="16" type="image/gif">http://aowow.dyndns.org/static/images/icons/favicon.gif</Image>
|
||||
|
||||
</OpenSearchDescription>
|
||||
BIN
static/images/help/profiler/completion.jpg
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
static/images/help/profiler/completion2.jpg
Normal file
|
After Width: | Height: | Size: 6.8 KiB |
BIN
static/images/help/profiler/exclusions.jpg
Normal file
|
After Width: | Height: | Size: 55 KiB |
BIN
static/images/help/profiler/exclusions2.jpg
Normal file
|
After Width: | Height: | Size: 9.4 KiB |
BIN
static/images/help/profiler/quests.jpg
Normal file
|
After Width: | Height: | Size: 61 KiB |
BIN
static/images/help/profiler/quests2.jpg
Normal file
|
After Width: | Height: | Size: 7.7 KiB |
BIN
static/images/help/screenshots/armor.jpg
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
static/images/help/screenshots/armor2.jpg
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
static/images/help/screenshots/hinterlands.jpg
Normal file
|
After Width: | Height: | Size: 146 KiB |
BIN
static/images/help/screenshots/hinterlands2.jpg
Normal file
|
After Width: | Height: | Size: 7.5 KiB |
BIN
static/images/help/screenshots/npc.jpg
Normal file
|
After Width: | Height: | Size: 131 KiB |
BIN
static/images/help/screenshots/npc2.jpg
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
static/images/help/searchbox/preview-120x120.png
Normal file
|
After Width: | Height: | Size: 7.4 KiB |
BIN
static/images/help/searchbox/preview-120x200.png
Normal file
|
After Width: | Height: | Size: 8.3 KiB |
BIN
static/images/help/searchbox/preview-150x120.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
static/images/help/searchbox/preview-160x120.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
static/images/help/searchbox/preview-160x200.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
static/images/help/searchplugins/firefox.gif
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
static/images/help/searchplugins/ie.gif
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
static/images/help/searchplugins/opera.gif
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
static/images/help/searchplugins/ss-opera.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
static/images/help/searchplugins/ss-searchsuggestions.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
static/images/help/talent-calculator/glyphs.jpg
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
static/images/help/talent-calculator/glyphs2.jpg
Normal file
|
After Width: | Height: | Size: 7.4 KiB |
BIN
static/images/help/talent-calculator/options.jpg
Normal file
|
After Width: | Height: | Size: 6 KiB |
BIN
static/images/help/tooltips/ss-wowcom.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
static/images/logos/medium.gif
Normal file
|
After Width: | Height: | Size: 11 KiB |
|
|
@ -950,7 +950,7 @@ var Markup = {
|
|||
else if(attr.id)
|
||||
str += ' src="' + g_staticUrl + '/uploads/screenshots/' + (attr.size ? attr.size : 'normal') + '/' + attr.id + '.jpg"';
|
||||
else if(attr.icon)
|
||||
str += ' src="' + g_staticUrl + '/images/icons/wow/' + (attr.size ? attr.size : 'large') + '/' + attr.icon + '.jpg"';
|
||||
str += ' src="' + g_staticUrl + '/images/wow/icons/' + (attr.size ? attr.size : 'large') + '/' + attr.icon + '.jpg"';
|
||||
else if(attr.blog)
|
||||
{
|
||||
if(g_blogimages[attr.blog])
|
||||
|
|
@ -1338,7 +1338,7 @@ var Markup = {
|
|||
toHtml: function(attr)
|
||||
{
|
||||
var path = attr.path.split(',');
|
||||
PageTemplate.set({activeTab: attr.tab, breadcrumb: path});
|
||||
// sarjuuk: nyi :( PageTemplate.set({activeTab: attr.tab, breadcrumb: path});
|
||||
}
|
||||
},
|
||||
minibox:
|
||||
|
|
|
|||
|
|
@ -390,7 +390,7 @@ function g_createHeader(c) {
|
|||
]);
|
||||
break;
|
||||
case 2:
|
||||
Menu.addButtons(b, Menu.explode(mn_more));
|
||||
Menu.addButtons(b, Menu.implode(mn_more));
|
||||
break;
|
||||
case 5:
|
||||
pr_initTopBarSearch();
|
||||
|
|
@ -17428,7 +17428,7 @@ var ScreenshotViewer = new function() {
|
|||
container.style.visiblity = 'visible';
|
||||
}, 150);
|
||||
|
||||
loadingImage = new Ima$WH.ge();
|
||||
loadingImage = new Image();
|
||||
loadingImage.onload = (function(screen, timer) {
|
||||
clearTimeout(timer);
|
||||
screen.width = this.width;
|
||||
|
|
|
|||
|
|
@ -866,7 +866,7 @@ var mn_community = [
|
|||
[5,"Twitter-Seite","http://twitter.com",null,{tinyIcon:"static/images/icons/twitter.gif"}]
|
||||
];
|
||||
var mn_more = [
|
||||
[,"Alles über Wowhead"],
|
||||
[,"Alles über AoWoW"],
|
||||
[0,"Über uns & Kontakt","?aboutus"],
|
||||
[3,"FAQ","?faq"],
|
||||
[13,"Hilfe",,[
|
||||
|
|
@ -880,8 +880,9 @@ var mn_more = [
|
|||
]],
|
||||
[7,"Was gibt's Neues?","?whats-new"],
|
||||
[,"Tolle Sachen"],
|
||||
[10,"Tooltips","?tooltips"],
|
||||
[16,"Suchbox","?searchbox"],
|
||||
[8,"Such-Plugins","?searchplugins"],
|
||||
[10,"Tooltips","?tooltips"]
|
||||
];
|
||||
var mn_path = [
|
||||
[0,"Datenbank",,mn_database],
|
||||
|
|
|
|||
|
|
@ -912,7 +912,7 @@ var mn_community = [
|
|||
[5,"Twitter Page","http://twitter.com",null,{tinyIcon:"static/images/icons/twitter.gif"}]
|
||||
];
|
||||
var mn_more = [
|
||||
[,"All About Wowhead"],
|
||||
[,"All About AoWoW"],
|
||||
[0,"About Us & Contact","?aboutus"],
|
||||
[3,"FAQ","?faq"],
|
||||
[13,"Help",,[
|
||||
|
|
@ -926,8 +926,9 @@ var mn_more = [
|
|||
]],
|
||||
[7,"What's New","?whats-new"],
|
||||
[,"Goodies"],
|
||||
[10,"Tooltips","?tooltips"],
|
||||
[8,"Search Plugins (FF, IE7, ...)","?searchplugins"]
|
||||
[16, "Search Box","?searchbox"],
|
||||
[8,"Search Plugins (FF, IE7, ...)","?searchplugins"],
|
||||
[10,"Tooltips","?tooltips"]
|
||||
];
|
||||
var mn_path = [
|
||||
[0,"Database",,mn_database],
|
||||
|
|
|
|||
|
|
@ -866,7 +866,7 @@ var mn_community = [
|
|||
[5,"Página de Twitter","http://twitter.com",null,{icon:"static/images/icons/twitter.gif"}]
|
||||
];
|
||||
var mn_more = [
|
||||
[,"Todo sobre Wowhead"],
|
||||
[,"Todo sobre AoWoW"],
|
||||
[0,"Acerca de nosotros","?aboutus"],
|
||||
[3,"Preguntas frecuentes","?faq"],
|
||||
[13,"Ayuda",,[
|
||||
|
|
@ -880,8 +880,9 @@ var mn_more = [
|
|||
]],
|
||||
[7,"Novedades","?whats-new"],
|
||||
[,"Extras para tu sitio"],
|
||||
[16, "Caja de búsqueda", "?searchbox"],
|
||||
[8,"Extensiones de búsqueda","?searchplugins"],
|
||||
[10,"Tooltips","?tooltips"],
|
||||
[10,"Tooltips","?tooltips"]
|
||||
];
|
||||
var mn_path = [
|
||||
[0,"Base de datos",,mn_database],
|
||||
|
|
|
|||
|
|
@ -866,7 +866,7 @@ var mn_community = [
|
|||
[5,"Page Twitter","http://twitter.com",null,{icon:"static/images/icons/twitter.gif"}]
|
||||
];
|
||||
var mn_more = [
|
||||
[,"Tout sur Wowhead"],
|
||||
[,"Tout sur AoWoW"],
|
||||
[0,"À propos / contact","?aboutus"],
|
||||
[3,"FAQ","?faq"],
|
||||
[13,"Aide",,[
|
||||
|
|
@ -880,6 +880,7 @@ var mn_more = [
|
|||
]],
|
||||
[7,"Quoi de neuf?","?whats-new"],
|
||||
[,"Extras pour votre site"],
|
||||
[16,"Boîte de recherche", "?searchbox"],
|
||||
[8,"Plug-ins de recherche","?searchplugins"],
|
||||
[10,"Tooltips","?tooltips"]
|
||||
];
|
||||
|
|
|
|||
|
|
@ -866,7 +866,7 @@ var mn_community = [
|
|||
[5,"Twitter","http://twitter.com",null,{icon:"static/images/icons/twitter.gif"}]
|
||||
];
|
||||
var mn_more = [
|
||||
[,"О Wowhead"],
|
||||
[,"О AoWoW"],
|
||||
[0,"Контакты","?aboutus"],
|
||||
[3,"ЧаВо","?faq"],
|
||||
[13,"Справка",,[
|
||||
|
|
@ -881,6 +881,7 @@ var mn_more = [
|
|||
[7,"Новости","?whats-new"],
|
||||
[,"Для вашего сайта"],
|
||||
[8,"Дополнения для браузеров","?searchplugins"],
|
||||
[16,"Окно поиска","?searchbox"],
|
||||
[10,"Всплывающие подсказки","?tooltips"]
|
||||
];
|
||||
var mn_path = [
|
||||
|
|
|
|||
|
|
@ -1,16 +1,15 @@
|
|||
if (typeof $WH == "undefined") {
|
||||
$WH = {
|
||||
wowheadRemote: true
|
||||
}
|
||||
$WH = { wowheadRemote: true };
|
||||
|
||||
/* custom */
|
||||
for (i in document.scripts) {
|
||||
if (!document.scripts[i].src)
|
||||
continue;
|
||||
|
||||
var match = document.scripts[i].src.match(/(.*)\/power\/aowowPower.js/i);
|
||||
var match = document.scripts[i].src.match(/(https?:\/\/[^\/]+)((\/[\w\d-_%]+)*)\/widgets\/power\.js/i);
|
||||
if (match) {
|
||||
var g_host = match[1];
|
||||
var g_staticUrl = match[1] + match[2];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -20,21 +19,23 @@ if (typeof $WowheadPower == "undefined") {
|
|||
var $WowheadPower = new function () {
|
||||
var isRemote = $WH.wowheadRemote;
|
||||
var
|
||||
opt = {
|
||||
applyto: 3
|
||||
},
|
||||
opt = { applyto: 3 },
|
||||
head = document.getElementsByTagName("head")[0],
|
||||
whcss,
|
||||
currentType,
|
||||
currentId,
|
||||
currentLocale,
|
||||
currentDomain,
|
||||
currentParams,
|
||||
currentA,
|
||||
|
||||
cursorX,
|
||||
cursorY,
|
||||
|
||||
mode = 0,
|
||||
t, y, ag, A, Z, ab = 1,
|
||||
|
||||
eventAttached = false,
|
||||
|
||||
npcs = {},
|
||||
objects = {},
|
||||
items = {},
|
||||
|
|
@ -42,13 +43,20 @@ if (typeof $WowheadPower == "undefined") {
|
|||
spells = {},
|
||||
achievements = {},
|
||||
profiles = {},
|
||||
|
||||
showLogo = 1,
|
||||
|
||||
STATUS_NONE = 0,
|
||||
STATUS_QUERYING = 1,
|
||||
STATUS_ERROR = 2,
|
||||
STATUS_NOTFOUND = 3,
|
||||
STATUS_OK = 4,
|
||||
STATUS_SCALES = 5,
|
||||
|
||||
SCALES_NONE = 0,
|
||||
SCALES_LOADED = 1,
|
||||
SCALES_QUERYING = 2,
|
||||
|
||||
TYPE_NPC = 1,
|
||||
TYPE_OBJECT = 2,
|
||||
TYPE_ITEM = 3,
|
||||
|
|
@ -56,33 +64,33 @@ if (typeof $WowheadPower == "undefined") {
|
|||
TYPE_SPELL = 6,
|
||||
TYPE_ACHIEVEMENT = 10,
|
||||
TYPE_PROFILE = 100,
|
||||
|
||||
CURSOR_HSPACE = 15,
|
||||
CURSOR_VSPACE = 15,
|
||||
|
||||
_LANG = {
|
||||
loading: "Loading...",
|
||||
noresponse: "No response from server :(",
|
||||
achievementcomplete: "Achievement earned by $1 on $2/$3/$4"
|
||||
},
|
||||
LOOKUPS = {
|
||||
1 : [npcs, "npc", "NPC"],
|
||||
2 : [objects, "object", "Object"],
|
||||
3 : [items, "item", "Item"],
|
||||
5 : [quests, "quest", "Quest"],
|
||||
6 : [spells, "spell", "Spell"],
|
||||
10 : [achievements, "achievement", "Achievement"],
|
||||
100 : [profiles, "profile", "Profile"]
|
||||
1: [npcs, "npc", "NPC" ],
|
||||
2: [objects, "object", "Object" ],
|
||||
3: [items, "item", "Item" ],
|
||||
5: [quests, "quest", "Quest" ],
|
||||
6: [spells, "spell", "Spell" ],
|
||||
10: [achievements, "achievement", "Achievement"],
|
||||
100: [profiles, "profile", "Profile" ]
|
||||
},
|
||||
SCALES = {
|
||||
3 : {
|
||||
url: "?data=item-scaling"
|
||||
}
|
||||
3: { url: "?data=item-scaling" }
|
||||
},
|
||||
LOCALES = {
|
||||
0 : "enus",
|
||||
2 : "frfr",
|
||||
3 : "dede",
|
||||
6 : "eses",
|
||||
8 : "ruru"
|
||||
0: "enus",
|
||||
2: "frfr",
|
||||
3: "dede",
|
||||
6: "eses",
|
||||
8: "ruru"
|
||||
},
|
||||
REDIRECTS = {
|
||||
wotlk: "www",
|
||||
|
|
@ -90,22 +98,65 @@ if (typeof $WowheadPower == "undefined") {
|
|||
};
|
||||
|
||||
if (isRemote) {
|
||||
var Locale = {
|
||||
id: 0,
|
||||
name: "enus"
|
||||
};
|
||||
var Locale = { id: 0, name: "enus" };
|
||||
}
|
||||
|
||||
function init() {
|
||||
if (isRemote) {
|
||||
var script = document.createElement("script");
|
||||
// script.src = "http://static.wowhead.com/js/basic.js?4";
|
||||
// script.src = (document.location.protocol != "https:" ? "http:": document.location.protocol) + "//wowjs.zamimg.com/js/basic.js?5";
|
||||
script.src = g_host + "/static/js/basic.js";
|
||||
head.appendChild(script);
|
||||
}
|
||||
else {
|
||||
attachEvent();
|
||||
}
|
||||
|
||||
for (var type in SCALES) {
|
||||
for (var localeId in LOCALES) {
|
||||
SCALES[type][localeId] = SCALES_NONE
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function initCSS() {
|
||||
if (typeof aowow_tooltips == "undefined") {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!("hide" in aowow_tooltips)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (typeof whcss != "undefined") {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!document.styleSheets) {
|
||||
return
|
||||
}
|
||||
|
||||
var style = document.createElement("style");
|
||||
style.type = "text/css";
|
||||
head.appendChild(style);
|
||||
|
||||
if (!window.createPopup) {
|
||||
head.appendChild(document.createTextNode(""));
|
||||
}
|
||||
|
||||
whcss = document.styleSheets[document.styleSheets.length - 1];
|
||||
for (var k in aowow_tooltips.hide) {
|
||||
if (!aowow_tooltips.hide[k]) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (whcss.insertRule) {
|
||||
whcss.insertRule(".wowhead-tooltip .whtt-" + k + "{display : none}", whcss.cssRules.length);
|
||||
}
|
||||
else if (whcss.addRule) {
|
||||
whcss.addRule(".wowhead-tooltip .whtt-" + k, "display : none", -1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function attachEvent() {
|
||||
|
|
@ -117,11 +168,19 @@ if (typeof $WowheadPower == "undefined") {
|
|||
$WH.aE(document, "mouseover", onMouseOver);
|
||||
}
|
||||
|
||||
function onDOMReady(func) {
|
||||
if (typeof jQuery != "undefined") {
|
||||
jQuery(func);
|
||||
return
|
||||
}
|
||||
/in/.test(document.readyState) ? setTimeout(onDOMReady.bind(null, func), 9) : func();
|
||||
}
|
||||
|
||||
this.init = function () {
|
||||
if (isRemote) {
|
||||
$WH.ae(head, $WH.ce("link", {
|
||||
type: "text/css",
|
||||
// href: "http://static.wowhead.com/css/basic.css?4",
|
||||
// href: (document.location.protocol != "https:" ? "http:": document.location.protocol) + "//wowcss.zamimg.com/css/basic.css?5",
|
||||
href: g_host + "/static/css/basic.css",
|
||||
rel: "stylesheet"
|
||||
}));
|
||||
|
|
@ -145,6 +204,17 @@ if (typeof $WowheadPower == "undefined") {
|
|||
}
|
||||
}
|
||||
attachEvent();
|
||||
|
||||
onDOMReady(function () {
|
||||
if (typeof aowow_tooltips != "undefined") {
|
||||
for (var i = 0; i < document.links.length; i++) {
|
||||
var link = document.links[i];
|
||||
scanElement(link);
|
||||
}
|
||||
|
||||
initCSS();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
function updateCursorPos(e) {
|
||||
|
|
@ -158,10 +228,6 @@ if (typeof $WowheadPower == "undefined") {
|
|||
return -2323;
|
||||
}
|
||||
|
||||
if (!t.href.length) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!t.href.length && !t.rel) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -195,14 +261,20 @@ if (typeof $WowheadPower == "undefined") {
|
|||
else if (k == "when") {
|
||||
params[k] = new Date(parseInt(v));
|
||||
}
|
||||
else if (k == "premium") {
|
||||
params[k] = true;
|
||||
}
|
||||
else if (k == "text") {
|
||||
params[k] = true;
|
||||
}
|
||||
};
|
||||
|
||||
if (opt.applyto & 1) {
|
||||
i1 = 2;
|
||||
i2 = 3;
|
||||
if (t.href.indexOf("http://") == 0) {
|
||||
if (t.href.indexOf("http://") == 0 || t.href.indexOf("https://") == 0) {
|
||||
i0 = 1;
|
||||
// url = t.href.match(/^http:\/\/(.+?)?\.?wowhead\.com\/\?(item|quest|spell|achievement|npc|object)=([0-9]+)/);
|
||||
// url = t.href.match(/^https?:\/\/(.+?)?\.?wowhead\.com(?:\:\d+)?\/\??(item|quest|spell|achievement|npc|object)=([0-9]+)/);
|
||||
url = t.href.match(/^http:\/\/(.*)\/\??(item|quest|spell|achievement|npc|object)=([0-9]+)/);
|
||||
if (url == null) {
|
||||
// url = t.href.match(/^http:\/\/(.+?)?\.?wowhead\.com\/\?(profile)=([^&#]+)/)
|
||||
|
|
@ -249,12 +321,10 @@ if (typeof $WowheadPower == "undefined") {
|
|||
if (i == 0) {
|
||||
delete params.gems;
|
||||
}
|
||||
else {
|
||||
if (i < params.gems.length) {
|
||||
else if (i < params.gems.length) {
|
||||
params.gems = params.gems.slice(0, i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (url) {
|
||||
var
|
||||
|
|
@ -266,6 +336,7 @@ if (typeof $WowheadPower == "undefined") {
|
|||
domain = params.domain;
|
||||
}
|
||||
else if (i0 && url[i0]) {
|
||||
// domain = url[i0];
|
||||
domain = url[i0].split(".")[0];
|
||||
}
|
||||
|
||||
|
|
@ -296,7 +367,7 @@ if (typeof $WowheadPower == "undefined") {
|
|||
return;
|
||||
}
|
||||
|
||||
mode = ((t.parentNode.className.indexOf("icon") == 0 && t.parentNode.nodeName == "DIV") ? 1 : 0);
|
||||
mode = t.parentNode.className.indexOf("icon") == 0 && t.parentNode.nodeName == "DIV" ? 1 : 0;
|
||||
if (!t.onmouseout) {
|
||||
if (mode == 0) {
|
||||
t.onmousemove = onMouseMove;
|
||||
|
|
@ -312,11 +383,46 @@ if (typeof $WowheadPower == "undefined") {
|
|||
type = $WH.g_getIdFromTypeName(url[i1]),
|
||||
typeId = url[i2];
|
||||
|
||||
if (type == TYPE_PROFILE) {
|
||||
locale = 0;
|
||||
display(type, typeId, locale, params);
|
||||
|
||||
if (e || typeof aowow_tooltips == "undefined") {
|
||||
return;
|
||||
}
|
||||
|
||||
display(type, typeId, locale, params);
|
||||
var data = LOOKUPS[type][0][getFullId(typeId, params)];
|
||||
|
||||
var timeout = function (t) {
|
||||
if (data.status[locale] != STATUS_OK && data.status[locale] != STATUS_NOTFOUND) {
|
||||
window.setTimeout(function () {
|
||||
timeout(t);
|
||||
}, 5);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (aowow_tooltips.renamelinks) {
|
||||
eval("name = data.name_" + LOCALES[locale]);
|
||||
if (name) {
|
||||
t.innerHTML = '<span>' + name + '</span>';
|
||||
}
|
||||
}
|
||||
|
||||
if (aowow_tooltips.iconizelinks && (type == TYPE_ITEM || type == TYPE_ACHIEVEMENT || type == TYPE_SPELL) && data.icon) {
|
||||
// t.children[0].style.marginLeft = "18px";
|
||||
t.className += " icontinyl";
|
||||
t.style.paddingLeft = "18px !important";
|
||||
t.style.verticalAlign = "center";
|
||||
// t.style.background = "url(" + (document.location.protocol != "https:" ? "http:": document.location.protocol) + "//wowimg.zamimg.com/images/wow/icons/tiny/" + data.icon.toLocaleLowerCase() + ".gif) left center no-repeat"
|
||||
t.style.background = "url(" + g_host + "/static/images/wow/icons/tiny/" + data.icon.toLocaleLowerCase() + ".gif) left center no-repeat"
|
||||
}
|
||||
|
||||
if (aowow_tooltips.colorlinks) {
|
||||
if (type == TYPE_ITEM) {
|
||||
t.className += " q" + data.quality;
|
||||
}
|
||||
}
|
||||
};
|
||||
timeout(t);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -325,7 +431,8 @@ if (typeof $WowheadPower == "undefined") {
|
|||
var t = e._target;
|
||||
var i = 0;
|
||||
while (t != null && i < 5 && scanElement(t, e) == -2323) {
|
||||
t = t.parentNode; ++i
|
||||
t = t.parentNode;
|
||||
++i;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -342,7 +449,25 @@ if (typeof $WowheadPower == "undefined") {
|
|||
}
|
||||
|
||||
function getTooltipField(locale, n) {
|
||||
return (currentParams && currentParams.buff ? "buff" : "tooltip") + (n ? n : "") + "_" + LOCALES[locale];
|
||||
var prefix = "tooltip";
|
||||
|
||||
if (currentParams && currentParams.buff) {
|
||||
prefix = "buff";
|
||||
}
|
||||
|
||||
if (currentParams && currentParams.text) {
|
||||
prefix = "text";
|
||||
}
|
||||
|
||||
if (currentParams && currentParams.premium) {
|
||||
prefix = "tooltip_premium";
|
||||
}
|
||||
|
||||
return prefix + (n ? n : "") + "_" + LOCALES[locale];
|
||||
}
|
||||
|
||||
function getIconField() {
|
||||
return (currentParams && currentParams.text) ? "text_icon" : "icon";
|
||||
}
|
||||
|
||||
function getSpellsField(locale) {
|
||||
|
|
@ -361,7 +486,7 @@ if (typeof $WowheadPower == "undefined") {
|
|||
}
|
||||
|
||||
if (arr[id].response == null) {
|
||||
arr[id].response = {}
|
||||
arr[id].response = {};
|
||||
}
|
||||
|
||||
if (arr[id].status[locale] == null) {
|
||||
|
|
@ -384,7 +509,7 @@ if (typeof $WowheadPower == "undefined") {
|
|||
|
||||
var arr = LOOKUPS[type][0];
|
||||
if (arr[fullId].status[locale] == STATUS_OK || arr[fullId].status[locale] == STATUS_NOTFOUND) {
|
||||
showTooltip(arr[fullId][getTooltipField(locale)], arr[fullId].icon, arr[fullId].map, arr[fullId][getSpellsField(locale)], arr[fullId][getTooltipField(locale, 2)]);
|
||||
showTooltip(arr[fullId][getTooltipField(locale)], arr[fullId][getIconField()], arr[fullId].map, arr[fullId][getSpellsField(locale)], arr[fullId][getTooltipField(locale, 2)]);
|
||||
}
|
||||
else if (arr[fullId].status[locale] == STATUS_QUERYING || arr[fullId].status[locale] == STATUS_SCALES) {
|
||||
showTooltip(_LANG.loading);
|
||||
|
|
@ -412,15 +537,15 @@ if (typeof $WowheadPower == "undefined") {
|
|||
|
||||
var p = "";
|
||||
for (var i in params) {
|
||||
if (i != "rand" && i != "ench" && i != "gems" && i != "sock") {
|
||||
if (i != "rand" && i != "ench" && i != "gems" && i != "sock" && i != "lvl") {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (typeof params[i] == "object") {
|
||||
p += "&" + i + "=" + params[i].join(":");
|
||||
}
|
||||
else if (i == "sock") {
|
||||
p += "&sock";
|
||||
else if (params[i] === true) {
|
||||
p += "&" + i;
|
||||
}
|
||||
else {
|
||||
p += "&" + i + "=" + params[i];
|
||||
|
|
@ -428,14 +553,16 @@ if (typeof $WowheadPower == "undefined") {
|
|||
}
|
||||
|
||||
// var url = "http://" + $WH.g_getDomainFromLocale(locale) + ".wowhead.com"
|
||||
// url += "ajax.php?" + LOOKUPS[type][1] + "=" + id + "&power" + p;
|
||||
// var url = (document.location.protocol != "https:" ? "http:": document.location.protocol) + "//" + localeDomain + ".wowhead.com";
|
||||
var
|
||||
localeDomain = $WH.g_getDomainFromLocale(locale),
|
||||
url = g_host + "/";
|
||||
|
||||
// $WH.g_ajaxIshRequest(url + "?" + LOOKUPS[type][1] + "=" + id + "&power" + p);
|
||||
$WH.g_ajaxIshRequest(url + "?" + LOOKUPS[type][1] + "=" + id + "&domain=" + localeDomain + "&power" + p);
|
||||
if (SCALES[type] && !SCALES[type][locale]) {
|
||||
if (SCALES[type] && SCALES[type][locale] == SCALES_NONE) {
|
||||
$WH.g_ajaxIshRequest(url + SCALES[type].url);
|
||||
SCALES[type][locale] = SCALES_QUERYING;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -444,6 +571,7 @@ if (typeof $WowheadPower == "undefined") {
|
|||
html = currentA._fixTooltip(html, currentType, currentId, currentA);
|
||||
}
|
||||
|
||||
initCSS();
|
||||
var notFound = false;
|
||||
if (!html) {
|
||||
html = LOOKUPS[currentType][2] + " not found :(";
|
||||
|
|
@ -455,9 +583,9 @@ if (typeof $WowheadPower == "undefined") {
|
|||
if (currentParams.pcs && currentParams.pcs.length) {
|
||||
var n = 0;
|
||||
for (var i = 0, len = currentParams.pcs.length; i < len; ++i) {
|
||||
var ak;
|
||||
if (ak = html.match(new RegExp("<span><!--si([0-9]+:)*" + currentParams.pcs[i] + '(:[0-9]+)*--><a href="\\?item=(\\d+)">(.+?)</a></span>'))) {
|
||||
html = html.replace(ak[0], '<span class="q8"><!--si' + currentParams.pcs[i] + '--><a href="?item=' + ak[3] + '">' + (($WH.isset("g_items") && g_items[currentParams.pcs[i]]) ? g_items[currentParams.pcs[i]]["name_" + LOCALES[currentLocale]] : ak[4]) + "</a></span>");
|
||||
var m;
|
||||
if (m = html.match(new RegExp("<span><!--si([0-9]+:)*" + currentParams.pcs[i] + '(:[0-9]+)*--><a href="\\?item=(\\d+)">(.+?)</a></span>'))) {
|
||||
html = html.replace(m[0], '<span class="q8"><!--si' + currentParams.pcs[i] + '--><a href="?item=' + m[3] + '">' + (($WH.isset("g_items") && g_items[currentParams.pcs[i]]) ? g_items[currentParams.pcs[i]]["name_" + LOCALES[currentLocale]] : m[4]) + "</a></span>");
|
||||
++n;
|
||||
}
|
||||
}
|
||||
|
|
@ -532,17 +660,17 @@ if (typeof $WowheadPower == "undefined") {
|
|||
}
|
||||
|
||||
function getFullId(id, params) {
|
||||
return id + (params.rand ? "r" + params.rand: "") + (params.ench ? "e" + params.ench: "") + (params.gems ? "g" + params.gems.join(",") : "") + (params.sock ? "s": "");
|
||||
return id + (params.rand ? "r" + params.rand : "") + (params.ench ? "e" + params.ench : "") + (params.gems ? "g" + params.gems.join(",") : "") + (params.sock ? "s" : "");
|
||||
}
|
||||
|
||||
this.loadScales = function (type, locale) {
|
||||
var arr = LOOKUPS[type][0];
|
||||
for (var i in LOCALES) {
|
||||
if (locale == i || (!locale && !isNaN(i))) {
|
||||
SCALES[type][i] = 1;
|
||||
SCALES[type][i] = SCALES_LOADED;
|
||||
for (var id in arr) {
|
||||
if (arr[id].status[i] == STATUS_SCALES && arr[id].response[i]) {
|
||||
arr[id].response[i]()
|
||||
arr[id].response[i]();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -553,10 +681,10 @@ if (typeof $WowheadPower == "undefined") {
|
|||
var arr = LOOKUPS[type][0];
|
||||
initElement(type, id, locale);
|
||||
|
||||
if (SCALES[type] && !SCALES[type][locale]) {
|
||||
if (SCALES[type] && SCALES[type][locale] != SCALES_LOADED) {
|
||||
arr[id].status[locale] = STATUS_SCALES;
|
||||
arr[id].response[locale] = this.register.bind(this, type, id, locale, json);
|
||||
return
|
||||
return;
|
||||
}
|
||||
|
||||
if (arr[id].timer) {
|
||||
|
|
@ -571,10 +699,10 @@ if (typeof $WowheadPower == "undefined") {
|
|||
zoom: 3,
|
||||
zoomable: false,
|
||||
buttons: false
|
||||
})
|
||||
});
|
||||
}
|
||||
arr[id].map.update(json.map);
|
||||
delete json.map
|
||||
delete json.map;
|
||||
}
|
||||
|
||||
$WH.cO(arr[id], json);
|
||||
|
|
@ -621,6 +749,10 @@ if (typeof $WowheadPower == "undefined") {
|
|||
this.register(TYPE_PROFILE, id, locale, json);
|
||||
};
|
||||
|
||||
this.displayTooltip = function (type, id, locale, params) {
|
||||
display(type, id, locale, params);
|
||||
};
|
||||
|
||||
this.request = function (type, id, locale, params) {
|
||||
if (!params) {
|
||||
params = {};
|
||||
|
|
@ -658,6 +790,35 @@ if (typeof $WowheadPower == "undefined") {
|
|||
this.getStatus(TYPE_SPELL, id, locale);
|
||||
};
|
||||
|
||||
this.refreshLinks = function () {
|
||||
if (typeof aowow_tooltips != "undefined") {
|
||||
for (var i = 0; i < document.links.length; i++) {
|
||||
var link = document.links[i];
|
||||
var node = link.parentNode;
|
||||
var isTooltipChild = false;
|
||||
|
||||
while (node != null) {
|
||||
if ((" " + node.className + " ").replace(/[\n\t]/g, " ").indexOf(" wowhead-tooltip ") > -1) {
|
||||
isTooltipChild = true;
|
||||
break;
|
||||
}
|
||||
node = node.parentNode
|
||||
}
|
||||
|
||||
if (!isTooltipChild) {
|
||||
scanElement(link);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.hideTooltip();
|
||||
};
|
||||
|
||||
this.setParent = function (newParent) {
|
||||
$WH.Tooltip.reset();
|
||||
$WH.Tooltip.prepare(newParent);
|
||||
};
|
||||
|
||||
if (isRemote) {
|
||||
this.set = function (foo) {
|
||||
$WH.cO(opt, foo);
|
||||
114
static/widgets/power/demo.html
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>'Powered by Wowhead' Demo</title>
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
|
||||
|
||||
<script src="../power.js?lang=en" type="text/javascript"></script>
|
||||
<script>var aowow_tooltips = { "colorlinks": true, "iconizelinks": true, "renamelinks": true, "hide": { "reagents": true, "sellprice": true }}</script>
|
||||
|
||||
<style type="text/css">
|
||||
body { padding: 50px 15px 15px 15px; margin: 0; font-family: Arial; color: white; background: black }
|
||||
a { color: #FFD100; cursor: pointer; outline: none }
|
||||
a:hover { color: white }
|
||||
h2 { font-size: 20px; margin-top: 0; padding-top: 0; line-height: 1.5em }
|
||||
h2 small { font-size: 13px; font-weight: normal }
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<h2>'Powered by Wowhead' Demo<br /><small><a href="/">« Return to the site</a></small></h2>
|
||||
|
||||
<div style="float: left; width: 400px; margin-right: 64px">
|
||||
|
||||
<i>Items</i><br /><br />
|
||||
|
||||
<a href="/?item=31015" class="q4">Skyshatter Cover</a><br />
|
||||
<a href="/?item=30987" class="q4">Lightbringer Faceguard</a><br /><br />
|
||||
|
||||
<a href="/?item=48718" rel="lvl=42" class="q7">Repurposed Lava Dredger</a> <small>(Level 42 scaling)</small><br /><br />
|
||||
|
||||
<a href="http://www.example.com" rel="item=28288" class="q3">Abacus of Violent Odds</a> <small>(Custom URL)</small><br />
|
||||
<a href="/?item=22589&lvl=80" class="q5">Atiesh, Greatstaff of the Guardian</a> <small>(Level 80 conversions)</small><br />
|
||||
<a href="/?item=25697" rel="gems=23121&ench=2647&pcs=25697:25695:25696" class="q3">Felstalker Bracers</a> <small>(Enchant, gem, set bonus)</small><br />
|
||||
<a href="/?item=31928" rel="rand=-63&ench=2931" class="q3">Dark Band of Agility</a> <small>(Random enchantment, enchant)</small><br />
|
||||
<a href="/?item=32474" rel="ench=3003&gems=32409:31865" class="q3">Surestrike Goggles v2.0</a> <small>(Enchant, gems)</small><br /><br />
|
||||
|
||||
<hr />
|
||||
|
||||
<i>Spells</i><br /><br />
|
||||
<a href="/?spell=18562">Swiftmend</a><br />
|
||||
<a href="/?spell=589">Shadow Word: Pain</a><br />
|
||||
<a href="/?spell=36257">Blacksmithing: Bulwark of the Ancient Kings</a><br /><br />
|
||||
|
||||
<a href="/?spell=1126" rel="buff">Mark of the Wild</a> <small>(Buff)</small><br /><br />
|
||||
|
||||
<hr />
|
||||
|
||||
<i>Quests</i><br /><br />
|
||||
<a href="/?quest=826">Zalazane</a><br />
|
||||
<a href="/?quest=11389">Wanted: Arcatraz Sentinels</a><br />
|
||||
<a href="/?quest=11058">An Apexis Relic</a><br />
|
||||
<a href="/?quest=9637">Kalynna's Request</a><br /><br />
|
||||
|
||||
<hr />
|
||||
|
||||
<i>Achievements</i><br /><br />
|
||||
<a href="/?achievement=277">'Tis the Season</a><br />
|
||||
<a href="/?achievement=1558" rel="who=Shadowrogue&when=1273022820000">100 Fish</a> <small>(Earned)</small><br /><br />
|
||||
|
||||
<hr />
|
||||
|
||||
<i>Profiles</i><br /><br />
|
||||
<a href="/?profile=us.draenor.drekdarok">Drekdarok</a><br />
|
||||
<a href="/?profile=10344553">DPS</a><br /><br/>
|
||||
|
||||
<a href="http://www.example.com" rel="profile=us.draenor.drekdarok">Drekdarok</a><small> (Custom URL)</small><br />
|
||||
<a href="http://www.example.com" rel="profile=10344553">DPS</a><small> (Custom URL)</small><br />
|
||||
<hr />
|
||||
|
||||
<i>Custom</i><br /><br />
|
||||
<a href="javascript:;" onmouseover="$WowheadPower.showTooltip(event, 'Hello :0', 'inv_sword_14')" onmousemove="$WowheadPower.moveTooltip(event)" onmouseout="$WowheadPower.hideTooltip();">Hai to you!</a><br /><br />
|
||||
|
||||
<hr />
|
||||
|
||||
<i>Image Map</i><br /><br />
|
||||
|
||||
<map id="planetmap" name="planetmap">
|
||||
<area shape="rect" coords="0,0,82,126" href="/?item=30987" target="_blank" alt="Sun" />
|
||||
<area shape="circle" coords="90,58,3" href="/?spell=1126" target="_blank" alt="Mercury" />
|
||||
<area shape="circle" coords="124,58,8" href="/?quest=11058" target="_blank" alt="Venus" />
|
||||
</map>
|
||||
<img src="http://www.w3schools.com/TAGS/planets.gif" width="145" height="126" alt="" border="0" usemap ="#planetmap" />
|
||||
|
||||
</div>
|
||||
|
||||
<div style="float: left">
|
||||
<i>Localized links</i> <small>(requires your site to use UTF-8 encoding)</small><br /><br />
|
||||
|
||||
<b>Deutsch:</b> <a href="http://de.wowhead.com/item=31015">Skyshatter Cover</a><br />
|
||||
<b>Français:</b> <a href="http://www.wowhead.com/item=31015" rel="domain=fr">Skyshatter Cover</a><br />
|
||||
<b>Español:</b> <a href="http://es.wowhead.com/item=31015">Skyshatter Cover</a><br />
|
||||
<b>Русский:</b> <a href="http://ru.wowhead.com/item=31015">Skyshatter Cover</a><br />
|
||||
</div>
|
||||
|
||||
<div style="clear: both"></div>
|
||||
|
||||
<div style="width: 30px; height: 800px"></div>
|
||||
|
||||
<center>
|
||||
<a href="/?item=30301">Item #30301</a><br />
|
||||
<a href="/?item=99999">Item #99999</a>
|
||||
</center>
|
||||
|
||||
<a style="position: absolute; right: 0; bottom: 0; background: black" href="/?item=30319">Item #30319</a>
|
||||
<a style="position: absolute; left: 0; bottom: 0; background: black" href="/?item=22589">Item #22589</a>
|
||||
<a style="position: absolute; right: 0; top: 0; background: black" href="/?item=8171">Item #8171</a>
|
||||
<a style="position: absolute; left: 0; top: 0; background: black" href="/?item=6479">Item #6479!</a>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
161
static/widgets/power/power.css
Normal file
|
|
@ -0,0 +1,161 @@
|
|||
.wowhead-tooltip {
|
||||
position:absolute;
|
||||
left:0;
|
||||
top:0;
|
||||
z-index:100000006;
|
||||
}
|
||||
|
||||
.wowhead-tooltip table {
|
||||
border-spacing:0;
|
||||
border-collapse:collapse;
|
||||
margin:0;
|
||||
}
|
||||
|
||||
.wowhead-tooltip table, .wowhead-tooltip td, .wowhead-tooltip th, .wowhead-tooltip tbody {
|
||||
border:0!important;
|
||||
}
|
||||
|
||||
.wowhead-tooltip tr {
|
||||
background:transparent!important;
|
||||
border:0!important;
|
||||
}
|
||||
|
||||
.wowhead-tooltip td, .wowhead-tooltip th {
|
||||
background:transparent url(../../images/tooltip.png);
|
||||
font-family:Verdana, sans-serif;
|
||||
font-size:12px;
|
||||
line-height:17px;
|
||||
color:white;
|
||||
}
|
||||
|
||||
.wowhead-tooltip th {
|
||||
padding:3px;
|
||||
border:0;
|
||||
height:auto;
|
||||
vertical-align:top;
|
||||
}
|
||||
|
||||
.wowhead-tooltip td {
|
||||
padding:8px 4px 1px 9px;
|
||||
text-align:left;
|
||||
vertical-align:top;
|
||||
}
|
||||
|
||||
.wowhead-tooltip b {
|
||||
font-size:14px;
|
||||
line-height:19px;
|
||||
font-weight:normal;
|
||||
}
|
||||
|
||||
.wowhead-tooltip div.indent {
|
||||
padding-left:.6em;
|
||||
}
|
||||
|
||||
.wowhead-tooltip td th, .wowhead-tooltip td td {
|
||||
background:none;
|
||||
}
|
||||
|
||||
.wowhead-tooltip td th {
|
||||
padding:0 0 0 4em;
|
||||
text-align:right;
|
||||
font-weight:normal;
|
||||
}
|
||||
|
||||
.wowhead-tooltip td td {
|
||||
padding:0;
|
||||
text-align:left;
|
||||
}
|
||||
|
||||
.wowhead-tooltip p {
|
||||
position:absolute;
|
||||
left:-44px;
|
||||
top:-1px;
|
||||
width:44px;
|
||||
height:44px;
|
||||
background:4px 4px no-repeat;
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
.wowhead-tooltip p div {
|
||||
width:44px;
|
||||
height:44px;
|
||||
background-image:url(../../images/icon_border_medium.png);
|
||||
}
|
||||
|
||||
.wowhead-tooltip a {
|
||||
text-decoration:none!important;
|
||||
}
|
||||
|
||||
.wowhead-tooltip-powered {
|
||||
background:url(../../images/powered.png) no-repeat;
|
||||
width:53px;
|
||||
height:33px;
|
||||
position:absolute;
|
||||
right:-56px;
|
||||
top:2px;
|
||||
}
|
||||
|
||||
a.moneyitem, a.moneysocketmeta, a.moneysocketred, a.moneysocketyellow, a.moneysocketblue, a.moneysocketprismatic {
|
||||
text-decoration:none!important;
|
||||
border-bottom:1px solid transparent;
|
||||
}
|
||||
|
||||
a.moneyitem:hover, a.moneysocketmeta:hover, a.moneysocketred:hover, a.moneysocketyellow:hover, a.moneysocketblue:hover, a.moneysocketprismatic:hover {
|
||||
border-bottom:1px solid white;
|
||||
}
|
||||
|
||||
.moneyitem, .moneygold, .moneysilver, .moneycopper, .moneyalliance, .moneyhorde, .moneyarena, .moneyachievement, .moneysocketmeta, .moneysocketred, .moneysocketyellow, .moneysocketblue, .moneysocketprismatic {
|
||||
color:white;
|
||||
background:no-repeat right center;
|
||||
}
|
||||
|
||||
.moneyitem { padding-right:18px; }
|
||||
.moneygold { padding-right:15px; background-image:url(../../images/money-gold.gif); }
|
||||
.moneysilver { padding-right:15px; background-image:url(../../images/money-silver.gif); }
|
||||
.moneycopper { padding-right:15px; background-image:url(../../images/money-copper.gif); }
|
||||
.moneyalliance { padding-right:12px; background-image:url(../../images/money-alliance.gif); }
|
||||
.moneyhorde { padding-right:17px; background-image:url(../../images/money-horde.gif); }
|
||||
.moneyarena { padding-right:18px; background-image:url(../../images/money-arena.gif); }
|
||||
.moneyachievement { padding-right:13px; background-image:url(../../images/money-achievement.gif); }
|
||||
.moneysocketmeta { padding-right:18px; background-image:url(../../images/socket-meta.gif); }
|
||||
.moneysocketred { padding-right:18px; background-image:url(../../images/socket-red.gif); }
|
||||
.moneysocketyellow { padding-right:18px; background-image:url(../../images/socket-yellow.gif); }
|
||||
.moneysocketblue { padding-right:18px; background-image:url(../../images/socket-blue.gif); }
|
||||
.moneysocketprismatic { padding-right:18px; background-image:url(../../images/socket-prismatic.gif); }
|
||||
|
||||
.socket-meta { padding-left:26px; background:url(../../images/socket-meta.gif) no-repeat left center; }
|
||||
.socket-red { padding-left:26px; background:url(../../images/socket-red.gif) no-repeat left center; }
|
||||
.socket-yellow { padding-left:26px; background:url(../../images/socket-yellow.gif) no-repeat left center; }
|
||||
.socket-blue { padding-left:26px; background:url(../../images/socket-blue.gif) no-repeat left center; }
|
||||
.socket-prismatic { padding-left:26px; background:url(../../images/socket-prismatic.gif) no-repeat left center; }
|
||||
|
||||
.q { color:#ffd100!important; }
|
||||
|
||||
.q0, .q0 a { color:#9d9d9d!important; }
|
||||
.q1, .q1 a { color:#ffffff!important; }
|
||||
.q2, .q2 a { color:#1eff00!important; }
|
||||
.q3, .q3 a { color:#0070dd!important; }
|
||||
.q4, .q4 a { color:#a335ee!important; }
|
||||
.q5, .q5 a { color:#ff8000!important; }
|
||||
.q6, .q6 a { color:#e5cc80!important; }
|
||||
.q7, .q7 a { color:#e5cc80!important; }
|
||||
.q8, .q8 a { color:#ffff98!important; }
|
||||
.q9, .q9 a { color:#71d5ff!important; }
|
||||
.q10, .q10 a { color:#ff0000!important; }
|
||||
|
||||
.r1 { color:#FF8040!important; }
|
||||
.r2 { color:#FFFF00!important; }
|
||||
.r3 { color:#40BF40!important; }
|
||||
.r4 { color:#808080!important; }
|
||||
|
||||
.c1, .c1 a { color:#C69B6D!important; }
|
||||
.c2, .c2 a { color:#F48CBA!important; }
|
||||
.c3, .c3 a { color:#AAD372!important; }
|
||||
.c4, .c4 a { color:#FFF468!important; }
|
||||
.c5, .c5 a { color:#FFFFFF!important; }
|
||||
.c6, .c6 a { color:#C41E3B!important; }
|
||||
.c7, .c7 a { color:#2359FF!important; }
|
||||
.c8, .c8 a { color:#68CCEF!important; }
|
||||
.c9, .c9 a { color:#9382C9!important; }
|
||||
.c11, .c11 a { color:#FF7C0A!important; }
|
||||
3
static/widgets/power/power_ie.css
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
.wowhead-tooltip th {
|
||||
height: 8px;
|
||||
}
|
||||
11
static/widgets/power/power_ie6.css
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
.wowhead-tooltip td, .wowhead-tooltip th {
|
||||
background-image:url(../../images/tooltip.gif);
|
||||
}
|
||||
.wowhead-tooltip p div {
|
||||
background:none;
|
||||
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../../images/icon_border_medium.png');
|
||||
}
|
||||
.wowhead-tooltip-powered {
|
||||
background:none;
|
||||
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../../images/powered.png');
|
||||
}
|
||||
56
static/widgets/searchbox.js
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
(function () {
|
||||
function create(w, h) {
|
||||
var
|
||||
scripts = document.getElementsByTagName('SCRIPT'),
|
||||
body;
|
||||
|
||||
/* sarjuuk: workaround to avoid hardcoding the url of the body */
|
||||
if (scripts && scripts.length > 0) {
|
||||
for (var i in scripts) {
|
||||
if (!scripts[i].src) {
|
||||
continue;
|
||||
}
|
||||
|
||||
var m = scripts[i].src.match(/(.*)\/widgets\/searchbox\.js$/);
|
||||
if (!m) {
|
||||
continue;
|
||||
}
|
||||
|
||||
body = m[1] + '/widgets/searchbox/searchbox.html';
|
||||
break;
|
||||
}
|
||||
}
|
||||
/* end */
|
||||
|
||||
var buff = '<iframe src="' + body + '" width="' + w + '" height="' + h + '" frameborder="0" class="aowow-searchbox"';
|
||||
buff += "></iframe>";
|
||||
|
||||
document.write(buff);
|
||||
}
|
||||
|
||||
function init() {
|
||||
var formats = {
|
||||
"160x200": { width: 160, height: 200 },
|
||||
"160x120": { width: 160, height: 120 },
|
||||
"120x200": { width: 120, height: 200 },
|
||||
"120x120": { width: 120, height: 120 },
|
||||
"150x120": { width: 150, height: 120 }
|
||||
};
|
||||
|
||||
var dim;
|
||||
|
||||
if (typeof aowow_searchbox_format != "undefined") {
|
||||
if (formats[aowow_searchbox_format]) {
|
||||
dim = formats[aowow_searchbox_format];
|
||||
}
|
||||
}
|
||||
|
||||
if (!dim) {
|
||||
dim = formats["160x200"];
|
||||
}
|
||||
|
||||
create(dim.width, dim.height);
|
||||
}
|
||||
|
||||
init();
|
||||
})();
|
||||
98
static/widgets/searchbox/searchbox.css
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
body {
|
||||
overflow:hidden;
|
||||
background:black;
|
||||
color:white;
|
||||
font-family:Arial,sans-serif;
|
||||
text-align:center;
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
a {
|
||||
color:#FFD100;
|
||||
outline:0;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color:#FFF;
|
||||
}
|
||||
|
||||
img {
|
||||
border:0;
|
||||
}
|
||||
|
||||
form {
|
||||
padding:0;
|
||||
margin:0;
|
||||
display:inline;
|
||||
}
|
||||
|
||||
a.logo {
|
||||
display:block;
|
||||
width:100%;
|
||||
height:60px;
|
||||
background:url(../../images/logos/medium.gif) center top/100% auto no-repeat;
|
||||
margin:10px 0;
|
||||
}
|
||||
|
||||
form.search {
|
||||
display:block;
|
||||
padding:0 5px;
|
||||
}
|
||||
|
||||
form.search span {
|
||||
position:relative;
|
||||
}
|
||||
|
||||
form.search input {
|
||||
width:85%;
|
||||
font-size:13px;
|
||||
border:1px solid #ADADAD;
|
||||
background:white url(../../images/ui/form/input-textbox-bg.gif) repeat-x;
|
||||
outline:0;
|
||||
height: 18px;
|
||||
-webkit-border-radius:3px;
|
||||
-moz-border-radius:3px;
|
||||
border-radius:3px;
|
||||
}
|
||||
|
||||
form.search a {
|
||||
z-index:1;
|
||||
width:22px;
|
||||
height:22px;
|
||||
display:block;
|
||||
position:absolute;
|
||||
right:-10px;
|
||||
top:-1px;
|
||||
background:url(../../images/header/search.gif) left top no-repeat;
|
||||
}
|
||||
|
||||
form.search a:hover {
|
||||
background-position: left bottom;
|
||||
}
|
||||
|
||||
.expanded {
|
||||
position:absolute;
|
||||
left:0;
|
||||
top:120px;
|
||||
width:100%;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.links {
|
||||
color:#666;
|
||||
font-size:11px;
|
||||
line-height:2em;
|
||||
}
|
||||
|
||||
.links a {
|
||||
margin:0 .8em;
|
||||
text-decoration:none;
|
||||
color:#FFCD55;
|
||||
}
|
||||
|
||||
.links a:hover,.linklist a.open {
|
||||
color:#F6E6B3;
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
24
static/widgets/searchbox/searchbox.html
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Aowow</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<base target="_blank" />
|
||||
<link rel="stylesheet" type="text/css" href="searchbox.css" />
|
||||
<script type="text/javascript" src="/static/js/jquery-1.4.2.min.js"></script>
|
||||
<script type="text/javascript" src="searchbox.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="/" class="logo"></a>
|
||||
<form action="/" class="search">
|
||||
<span><a href="#"></a><input type="text" name="search" /></span>
|
||||
</form>
|
||||
|
||||
<div class="expanded">
|
||||
<div class="links"><a href="/?talent">Talent Calculator</a></div>
|
||||
<div class="links"><a href="/?profiles">Profiler</a></div>
|
||||
<div class="links"><a href="/?maps">Maps</a></div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
37
static/widgets/searchbox/searchbox.js
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
var SearchBox = new function () {
|
||||
function bindEvents() {
|
||||
$("form.search").submit(onSubmit);
|
||||
$("form.search a").attr("href", "javascript:;").click(onClick);
|
||||
}
|
||||
|
||||
function onSubmit() {
|
||||
var val = this.elements.search.value;
|
||||
if (!$.trim(val)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function onClick() {
|
||||
$("form.search").submit();
|
||||
return false;
|
||||
}
|
||||
|
||||
$(document).ready(bindEvents);
|
||||
};
|
||||
|
||||
if (!Function.prototype.bind) {
|
||||
Function.prototype.bind = function () {
|
||||
var
|
||||
c = this,
|
||||
a = $WH.$A(arguments),
|
||||
b = a.shift();
|
||||
|
||||
return function () {
|
||||
return c.apply(b, a.concat($WH.$A(arguments)))
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
function isset(a) {
|
||||
return typeof window[a] != "undefined";
|
||||
}
|
||||
|
|
@ -22,7 +22,7 @@
|
|||
</script>
|
||||
<script src="static/js/jquery-1.4.2.min.js" type="text/javascript"></script>
|
||||
<script src="static/js/basic.js?{$AOWOW_REVISION}" type="text/javascript"></script>
|
||||
<script src="power/aowowPower.js?lang={$user.language|substr:2}" type="text/javascript"></script>
|
||||
<script src="static/widgets/power.js?lang={$user.language|substr:2}" type="text/javascript"></script>
|
||||
<script src="static/js/locale_{$user.language}.js?{$AOWOW_REVISION}" type="text/javascript"></script>
|
||||
<script src="static/js/global.js?{$AOWOW_REVISION}" type="text/javascript"></script>
|
||||
<script src="static/js/Markup.js?{$AOWOW_REVISION}" type="text/javascript"></script>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
{include file='head.tpl'}
|
||||
</head>
|
||||
|
|
|
|||
39
template/text-page-generic.tpl
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{include file='header.tpl'}
|
||||
|
||||
<div class="main" id="main">
|
||||
<div class="main-precontents" id="main-precontents"></div>
|
||||
<div class="main-contents" id="main-contents">
|
||||
|
||||
{if !empty($announcements)}
|
||||
{foreach from=$announcements item=item}
|
||||
{include file='bricks/announcement.tpl' an=$item}
|
||||
{/foreach}
|
||||
{/if}
|
||||
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
var g_pageInfo = {ldelim}type: {$type}, typeId: {$typeId}, name: '{$name|escape:"quotes"}'{rdelim};
|
||||
g_initPath({$path});
|
||||
//]]></script>
|
||||
|
||||
<div class="text">
|
||||
<h1>{$name}</h1>
|
||||
|
||||
{include file='bricks/article.tpl'}
|
||||
|
||||
{if isset($extraText)}
|
||||
<div id="text-generic" class="left"></div>
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
Markup.printHtml("{$extraText}", "text-generic", {strip}{ldelim}
|
||||
allow: Markup.CLASS_ADMIN,
|
||||
dbpage: true
|
||||
{rdelim}{/strip});
|
||||
//]]></script>
|
||||
|
||||
<div class="pad2"></div>
|
||||
{/if}
|
||||
|
||||
</div>
|
||||
</div><!-- main-contents -->
|
||||
</div><!-- main -->
|
||||
|
||||
{include file='footer.tpl'}
|
||||