* Project name: Battles-Game
*/
class nick
{
private $user_data;
/**
* nick constructor.
* @param int $playerId
*/
private function __construct($playerId)
{
if (!$this->user_data) {
$user = db::c()->query('
SELECT `login`, `level`, U.`align`, `short`, (SELECT 1 FROM `effects` WHERE `owner` = U.`id` AND `type` = 1022) AS `invis`, U.`hp`, `maxhp`
FROM `users` U
LEFT JOIN `clans` C ON C.`id` = `klan`
WHERE U.`id` = ?i', $playerId)->fetch_assoc();
$this->user_data = $user;
}
}
/**
* @param $playerId
* @return nick
*/
public static function id($playerId)
{
return new self($playerId);
}
/**
* @param int $showInvisibility
* @return string
*/
public function full($showInvisibility = 0)
{
$n = '';
if ($showInvisibility && isset($this->user_data['invis'])) {
return 'невидимка';
} else {
if (isset($this->user_data['align'])) {
$n .= sprintf('', intval($this->user_data['align']));
}
if (isset($this->user_data['klan'])) {
$n .= sprintf('', htmlspecialchars($this->user_data['klan']));
}
}
$n .= sprintf('%s [%s] ', htmlspecialchars($this->user_data['login']), intval($this->user_data['level']), htmlspecialchars($this->user_data['login']));
return $n;
}
/**
* @return string
*/
public function short()
{
if ($this->user_data['invis']) {
return 'невидимка';
} else return htmlspecialchars($this->user_data['login']);
}
}