mirror of
https://github.com/openvk/openvk
synced 2024-11-14 11:09:12 +03:00
84 lines
1.9 KiB
PHP
84 lines
1.9 KiB
PHP
<?php declare(strict_types=1);
|
|
namespace openvk\Web\Models\Entities;
|
|
use openvk\Web\Util\DateTime;
|
|
use Nette\Database\Table\ActiveRow;
|
|
use openvk\Web\Models\RowModel;
|
|
use Chandler\Database\DatabaseConnection;
|
|
use openvk\Web\Models\Repositories\Users;
|
|
use Chandler\Database\DatabaseConnection as DB;
|
|
use Nette\InvalidStateException as ISE;
|
|
use Nette\Database\Table\Selection;
|
|
|
|
class Ticket extends RowModel
|
|
{
|
|
|
|
protected $tableName = "tickets";
|
|
|
|
function getId(): int
|
|
{
|
|
return $this->getRecord()->id;
|
|
}
|
|
|
|
function getStatus(): string
|
|
{
|
|
if ($this->getRecord()->type === 0)
|
|
{
|
|
return 'Вопрос находится на рассмотрении.';
|
|
} elseif ($this->getRecord()->type === 1) {
|
|
return 'Есть ответ.';
|
|
} elseif ($this->getRecord()->type === 2) {
|
|
return 'Закрыто.';
|
|
}
|
|
}
|
|
|
|
function getType(): int
|
|
{
|
|
return $this->getRecord()->type;
|
|
}
|
|
|
|
function getName(): string
|
|
{
|
|
return ovk_proc_strtr($this->getRecord()->name, 100);
|
|
}
|
|
|
|
function getContext(): string
|
|
{
|
|
$text = $this->getRecord()->text;
|
|
$text = $this->formatLinks($text);
|
|
$text = $this->removeZalgo($text);
|
|
$text = nl2br($text);
|
|
return $text;
|
|
}
|
|
|
|
function getTime(): DateTime
|
|
{
|
|
return new DateTime($this->getRecord()->created);
|
|
}
|
|
|
|
function isDeleted(): bool
|
|
{
|
|
if ($this->getRecord()->deleted === 0)
|
|
{
|
|
return false;
|
|
} elseif ($this->getRecord()->deleted === 1) {
|
|
return true;
|
|
}
|
|
}
|
|
|
|
function authorId(): int
|
|
{
|
|
return $this->getRecord()->user_id;
|
|
}
|
|
|
|
function getUser(): user
|
|
{
|
|
return (new Users)->get($this->getRecord()->user_id);
|
|
}
|
|
|
|
function isAd(): bool /* Эх, костыли... */
|
|
{
|
|
return false;
|
|
}
|
|
|
|
use Traits\TRichText;
|
|
}
|