]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Return dynamically generated URLs for thumbnails for all locally stored entries
authorMikael Nordfeldth <mmn@hethane.se>
Wed, 6 Jan 2016 18:06:29 +0000 (19:06 +0100)
committerMikael Nordfeldth <mmn@hethane.se>
Wed, 6 Jan 2016 18:06:29 +0000 (19:06 +0100)
classes/File.php
classes/File_thumbnail.php

index 24c4e6a232509d00459d1200e522639c11951757..99413adbcc6d302c20b93a2324721761e5ee5881 100644 (file)
@@ -660,4 +660,4 @@ class File extends Managed_DataObject
         echo "DONE.\n";
         echo "Resuming core schema upgrade...";
     }
-}
\ No newline at end of file
+}
index e1eb79e099e69212b7f560919e09e8a3ce835852..186ffc50a0b770b63033589407c354e482b7d780 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'),
@@ -134,12 +134,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));
@@ -149,7 +149,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;
     }
 
@@ -163,6 +163,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 = [