From 2ab615162c8c0b49bc485133f19f9e0584cfa70d Mon Sep 17 00:00:00 2001 From: boyska Date: Thu, 7 Mar 2024 12:42:06 +0100 Subject: [PATCH] [M3uFormat] supports "enclosures" field --- formats/M3uFormat.php | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/formats/M3uFormat.php b/formats/M3uFormat.php index f2218350..e7bb19ec 100644 --- a/formats/M3uFormat.php +++ b/formats/M3uFormat.php @@ -20,14 +20,25 @@ class M3uFormat extends FormatAbstract if (isset($itemArray['enclosure'])) { $m3uitem->url = $itemArray['enclosure']['url']; $m3uitem->bytes = $itemArray['enclosure']['length']; - } - if (isset($itemArray['itunes']) && isset($itemArray['itunes']['duration'])) { - $m3uitem->duration = self::parseDuration($itemArray['itunes']['duration']); + if (isset($itemArray['itunes']) && isset($itemArray['itunes']['duration'])) { + $m3uitem->duration = self::parseDuration($itemArray['itunes']['duration']); + } } if (isset($itemArray['title'])) { $m3uitem->title = $itemArray['title']; } - $contents .= $m3uitem->render(); + if (! $m3uitem->isEmpty()) { + $contents .= $m3uitem->render(); + } else { + foreach ($item->enclosures as $url) { + $m3uitem = new M3uItem(); + $m3uitem->url = $url; + if (isset($itemArray['title'])) { + $m3uitem->title = $itemArray['title']; + } + $contents .= $m3uitem->render(); + } + } } return mb_convert_encoding($contents, $this->getCharset(), 'UTF-8'); }