- Medien:
Item::setMedia()löschte die vorhandene Mediendatei, bevor der Download versucht wurde. Schlug er fehl — HTTP-Fehler, Timeout, Datei zu groß, kein gültiges Bild —, war das lokale Bild verloren undmedia_filenameaufnull. Jetzt wird zuerst heruntergeladen und erst nach Erfolg aufgeräumt; die alte Datei bleibt liegen, wenn der Download scheitert (#275)
- Media Manager Effect:
rex_effect_feedsist jetzt die primäre Implementierung (non-namespaced) und direkt mitrex_media_manager::addEffect()kompatibel – behebt "Class not found"-Fehler bei selbst angelegten Media-Manager-Typen (Issue #260) FriendsOfRedaxo\Feeds\MediaManagerEffectbleibt als@deprecatedAlias erhalten für Abwärtskompatibilität
- Archiviert-Status: Einträge können jetzt in 3 Zuständen existieren: Online (1), Offline (0), Archiviert (2)
- Archivierte Einträge werden standardmäßig ausgeblendet (nur mit Status-Filter sichtbar)
- Status-Auswahl als Bootstrap Selectpicker mit REDAXO-typischen Farben und Icons
- Status-Filter: Dropdown-Filter im Einträge-Bereich zum Filtern nach Status (Alle/Online/Offline/Archiviert)
- Content-Preview: Tooltip-Vorschau des Contents beim Hover über Titel (erste 200 Zeichen)
- Duplicate Detection: Automatische Erkennung doppelter URLs beim Fetch mit Warning-Log
- Stream Health-Check: Button zum Testen der Erreichbarkeit von Stream-URLs (RSS, YouTube, Podcast, iCal)
- Konfigurierbare Einstellungen: Neue Settings-Seite für HTTP-Timeouts, Media-Größen und Log-Level
- Granulare Berechtigungen: Separate Rechte für Streams-Verwaltung (
feeds[streams]) und Einträge-Bearbeitung (feeds[items]) - Medien-Lightbox: Klickbare Thumbnails öffnen Original-Bilder in Lightbox-Overlay
- Performance: SQL-Injection-Schwachstellen behoben, Prepared Statements verwendet
- Performance: N+1 Query-Problem in
getPreloadedItems()eliminiert durch Batch-Loading - Performance: Composite Index
stream_status_datefür schnellere Queries - HTTP-Caching: Etag und Last-Modified Header für effiziente Feeds-Abfrage
- UI/UX: Optimierte Einträge-Ansicht mit besserer Spaltenaufteilung und kürzeren Texten
- UI/UX: Einträge-Seite ist jetzt die Standard-Startseite des AddOns
- UI/UX: Status-Auswahl mit Bootstrap Selectpicker, REDAXO-Farben (grün/rot/grau) und Icons
- Fehlerbehandlung: Konfigurierbare Timeouts und besseres Error-Handling bei Netzwerkfehlern
- Backward Compatibility: Deprecated Klassen werden automatisch geladen (Issue #253)
- Kompatibilität: Symfony HTTP Client auf 6.4/7.x downgraded für REDAXO Core-Kompatibilität
- CSP: Inline-Scripts und Styles mit Nonce-Attributen für Content Security Policy
- Array-to-string Conversion Warnings in Settings-Page behoben
- Undefined array key Warnings in
Item::createFromDbRow()behoben - Medienanzeige in Einträge-Liste repariert
- TransportException bei DNS-Fehlern besser abgefangen
rex_feeds_item.statusauftinyint(4)erweitert für 3 Status-Zustände- Neuer Composite Index
stream_status_datefür Performance-Optimierung
- Neue Content-Helper in
FriendsOfRedaxo\Feeds\Item:hasMedia(),getPlainTextContent(),getTruncatedContent()removeEmojis(),removeHashtags(),sanitizeContent()extractTitleFromContent()(Stop-Zeichen-Extraktion)
- README: Dokumentation und API-Referenz der
Item-Klasse ergänzt.
- Abhängigkeiten aktualisiert:
symfony/http-clientauf 8.x,redaxo/php-cs-fixer-configauf 2.19.0.- Keine Plattform-Inkompatibilitäten auf PHP 8.4 festgestellt.
- Erhöhte minimale PHP-Version des AddOns auf
>=8.4(erforderlich durchsymfony/http-client8.x).