implemented Itemset detail page

- while the code and strings are there, no rules have been set concerning availability

User:
 - HTTP_ACCEPT_LANGUAGE may not be set.

Compare:
 - removed some relic code, that, once uppon a time, was used to link virtual item sets with real item sets or something..

Titles:
 - fixed a few forgotten changes

Lang:
 - hide DND-entries for locks

BaseType:
 - improved getField to automaticaly cast numerics to float
 - improved __construct to check for numeric instead of int
This commit is contained in:
Sarjuuk
2013-06-23 21:36:39 +02:00
parent 88bfae9c0a
commit 3d66eacb90
16 changed files with 515 additions and 105 deletions

View File

@@ -5,6 +5,8 @@ if (!defined('AOWOW_REVISION'))
class ItemsetList extends BaseType class ItemsetList extends BaseType
{ {
use ListviewHelper;
private $classes = []; // used to build g_classes private $classes = []; // used to build g_classes
public $pieceToSet = []; // used to build g_items and search public $pieceToSet = []; // used to build g_items and search
@@ -20,13 +22,12 @@ class ItemsetList extends BaseType
{ {
$this->templates[$this->id]['classes'] = []; $this->templates[$this->id]['classes'] = [];
$this->templates[$this->id]['pieces'] = []; $this->templates[$this->id]['pieces'] = [];
for ($i = 1; $i < 12; $i++) for ($i = 1; $i < 12; $i++)
{ {
if ($this->curTpl['classMask'] & (1 << $i)) if ($this->curTpl['classMask'] & (1 << ($i - 1)))
{ {
$this->classes[] = $i + 1; $this->classes[] = $i;
$this->templates[$this->id]['classes'][] = $i + 1; $this->templates[$this->id]['classes'][] = $i;
} }
} }

View File

@@ -122,13 +122,18 @@ class User
} }
else else
{ {
$loc = strtolower(substr($_SERVER["HTTP_ACCEPT_LANGUAGE"], 0, 2)); if (empty($_SERVER["HTTP_ACCEPT_LANGUAGE"]))
switch ($loc) { $loc = 0;
case 'ru': $loc = 8; break; else
case 'es': $loc = 6; break; {
case 'de': $loc = 3; break; $loc = strtolower(substr($_SERVER["HTTP_ACCEPT_LANGUAGE"], 0, 2));
case 'fr': $loc = 2; break; switch ($loc) {
default: $loc = 0; case 'ru': $loc = 8; break;
case 'es': $loc = 6; break;
case 'de': $loc = 3; break;
case 'fr': $loc = 2; break;
default: $loc = 0;
}
} }
} }

View File

@@ -94,8 +94,6 @@ define('ITEMINFO_SUBITEMS', 0x2);
define('ITEMINFO_VENDOR', 0x4); define('ITEMINFO_VENDOR', 0x4);
define('ITEMINFO_LOOT', 0x8); define('ITEMINFO_LOOT', 0x8);
// Custom Flags for Types
/* /*
* Game * Game
*/ */
@@ -106,6 +104,7 @@ define('CUSTOM_HAS_SCREENSHOT', 0x02000000);
define('CUSTOM_HAS_VIDEO', 0x04000000); define('CUSTOM_HAS_VIDEO', 0x04000000);
define('CUSTOM_DISABLED', 0x08000000); define('CUSTOM_DISABLED', 0x08000000);
define('CUSTOM_SERVERSIDE', 0x10000000); define('CUSTOM_SERVERSIDE', 0x10000000);
define('CUSTOM_UNAVAILABLE', 0x20000000);
// Custom Flags (per type) // Custom Flags (per type)
define('SPELL_CU_TALENT', 0x0001); // passive talent define('SPELL_CU_TALENT', 0x0001); // passive talent

View File

@@ -117,7 +117,7 @@ abstract class BaseType
$op = (isset($c[2]) && $c[2] == '!') ? 'NOT LIKE' : 'LIKE'; $op = (isset($c[2]) && $c[2] == '!') ? 'NOT LIKE' : 'LIKE';
$val = '"%'.$val.'%"'; $val = '"%'.$val.'%"';
} }
else if (is_int($c[1])) else if (is_numeric($c[1]))
{ {
$op = (isset($c[2]) && $c[2] == '!') ? '<>' : '='; $op = (isset($c[2]) && $c[2] == '!') ? '<>' : '=';
$val = Util::sqlEscape($c[1]); $val = Util::sqlEscape($c[1]);
@@ -203,10 +203,11 @@ abstract class BaseType
if (!$this->curTpl || (!$localized && !isset($this->curTpl[$field]))) if (!$this->curTpl || (!$localized && !isset($this->curTpl[$field])))
return ''; return '';
if (!$localized) if ($localized)
return $this->curTpl[$field];
else
return Util::localizedString($this->curTpl, $field); return Util::localizedString($this->curTpl, $field);
$value = $this->curTpl[$field];
return is_numeric($value) ? floatVal($value) : $value;
} }
public function getMatches() public function getMatches()
@@ -307,6 +308,7 @@ trait listviewHelper
} }
class Lang class Lang
{ {
public static $main; public static $main;
@@ -324,6 +326,7 @@ class Lang
public static $maps; public static $maps;
public static $npc; public static $npc;
public static $pet; public static $pet;
public static $quest;
public static $spell; public static $spell;
public static $talent; public static $talent;
public static $title; public static $title;
@@ -365,7 +368,7 @@ class Lang
$rnk = $lock['requiredskill'.$i]; $rnk = $lock['requiredskill'.$i];
$name = ''; $name = '';
if ($lock['type'.$i] == 1) // opened by item if ($lock['type'.$i] == 1) // opened by item
{ {
$name = ItemList::getName($prop); $name = ItemList::getName($prop);
if (!$name) if (!$name)
@@ -374,8 +377,11 @@ class Lang
if ($interactive) if ($interactive)
$name = '<a class="q1" href="?item='.$prop.'">'.$name.'</a>'; $name = '<a class="q1" href="?item='.$prop.'">'.$name.'</a>';
} }
else if ($lock['type'.$i] == 2) // opened by skill else if ($lock['type'.$i] == 2) // opened by skill
{ {
if (in_array($prop, [6, 7, 15, 19])) // dnd stuff
continue;
$txt = DB::Aowow()->selectRow('SELECT * FROM ?_locktype WHERE id = ?d', $prop); // todo (low): convert to static text $txt = DB::Aowow()->selectRow('SELECT * FROM ?_locktype WHERE id = ?d', $prop); // todo (low): convert to static text
$name = Util::localizedString($txts, 'name'); $name = Util::localizedString($txts, 'name');
if (!$name) if (!$name)
@@ -385,7 +391,7 @@ class Lang
$name .= ' ('.$rnk.')'; $name .= ' ('.$rnk.')';
} }
$locks[] = sprintf(Lang::$game['requires'], $n); $locks[$lock['type'.$i] == 1 ? $i : -$i] = sprintf(Lang::$game['requires'], $name);
} }
return $locks; return $locks;
@@ -479,9 +485,6 @@ class Lang
if ($classMask == CLASS_MASK_ALL) // available to all classes if ($classMask == CLASS_MASK_ALL) // available to all classes
return false; return false;
if (!$classMask) // no restrictions left
return false;
$tmp = []; $tmp = [];
$i = 1; $i = 1;
@@ -505,9 +508,6 @@ class Lang
if ($raceMask == RACE_MASK_ALL) // available to all races (we don't display 'both factions') if ($raceMask == RACE_MASK_ALL) // available to all races (we don't display 'both factions')
return false; return false;
if (!$raceMask) // no restrictions left (we don't display 'both factions')
return false;
$tmp = []; $tmp = [];
$side = 0; $side = 0;
$i = 1; $i = 1;

