<?php declare(strict_types=1); namespace openvk\VKAPI\Handlers; use openvk\Web\Models\Entities\User; use openvk\Web\Models\Repositories\Users as UsersRepo; use openvk\Web\Models\Entities\Club; use openvk\Web\Models\Repositories\Clubs as ClubsRepo; use openvk\Web\Models\Entities\Video as VideoEntity; use openvk\Web\Models\Repositories\Videos as VideosRepo; use openvk\Web\Models\Entities\Comment; use openvk\Web\Models\Repositories\Comments as CommentsRepo; final class Video extends VKAPIRequestHandler { function get(int $owner_id, string $videos, int $offset = 0, int $count = 30, int $extended = 0): object { $this->requireUser(); if ($videos) { $vids = explode(',', $videos); foreach($vids as $vid) { $id = explode("_", $vid); $items = []; $video = (new VideosRepo)->getByOwnerAndVID(intval($id[0]), intval($id[1])); if($video) { $items[] = $video->getApiStructure(); } } return (object) [ "count" => count($items), "items" => $items ]; } else { if ($owner_id > 0) $user = (new UsersRepo)->get($owner_id); else $this->fail(1, "Not implemented"); $videos = (new VideosRepo)->getByUser($user, $offset + 1, $count); $videosCount = (new VideosRepo)->getUserVideosCount($user); $items = []; foreach ($videos as $video) { $items[] = $video->getApiStructure(); } return (object) [ "count" => $videosCount, "items" => $items ]; } } }