]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - classes/File_thumbnail.php
Merge remote-tracking branch 'upstream/master' into social-master
[quix0rs-gnu-social.git] / classes / File_thumbnail.php
index ef79eadc38efa892fad9d0e25a9832001bf69a97..ccfcd0e5ae2e0c165acb059c54853efc96acd29c 100644 (file)
@@ -38,7 +38,7 @@ class File_thumbnail extends Managed_DataObject
         return array(
             'fields' => array(
                 'file_id' => array('type' => 'int', 'not null' => true, 'description' => 'thumbnail for what URL/file'),
-                'url' => array('type' => 'text', 'not null' => false, 'description' => 'URL of thumbnail'),
+                'url' => array('type' => 'text', 'description' => 'URL of thumbnail'),
                 'filename' => array('type' => 'text', 'description' => 'if stored locally, filename is put here'),
                 'width' => array('type' => 'int', 'description' => 'width of thumbnail'),
                 'height' => array('type' => 'int', 'description' => 'height of thumbnail'),
@@ -137,12 +137,12 @@ class File_thumbnail extends Managed_DataObject
 
     public function getUrl()
     {
-        if (!empty($this->getFile()->filename)) {
+        if (!empty($this->filename) || $this->getFile()->isLocal()) {
             // A locally stored File, so we can dynamically generate a URL.
             if (!empty($this->url)) {
                 // Let's just clear this field as there is no point in having it for local files.
                 $orig = clone($this);
-                $this->url = null;
+                $this->url = '';
                 $this->update($orig);
             }
             $url = common_local_url('attachment_thumbnail', array('attachment'=>$this->file_id));
@@ -152,7 +152,7 @@ class File_thumbnail extends Managed_DataObject
             return $url . http_build_query(array('w'=>$this->width, 'h'=>$this->height));
         }
 
-        // No local filename available, return the URL we have stored
+        // No local filename available, return the remote URL we have stored
         return $this->url;
     }
 
@@ -166,6 +166,9 @@ class File_thumbnail extends Managed_DataObject
         return $this->width;
     }
 
+    /**
+     * @throws UseFileAsThumbnailException from File_thumbnail->getUrl() for stuff like animated GIFs
+     */
     public function getHtmlAttrs(array $orig=array(), $overwrite=true)
     {
         $attrs = [