diff options
author | Brion Vibber <brion@status.net> | 2010-11-12 12:28:44 -0800 |
---|---|---|
committer | Brion Vibber <brion@status.net> | 2010-11-12 12:28:44 -0800 |
commit | 5d12ec0532fa9bcc71644186f6ff80f2b527703c (patch) | |
tree | 5a62c9af56efa0cdf47a06bf0fe26c8efbf8f7b7 /classes/File.php | |
parent | fdf3a23da7769586a818ca2219ec6bc1b46587de (diff) | |
parent | cb124fe831a3c77dfca89590ebb8d691685bb573 (diff) |
Merge branch 'oembed-thumbnails' into 0.9.x
Diffstat (limited to 'classes/File.php')
-rw-r--r-- | classes/File.php | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/classes/File.php b/classes/File.php index 16e00024a..499c8d72c 100644 --- a/classes/File.php +++ b/classes/File.php @@ -352,22 +352,28 @@ class File extends Memcached_DataObject $mimetype = substr($mimetype,0,$semicolon); } if(in_array($mimetype,$notEnclosureMimeTypes)){ + // Never treat generic HTML links as an enclosure type! + // But if we have oEmbed info, we'll consider it golden. $oembed = File_oembed::staticGet('file_id',$this->id); - if($oembed){ + if($oembed && in_array($oembed->type, array('photo', 'video'))){ $mimetype = strtolower($oembed->mimetype); $semicolon = strpos($mimetype,';'); if($semicolon){ $mimetype = substr($mimetype,0,$semicolon); } - if(in_array($mimetype,$notEnclosureMimeTypes)){ - return false; - }else{ + // @fixme uncertain if this is right. + // we want to expose things like YouTube videos as + // viewable attachments, but don't expose them as + // downloadable enclosures.....? + //if (in_array($mimetype, $notEnclosureMimeTypes)) { + // return false; + //} else { if($oembed->mimetype) $enclosure->mimetype=$oembed->mimetype; if($oembed->url) $enclosure->url=$oembed->url; if($oembed->title) $enclosure->title=$oembed->title; if($oembed->modified) $enclosure->modified=$oembed->modified; unset($oembed->size); - } + //} } else { return false; } @@ -382,4 +388,14 @@ class File extends Memcached_DataObject $enclosure = $this->getEnclosure(); return !empty($enclosure); } + + /** + * Get the attachment's thumbnail record, if any. + * + * @return File_thumbnail + */ + function getThumbnail() + { + return File_thumbnail::staticGet('file_id', $this->id); + } } |