1
0

Füge FloridaTV-Bridge hinzu

This commit is contained in:
Akamaru
2025-07-03 14:12:11 +02:00
parent 37d5d285bd
commit 7ff988e06d

68
FloridaTVBridge.php Normal file
View File

@ -0,0 +1,68 @@
<?php
class FloridaTVBridge extends BridgeAbstract {
const MAINTAINER = 'Akamaru';
const NAME = 'FloridaTV Entertainment News';
const URI = 'https://www.floridatv-entertainment.de/news/';
const CACHE_TIMEOUT = 21600; // 6 Stunden
const DESCRIPTION = 'Neueste News von FloridaTV Entertainment.';
public function getIcon() {
return 'https://www.floridatv-entertainment.de/wp-content/uploads/2021/11/Favicon-florida-150x150.png';
}
public function collectData() {
$html = getSimpleHTMLDOM(self::URI);
if (!$html) {
returnServerError('Konnte die Webseite nicht laden: ' . self::URI);
}
// Die News-Artikel sind als <li class="eg-georgebush-wrapper ..."> gelistet
foreach($html->find('li.eg-georgebush-wrapper') as $element) {
$item = [];
// Titel und Link
$titleElement = $element->find('a.eg-georgebush-element-0', 0);
if ($titleElement) {
$item['title'] = trim($titleElement->plaintext);
$item['uri'] = $titleElement->href;
}
// Datum
$dateElement = $element->find('div.eg-georgebush-element-1', 0);
if ($dateElement) {
$date = trim($dateElement->plaintext);
$item['timestamp'] = strtotime(str_replace('.', '-', $date));
}
// Kategorie
$catElement = $element->find('div.eg-georgebush-element-6-a a', 0);
if ($catElement) {
$item['categories'] = [trim($catElement->plaintext)];
}
// Bild
$imgElement = $element->find('div.esg-entry-media img', 0);
$imgUrl = null;
if ($imgElement) {
$imgUrl = $imgElement->getAttribute('data-lazysrc');
}
if ($imgUrl) {
if (strpos($imgUrl, 'http') !== 0) {
$imgUrl = 'https://www.floridatv-entertainment.de' . $imgUrl;
}
$item['enclosures'] = [$imgUrl];
$item['content'] = '<img src="' . $imgUrl . '" style="max-width:100%"><br>';
} else {
$item['content'] = '';
}
// Optional: Kurzbeschreibung (nicht direkt im Listing vorhanden)
// Kann ggf. von der Detailseite geladen werden, aber das ist optional und langsam
$item['author'] = 'Florida Entertainment';
$this->items[] = $item;
if (count($this->items) >= 15) break; // Maximal 15 Einträge
}
}
}