mirror of
https://github.com/openvk/openvk
synced 2024-11-11 09:29:29 +03:00
85 lines
1.9 KiB
PHP
85 lines
1.9 KiB
PHP
<?php declare(strict_types=1);
|
||
namespace openvk\Web\Presenters;
|
||
use openvk\Web\Models\Entities\User;
|
||
use openvk\Web\Models\Repositories\{Users, Clubs};
|
||
|
||
final class AdminPresenter extends OpenVKPresenter
|
||
{
|
||
private $users;
|
||
private $clubs;
|
||
|
||
function __construct(Users $users, Clubs $clubs)
|
||
{
|
||
$this->users = $users;
|
||
$this->clubs = $clubs;
|
||
|
||
parent::__construct();
|
||
}
|
||
|
||
private function searchResults(object $repo, &$count)
|
||
{
|
||
$query = $this->queryParam("q") ?? "";
|
||
$page = (int) ($this->queryParam("p") ?? 1);
|
||
|
||
$count = $repo->getFoundCount($query);
|
||
return $repo->find($query, $page);
|
||
}
|
||
|
||
function onStartup(): void
|
||
{
|
||
exit("Не реализовано...");
|
||
}
|
||
|
||
function renderIndex(): void
|
||
{
|
||
|
||
}
|
||
|
||
function renderUsers(): void
|
||
{
|
||
$this->template->users = $this->searchResults($this->users, $this->template->count);
|
||
}
|
||
|
||
function renderUser(int $id): void
|
||
{
|
||
$user = $this->users->get($id);
|
||
if(!$user)
|
||
$this->notFound();
|
||
|
||
$this->template->user = $user;
|
||
|
||
if($_SERVER["REQUEST_METHOD"] !== "POST")
|
||
return;
|
||
|
||
switch($_POST["act"] ?? "info") {
|
||
default:
|
||
case "info":
|
||
break;
|
||
|
||
|
||
}
|
||
}
|
||
|
||
function renderClubs(): void
|
||
{
|
||
$this->template->clubs = $this->searchResults($this->clubs, $this->template->count);
|
||
}
|
||
|
||
function renderClub(int $id): void
|
||
{
|
||
$club = $this->clubs->get($id);
|
||
if(!$club)
|
||
$this->notFound();
|
||
|
||
$this->template->club = $club;
|
||
|
||
if($_SERVER["REQUEST_METHOD"] === "POST") {
|
||
|
||
}
|
||
}
|
||
|
||
function renderFiles(): void
|
||
{
|
||
|
||
}
|
||
}
|