38 lines
1.0 KiB
PHP
38 lines
1.0 KiB
PHP
|
<?php
|
|||
|
|
|||
|
namespace Inf;
|
|||
|
|
|||
|
use Core\Config;
|
|||
|
use Helper\Conversion;
|
|||
|
|
|||
|
class Status
|
|||
|
{
|
|||
|
private array $statuses;
|
|||
|
|
|||
|
public function add(bool $condition, string $text, int|string|null $timeout = 0, ?string $img = ''): void
|
|||
|
{
|
|||
|
if (!$condition) {
|
|||
|
return;
|
|||
|
}
|
|||
|
if (!empty($timeout)) {
|
|||
|
$text .= ' ещё ' . Conversion::secondsToTimeout($timeout - time());
|
|||
|
}
|
|||
|
|
|||
|
$text = "<span style='vertical-align:middle;'>$text</span>";
|
|||
|
|
|||
|
if (!empty($img)) {
|
|||
|
$text = '<span><img src="' . Config::img() . DIRECTORY_SEPARATOR . $img . '" alt="' . $text . '" style="vertical-align:middle;"></span> ' . $text;
|
|||
|
}
|
|||
|
|
|||
|
$this->statuses[] = "<div>$text</div>"; // обёртка для центрирования картинки с текстом
|
|||
|
}
|
|||
|
|
|||
|
public function print(): void
|
|||
|
{
|
|||
|
if (empty($this->statuses)) {
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
echo '<br><div style="font-size: smaller;">' . implode('<br>', $this->statuses) . '</div>';
|
|||
|
}
|
|||
|
}
|