Fix NACSouthGermanyMediaLibraryBridge for new website layout (#4014)

This commit is contained in:
Tim-Florian Feulner 2024-03-15 19:20:04 +01:00 committed by GitHub
parent e6cb5fdc89
commit 36147a082d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -31,7 +31,7 @@ class NACSouthGermanyMediaLibraryBridge extends BridgeAbstract
public function getIcon() public function getIcon()
{ {
return 'https://www.nak-stuttgart.de/static/themes/nak_sued/images/nak-logo.png'; return 'https://nak-sued.de/static/themes/sued/images/logo.png';
} }
private static function parseTimestamp($title) private static function parseTimestamp($title)
@ -66,9 +66,12 @@ class NACSouthGermanyMediaLibraryBridge extends BridgeAbstract
private static function collectDataForBayern2($parent, $item) private static function collectDataForBayern2($parent, $item)
{ {
# Find link # Find link
$playerDom = getSimpleHTMLDOMCached(self::BASE_URI . $parent->find('a', 0)->href); $relativeURICode = $parent->find('a', 0)->onclick;
$sourceURI = $playerDom->find('source', 0)->src; if (preg_match('/window\.open\(\'([^\']*)\'/', $relativeURICode, $matches)) {
$item['enclosures'] = [self::BASE_URI . $sourceURI]; $playerDom = getSimpleHTMLDOMCached(self::BASE_URI . $matches[1]);
$sourceURI = $playerDom->find('source', 0)->src;
$item['enclosures'] = [self::BASE_URI . $sourceURI];
}
# Add time to timestamp # Add time to timestamp
$item['timestamp'] .= ' 06:45'; $item['timestamp'] .= ' 06:45';
@ -78,14 +81,14 @@ class NACSouthGermanyMediaLibraryBridge extends BridgeAbstract
private function collectDataInList($pageURI, $customizeItemCall) private function collectDataInList($pageURI, $customizeItemCall)
{ {
$page = getSimpleHTMLDOM(self::BASE_URI . $pageURI); $page = getSimpleHTMLDOM($pageURI);
foreach ($page->find('div.grids') as $parent) { foreach ($page->find('div.flex-columns.entry') as $parent) {
# Find title # Find title
$title = $parent->find('h2', 0)->plaintext; $title = $parent->find('h2', 0)->plaintext;
# Find content # Find content
$contentBlock = $parent->find('ul.contentlist', 0); $contentBlock = $parent->find('ul', 0);
$content = ''; $content = '';
foreach ($contentBlock->find('li') as $li) { foreach ($contentBlock->find('li') as $li) {
$content .= '<p>' . $li->plaintext . '</p>'; $content .= '<p>' . $li->plaintext . '</p>';
@ -103,7 +106,7 @@ class NACSouthGermanyMediaLibraryBridge extends BridgeAbstract
private function collectDataFromAllPages($rootURI, $customizeItemCall) private function collectDataFromAllPages($rootURI, $customizeItemCall)
{ {
$rootPage = getSimpleHTMLDOM($rootURI); $rootPage = getSimpleHTMLDOM($rootURI);
$pages = $rootPage->find('div#tabmenu', 0); $pages = $rootPage->find('div.flex-columns.inner_filter', 0);
foreach ($pages->find('a') as $page) { foreach ($pages->find('a') as $page) {
self::collectDataInList($page->href, [$this, $customizeItemCall]); self::collectDataInList($page->href, [$this, $customizeItemCall]);
} }