From: Mikael Nordfeldth Date: Wed, 6 Jul 2016 22:45:31 +0000 (+0200) Subject: Handle FileNotStoredLocallyException in attachmentlistitem X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=6332a4d800c7cb63f5da6eae25d82135cfc0d244;p=quix0rs-gnu-social.git Handle FileNotStoredLocallyException in attachmentlistitem --- diff --git a/lib/attachmentlistitem.php b/lib/attachmentlistitem.php index dc22c8af29..133756147c 100644 --- a/lib/attachmentlistitem.php +++ b/lib/attachmentlistitem.php @@ -63,7 +63,7 @@ class AttachmentListItem extends Widget } function title() { - return $this->attachment->getTitle(); + return $this->attachment->getTitle() ?: _('Untitled attachment'); } function linkTitle() { @@ -141,7 +141,13 @@ class AttachmentListItem extends Widget if ($thumb instanceof File_thumbnail) { $this->out->element('img', $thumb->getHtmlAttrs(['class'=>'u-photo', 'alt' => ''])); } else { - $this->out->element('img', array('class'=>'u-photo', 'src' => $this->attachment->getUrl(), 'alt' => $this->attachment->getTitle())); + try { + // getUrl(true) because we don't want to hotlink, could be made configurable + $this->out->element('img', ['class'=>'u-photo', 'src'=>$this->attachment->getUrl(true), 'alt' => $this->attachment->getTitle()]); + } catch (FileNotStoredLocallyException $e) { + $url = $e->file->getUrl(false); + $this->out->element('a', ['href'=>$url, 'rel'=>'external'], $url); + } } unset($thumb); // there's no need carrying this along after this break;