aboutsummaryrefslogtreecommitdiff
path: root/app/Models/Entry.php
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2024-04-08 11:10:10 +0200
committerGravatar GitHub <noreply@github.com> 2024-04-08 11:10:10 +0200
commit283341e75e6ef4fbb3c522635b8a7805d3ab3a20 (patch)
treeb207210f38b6c3f3c90b4c0bf4c330ab61b0c078 /app/Models/Entry.php
parentc052149e5aa6eccdafd70f1e85e56cc4dd57ed8b (diff)
Allow multiple authors on enclosures (#6272)
fix https://github.com/FreshRSS/FreshRSS/issues/5066
Diffstat (limited to 'app/Models/Entry.php')
-rw-r--r--app/Models/Entry.php13
1 files changed, 9 insertions, 4 deletions
diff --git a/app/Models/Entry.php b/app/Models/Entry.php
index e5e859a1d..c5a9ddc7e 100644
--- a/app/Models/Entry.php
+++ b/app/Models/Entry.php
@@ -201,7 +201,7 @@ HTML;
if (!$allowDuplicateEnclosures && self::containsLink($content, $elink)) {
continue;
}
- $credit = $enclosure['credit'] ?? '';
+ $credits = $enclosure['credit'] ?? '';
$description = nl2br($enclosure['description'] ?? '', true);
$length = $enclosure['length'] ?? 0;
$medium = $enclosure['medium'] ?? '';
@@ -238,8 +238,13 @@ HTML;
. '" title="' . $etitle . '">💾</a></p>';
}
- if ($credit != '') {
- $content .= '<p class="enclosure-credits">© ' . $credit . '</p>';
+ if ($credits != '') {
+ if (!is_array($credits)) {
+ $credits = [$credits];
+ }
+ foreach ($credits as $credit) {
+ $content .= '<p class="enclosure-credits">© ' . $credit . '</p>';
+ }
}
if ($description != '') {
$content .= '<figcaption class="enclosure-description">' . $description . '</figcaption>';
@@ -250,7 +255,7 @@ HTML;
return $content;
}
- /** @return Traversable<array{'url':string,'type'?:string,'medium'?:string,'length'?:int,'title'?:string,'description'?:string,'credit'?:string,'height'?:int,'width'?:int,'thumbnails'?:array<string>}> */
+ /** @return Traversable<array{'url':string,'type'?:string,'medium'?:string,'length'?:int,'title'?:string,'description'?:string,'credit'?:string|array<string>,'height'?:int,'width'?:int,'thumbnails'?:array<string>}> */
public function enclosures(bool $searchBodyImages = false): Traversable {
$attributeEnclosures = $this->attributeArray('enclosures');
if (is_iterable($attributeEnclosures)) {