2025-01-31 18:20:13 +03:00
|
|
|
<?php
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
2020-06-07 19:04:43 +03:00
|
|
|
namespace openvk\Web\Presenters;
|
2025-01-31 18:20:13 +03:00
|
|
|
|
2022-08-09 08:58:47 +03:00
|
|
|
use openvk\Web\Models\Repositories\{Users, Clubs};
|
2020-06-07 19:04:43 +03:00
|
|
|
|
|
|
|
final class UnknownTextRouteStrategyPresenter extends OpenVKPresenter
|
|
|
|
{
|
2025-01-31 18:20:13 +03:00
|
|
|
public function renderDelegate(string $data): void
|
2020-06-07 19:04:43 +03:00
|
|
|
{
|
2025-01-31 18:20:13 +03:00
|
|
|
if (strlen($data) >= 2) {
|
|
|
|
$user = (new Users())->getByShortURL($data);
|
|
|
|
if ($user) {
|
2020-06-07 19:04:43 +03:00
|
|
|
$this->pass("openvk!User->view", $user->getId());
|
2025-01-31 18:20:13 +03:00
|
|
|
}
|
|
|
|
$club = (new Clubs())->getByShortURL($data);
|
|
|
|
if ($club) {
|
2020-06-07 19:04:43 +03:00
|
|
|
$this->pass("openvk!Group->view", "public", $club->getId());
|
2025-01-31 18:20:13 +03:00
|
|
|
}
|
2020-06-07 19:04:43 +03:00
|
|
|
}
|
2025-01-31 18:20:13 +03:00
|
|
|
|
2020-06-07 19:04:43 +03:00
|
|
|
$this->notFound();
|
|
|
|
}
|
|
|
|
}
|