summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
Diffstat (limited to 'classes')
-rw-r--r--classes/File_oembed.php2
-rw-r--r--classes/File_thumbnail.php19
2 files changed, 16 insertions, 5 deletions
diff --git a/classes/File_oembed.php b/classes/File_oembed.php
index a5540ecfe..bcb2f7bac 100644
--- a/classes/File_oembed.php
+++ b/classes/File_oembed.php
@@ -120,7 +120,7 @@ class File_oembed extends Memcached_DataObject
}
}
$file_oembed->insert();
- if (!empty($data->thumbnail_url)) {
+ if (!empty($data->thumbnail_url) || ($data->type == 'photo')) {
$ft = File_thumbnail::staticGet('file_id', $file_id);
if (!empty($ft)) {
common_log(LOG_WARNING, "Strangely, a File_thumbnail object exists for new file $file_id",
diff --git a/classes/File_thumbnail.php b/classes/File_thumbnail.php
index d371b9e8a..17bac7f08 100644
--- a/classes/File_thumbnail.php
+++ b/classes/File_thumbnail.php
@@ -55,10 +55,21 @@ class File_thumbnail extends Memcached_DataObject
* @param int $file_id
*/
public static function saveNew($data, $file_id) {
- self::saveThumbnail($file_id,
- $data->thumbnail_url,
- $data->thumbnail_width,
- $data->thumbnail_height);
+ if (!empty($data->thumbnail_url)) {
+ // Non-photo types such as video will usually
+ // show us a thumbnail, though it's not required.
+ self::saveThumbnail($file_id,
+ $data->thumbnail_url,
+ $data->thumbnail_width,
+ $data->thumbnail_height);
+ } else if ($data->type == 'photo') {
+ // The inline photo URL given should also fit within
+ // our requested thumbnail size, per oEmbed spec.
+ self::saveThumbnail($file_id,
+ $data->url,
+ $data->width,
+ $data->height);
+ }
}
/**