@@ -0,0 +1,90 @@
|
||||
<?php
|
||||
|
||||
namespace User;
|
||||
|
||||
use Clan\ClanInfo;
|
||||
use Core\Config;
|
||||
use Core\Db;
|
||||
use Images;
|
||||
|
||||
class Clan
|
||||
{
|
||||
private $userid;
|
||||
private int $id = 0;
|
||||
private ?string $name;
|
||||
private ?int $align;
|
||||
private ?int $logo;
|
||||
private ?int $status;
|
||||
public function __construct(array $userinfo)
|
||||
{
|
||||
$this->userid = $userinfo['id'];
|
||||
if (isset($_POST['joinclan']) && ClanInfo::isJoinable($_POST['joinclan'])) {
|
||||
$this->join($_POST['joinclan']);
|
||||
exit('<script>window.location.replace("/main.php?clan=1");</script>');
|
||||
}
|
||||
$c = Db::getRow('select * from clan where id = ?', [$userinfo['clan']]);
|
||||
if (!empty($c)) {
|
||||
foreach ($c as $k => $v) {
|
||||
$this->$k = $v;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private function join(string $clanname)
|
||||
{
|
||||
Db::sql('update users set clan = (select id from clan where clan.name = ?) where id = ?', [$clanname, $this->userid]);
|
||||
}
|
||||
|
||||
public function getId(): int
|
||||
{
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
public function getName(): ?string
|
||||
{
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
public function getAlign(): ?int
|
||||
{
|
||||
return $this->align;
|
||||
}
|
||||
|
||||
public function printLogoImage(): string
|
||||
{
|
||||
return '<img style="vertical-align:text-bottom;" src = "'. Images::getSrc($this->logo) . '" width = "24px" height = "15px">';
|
||||
}
|
||||
|
||||
public function getStatus(): ?int
|
||||
{
|
||||
return $this->status;
|
||||
}
|
||||
|
||||
public function printClan()
|
||||
{
|
||||
echo '<img style="vertical-align:text-bottom;" src="' . Config::img() . '/i/align/align' . $this->getAlign() . '.gif" alt="Склонность">' . $this->printLogoImage() . $this->getName();
|
||||
}
|
||||
|
||||
public function getLogo(): ?int
|
||||
{
|
||||
return $this->logo;
|
||||
}
|
||||
|
||||
/**
|
||||
* Клан зарегистрирован и подверждён.
|
||||
* @return bool
|
||||
*/
|
||||
public function isRegistered(): bool
|
||||
{
|
||||
return !empty($this->id) && $this->status !== 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Клан зарегистрирован и ожидает подтверждения.
|
||||
* @return bool
|
||||
*/
|
||||
public function isAwaitingConfirmation(): bool
|
||||
{
|
||||
return !empty($this->id) && $this->status === 0;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user