Линтовка

This commit is contained in:
2026-01-03 01:12:18 +08:00
parent ddc4374dd6
commit aabad9d744
20 changed files with 224 additions and 190 deletions

View File

@@ -1,4 +1,5 @@
<?php
/*
* Copyright (c) 2025, Антон Аксенов
* This file is part of m3u.su project
@@ -42,6 +43,7 @@ class ApiController extends BasicController
if ($playlist['isOnline'] === true) {
unset($playlist['content']);
}
return $this->responseJson($response, 200, $playlist);
} catch (PlaylistNotFoundException $e) {
return $this->responseJsonError($response, 404, $e);
@@ -65,7 +67,7 @@ class ApiController extends BasicController
return $response->withStatus(404);
}
$filePath = cache_path("qr-codes/$code.jpg");
$filePath = cache_path("qr-codes/{$code}.jpg");
if (file_exists($filePath)) {
$raw = file_get_contents($filePath);
} else {
@@ -74,13 +76,14 @@ class ApiController extends BasicController
'outputType' => QRCode::OUTPUT_IMAGE_JPG,
'eccLevel' => QRCode::ECC_L,
]);
$data = config('app.mirror_url') ? mirror_url("$code.m3u") : base_url("$code.m3u");
$data = config('app.mirror_url') ? mirror_url("{$code}.m3u") : base_url("{$code}.m3u");
$raw = new QRCode($options)->render($data, $filePath);
$raw = base64_decode(str_replace('data:image/jpg;base64,', '', $raw));
}
$mime = mime_content_type($filePath);
$response->getBody()->write($raw);
return $response->withStatus(200)
->withHeader('Content-Type', $mime);
}
@@ -116,10 +119,11 @@ class ApiController extends BasicController
function getSize(string $directory): int
{
$size = 0;
foreach (glob($directory . '/*') as $path){
foreach (glob($directory . '/*') as $path) {
is_file($path) && $size += filesize($path);
is_dir($path) && $size += getSize($path);
}
return $size;
}

View File

@@ -1,4 +1,5 @@
<?php
/*
* Copyright (c) 2025, Антон Аксенов
* This file is part of m3u.su project
@@ -56,6 +57,7 @@ class BasicController
$json = json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
$response->getBody()->write($json);
return $response->withStatus($status)
->withHeader('Content-Type', 'application/json');
}
@@ -99,6 +101,7 @@ class BasicController
array $data = [],
): ResponseInterface {
$view = Twig::fromRequest($request);
return $view->render($response, $template, $data);
}
}

View File

@@ -1,4 +1,5 @@
<?php
/*
* Copyright (c) 2025, Антон Аксенов
* This file is part of m3u.su project

View File

@@ -1,4 +1,5 @@
<?php
/*
* Copyright (c) 2025, Антон Аксенов
* This file is part of m3u.su project
@@ -42,7 +43,7 @@ class WebController extends BasicController
$pageSize = config('app.page_size');
if ($pageSize > 0) {
$pageCurrent = (int)($request->getAttributes()['page'] ?? $request->getQueryParams()['page'] ?? 1);
$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);
@@ -76,6 +77,7 @@ class WebController extends BasicController
try {
$playlist = ini()->getPlaylist($code);
return $response->withHeader('Location', $playlist['url']);
} catch (Throwable) {
return $this->notFound($request, $response);
@@ -99,6 +101,7 @@ class WebController extends BasicController
try {
$playlist = ini()->getPlaylist($code);
return $this->view($request, $response, 'details.twig', ['playlist' => $playlist]);
} catch (PlaylistNotFoundException) {
return $this->notFound($request, $response);