summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrion Vibber <brion@status.net>2010-11-08 15:50:06 -0800
committerBrion Vibber <brion@status.net>2010-11-08 15:50:06 -0800
commita2994e3aa232106f39a6c36c9176608467b8822e (patch)
treeec5cbb136a47f0ef945072759d0a62805a63639a
parent551b196a3572ac9dabcda47abc92db201fb0e6c9 (diff)
Testing... using photo info for temp thumbnails
-rw-r--r--classes/File.php7
-rw-r--r--lib/attachmentlist.php17
2 files changed, 17 insertions, 7 deletions
diff --git a/classes/File.php b/classes/File.php
index d71403e64..e3b922d13 100644
--- a/classes/File.php
+++ b/classes/File.php
@@ -352,11 +352,10 @@ class File extends Memcached_DataObject
$mimetype = substr($mimetype,0,$semicolon);
}
if(in_array($mimetype,$notEnclosureMimeTypes)){
- // Never treat HTML as an enclosure type!
- return false;
- } else {
+ // 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){
diff --git a/lib/attachmentlist.php b/lib/attachmentlist.php
index f29d32ada..8e6ad038a 100644
--- a/lib/attachmentlist.php
+++ b/lib/attachmentlist.php
@@ -212,19 +212,30 @@ class AttachmentListItem extends Widget
}
}
+ /**
+ * Pull a thumbnail image reference for the given file.
+ * In order we check:
+ * 1) file_thumbnail table (thumbnails found via oEmbed)
+ * 2) image URL from direct dereference or oEmbed 'photo' type URL
+ * 3) ???
+ *
+ * @return mixed object with (url, width, height) properties, or false
+ */
function getThumbInfo()
{
$thumbnail = File_thumbnail::staticGet('file_id', $this->attachment->id);
if ($thumbnail) {
return $thumbnail;
- } else {
- switch ($this->attachment->mimetype) {
+ }
+ $enc = $this->attachment->getEnclosure();
+ if ($enc) {
+ switch ($enc->mimetype) {
case 'image/gif':
case 'image/png':
case 'image/jpg':
case 'image/jpeg':
$thumb = (object)array();
- $thumb->url = $this->attachment->url;
+ $thumb->url = $enc->url;
$thumb->width = 100;
$thumb->height = 75; // @fixme
return $thumb;