|
|
|
@ -78,31 +78,68 @@ class UserInfo extends UserStats
|
|
|
|
|
$this->money . '<br>' .
|
|
|
|
|
$this->Bank->getMoney();
|
|
|
|
|
}
|
|
|
|
|
$nameString = '';
|
|
|
|
|
if ($this->align) {
|
|
|
|
|
$nameString = sprintf('<img src="/i/align_%s.png" alt="Склонность">', $this->align);
|
|
|
|
|
$nameString = null;
|
|
|
|
|
$nameString .= $this->align ? "<img src='/i/align_$this->align.png' alt='Склонность'>" : "";
|
|
|
|
|
$nameString .= $this->block ? "<span class='private' style='text-decoration: line-through;'>$this->login</span>" : "<b>$this->login</b>";
|
|
|
|
|
$nameString .= $this->clan ? "<img src='/i/clan/$this->clan.png' alt='Клан'>" : "";
|
|
|
|
|
|
|
|
|
|
echo <<<HTML
|
|
|
|
|
<div class="user-info">
|
|
|
|
|
<div class="info"><b>$nameString</b></div><!-- info -->
|
|
|
|
|
<div class="stats-container">
|
|
|
|
|
<div class="column">$captions</div><!-- column -->
|
|
|
|
|
<div class="column">$variables</div><!-- column -->
|
|
|
|
|
</div><!-- stats-container -->
|
|
|
|
|
</div><!-- user-info -->
|
|
|
|
|
HTML;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* О персонаже для модераторов.
|
|
|
|
|
* @return string|null
|
|
|
|
|
*/
|
|
|
|
|
private function showPrivateData(): ?string
|
|
|
|
|
{
|
|
|
|
|
if (!$this->watcherIsAdmin || !$this->watcherIsModerator) {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
if ($this->block) {
|
|
|
|
|
$nameString .= '<span class="private"><s>' . $this->login . '</s></span>';
|
|
|
|
|
} else {
|
|
|
|
|
$nameString .= ' <b>' . $this->login . '</b> ';
|
|
|
|
|
$birthday = date('d.m.Y', strtotime($this->borndate));
|
|
|
|
|
$userLogs = GameLogs::getUserLogs($this->id);
|
|
|
|
|
$log = null;
|
|
|
|
|
while ($userLogRow = $userLogs->fetchArray(SQLITE3_ASSOC)) {
|
|
|
|
|
$log .= sprintf('<code>%s</code><br>', date('d.m.Y H:i ', strtotime($userLogRow['date'])) . $userLogRow['text']);
|
|
|
|
|
}
|
|
|
|
|
if ($this->clan) {
|
|
|
|
|
$nameString .= sprintf('<img src="/i/clan/%s.png" alt="Клан">', $this->clan);
|
|
|
|
|
}
|
|
|
|
|
echo '<div class="user-info">';
|
|
|
|
|
echo '<div class="info">';
|
|
|
|
|
echo '<b>' . $nameString . '</b>';
|
|
|
|
|
echo '</div><!-- info -->';
|
|
|
|
|
echo '<div class="stats-container">';
|
|
|
|
|
echo '<div class="column">';
|
|
|
|
|
echo $captions;
|
|
|
|
|
echo '</div><!-- column -->';
|
|
|
|
|
echo '<div class="column">';
|
|
|
|
|
echo $variables;
|
|
|
|
|
echo '</div><!-- column -->';
|
|
|
|
|
echo '</div><!-- stats-container -->';
|
|
|
|
|
echo '</div><!-- user-info -->';
|
|
|
|
|
$adminData = $this->watcherIsAdmin ? $this->showAdminOnlyData() : null;
|
|
|
|
|
return <<<INFO
|
|
|
|
|
<div class="secret-info">
|
|
|
|
|
E-Mail: $this->email<br>
|
|
|
|
|
ДР Игрока: $birthday<br>
|
|
|
|
|
IP Регистрации: $this->ip<br>
|
|
|
|
|
$adminData<br>
|
|
|
|
|
<div class="secret-info-user-log"><b>Личное дело</b><br>
|
|
|
|
|
$log
|
|
|
|
|
</div><!-- secret-info-user-log -->
|
|
|
|
|
</div><!-- secret-info -->
|
|
|
|
|
INFO;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* О персонаже для администраторов.
|
|
|
|
|
* @return string|null
|
|
|
|
|
*/
|
|
|
|
|
private function showAdminOnlyData(): ?string
|
|
|
|
|
{
|
|
|
|
|
$this->Bank = new Bank($this->id);
|
|
|
|
|
$bankMoney = $this->Bank->getMoney();
|
|
|
|
|
return <<<INFO
|
|
|
|
|
ИД Игрока: $this->id<br>
|
|
|
|
|
ИД Комнаты: $this->room<br>
|
|
|
|
|
Деньги: $this->money<br>
|
|
|
|
|
Деньги в банке: $bankMoney<br>
|
|
|
|
|
Опыт: $this->experience<br>
|
|
|
|
|
Нераспределённые очки: $this->free_stat_points<br>
|
|
|
|
|
INFO;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private function Info()
|
|
|
|
@ -110,10 +147,7 @@ class UserInfo extends UserStats
|
|
|
|
|
echo '<div class="user-info-container">';
|
|
|
|
|
$this->UserInfoDoll();
|
|
|
|
|
$this->UserInfoStats();
|
|
|
|
|
echo '<div class="slot-lower">';
|
|
|
|
|
if ($this->married) {
|
|
|
|
|
echo sprintf('<a href = "inf.php?%s" target = _blank ><img alt = "В браке с %s" src = "i/married.gif" title = "В браке с %s"></a >', $this->married, $this->married, $this->married);
|
|
|
|
|
}
|
|
|
|
|
echo '<div class="slot-lower"> <!-- statuses! -->';
|
|
|
|
|
echo '</div><!-- slot-lower -->';
|
|
|
|
|
echo '<div class="user-signs">';
|
|
|
|
|
echo sprintf('<img src="i/zodiac/%s.png" alt="Родовой знак">', $this->showStarSign());
|
|
|
|
@ -129,24 +163,7 @@ class UserInfo extends UserStats
|
|
|
|
|
echo nl2br($this->info);
|
|
|
|
|
}
|
|
|
|
|
echo '</div><!-- user-info-container-lower -->';
|
|
|
|
|
|
|
|
|
|
if ($this->watcherIsAdmin || $this->watcherIsModerator) {
|
|
|
|
|
echo '<div class="secret-info">';
|
|
|
|
|
$infoString = 'E-Mail: %s<br> ДР Игрока: %s<br> IP Регистрации: %s';
|
|
|
|
|
echo sprintf($infoString, $this->email, date('d.m.Y', strtotime($this->borndate)), $this->ip);
|
|
|
|
|
if ($this->watcherIsAdmin) {
|
|
|
|
|
$this->Bank = new Bank($this->id);
|
|
|
|
|
$infoString = '<br><span>ИД Игрока: %s<br> ИД Комнаты: %s<br> Деньги: %s<br> Деньги в банке: %s<br> Опыт: %s<br> Нераспределённые очки: %s<br> Текущая сессия: %s</span>';
|
|
|
|
|
echo sprintf($infoString, $this->id, $this->room, $this->money, $this->Bank->getMoney(), $this->experience, $this->free_stat_points, $this->session_id);
|
|
|
|
|
}
|
|
|
|
|
$this->UserLogs = GameLogs::getUserLogs($this->id);
|
|
|
|
|
echo '<div class="secret-info-user-log"><b>Личное дело</b><br>';
|
|
|
|
|
while ($userLogRow = $this->UserLogs->fetchArray(SQLITE3_ASSOC)) {
|
|
|
|
|
echo sprintf('<code>%s</code><br>', date("d.m.Y H:i ", strtotime($userLogRow['date'])) . $userLogRow['text']);
|
|
|
|
|
}
|
|
|
|
|
echo '</div><!-- secret-info-user-log -->';
|
|
|
|
|
echo '</div><!-- secret-info -->';
|
|
|
|
|
}
|
|
|
|
|
echo $this->showPrivateData();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function showUserInfo()
|
|
|
|
|