}
function title() {
- return $this->attachment->getTitle();
+ return $this->attachment->getTitle() ?: _('Untitled attachment');
}
function linkTitle() {
function linkAttr() {
return array('class' => 'attachment',
- 'href' => $this->attachment->getUrl(false),
- 'id' => 'attachment-' . $this->attachment->id,
+ 'href' => $this->attachment->getAttachmentUrl(),
+ 'id' => 'attachment-' . $this->attachment->getID(),
'title' => $this->linkTitle());
}
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;
*/
protected function scrubHtmlFile(File $attachment)
{
- $path = File::path($attachment->filename);
- if (!file_exists($path) || !is_readable($path)) {
- common_log(LOG_ERR, "Missing local HTML attachment $path");
- return false;
- }
+ $path = $attachment->getPath();
$raw = file_get_contents($path);
// Normalize...