]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Handle FileNotStoredLocallyException in attachmentlistitem
authorMikael Nordfeldth <mmn@hethane.se>
Wed, 6 Jul 2016 22:45:31 +0000 (00:45 +0200)
committerMikael Nordfeldth <mmn@hethane.se>
Wed, 6 Jul 2016 22:45:31 +0000 (00:45 +0200)
lib/attachmentlistitem.php

index dc22c8af2915992d6907e4db7bc1c377a04e4000..133756147c39138cbfc2cf1dab67388cbffbf42f 100644 (file)
@@ -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;