From f1269992a87e6035a0a0326d0b67e0136493394e Mon Sep 17 00:00:00 2001 From: tillcash Date: Fri, 17 Oct 2025 19:35:52 +0530 Subject: [PATCH 1/2] [BadenOnlineBridge] add bridge --- bridges/BadenOnlineBridge.php | 95 +++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 bridges/BadenOnlineBridge.php diff --git a/bridges/BadenOnlineBridge.php b/bridges/BadenOnlineBridge.php new file mode 100644 index 00000000000..5ef8d99c6fb --- /dev/null +++ b/bridges/BadenOnlineBridge.php @@ -0,0 +1,95 @@ + [ + 'name' => 'tag', + 'type' => 'list', + 'values' => [ + 'ortenau' => [ + 'themen-des-tages' => 'thema-des-tages', + 'offenburg' => 'offenburg', + 'lahr' => 'lahr', + 'achern' => 'achern', + 'oberkirch' => 'oberkirch', + 'kinzigtal' => 'kinzigtal', + 'kehl' => 'kehl', + ], + 'aus-der-welt' => [ + 'aus-der-welt' => 'aus-der-welt', + 'politik' => 'politik', + 'wirtschaft' => 'wirtschaft', + 'bawue' => 'baden-wurttemberg', + 'kultur' => 'kultur', + ], + 'regiosport' => [ + 'regiosport' => 'regiosport', + 'fussball' => 'fussball', + 'handball' => 'handball', + 'mehr-sport' => 'mehr-sport', + ], + 'marktplatz' => [ + 'marktplatz' => 'anzeige', + 'ausschreibung' => 'ausschreibung', + // 'advertorials' => 'https://advertorials.bo.de', + // 'trauer' => 'https://trauer-ortenau.de', + // 'jobs' => 'https://jobs.bo.de', + // 'kleinanzeigen' => 'https://kleinanzeigen.bo.de', + ], + 'blaulicht' => [ + 'blaulicht' => 'blaulicht', + ], + ], + 'defaultValue' => 'achern', + ], + ], + ]; + + public function getName() + { + $tag = $this->getInput('tag'); + return self::NAME . ($tag ? ' - ' . ucfirst($tag) : ''); + } + + public function collectData() + { + $tag = $this->getInput('tag'); + $url = urljoin(self::URI, ($tag === 'mehr-sport') ? $tag : 'tag/' . $tag); + + $dom = getSimpleHTMLDOM($url); + + $articles = $dom->find('article'); + if (!$articles) { + throwServerException('Invalid or empty content'); + } + + foreach ($articles as $article) { + $a = $article->find('a', 0); + if (!$a || !($href = $a->getAttribute('href'))) { + continue; + } + + $articleImageUrl = ''; + $img = $article->find('img', 0); + if ($img && ($src = $img->getAttribute('src'))) { + $articleImageUrl = urljoin(self::URI, $src); + } + + $this->items[] = [ + 'uri' => urljoin(self::URI, $href), + 'content' => trim($article->find('.post-excerpt', 0)->plaintext ?? ''), + 'title' => trim($article->find('.post-headline', 0)->plaintext ?? ''), + 'enclosures' => $articleImageUrl ? [$articleImageUrl] : [], + ]; + } + } +} From fa8c473e6c4c2e8798d77a62851859ec04833414 Mon Sep 17 00:00:00 2001 From: tillcash Date: Fri, 17 Oct 2025 19:42:05 +0530 Subject: [PATCH 2/2] [BadenOnlineBridge] fix lint --- bridges/BadenOnlineBridge.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bridges/BadenOnlineBridge.php b/bridges/BadenOnlineBridge.php index 5ef8d99c6fb..8543eb9e258 100644 --- a/bridges/BadenOnlineBridge.php +++ b/bridges/BadenOnlineBridge.php @@ -49,7 +49,7 @@ class BadenOnlineBridge extends BridgeAbstract 'blaulicht' => 'blaulicht', ], ], - 'defaultValue' => 'achern', + 'defaultValue' => 'achern', ], ], ];