aowow/includes/class.skill.php
Sarjuuk 684b2f2778 - Tooltip class from global.js to basic.js (added nessecary prefix)
- miscTools:
    * implemented random DB-Page
    * others are placeholder (at least no errors are generated)
- Articles / Infobox:
    * dropped aowow_article_items, parse nessecary globals directly from article or infobox
    * articles default back to english if no target articles is absent
    * quickinfo from db is only used if no auto-generated info is available
- CharClass:
    * implemented detail-page
    * added basic articles per class (english only)
- generic lv-page
    * now accepts multiple listviews (as required by miscTools)
    * can display text and title
- Markup.js:
    * exchanged to current version (yet to be looked over, but basic articles are displayed properly for now)
    * removed some hacks that were nessecary for the old Markup / Menu
- Listview
    * made some more code readeable, no major changes
    * calendar-template is now functional (WorldEvents use it)

...squashing bugs left and right
2013-09-01 15:37:40 +02:00

88 lines
2.3 KiB
PHP

<?php
if (!defined('AOWOW_REVISION'))
die('illegal access');
class SkillList extends BaseType
{
public static $type = TYPE_SKILL;
protected $setupQuery = 'SELECT *, id AS ARRAY_KEY FROM ?_skillLine sl WHERE [cond] ORDER BY id ASC';
public function __construct($conditions = [])
{
parent::__construct($conditions);
// post processing
foreach ($this->iterate() as &$_curTpl)
{
$_ = &$_curTpl['specializations']; // shorthand
if (!$_)
$_ = [0, 0, 0, 0, 0];
else
{
$_ = explode(' ', $_);
while (count($_) < 5)
$_[] = 0;
}
}
}
public static function getName($id)
{
$n = DB::Aowow()->SelectRow('
SELECT
name_loc0,
name_loc2,
name_loc3,
name_loc6,
name_loc8
FROM
?_skillLine
WHERE
id = ?d',
$id
);
return Util::localizedString($n, 'name');
}
public function getListviewData()
{
$data = [];
foreach ($this->iterate() as $__)
{
$data[$this->id] = array(
'category' => $this->curTpl['typeCat'],
'categorybak' => $this->curTpl['categoryId'],
'id' => $this->id,
'name' => Util::jsEscape($this->getField('name', true)),
'profession' => $this->curTpl['professionMask'],
'recipeSubclass' => $this->curTpl['recipeSubClass'],
'specializations' => json_encode($this->curTpl['specializations'], JSON_NUMERIC_CHECK),
'icon' => Util::jsEscape($this->curTpl['iconString'])
);
}
return $data;
}
public function addGlobalsToJScript(&$template, $addMask = 0)
{
foreach ($this->iterate() as $__)
{
$template->extendGlobalData(self::$type, [
$this->id => [
'name' => Util::jsEscape($this->getField('name', true)),
'icon' => Util::jsEscape($this->curTpl['iconString'])
]
]);
}
}
public function renderTooltip() { }
}
?>