proxitok/app/Controllers/UserController.php

51 lines
1.5 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;
2022-11-04 19:08:19 +00:00
use App\Helpers\UrlBuilder;
use App\Helpers\Wrappers;
2022-05-24 12:10:41 +00:00
use App\Models\FullTemplate;
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 {
2023-04-27 18:23:23 +00:00
public static function get(string $username) {
2022-01-30 23:02:52 +00:00
$cursor = Misc::getCursor();
$api = Wrappers::api();
2022-05-24 12:10:41 +00:00
$user = $api->user($username);
$user->feed($cursor);
if ($user->ok()) {
2022-11-26 22:51:45 +00:00
$info = $user->getInfo();
$feed = $user->getFeed();
Wrappers::latte('user', new FullTemplate($info->detail->nickname, $info, $feed));
2022-01-30 23:02:52 +00:00
} else {
2022-09-03 12:01:03 +00:00
ErrorHandler::showMeta($user->error());
2022-01-30 23:02:52 +00:00
}
}
2023-04-27 18:23:23 +00:00
public static function video(string $username, string $video_id) {
$api = Wrappers::api();
2022-05-24 12:10:41 +00:00
$video = $api->video($video_id);
$video->feed();
if ($video->ok()) {
2022-11-26 22:51:45 +00:00
$item = $video->getFeed()->items[0];
$info = $video->getInfo();
Wrappers::latte('video', new VideoTemplate($item, $info));
2022-03-14 10:50:47 +00:00
} else {
2022-09-03 12:01:03 +00:00
ErrorHandler::showMeta($video->error());
2022-03-14 10:50:47 +00:00
}
}
2023-04-27 18:23:23 +00:00
public static function rss(string $username) {
$api = Wrappers::api();
2022-05-24 12:10:41 +00:00
$user = $api->user($username);
$user->feed();
if ($user->ok()) {
$data = $user->getFull();
2022-11-04 19:08:19 +00:00
Misc::rss($username);
Wrappers::latte('rss', new RSSTemplate($username, $data->info->detail->signature, UrlBuilder::user($username), $data->feed->items));
2022-01-30 23:02:52 +00:00
}
}
}