proxitok/app/Controllers/UserController.php

49 lines
1.6 KiB
PHP
Raw Normal View History

2022-01-30 23:02:52 +00:00
<?php
namespace App\Controllers;
use App\Helpers\ErrorHandler;
use App\Helpers\Misc;
use App\Helpers\Wrappers;
2022-01-30 23:02:52 +00:00
use App\Models\FeedTemplate;
use App\Models\RSSTemplate;
2022-04-10 10:10:48 +00:00
use App\Models\VideoTemplate;
2022-01-30 23:02:52 +00:00
class UserController {
static public function get(string $username) {
$cursor = Misc::getCursor();
$api = Wrappers::api();
2022-01-30 23:02:52 +00:00
$feed = $api->getUserFeed($username, $cursor);
if ($feed->meta->success) {
2022-02-13 21:21:08 +00:00
if ($feed->info->detail->privateAccount) {
http_response_code(403);
2022-01-30 23:02:52 +00:00
echo 'Private account detected! Not supported';
exit;
2022-01-30 23:02:52 +00:00
}
$latte = Wrappers::latte();
2022-03-11 22:18:26 +00:00
$latte->render(Misc::getView('user'), new FeedTemplate($feed->info->detail->nickname, $feed));
2022-01-30 23:02:52 +00:00
} else {
ErrorHandler::show($feed->meta);
}
}
2022-03-14 10:50:47 +00:00
static public function video(string $username, string $video_id) {
$api = Wrappers::api();
2022-03-14 10:50:47 +00:00
$feed = $api->getVideoByID($video_id);
if ($feed->meta->success) {
$latte = Wrappers::latte();
2022-04-10 10:10:48 +00:00
$latte->render(Misc::getView('video'), new VideoTemplate($feed->items[0], $feed->info->detail));
2022-03-14 10:50:47 +00:00
} else {
ErrorHandler::show($feed->meta);
}
}
2022-01-30 23:02:52 +00:00
static public function rss(string $username) {
$api = Wrappers::api();
2022-01-30 23:02:52 +00:00
$feed = $api->getUserFeed($username);
if ($feed->meta->success) {
$latte = Wrappers::latte();
$latte->render(Misc::getView('rss'), new RSSTemplate($username, $feed->info->detail->signature, '/@' . $username, $feed->items));
2022-01-30 23:02:52 +00:00
}
}
}