mirror of
https://github.com/openvk/openvk
synced 2024-12-27 11:01:28 +03:00
55 lines
1.8 KiB
PHP
55 lines
1.8 KiB
PHP
<?php declare(strict_types=1);
|
|
namespace openvk\VKAPI\Handlers;
|
|
use openvk\Web\Models\Repositories\{Users, Clubs};
|
|
|
|
final class Utils extends VKAPIRequestHandler
|
|
{
|
|
function getServerTime(): int
|
|
{
|
|
return time();
|
|
}
|
|
|
|
function resolveScreenName(string $screen_name): object
|
|
{
|
|
if(\Chandler\MVC\Routing\Router::i()->getMatchingRoute("/$screen_name")[0]->presenter !== "UnknownTextRouteStrategy") {
|
|
if(substr($screen_name, 0, strlen("id")) === "id") {
|
|
return (object) [
|
|
"object_id" => (int) substr($screen_name, strlen("id")),
|
|
"type" => "user"
|
|
];
|
|
} else if(substr($screen_name, 0, strlen("club")) === "club") {
|
|
return (object) [
|
|
"object_id" => (int) substr($screen_name, strlen("club")),
|
|
"type" => "group"
|
|
];
|
|
} else $this->fail(104, "Not found");
|
|
} else {
|
|
$user = (new Users)->getByShortURL($screen_name);
|
|
if($user) {
|
|
return (object) [
|
|
"object_id" => $user->getId(),
|
|
"type" => "user"
|
|
];
|
|
}
|
|
|
|
$club = (new Clubs)->getByShortURL($screen_name);
|
|
if($club) {
|
|
return (object) [
|
|
"object_id" => $club->getId(),
|
|
"type" => "group"
|
|
];
|
|
}
|
|
|
|
$this->fail(104, "Not found");
|
|
}
|
|
}
|
|
|
|
function resolveGuid(string $guid): object
|
|
{
|
|
$user = (new Users)->getByChandlerUserId($guid);
|
|
if (is_null($user))
|
|
$this->fail(104, "Not found");
|
|
|
|
return $user->toVkApiStruct($this->getUser());
|
|
}
|
|
}
|