battles/classes/User.php

171 lines
4.9 KiB
PHP

<?php
class User
{
public $id;
public $login;
public $email;
public $realname;
public $borndate;
public $info;
public $level;
public $align;
public $clan;
public $money;
public $strength;
public $dexterity;
public $intuition;
public $endurance;
public $intelligence;
public $wisdom;
public $ip;
public $session_id;
public $admin;
public $enter_game;
public $room;
public $block;
// Пока несуществующие, для совместимости.
public $married;
public $exp;
public $stats;
public $shadow;
use Rooms;
public function __construct($user)
{
$user_query = db::c()->query('SELECT * FROM users WHERE id = "?s" OR login = "?s"', $user, $user)->fetch_assoc();
foreach ($this as $key => $value) {
if (isset($user_query[$key])) {
$this->$key = $user_query[$key];
}
}
}
protected function showItem(array $item)
{
$itemSlot = $item['dressed_slot'] ?? 0;
$itemName = $item['name'] ?? '';
$itemImage = $item['image'] ?? '';
if ($itemSlot) {
echo <<<SLOT
<img src="/i/sh/{$itemImage}" class="item-wrap-normal tip" alt="Слот [{$itemSlot}]">
<span class="tiptext"><strong>{$itemName}</strong></span>
SLOT;
} else {
echo <<<EMPTY_SLOT
<img src="/i/sh/noitem.png" class="item-wrap-normal" title="Пустой слот [{$itemSlot}]" alt="Пустой слот [{$itemSlot}]>
EMPTY_SLOT;
}
}
public function showUserInfo()
{
$dressed_item = [];
$dressed_items = db::c()->query('SELECT * FROM inventory WHERE owner_id = ?i AND dressed_slot > 0', $this->id);
while ($row = $dressed_items->fetch_assoc()) {
$dressed_item[$row['dressed_slot']] = $row;
}
include_once 'views/user-info-doll.php';
echo <<<USERINFO
<div style="text-align: center">
<?php if ($this->align): ?>
<img src="/i/align_{$this->align}.png" alt="Склонность">
<?php endif; ?>
<?php if ($this->block): ?>
<span class="private"><s>{$this->login}</s></span>
<?php else: ?>
<strong>{$this->login}</strong>
<?php endif; ?>
<?php if ($this->clan): ?>
<img src="/i/clan/{$this->clan}.png" alt="{$this->clan}">
<?php endif; ?>
</div>
<div style="width: 100%; height: 16px; background: #ffaaff; overflow: hidden; border-radius: 3px; font-size: 14px; text-align: center;">
добавить здоровье 🤔
</div>
<table style="width: 100%; text-align: center;">
<tr>
<td width=62 valign=top>
<table width=100%>
<tr>
<td>
{$this->showItem($dressed_item[1])}
</td>
</tr>
<tr>
<td>
{$this->showItem($dressed_item[2])}
</td>
</tr>
<tr>
<td>
{$this->showItem($dressed_item[3])}
</td>
</tr>
<tr>
<td>
{$this->showItem($dressed_item[4])}
</td>
</tr>
</table>
</td>
<td valign=top>
<img src="/i/shadow/{$this->shadow}" onerror=" this.src = '/i/shadow/0.gif';">
</td>
<td width="62" valign=top>
<table width=100%>
<tr>
<td>
{$this->showItem($dressed_item[5])}
</td>
</tr>
<tr>
<td>
{$this->showItem($dressed_item[6])}
</td>
</tr>
<tr>
<td>
{$this->showItem($dressed_item[7])}
</td>
</tr>
<tr>
<td>
{$this->showItem($dressed_item[8])}
</td>
</tr>
</table>
</td>
</tr>
</table>
<div style="text-align: center">
{$this->showItem($dressed_item[9])}
{$this->showItem($dressed_item[10])}
{$this->showItem($dressed_item[11])}
</div>
Имя {$this->login} <br>
Сила {$this->strength} <br>
Ловкость {$this->dexterity} <br>
Интуиция {$this->intuition} <br>
Выносливость {$this->endurance} <br>
Интеллект {$this->intelligence} <br>
Мудрость {$this->wisdom} <br>
Находится в {$this->getRoomName($this->room)}<br>
USERINFO;
// if (isset($dressed_item[1])) {
// $this->showItem($dressed_item[1]);
// }
// if (isset($dressed_item[2])) {
// $this->showItem($dressed_item[2]);
// }
// if (isset($dressed_item[4])) {
// $this->showItem($dressed_item[4]);
// }
}
}