diff --git a/app/Controllers/ApiController.php b/app/Controllers/ApiController.php
index d523afb..dfc274a 100644
--- a/app/Controllers/ApiController.php
+++ b/app/Controllers/ApiController.php
@@ -46,8 +46,8 @@ class ApiController extends BasicController
'outputType' => QRCode::OUTPUT_IMAGE_JPG,
'eccLevel' => QRCode::ECC_L,
]);
- $data = base_url("$code");
- $raw = (new QRCode($options))->render($data, $filePath);
+ $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));
}
diff --git a/app/Core/TwigExtention.php b/app/Core/TwigExtention.php
index 45851cc..24c3608 100644
--- a/app/Core/TwigExtention.php
+++ b/app/Core/TwigExtention.php
@@ -28,6 +28,7 @@ class TwigExtention extends AbstractExtension
new TwigFunction('version', [$this, 'version']),
new TwigFunction('is_file', [$this, 'isFile']),
new TwigFunction('base_url', [$this, 'baseUrl']),
+ new TwigFunction('mirror_url', [$this, 'mirrorUrl']),
new TwigFunction('to_date', [$this, 'toDate']),
];
}
@@ -65,6 +66,17 @@ class TwigExtention extends AbstractExtension
return base_url($path);
}
+ /**
+ * Возвращает зеркальный URL приложения
+ *
+ * @param string $path
+ * @return string
+ */
+ public function mirrorUrl(string $path = ''): string
+ {
+ return mirror_url($path);
+ }
+
/**
* Проверячет существование файла
*
diff --git a/views/details.twig b/views/details.twig
index b4b9c71..47896c5 100644
--- a/views/details.twig
+++ b/views/details.twig
@@ -27,11 +27,6 @@
{% block header %}
О плейлисте: {{ playlist.name }}
- {% if (playlist.channels|length > 500) %}
-
- В плейлисте очень много каналов. На загрузку их списка и логотипов потребуется некоторое время.
-
- {% endif %}
{% if playlist.isOnline is same as(false) %}
Ошибка плейлиста: {{ playlist.content }}
@@ -64,7 +59,7 @@
-
+
@@ -92,11 +87,13 @@
| Ccылка для ТВ |
-
+ m3u.su/{{ playlist.code }} |
+ class="font-monospace cursor-pointer text-break">{{ mirror_url(playlist.code) }}
+
| Источник |
@@ -166,11 +163,6 @@
>
QR-код
-
+
@@ -194,6 +191,14 @@
{% if (playlist.groups|length > 1) %}
+ {% if (playlist.channels|length >= 500) %}
+
+
+ Загрузка...
+
+ В плейлисте очень много каналов. На загрузку их списка и логотипов потребуется некоторое время.
+
+ {% endif %}
@@ -206,7 +206,7 @@
Попробуй использовать плеер, который позволяет указать User-Agent, и указать User-Agent:
Mozilla/5.0 WINK/1.31.1 (AndroidTV/9) HlsWinkPlayer
Или подключи Wink. Или забудь про этот плейлист и ищи другой.
-
Нет, я не буду это исправлять.
+
Я могу это исправить только удалением плейлиста с сайта. Это единственный вариант, который устроит всех.
diff --git a/views/list.twig b/views/list.twig
index b5b2f2b..b9b6a0f 100644
--- a/views/list.twig
+++ b/views/list.twig
@@ -33,7 +33,7 @@
- | ID |
+ Код |
Информация о плейлисте |
Каналов |
Ссылка для ТВ |
@@ -87,11 +87,14 @@
{% endif %}
-
- m3u.su/{{ playlist.code }}
+ {{ mirror_url(playlist.code) }}
|
diff --git a/views/template.twig b/views/template.twig
index b5f598e..b44866d 100644
--- a/views/template.twig
+++ b/views/template.twig
@@ -46,31 +46,28 @@
@@ -88,7 +85,11 @@
FAQ | Исходники | axenov.dev | Telegram
+ href="https://t.me/iptv_aggregator">Канал | Чат | Бот
+
+