From 3eb29a169ddb0239970bd22798dc95111d7794ae Mon Sep 17 00:00:00 2001 From: AnthonyAxenov Date: Tue, 21 Oct 2025 12:26:19 +0800 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=20=D0=BF=D1=80=D0=BE=D1=86=D0=B5=D0=BD=D1=82=D0=BD?= =?UTF-8?q?=D0=BE=D0=B5=20=D0=BE=D1=82=D0=BD=D0=BE=D1=88=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20(=D0=BD=D0=B5)=D1=80=D0=B0=D0=B1=D0=BE=D1=87=D0=B8?= =?UTF-8?q?=D1=85=20=D0=BA=D0=B0=D0=BD=D0=B0=D0=BB=D0=BE=D0=B2=20=D0=BD?= =?UTF-8?q?=D0=B0=20=D1=81=D1=82=D1=80=D0=B0=D0=BD=D0=B8=D1=86=D1=83=20?= =?UTF-8?q?=D0=BF=D0=BB=D0=B5=D0=B9=D0=BB=D0=B8=D1=81=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Core/IniFile.php | 9 +++++++-- views/details.twig | 18 ++++++++++-------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/app/Core/IniFile.php b/app/Core/IniFile.php index 58ddc49..50dff74 100644 --- a/app/Core/IniFile.php +++ b/app/Core/IniFile.php @@ -60,14 +60,19 @@ class IniFile 'attributes' => [], 'groups' => [], 'channels' => [], - 'onlineCount' => 0, - 'offlineCount' => 0, 'checkedAt' => null, ]; } elseif (!isset($data['attributes'])) { $data['attributes'] = []; } + $data['onlinePercent'] = 0; + $data['offlinePercent'] = 0; + if ($data['isOnline'] === true && count($data['channels'] ?? []) > 0) { + $data['onlinePercent'] = round($data['onlineCount'] / count($data['channels'] ?? []) * 100); + $data['offlinePercent'] = round($data['offlineCount'] / count($data['channels'] ?? []) * 100); + } + $data['hasCatchup'] = str_contains($data['content'] ?? '', 'catchup'); $data['hasTvg'] = !empty($data['attributes']['url-tvg']) || !empty($data['attributes']['x-tvg-url']); diff --git a/views/details.twig b/views/details.twig index b243985..5e80411 100644 --- a/views/details.twig +++ b/views/details.twig @@ -82,10 +82,10 @@ {% if playlist.isOnline is same as(true) %} {{ playlist.code }} - онлайн + online {% elseif playlist.isOnline is same as(false) %} {{ playlist.code }} - оффлайн + offline {% elseif playlist.isOnline is same as(null) %} {{ playlist.code }} unknown @@ -116,16 +116,18 @@ Наполнение -  группы: {{ playlist.groups|length }}, -  каналы: {{ playlist.channels|length }} - ({{ playlist.onlineCount }} + {{ playlist.offlineCount }}) +  группы: {{ playlist.groups|length }}
+  каналы: {{ playlist.channels|length }}: + {{ playlist.onlineCount }} ({{ playlist.onlinePercent }}%) + {{ playlist.offlineCount }} ({{ playlist.offlinePercent }}%) Возможности  Программа передач: {{ playlist.hasTvg ? 'есть' : 'нет' }}
-  Перемотка (архив): {{ playlist.hasCatchup ? 'есть' : 'нет' }} +  Перемотка (архив): {{ playlist.hasCatchup ? 'есть' : 'нет' }} @@ -315,7 +317,7 @@ for="chfOnline" title="Выбрать только онлайн каналы" > - + {{ playlist.onlineCount }} - + {{ playlist.offlineCount }}