47 lines
No EOL
1,007 B
PHP
47 lines
No EOL
1,007 B
PHP
<?php
|
|
|
|
|
|
namespace Venom\Admin;
|
|
|
|
|
|
use Venom\Helper\URLHelper;
|
|
use Venom\Views\Asset;
|
|
use Venom\Views\RenderController;
|
|
use Venom\Views\VenomRenderer;
|
|
use Venom\Models\User;
|
|
use \Venom\Security\Security;
|
|
|
|
class AdminController implements RenderController
|
|
|
|
{
|
|
|
|
private string $tpl = 'default';
|
|
|
|
public function register(): bool
|
|
{
|
|
return true;
|
|
}
|
|
|
|
public function render(VenomRenderer $renderer): bool
|
|
{
|
|
if (URLHelper::getInstance()->getUrl() !== '/admin/') {
|
|
http_response_code(404);
|
|
$this->tpl = 'async';
|
|
}
|
|
|
|
$isLogin = Security::get()->hasRole(User::ADMIN_ROLE);
|
|
$renderer->addVar('isLoggedIn', $isLogin);
|
|
if (!$isLogin) {
|
|
Asset::get()->addCSS('login','login.css');
|
|
}
|
|
Asset::get()->addCSS('styles','style.css', 1);
|
|
Asset::get()->addJS('scripts', 'scripts.min.js', 1);
|
|
|
|
return true;
|
|
}
|
|
|
|
public function getTemplate(): string
|
|
{
|
|
return $this->tpl;
|
|
}
|
|
} |