diff --git a/app/Controllers/ApiController.php b/app/Controllers/ApiController.php index ab4dd7c..631abd4 100644 --- a/app/Controllers/ApiController.php +++ b/app/Controllers/ApiController.php @@ -55,8 +55,9 @@ class ApiController extends BasicController */ public function makeQrCode(ServerRequestInterface $request, ResponseInterface $response): ResponseInterface { + $ini = ini()->load(); $code = $request->getAttribute('code'); - $codes = array_keys(ini()->getPlaylists()); + $codes = array_keys($ini); if (!in_array($code, $codes, true)) { return $response->withStatus(404); } diff --git a/app/Controllers/WebController.php b/app/Controllers/WebController.php index 66d9dd5..e68ad89 100644 --- a/app/Controllers/WebController.php +++ b/app/Controllers/WebController.php @@ -37,19 +37,20 @@ class WebController extends BasicController public function home(ServerRequestInterface $request, ResponseInterface $response): ResponseInterface { $ini = ini()->load(); - + $keys = []; $count = count($ini); $pageSize = config('app.page_size'); + if ($pageSize > 0) { $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); - $playlists = ini()->getPlaylists(array_keys($ini)); - } else { - $playlists = ini()->getPlaylists(); + $keys = array_keys($ini); } + $playlists = ini()->getPlaylists($keys); + return $this->view($request, $response, 'list.twig', [ 'updatedAt' => ini()->updatedAt(), 'playlists' => $playlists,