This commit is contained in:
2026-01-01 21:10:46 +08:00
parent 5c1b19c08a
commit 6c31ffa120
26 changed files with 1171 additions and 209 deletions

View File

@@ -9,7 +9,7 @@ declare(strict_types=1);
namespace App\Controllers;
use App\Errors\PlaylistNotFoundException;
use App\Exceptions\PlaylistNotFoundException;
use Exception;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
@@ -36,7 +36,7 @@ class WebController extends BasicController
*/
public function home(ServerRequestInterface $request, ResponseInterface $response): ResponseInterface
{
$ini = ini()->load();
$ini = ini();
$keys = [];
$count = count($ini);
$pageSize = config('app.page_size');
@@ -45,11 +45,11 @@ class WebController extends BasicController
$pageCurrent = (int)($request->getAttributes()['page'] ?? $request->getQueryParams()['page'] ?? 1);
$pageCount = ceil($count / $pageSize);
$offset = max(0, ($pageCurrent - 1) * $pageSize);
$ini = array_slice($ini, $offset, $pageSize, true);
$ini = array_slice($ini->get, $offset, $pageSize, true);
$keys = array_keys($ini);
}
$playlists = ini()->getPlaylists($keys);
$playlists = ini()->playlists($keys);
return $this->view($request, $response, 'list.twig', [
'updatedAt' => ini()->updatedAt(),
@@ -75,7 +75,7 @@ class WebController extends BasicController
$code = $request->getAttributes()['code'];
try {
$playlist = ini()->getPlaylist($code);
$playlist = ini()->playlist($code);
return $response->withHeader('Location', $playlist['url']);
} catch (Throwable) {
return $this->notFound($request, $response);
@@ -98,7 +98,7 @@ class WebController extends BasicController
$code = $request->getAttributes()['code'];
try {
$playlist = ini()->getPlaylist($code);
$playlist = ini()->playlist($code);
return $this->view($request, $response, 'details.twig', ['playlist' => $playlist]);
} catch (PlaylistNotFoundException) {
return $this->notFound($request, $response);