mirror of
https://github.com/anthonyaxenov/iptv.git
synced 2024-11-24 14:29:53 +00:00
Compare commits
2 Commits
b02e68f635
...
8656cbb506
Author | SHA1 | Date | |
---|---|---|---|
8656cbb506 | |||
4585e46a2e |
@ -11,7 +11,6 @@ use App\Exceptions\PlaylistNotFoundException;
|
||||
*/
|
||||
class IniFile
|
||||
{
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
|
@ -135,6 +135,7 @@ class Playlist
|
||||
$result = [
|
||||
'attributes' => [],
|
||||
'channels' => [],
|
||||
'groups' => [],
|
||||
'encoding' => [
|
||||
'name' => 'unknown',
|
||||
'alert' => false,
|
||||
@ -176,6 +177,7 @@ class Playlist
|
||||
$name = $exploded[1] ?? '(канал без названия)';
|
||||
}
|
||||
$channel = [
|
||||
'_id' => md5($name . random_int(1, 99999)),
|
||||
'name' => trim($name),
|
||||
'url' => null,
|
||||
'group' => $attrs['group-title'] ?? null,
|
||||
@ -204,10 +206,22 @@ class Playlist
|
||||
}
|
||||
}
|
||||
|
||||
if ($groupped) {
|
||||
|
||||
$stop = 1;
|
||||
}
|
||||
// if ($groupped) {
|
||||
$groups = [];
|
||||
foreach ($result['channels'] as $channel) {
|
||||
$name = $channel['group'] ?? '<ungroupped>';
|
||||
$id = md5($name);
|
||||
if (empty($groups[$id])) {
|
||||
$groups[$id] = [
|
||||
'_id' => $id,
|
||||
'name' => $name,
|
||||
'channels' => [],
|
||||
];
|
||||
}
|
||||
$groups[$id]['channels'][] = $channel['_id'];
|
||||
}
|
||||
$result['groups'] = array_values($groups);
|
||||
// }
|
||||
|
||||
return $this->parsedContent = $result;
|
||||
}
|
||||
|
8
src/public/css/bootstrap.min.css
vendored
8
src/public/css/bootstrap.min.css
vendored
File diff suppressed because one or more lines are too long
6
src/public/js/bootstrap.bundle.min.js
vendored
6
src/public/js/bootstrap.bundle.min.js
vendored
File diff suppressed because one or more lines are too long
@ -3,7 +3,7 @@
|
||||
{% block title %}{{ title }}{% endblock %}
|
||||
|
||||
{% block header %}
|
||||
<h2>{{ name }}</h2>
|
||||
<h2>О плейлисте {{ name }}</h2>
|
||||
{% if (content.encoding.alert) %}
|
||||
<div class="alert alert-warning small" role="alert">
|
||||
Кодировка исходного плейлиста отличается от UTF-8.
|
||||
@ -21,7 +21,6 @@
|
||||
{% block content %}
|
||||
<div class="row">
|
||||
<div class="col-md-7">
|
||||
<h4>О плейлисте</h4>
|
||||
<table class="table table-dark table-hover small">
|
||||
<tbody>
|
||||
<tr>
|
||||
@ -58,12 +57,40 @@
|
||||
<td>Источник</td>
|
||||
<td>{{ src }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Количество каналов</td>
|
||||
<td>{{ content.channelCount ?? 0 }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="col-md-5">
|
||||
<h4>Список каналов ({{ content.channelCount ?? 0 }})</h4>
|
||||
<h4>Список каналов</h4>
|
||||
{# <div class="accordion small bg-dark text-light" id="channels-list">#}
|
||||
{# {% for group in content.groups %}#}
|
||||
{# <div class="accordion-item small bg-dark text-light">#}
|
||||
{# <h2 class="accordion-header small bg-dark text-light" id="heading{{ group._id }}">#}
|
||||
{# <button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapse{{ group._id }}" aria-expanded="true" aria-controls="collapse{{ group._id }}">#}
|
||||
{# {{ group.name }}#}
|
||||
{# </button>#}
|
||||
{# </h2>#}
|
||||
{# <div id="collapse{{ group._id }}" class="accordion-collapse collapse small bg-dark text-light" aria-labelledby="heading{{ group._id }}" data-bs-parent="#accordion{{ group._id }}">#}
|
||||
{# <div class="accordion-body">#}
|
||||
{# <ul class="list-group list-group-flush">#}
|
||||
{# {% for group in content.channels %}#}
|
||||
{# <li class="list-group-item">An item</li>#}
|
||||
{# {% endfor %}#}
|
||||
{# </ul>#}
|
||||
{# </div>#}
|
||||
{# </div>#}
|
||||
{# </div>#}
|
||||
{# {% endfor %}#}
|
||||
{# </div>#}
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="overflow-auto" style="max-height:500px">
|
||||
<table class="table table-dark table-hover small">
|
||||
<tbody>
|
||||
|
Loading…
Reference in New Issue
Block a user