mirror of
https://github.com/Sarjuuk/aowow.git
synced 2025-11-29 15:58:16 +08:00
* modernize DB-Types - long term: should be split in class that describes the DB-Type and container class that handles multiples * make unchanging filter props static, allow lookup of criteria indizes through filter * move username/mail/password checks to util and make them usable as input filter
77 lines
2.3 KiB
PHP
77 lines
2.3 KiB
PHP
<?php
|
|
|
|
namespace Aowow;
|
|
|
|
if (!defined('AOWOW_REVISION'))
|
|
die('illegal access');
|
|
|
|
|
|
class PetList extends DBTypeList
|
|
{
|
|
use ListviewHelper;
|
|
|
|
public static int $type = Type::PET;
|
|
public static string $brickFile = 'pet';
|
|
public static string $dataTable = '?_pet';
|
|
|
|
protected string $queryBase = 'SELECT p.*, p.`id` AS ARRAY_KEY FROM ?_pet p';
|
|
protected array $queryOpts = array(
|
|
'p' => [['ic']],
|
|
'ic' => ['j' => ['?_icons ic ON p.`iconId` = ic.`id`', true], 's' => ', ic.`name` AS "iconString"'],
|
|
);
|
|
|
|
public function getListviewData() : array
|
|
{
|
|
$data = [];
|
|
|
|
foreach ($this->iterate() as $__)
|
|
{
|
|
$data[$this->id] = array(
|
|
'armor' => $this->curTpl['armor'],
|
|
'damage' => $this->curTpl['damage'],
|
|
'health' => $this->curTpl['health'],
|
|
'diet' => $this->curTpl['foodMask'],
|
|
'icon' => $this->curTpl['iconString'],
|
|
'id' => $this->id,
|
|
'maxlevel' => $this->curTpl['maxLevel'],
|
|
'minlevel' => $this->curTpl['minLevel'],
|
|
'name' => $this->getField('name', true),
|
|
'type' => $this->curTpl['type'],
|
|
'exotic' => $this->curTpl['exotic'],
|
|
'spells' => []
|
|
);
|
|
|
|
if ($this->curTpl['expansion'] > 0)
|
|
$data[$this->id]['expansion'] = $this->curTpl['expansion'];
|
|
|
|
for ($i = 1; $i <= 4; $i++)
|
|
if ($this->curTpl['spellId'.$i] > 0)
|
|
$data[$this->id]['spells'][] = $this->curTpl['spellId'.$i];
|
|
}
|
|
|
|
return $data;
|
|
}
|
|
|
|
public function getJSGlobals(int $addMask = GLOBALINFO_ANY) : array
|
|
{
|
|
$data = [];
|
|
|
|
foreach ($this->iterate() as $__)
|
|
{
|
|
if ($addMask & GLOBALINFO_RELATED)
|
|
for ($i = 1; $i <= 4; $i++)
|
|
if ($this->curTpl['spellId'.$i] > 0)
|
|
$data[Type::SPELL][$this->curTpl['spellId'.$i]] = $this->curTpl['spellId'.$i];
|
|
|
|
if ($addMask & GLOBALINFO_SELF)
|
|
$data[Type::PET][$this->id] = ['icon' => $this->curTpl['iconString']];
|
|
}
|
|
|
|
return $data;
|
|
}
|
|
|
|
public function renderTooltip() : ?string { return null; }
|
|
}
|
|
|
|
?>
|