View File

@@ -12,6 +12,7 @@ if (!defined('AOWOW_REVISION'))
$lang = array( $lang = array(
// page variables // page variables
'main' => array( 'main' => array(
'name' => "Name",
'link' => "Link", 'link' => "Link",
'signIn' => "Anmelden", 'signIn' => "Anmelden",
'jsError' => "Stelle bitte sicher, dass JavaScript aktiviert ist.", 'jsError' => "Stelle bitte sicher, dass JavaScript aktiviert ist.",
@@ -21,7 +22,6 @@ $lang = array(
'timeSQL' => "Zeit für MySQL-Queries", 'timeSQL' => "Zeit für MySQL-Queries",
'noJScript' => "<b>Diese Seite macht ausgiebigen Gebrauch von JavaScript.</b><br />Bitte <a href=\"https://www.google.com/support/adsense/bin/answer.py?answer=12654\" target=\"_blank\">aktiviert JavaScript</a> in Eurem Browser.", 'noJScript' => "<b>Diese Seite macht ausgiebigen Gebrauch von JavaScript.</b><br />Bitte <a href=\"https://www.google.com/support/adsense/bin/answer.py?answer=12654\" target=\"_blank\">aktiviert JavaScript</a> in Eurem Browser.",
'profiles' => "Deine Charaktere", 'profiles' => "Deine Charaktere",
'links' => "Links",
'pageNotFound' => "Diese|Dieser|Dieses %s existiert nicht.", // todo: dämliche Fälle... 'pageNotFound' => "Diese|Dieser|Dieses %s existiert nicht.", // todo: dämliche Fälle...
'gender' => "Geschlecht", 'gender' => "Geschlecht",
'sex' => [null, 'Mann', 'Frau'], 'sex' => [null, 'Mann', 'Frau'],
@@ -70,11 +70,16 @@ $lang = array(
'refineSearch' => "Tipp: Präzisiere deine Suche mit Durchsuchen einer <a href=\"javascript:;\" id=\"fi_subcat\">Unterkategorie</a>.", 'refineSearch' => "Tipp: Präzisiere deine Suche mit Durchsuchen einer <a href=\"javascript:;\" id=\"fi_subcat\">Unterkategorie</a>.",
// infobox // infobox
'name' => "Name", 'unavailable' => "Nicht für Spieler verfügbar",
'disabled' => "Deaktiviert", 'disabled' => "Deaktiviert",
'disabledHint' => "Kann nicht erhalten oder abgeschlossen werden.", 'disabledHint' => "Kann nicht erhalten oder abgeschlossen werden.",
'serverside' => "Serverseitig", 'serverside' => "Serverseitig",
'serversideHint' => "Diese Informationen sind nicht im Client enthalten und wurden durch Sniffing zusammengetragen und/oder erraten.", 'serversideHint' => "Diese Informationen sind nicht im Client enthalten und wurden gesnifft und/oder erraten.",
// red buttons
'links' => "Links",
'compare' => "Vergleichen",
'view3D' => "3D-Ansicht"
), ),
'search' => array( 'search' => array(
'search' => "Suche", 'search' => "Suche",
@@ -286,6 +291,15 @@ $lang = array(
) )
), ),
'itemset' => array( 'itemset' => array(
'_desc' => "<b>%s</b> ist das <b>%s</b>. Es enthält %s Teile.",
'_descTagless' => "<b>%s</b> ist ein Ausrüstungsset, das %s Teile enthält.",
'_setBonuses' => "Setboni",
'_conveyBonus' => "Das Tragen mehrerer Gegenstände aus diesem Set gewährt Eurem Charakter Boni.",
'_pieces' => "Teile",
'_unavailable' => "Dieses Ausrüstungsset ist nicht für Spieler verfügbar.",
'_type' => "Art",
'_tag' => "Tag",
'notes' => array( 'notes' => array(
null, "Dungeon-Set 1", "Dungeon-Set 2", "Tier 1 Raid-Set", null, "Dungeon-Set 1", "Dungeon-Set 2", "Tier 1 Raid-Set",
"Tier 2 Raid-Set", "Tier 3 Raid-Set", "Level 60 PvP-Set (Rar)", "Level 60 PvP-Set (Rar, alt)", "Tier 2 Raid-Set", "Tier 3 Raid-Set", "Level 60 PvP-Set (Rar)", "Level 60 PvP-Set (Rar, alt)",
@@ -297,7 +311,7 @@ $lang = array(
"Arena-Set Saison 7", "Tier 10 Raid-Set", "Arena-Set Saison 8" "Arena-Set Saison 7", "Tier 10 Raid-Set", "Arena-Set Saison 8"
), ),
'types' => array( 'types' => array(
null, "Stoff", "Leder", "Schwere R\u00fcstung", "Platte", "Dolch", "Ring", null, "Stoff", "Leder", "Schwere Rüstung", "Platte", "Dolch", "Ring",
"Faustwaffe", "Einhandaxt", "Einhandstreitkolben", "Einhandschwert", "Schmuck", "Amulett" "Faustwaffe", "Einhandaxt", "Einhandstreitkolben", "Einhandschwert", "Schmuck", "Amulett"
) )
), ),

View File

@@ -7,6 +7,7 @@ if (!defined('AOWOW_REVISION'))
$lang = array( $lang = array(
// page variables // page variables
'main' => array( 'main' => array(
'name' => "Name",
'link' => "Link", 'link' => "Link",
'signIn' => "Sign in", 'signIn' => "Sign in",
'jsError' => "Please make sure you have javascript enabled.", 'jsError' => "Please make sure you have javascript enabled.",
@@ -16,7 +17,6 @@ $lang = array(
'timeSQL' => "Time of MySQL queries", 'timeSQL' => "Time of MySQL queries",
'noJScript' => "<b>This site makes extensive use of JavaScript.</b><br />Please <a href=\"https://www.google.com/support/adsense/bin/answer.py?answer=12654\" target=\"_blank\">enable JavaScript</a> in your browser.", 'noJScript' => "<b>This site makes extensive use of JavaScript.</b><br />Please <a href=\"https://www.google.com/support/adsense/bin/answer.py?answer=12654\" target=\"_blank\">enable JavaScript</a> in your browser.",
'profiles' => "Your Characters", 'profiles' => "Your Characters",
'links' => "Links",
'pageNotFound' => "This %s doesn't exist.", 'pageNotFound' => "This %s doesn't exist.",
'gender' => "Gender", 'gender' => "Gender",
'sex' => [null, 'Male', 'Female'], 'sex' => [null, 'Male', 'Female'],
@@ -65,11 +65,16 @@ $lang = array(
'refineSearch' => "Tip: Refine your search by browsing a <a href=\"javascript:;\" id=\"fi_subcat\">subcategory</a>.", 'refineSearch' => "Tip: Refine your search by browsing a <a href=\"javascript:;\" id=\"fi_subcat\">subcategory</a>.",
// infobox // infobox
'name' => "Name", 'unavailable' => "Not available to players",
'disabled' => "Disabled", 'disabled' => "Disabled",
'disabledHint' => "Cannot be attained or completed", 'disabledHint' => "Cannot be attained or completed",
'serverside' => "Serverside", 'serverside' => "Serverside",
'serversideHint' => "These informations are not in the Client and have been provided by sniffing and/or guessing.", 'serversideHint' => "These informations are not in the Client and have been provided by sniffing and/or guessing.",
// red buttons
'links' => "Links",
'compare' => "Compare",
'view3D' => "View in 3D"
), ),
'search' => array( 'search' => array(
'search' => "Search", 'search' => "Search",
@@ -281,6 +286,15 @@ $lang = array(
) )
), ),
'itemset' => array( 'itemset' => array(
'_desc' => "<b>%s</b> is the <b>%s</b>. It contains %s pieces.",
'_descTagless' => "<b>%s</b> is an item set that contains %s pieces.",
'_setBonuses' => "Set Bonuses",
'_conveyBonus' => "Wearing more pieces of this set will convey bonuses to your character.",
'_pieces' => "pieces",
'_unavailable' => "This item set is not available to players.",
'_type' => "Type",
'_tag' => "Tag",
'notes' => array( 'notes' => array(
null, "Dungeon Set 1", "Dungeon Set 2", "Tier 1 Raid Set", null, "Dungeon Set 1", "Dungeon Set 2", "Tier 1 Raid Set",
"Tier 2 Raid Set", "Tier 3 Raid Set", "Level 60 PvP Rare Set", "Level 60 PvP Rare Set (Old)", "Tier 2 Raid Set", "Tier 3 Raid Set", "Level 60 PvP Rare Set", "Level 60 PvP Rare Set (Old)",

View File

@@ -12,6 +12,7 @@ if (!defined('AOWOW_REVISION'))
$lang = array( $lang = array(
// page variables // page variables
'main' => array( 'main' => array(
'name' => "Nombre",
'link' => "Enlace", 'link' => "Enlace",
'signIn' => "Iniciar sesión", 'signIn' => "Iniciar sesión",
'jsError' => "Por favor, asegúrese de que ha habilitado javascript.", 'jsError' => "Por favor, asegúrese de que ha habilitado javascript.",
@@ -21,7 +22,6 @@ $lang = array(
'timeSQL' => "El tiempo para las consultas de MySQL", 'timeSQL' => "El tiempo para las consultas de MySQL",
'noJScript' => "<b>Este sitio hace uso intenso de JavaScript.</b><br />Por favor <a href=\"https://www.google.com/support/adsense/bin/answer.py?answer=12654\" target=\"_blank\">habilita JavaScript</a> en tu navegador.", 'noJScript' => "<b>Este sitio hace uso intenso de JavaScript.</b><br />Por favor <a href=\"https://www.google.com/support/adsense/bin/answer.py?answer=12654\" target=\"_blank\">habilita JavaScript</a> en tu navegador.",
'profiles' => "Tus personajes", // translate.google :x 'profiles' => "Tus personajes", // translate.google :x
'links' => "Enlaces",
'pageNotFound' => "Este %s no existe.", 'pageNotFound' => "Este %s no existe.",
'gender' => "Género", 'gender' => "Género",
'sex' => [null, 'Hombre', 'Mujer'], 'sex' => [null, 'Hombre', 'Mujer'],
@@ -62,11 +62,16 @@ $lang = array(
'refineSearch' => "Sugerencia: Refina tu búsqueda llendo a una <a href=\"javascript:;\" id=\"fi_subcat\">subcategoría</a>.", 'refineSearch' => "Sugerencia: Refina tu búsqueda llendo a una <a href=\"javascript:;\" id=\"fi_subcat\">subcategoría</a>.",
// infobox // infobox
'name' => "Nombre", 'unavailable' => "No está disponible a los jugadores",
'disabled' => "[Disabled]", 'disabled' => "[Disabled]",
'disabledHint' => "[Cannot be attained or completed]", 'disabledHint' => "[Cannot be attained or completed]",
'serverside' => "[Serverside]", 'serverside' => "[Serverside]",
'serversideHint' => "[These informations are not in the Client and have been provided by sniffing and/or guessing.]", 'serversideHint' => "[These informations are not in the Client and have been provided by sniffing and/or guessing.]",
// red buttons
'links' => "Enlaces",
'compare' => "Comparar",
'view3D' => "Ver en 3D"
), ),
'search' => array( 'search' => array(
'search' => "Búsqueda", 'search' => "Búsqueda",
@@ -239,6 +244,15 @@ $lang = array(
) )
), ),
'itemset' => array( 'itemset' => array(
'_desc' => "<b>%s</b> es el <b>%s</b>. Contiene %s piezas.",
'_descTagless' => "<b>%s</b> es un conjunto de objetos que tiene %s piezas.",
'_setBonuses' => "Bonificación de conjunto",
'_conveyBonus' => "Tener puestos mas objetos de este conjunto le aplicará una bonificación a tu personaje.",
'_pieces' => "piezas",
'_unavailable' => "Este conjunto de objetos no está disponible para jugadores.",
'_type' => "Tipo",
'_tag' => "Etiqueta",
'notes' => array( 'notes' => array(
null, "Set de mazmorra 1", "Set de mazmorra 2", "Set de banda tier 1", null, "Set de mazmorra 1", "Set de mazmorra 2", "Set de banda tier 1",
"Set de banda tier 2", "Set de banda tier 3", "Set JcJ nivel 60 superior", "Set JcJ nivel 60 superior (obsoleto)", "Set de banda tier 2", "Set de banda tier 3", "Set JcJ nivel 60 superior", "Set JcJ nivel 60 superior (obsoleto)",

View File

@@ -12,6 +12,7 @@ if (!defined('AOWOW_REVISION'))
$lang = array( $lang = array(
// page variables // page variables
'main' => array( 'main' => array(
'name' => "Nom",
'link' => "Lien", 'link' => "Lien",
'signIn' => "S'enregistrer", 'signIn' => "S'enregistrer",
'jsError' => "S'il vous plait, assurez vous d'avoir le javascript autorisé.", 'jsError' => "S'il vous plait, assurez vous d'avoir le javascript autorisé.",
@@ -21,7 +22,6 @@ $lang = array(
'timeSQL' => "Temps d'exécution des requêtes SQL", 'timeSQL' => "Temps d'exécution des requêtes SQL",
'noJScript' => "<b>Ce site requiert JavaScript pour fonctionner.</b><br />Veuillez <a href=\"https://www.google.com/support/adsense/bin/answer.py?answer=12654\" target=\"_blank\">activer JavaScript</a> dans votre navigateur.", 'noJScript' => "<b>Ce site requiert JavaScript pour fonctionner.</b><br />Veuillez <a href=\"https://www.google.com/support/adsense/bin/answer.py?answer=12654\" target=\"_blank\">activer JavaScript</a> dans votre navigateur.",
'profiles' => "Vos personnages", // translate.google :x 'profiles' => "Vos personnages", // translate.google :x
'links' => "Liens",
'pageNotFound' => "Ce %s n'existe pas.", 'pageNotFound' => "Ce %s n'existe pas.",
'gender' => "Genre", 'gender' => "Genre",
'sex' => [null, 'Homme', 'Femme'], 'sex' => [null, 'Homme', 'Femme'],
@@ -62,11 +62,16 @@ $lang = array(
'refineSearch' => "Astuce : Affinez votre recherche en utilisant une <a href=\"javascript:;\" id=\"fi_subcat\">sous-catégorie</a>.", 'refineSearch' => "Astuce : Affinez votre recherche en utilisant une <a href=\"javascript:;\" id=\"fi_subcat\">sous-catégorie</a>.",
// infobox // infobox
'name' => "Nom", 'unavailable' => "Non disponible aux joueurs",
'disabled' => "[Disabled]", 'disabled' => "[Disabled]",
'disabledHint' => "[Cannot be attained or completed]", 'disabledHint' => "[Cannot be attained or completed]",
'serverside' => "[Serverside]", 'serverside' => "[Serverside]",
'serversideHint' => "[These informations are not in the Client and have been provided by sniffing and/or guessing.]", 'serversideHint' => "[These informations are not in the Client and have been provided by sniffing and/or guessing.]",
// red buttons
'links' => "Liens",
'compare' => "Comparer",
'view3D' => "Voir en 3D"
), ),
'search' => array( 'search' => array(
'search' => "Recherche", 'search' => "Recherche",
@@ -238,6 +243,15 @@ $lang = array(
) )
), ),
'itemset' => array( 'itemset' => array(
'_desc' => "<b>%s</b> est le <b>%s</b>. Il contient %s pièces.",
'_descTagless' => "<b>%s</b> est un ensemble d'objet qui contient %s pièces.",
'_setBonuses' => "Bonus de l'ensemble",
'_conveyBonus' => "Plus d'objets de cet ensemble sont équipés, plus votre personnage aura des bonus de caractéristiques.",
'_pieces' => "pièces",
'_unavailable' => "Cet objet n'est plus disponible aux joueurs.",
'_type' => "Type",
'_tag' => "Étiquette",
'notes' => array( 'notes' => array(
null, "Ensemble de donjon 1", "Ensemble de donjon 2", "Ensemble de raid palier 1", null, "Ensemble de donjon 1", "Ensemble de donjon 2", "Ensemble de raid palier 1",
"Ensemble de raid palier 2", "Ensemble de raid palier 3", "Ensemble JcJ niveau 60 supérieur", "Ensemble JcJ niveau 60 supérieur (désuet)", "Ensemble de raid palier 2", "Ensemble de raid palier 3", "Ensemble JcJ niveau 60 supérieur", "Ensemble JcJ niveau 60 supérieur (désuet)",

View File

@@ -12,6 +12,7 @@ if (!defined('AOWOW_REVISION'))
$lang = array( $lang = array(
// page variables // page variables
'main' => array( 'main' => array(
'name' => "Название",
'link' => "Ссылка", 'link' => "Ссылка",
'signIn' => "Войти", 'signIn' => "Войти",
'jsError' => "Для работы этого сайта необходим JavaScript.", 'jsError' => "Для работы этого сайта необходим JavaScript.",
@@ -21,7 +22,6 @@ $lang = array(
'timeSQL' => "Время выполнения MySQL запросов", 'timeSQL' => "Время выполнения MySQL запросов",
'noJScript' => "<b>Данный сайт активно использует технологию JavaScript.</b><br />Пожалуйста, <a href=\"https://www.google.com/support/adsense/bin/answer.py?answer=12654\" target=\"_blank\">Включите JavaScript</a> в вашем браузере.", 'noJScript' => "<b>Данный сайт активно использует технологию JavaScript.</b><br />Пожалуйста, <a href=\"https://www.google.com/support/adsense/bin/answer.py?answer=12654\" target=\"_blank\">Включите JavaScript</a> в вашем браузере.",
'profiles' => "Ваши персонажи", // translate.google :x 'profiles' => "Ваши персонажи", // translate.google :x
'links' => "Ссылки",
'pageNotFound' => "Такое %s не существует.", 'pageNotFound' => "Такое %s не существует.",
'gender' => "Пол", 'gender' => "Пол",
'sex' => [null, 'Мужчина', 'Женщина'], 'sex' => [null, 'Мужчина', 'Женщина'],
@@ -62,11 +62,16 @@ $lang = array(
'refineSearch' => "Совет: Уточните поиск, добавив <a href=\"javascript:;\" id=\"fi_subcat\">подкатегорию</a>.", 'refineSearch' => "Совет: Уточните поиск, добавив <a href=\"javascript:;\" id=\"fi_subcat\">подкатегорию</a>.",
// infobox // infobox
'name' => "Название", 'unavailable' => "Недоступно игрокам",
'disabled' => "[Disabled]", 'disabled' => "[Disabled]",
'disabledHint' => "[Cannot be attained or completed]", 'disabledHint' => "[Cannot be attained or completed]",
'serverside' => "[Serverside]", 'serverside' => "[Serverside]",
'serversideHint' => "[These informations are not in the Client and have been provided by sniffing and/or guessing.]", 'serversideHint' => "[These informations are not in the Client and have been provided by sniffing and/or guessing.]",
// red buttons
'links' => "Ссылки",
'compare' => "Сравнить",
'view3D' => "Посмотреть в 3D"
), ),
'search' => array( 'search' => array(
'search' => "Поиск", 'search' => "Поиск",
@@ -238,6 +243,15 @@ $lang = array(
) )
), ),
'itemset' => array( 'itemset' => array(
'_desc' => "<b>%s</b> — <b>%s</b>. Он состоит из %s предметов.",
'_descTagless' => "<b>%s</b> — набор из %s предметов.",
'_setBonuses' => "Бонус за комплект",
'_conveyBonus' => "Ношение большего числа предметов из этого комплекта предоставит бонусы для вашего персонажа.",
'_pieces' => "частей",
'_unavailable' => "Этот набор предметов не доступен игрокам.",
'_type' => "Тип",
'_tag' => "Тэг",
'notes' => array( 'notes' => array(
null, "Комплект подземелий 1", "Комплект подземелий 2", "Рейдовый комплект Tier 1", null, "Комплект подземелий 1", "Комплект подземелий 2", "Рейдовый комплект Tier 1",
"Рейдовый комплект Tier 2", "Рейдовый комплект Tier 3", "PvP Комплект для 60 уровня", "PvP Комплект для 60 уровня (старая версия)", "Рейдовый комплект Tier 2", "Рейдовый комплект Tier 3", "PvP Комплект для 60 уровня", "PvP Комплект для 60 уровня (старая версия)",

View File

@@ -3,10 +3,8 @@
if (!defined('AOWOW_REVISION')) if (!defined('AOWOW_REVISION'))
die('invalid access'); die('invalid access');
$pageData = array(
'items' => null, $pageData = ['items' => null, 'summary' => '[]'];
'summary' => '[]'
);
$compareString = ''; $compareString = '';
// prefer $_GET over $_COOKIE // prefer $_GET over $_COOKIE
@@ -31,18 +29,8 @@ if ($compareString)
$params[] = 0; $params[] = 0;
$outString[] = $params; $outString[] = $params;
// MATCH() AGAINST() for integers would be nice...
$res = DB::Aowow()->SelectRow(
"SELECT id FROM ?_itemset WHERE
item1 = ? OR item2 = ? OR item3 = ? OR item4 = ? OR item5 = ? OR
item6 = ? OR item7 = ? OR item8 = ? OR item9 = ? OR item10 = ?",
(int)$params[0], (int)$params[0], (int)$params[0], (int)$params[0], (int)$params[0], (int)$params[0], (int)$params[0], (int)$params[0], (int)$params[0], (int)$params[0]
);
if ($res)
$piecesAssoc[(int)$params[0]] = $res['id'];
} }
$outSet[] = $outString; $outSet[] = $outString;
} }
$pageData['summary'] = json_encode($outSet, JSON_NUMERIC_CHECK); $pageData['summary'] = json_encode($outSet, JSON_NUMERIC_CHECK);
@@ -65,7 +53,7 @@ if ($compareString)
} }
$page = array( $smarty->updatePageVars(array(
'title' => Lang::$compare['compare'], 'title' => Lang::$compare['compare'],
'tab' => 1, 'tab' => 1,
'reqCSS' => array( 'reqCSS' => array(
@@ -79,10 +67,7 @@ $page = array(
array('path' => 'template/js/swfobject.js'), array('path' => 'template/js/swfobject.js'),
array('path' => '?data=weight-presets.gems.enchants.itemsets'), array('path' => '?data=weight-presets.gems.enchants.itemsets'),
), ),
); ));
$smarty->updatePageVars($page);
$smarty->assign('lvData', $pageData); $smarty->assign('lvData', $pageData);
$smarty->assign('lang', array_merge(Lang::$main, Lang::$compare)); $smarty->assign('lang', array_merge(Lang::$main, Lang::$compare));
$smarty->assign('mysql', DB::Aowow()->getStatistics()); $smarty->assign('mysql', DB::Aowow()->getStatistics());

260
pages/itemset.php Normal file
View File

@@ -0,0 +1,260 @@
<?php
if (!defined('AOWOW_REVISION'))
die('illegal access');
require 'includes/class.community.php';
$id = intVal($pageParam);
$path = [0, 2];
$cacheKeyPage = implode('_', [CACHETYPE_PAGE, TYPE_ITEMSET, $id, -1, User::$localeId]);
if (!$smarty->loadCache($cacheKeyPage, $pageData))
{
$iSet = new ItemsetList(array(['id', $id]));
if ($iSet->error)
$smarty->notFound(Lang::$game['itemset']);
$iSet->reset();
$ta = $iSet->getField('contentGroup');
$ty = $iSet->getField('type');
$ev = $iSet->getField('holidayId');
$sk = $iSet->getField('skillId');
$mask = $iSet->getField('classMask');
$rLvl = $iSet->getField('reqLevel');
$name = $iSet->getField('name', true);
$cnt = count($iSet->getField('pieces'));
$unav = $iSet->getField('cuFlags') & CUSTOM_UNAVAILABLE;
$infobox = [];
// unavailable (todo (low): set data)
if ($unav)
$infobox[] = Lang::$main['unavailable'];
// holiday
if ($ev)
$infobox[] = Lang::$game['eventShort'].Lang::$colon.'[url=?event='.$ev.']'.WorldEventList::getName($ev).'[/url]';
// itemLevel
if ($min = $iSet->getField('minLevel'))
{
$foo = Lang::$game['level'].Lang::$colon.$min;
$max = $iSet->getField('maxLevel');
if ($min < $max)
$foo .= ' - '.$max;
$infobox[] = $foo;
}
// class
if ($mask)
{
$foo = [];
for ($i = 0; $i < 11; $i++)
if ($mask & (1 << $i))
$foo[] = (!fMod(count($foo) + 1, 3) ? '\n' : null) . '[class='.($i + 1).']';
$t = count($foo) == 1 ? Lang::$game['class'] : Lang::$game['classes'];
$infobox[] = Util::ucFirst($t).Lang::$colon.implode(', ', $foo);
}
// required level
if ($rLvl)
$infobox[] = sprintf(Lang::$game['reqLevel'], $rLvl);
// type
if ($ty)
$infobox[] = Lang::$itemset['_type'].lang::$colon.Lang::$itemset['types'][$ty];
// tag
if ($ta)
$infobox[] = Lang::$itemset['_tag'].Lang::$colon.'[url=?itemsets&filter=ta='.$ta.']'.Lang::$itemset['notes'][$ta].'[/url]';
// pieces + Summary
$pieces = [];
$eqList = [];
$compare = [];
$iList = new ItemList(array(['i.entry', array_keys($iSet->pieceToSet)]));
$data = $iList->getListviewData(ITEMINFO_SUBITEMS | ITEMINFO_JSON);
foreach ($data as $iId => $item)
{
while ($iList->id != $iId)
$iList->iterate();
$slot = $iList->getField('InventoryType');
$disp = $iList->getField('displayid');
if ($slot && $disp)
$eqList[] = [$slot, $disp];
$compare[] = $iId;
$pieces[] = array(
'id' => $iId,
'name' => $iList->getField('name', true),
'quality' => $iList->getField('Quality'),
'icon' => $iList->getField('icon'),
'json' => json_encode($item, JSON_NUMERIC_CHECK)
);
}
// spells
$foo = [];
$spells = [];
for ($i = 1; $i < 9; $i++)
{
$spl = $iSet->getField('spell'.$i);
$qty = $iSet->getField('bonus'.$i);
if ($spl && $qty)
{
$foo[] = $spl;
$spells[] = array( // cant use spell as index, would change order
'id' => $spl,
'bonus' => $qty,
'desc' => ''
);
}
}
// sort by required pieces ASC
usort($spells, function($a, $b) {
if ($a['bonus'] == $b['bonus'])
return 0;
return ($a['bonus'] > $b['bonus']) ? 1 : -1;
});
$setSpells = new SpellList(array(['s.id', $foo]));
foreach ($spells as &$s)
{
while ($setSpells->id != $s['id'])
$setSpells->iterate();
$s['desc'] = $setSpells->parseText('description');
}
// path
if ($mask)
{
for ($i = 0; $i < 11; $i++)
{
if ($mask & (1 << $i))
{
if ($mask == (1 << $i)) // only bit set, add path
$path[] = $i;
break; // break anyway (cant set multiple classes)
}
}
}
$skill = '';
if ($sk)
{
// todo (med): kill this Lang::monstrosity with Skills
$spellLink = sprintf('<a href="?spells=11.%s">%s</a> (%s)', $sk, Lang::$spell['cat'][11][$sk][0], $iSet->getField('skillLevel'));
$skill = ' &ndash; <small><b>'.sprintf(Lang::$game['requires'], $spellLink).'</b></small>';
}
$pageData = array(
'title' => $name, // for header
'path' => $path,
'infobox' => $infobox ? '[ul][li]'.implode('[/li][li]', $infobox).'[/li][/ul]' : null,
'article' => null, // todo (med): hmm, move to $smarty..?
'pieces' => $pieces,
'spells' => $spells,
'view3D' => json_encode($eqList, JSON_NUMERIC_CHECK),
'compare' => array(
'qty' => $cnt,
'items' => $compare,
'level' => $rLvl
),
'page' => array(
'name' => $name, // for page content
'id' => $id,
'bonusExt' => $skill,
'description' => $ta ? sprintf(Lang::$itemset['_desc'], $name, Lang::$itemset['notes'][$ta], $cnt) : sprintf(Lang::$itemset['_descTagless'], $name, $cnt),
'unavailable' => $unav
)
);
$iSet->addGlobalsToJscript($pageData);
// related sets (priority: 1: similar tag + class; 2: has event; 3: no tag + similar type, 4: similar type + profession)
$rel = [];
if ($ta && count($path) == 3)
{
$rel[] = ['id', $id, '!'];
$rel[] = ['classMask', 1 << end($path), '&'];
$rel[] = ['contentGroup', (int)$ta];
}
else if ($ev)
{
$rel[] = ['id', $id, '!'];
$rel[] = ['holidayId', 0, '!'];
}
else if ($sk)
{
$rel[] = ['id', $id, '!'];
$rel[] = ['contentGroup', 0];
$rel[] = ['skillId', 0, '!'];
$rel[] = ['type', $ty];
}
else if (!$ta && $ty)
{
$rel[] = ['id', $id, '!'];
$rel[] = ['contentGroup', 0];
$rel[] = ['type', $ty];
$rel[] = ['skillId', 0];
}
if ($rel)
{
$relSets = new ItemsetList($rel);
if (!$relSets->error)
{
$pageData['related'] = array(
'data' => $relSets->getListviewData(),
'params' => array(
'id' => 'see-also',
'name' => '$LANG.tab_seealso',
'tabs' => '$tabsRelated'
)
);
$mask = $relSets->hasDiffFields(['classMask']);
if (!$mask)
$pageData['related']['params']['hiddenCols'] = "$['classes']";
$relSets->addGlobalsToJscript($pageData);
}
}
$smarty->saveCache($cacheKeyPage, $pageData);
}
$smarty->updatePageVars(array(
'title' => $pageData['title']." - ".Util::ucfirst(Lang::$game['itemset']),
'path' => json_encode($pageData['path'], JSON_NUMERIC_CHECK),
'tab' => 0, // for g_initHeader($tab)
'type' => TYPE_ITEMSET, // 4:Itemset
'typeId' => $id,
'reqJS' => array(
array('path' => 'template/js/Summary.js', 'conditional' => false),
array('path' => 'template/js/swfobject.js', 'conditional' => false)
)
));
$smarty->assign('community', CommunityContent::getAll(TYPE_ITEMSET, $id)); // comments, screenshots, videos
$smarty->assign('lang', array_merge(Lang::$main, Lang::$itemset));
$smarty->assign('lvData', $pageData);
$smarty->assign('mysql', DB::Aowow()->getStatistics());
$smarty->display('itemset.tpl');
?>

View File

@@ -32,7 +32,7 @@ if (!$smarty->loadCache($cacheKeyPage, $pageData))
$infobox[] = Lang::$main['gender'].Lang::$colon.'[span class='.($g == 2 ? 'female' : 'male').'-icon]'.Lang::$main['sex'][$g].'[/span]'; $infobox[] = Lang::$main['gender'].Lang::$colon.'[span class='.($g == 2 ? 'female' : 'male').'-icon]'.Lang::$main['sex'][$g].'[/span]';
if ($e = $title->getField('eventId')) if ($e = $title->getField('eventId'))
$infobox[] = Lang::$game['eventShort'].Lang::$colon.'[url=?event='.$e.']'.WorldEvent::getName($e).'[/url]'; $infobox[] = Lang::$game['eventShort'].Lang::$colon.'[url=?event='.$e.']'.WorldEventList::getName($e).'[/url]';
$pageData = array( $pageData = array(
'page' => array( 'page' => array(
@@ -58,7 +58,8 @@ if (!$smarty->loadCache($cacheKeyPage, $pageData))
'id' => 'reward-from-quest', 'id' => 'reward-from-quest',
'name' => '$LANG.tab_rewardfrom', 'name' => '$LANG.tab_rewardfrom',
'hiddenCols' => "$['experience', 'money']", 'hiddenCols' => "$['experience', 'money']",
'visibleCols' => "$['category']" 'visibleCols' => "$['category']",
'tabs' => '$tabsRelated'
); );
break; break;
case 12: case 12:
@@ -71,7 +72,8 @@ if (!$smarty->loadCache($cacheKeyPage, $pageData))
'id' => 'reward-from-achievement', 'id' => 'reward-from-achievement',
'name' => '$LANG.tab_rewardfrom', 'name' => '$LANG.tab_rewardfrom',
'visibleCols' => "$['category']", 'visibleCols' => "$['category']",
'sort' => "$['reqlevel', 'name']" 'sort' => "$['reqlevel', 'name']",
'tabs' => '$tabsRelated'
); );
break; break;
// case 13: // case 13:
@@ -87,11 +89,11 @@ if (!$smarty->loadCache($cacheKeyPage, $pageData))
} }
$smarty->updatePageVars(array( $smarty->updatePageVars(array(
'title' => $pageData['title']." - ".Util::ucfirst(Lang::$game['title']), 'title' => $pageData['title']." - ".Util::ucfirst(Lang::$game['title']),
'path' => $pageData['path'], 'path' => $pageData['path'],
'tab' => 0, // for g_initHeader($tab) 'tab' => 0, // for g_initHeader($tab)
'type' => TYPE_TITLE, // 11:Titles 'type' => TYPE_TITLE, // 11:Titles
'typeId' => $id 'typeId' => $id
)); ));

94
template/itemset.tpl Normal file
View File

@@ -0,0 +1,94 @@
{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">
{include file='bricks/community.tpl'}
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: 4, typeId: {$lvData.page.id} {rdelim});"><em><b><i>{$lang.links}</i></b><span>{$lang.links}</span></em></a>
<a href="javascript:;" id="view3D-button" class="button-red" onclick="this.blur(); ModelViewer.show({ldelim} type: 4, typeId: {$lvData.page.id}, equipList: {$lvData.view3D} {rdelim})"><em><b><i>{$lang.view3D}</i></b><span>{$lang.view3D}</span></em></a>
<a href="javascript:;" class="button-red" onclick="this.blur(); su_addToSaved('{':'|implode:$lvData.compare.items}', {$lvData.compare.qty})"><em><b><i>{$lang.compare}</i></b><span>{$lang.compare}</span></em></a>
<a href="{if $lvData.page.id > 0}http://old.wowhead.com/?{$query[0]}={$query[1]}{else}javascript:;{/if}" class="button-red{if $lvData.page.id < 0} button-red-disabled{/if}"><em><b><i>Wowhead</i></b><span>Wowhead</span></em></a>
<h1>{$lvData.page.name}</h1>
{if $lvData.article}
<div id="article-generic" class="left"></div>
<script type="text/javascript">//<![CDATA[
Markup.printHtml("{$lvData.article}", "article-generic", {ldelim}mode:Markup.MODE_ARTICLE{rdelim});
//]]></script>
{/if}
{$lvData.page.description}
<script type="text/javascript">//<![CDATA[
{section name=i loop=$lvData.pieces}
g_items.add({$lvData.pieces[i].id}, {ldelim}name_{$user.language}:'{$lvData.pieces[i].name|escape:'javascript'}', quality:{$lvData.pieces[i].quality}, icon:'{$lvData.pieces[i].icon}', jsonequip:{$lvData.pieces[i].json}{rdelim});
{/section}
//]]></script>
<table class="iconlist">
{section name=i loop=$lvData.pieces}
<tr><th align="right" id="iconlist-icon{$smarty.section.i.index + 1}"></th><td><span class="q{$lvData.pieces[i].quality}"><a href="?item={$lvData.pieces[i].id}">{$lvData.pieces[i].name}</a></span></td></tr>
{/section}
</table>
<script type="text/javascript">
{section name=i loop=$lvData.pieces}
ge('iconlist-icon{$smarty.section.i.index + 1}').appendChild(g_items.createIcon({$lvData.pieces[i].id}, 0, 0));
{/section}
</script>
{if $lvData.page.unavailable}
<div class="pad"></div><b style="color: red">{$lang._unavailable}</b>
{/if}
<h3>{$lang._setBonuses}{$lvData.page.bonusExt}</h3>
{$lang._conveyBonus}
<ul>
{section name=i loop=$lvData.spells}
<li><div>{$lvData.spells[i].bonus} {$lang._pieces}: <a href="?spell={$lvData.spells[i].id}">{$lvData.spells[i].desc}</a></div></li>
{/section}
</ul>
<h2 class="clear">Summary</h2>
<div id="summary-generic"></div>
<script type="text/javascript">//<![CDATA[
new Summary({ldelim} id: 'itemset', template: 'itemset', parent: 'summary-generic', groups: [[[{']],[['|implode:$lvData.compare.items}]]], level: {$lvData.compare.level}{rdelim});
//]]></script>
<h2 class="clear">{$lang.related}</h2>
</div>
<div id="tabs-generic"></div>
<div id="listview-generic" class="listview"></div>
<script type="text/javascript">//<![CDATA[
var tabsRelated = new Tabs({ldelim}parent: ge('tabs-generic'){rdelim});
{if !empty($lvData.related)} {include file='bricks/listviews/itemset.tpl' data=$lvData.related.data params=$lvData.related.params} {/if}
new Listview({ldelim}template: 'comment', id: 'comments', name: LANG.tab_comments, tabs: tabsRelated, parent: 'listview-generic', data: lv_comments{rdelim});
new Listview({ldelim}template: '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)))
new Listview({ldelim}template: 'video', id: 'videos', name: LANG.tab_videos, tabs: tabsRelated, parent: 'listview-generic', data: lv_videos{rdelim});
tabsRelated.flush();
//]]></script>
{include file='bricks/contribute.tpl'}
</div><!-- main-contents -->
</div><!-- main -->
{include file='footer.tpl'}

View File

@@ -1091,7 +1091,7 @@ Mapper.prototype = {
var scroll = g_getScroll(); var scroll = g_getScroll();
this.mouseX = Math.floor((e.clientX + scroll.x - c[0] - 3) / Mapper.sizes[this.zoom][0] * 1000) / 10; this.mouseX = Math.floor((e.clientX + scroll.x - c[0] - 3) / Mapper.sizes[this.zoom][0] * 1000) / 10;
this.mouseY = Math.floor((e.clientY + scroll.y - c[1] - 3) / Mapper.sizes[this.zoom][1] * 1000) / 10; this.mouseY = Math.floor((e.clientY + scroll.y - c[1] - 3) / Mapper.sizes[this.zoom][1] * 1000) / 10;
if(this.mouseX < 0) this.mouseX = 0; if(this.mouseX < 0) this.mouseX = 0;
else if(this.mouseX > 100) this.mouseX = 100; else if(this.mouseX > 100) this.mouseX = 100;

View File

@@ -1093,26 +1093,24 @@ Summary.prototype = {
if (col.id == 'name') { if (col.id == 'name') {
ae(th, this.selectLevel); ae(th, this.selectLevel);
if (this.editable) {
var s = ce('select'); var s = ce('select');
s.onchange = (function(s) { s.onchange = (function(s) {
this.level = s.options[s.selectedIndex].value; this.level = s.options[s.selectedIndex].value;
this.refreshAll(); this.refreshAll();
}).bind(this, s); }).bind(this, s);
for (var i = 80; i > 0; --i) { for (var i = 80; i > 0; --i) {
var o = ce('option'); var o = ce('option');
if (i == this.level) { if (i == this.level) {
o.selected = true; o.selected = true;
}
st(o, i);
ae(s, o);
} }
st(o, i);
ae(this.selectLevel, ct(LANG.su_level + ' ')); ae(s, o);
ae(this.selectLevel, s);
} }
ae(this.selectLevel, ct(LANG.su_level + ' '));
ae(this.selectLevel, s);
} }
if (col.group) { if (col.group) {

View File

@@ -3267,7 +3267,7 @@ function su_addToSaved(c, d, a, e) {
title: LANG.dialog_compare, title: LANG.dialog_compare,
width: 400, width: 400,
height: 138, height: 138,
buttons: ["okay", "cancel"], buttons: [['okay', LANG.ok], ['cancel', LANG.cancel]],
fields: [{ fields: [{
id: "selecteditems", id: "selecteditems",
type: "caption", type: "caption",
@@ -14713,19 +14713,22 @@ var ModelViewer = new function() {
if (!optBak.noPound) { if (!optBak.noPound) {
var url = '#modelviewer'; var url = '#modelviewer';
switch (optBak.type) { var foo = ge('view3D-button');
case 1: // npc if (!foo) {
url += ':1:' + optBak.displayId + ':' + (optBak.humanoid | 0); switch (optBak.type) {
break; case 1: // npc
case 2: // object url += ':1:' + optBak.displayId + ':' + (optBak.humanoid | 0);
url += ':2:' + optBak.displayId; break;
break; case 2: // object
case 3: // item url += ':2:' + optBak.displayId;
url += ':3:' + optBak.displayId + ':' + (optBak.slot | 0); break;
break; case 3: // item
case 4: // item set url += ':3:' + optBak.displayId + ':' + (optBak.slot | 0);
url += ':4:' + equipList.join(';'); break;
break; case 4: // item set
url += ':4:' + equipList.join(';');
break;
}
} }
if (race && sex) { if (race && sex) {
url += ':' + race + '+' + sex; url += ':' + race + '+' + sex;
@@ -15141,7 +15144,7 @@ var ModelViewer = new function() {
readExtraPound(parts[1]); readExtraPound(parts[1]);
} }
else { else {
var foo = ge('dsgndslgn464d'); var foo = ge('view3D-button');
if (foo) { if (foo) {
foo.onclick(); foo.onclick();
} }
@@ -16086,13 +16089,6 @@ var
a.onclick = _processForm.bind(a, button[0]); a.onclick = _processForm.bind(a, button[0]);
a.className = 'dialog-' + button[0]; a.className = 'dialog-' + button[0];
ae(a, ct(button[1])); ae(a, ct(button[1]));
/* custom for lost buttons texture, no longer in use on 2.5.2012
a.onclick = _processForm.bind(a, button);
a.className = 'dialog-' + button;
var sp = ce('span');
sp.innerHTML = button;
ae(a, sp);
end custom */
ae(dest, a); ae(dest, a);
} }