]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Don't update stored URLs just because we have a filename
authorMikael Nordfeldth <mmn@hethane.se>
Wed, 6 Jan 2016 18:23:38 +0000 (19:23 +0100)
committerMikael Nordfeldth <mmn@hethane.se>
Wed, 6 Jan 2016 18:24:03 +0000 (19:24 +0100)
This would overwrite remote URLs with local verisons which removes source href...
The reason one might have filenames for remote URLs is that StoreRemoteMedia plugin
fetches them and uses the filename field.

classes/File.php
lib/attachmentlistitem.php

index 99413adbcc6d302c20b93a2324721761e5ee5881..a3ded46ec943cf36b9e8aada6b023cfac75e5b84 100644 (file)
@@ -55,7 +55,7 @@ class File extends Managed_DataObject
                 'title' => array('type' => 'text', 'description' => 'title of resource when available'),
                 'date' => array('type' => 'int', 'description' => 'date of resource according to http query'),
                 'protected' => array('type' => 'int', 'description' => 'true when URL is private (needs login)'),
-                'filename' => array('type' => 'text', 'description' => 'if a local file, name of the file'),
+                'filename' => array('type' => 'text', 'description' => 'if file is stored locally (too) this is the filename'),
                 'width' => array('type' => 'int', 'description' => 'width in pixels, if it can be described as such and data is available'),
                 'height' => array('type' => 'int', 'description' => 'height in pixels, if it can be described as such and data is available'),
 
@@ -416,21 +416,11 @@ class File extends Managed_DataObject
         return $filepath;
     }
 
-    public function getUrl()
+    public function getUrl($prefer_local=true)
     {
-        if (!empty($this->filename)) {
+        if ($prefer_local && !empty($this->filename)) {
             // A locally stored file, so let's generate a URL for our instance.
-            $url = self::url($this->filename);
-            if (self::hashurl($url) !== $this->urlhash) {
-                // For indexing purposes, in case we do a lookup on the 'url' field.
-                // also we're fixing possible changes from http to https, or paths
-                try {
-                       $this->updateUrl($url);
-                } catch (ServerException $e) {
-                       //
-                }      
-            }
-            return $url;
+            return self::url($this->filename);
         }
 
         // No local filename available, return the URL we have stored
index 3a95eb10c3f3c3d92e9b31a934e9ecb96a00bbe6..132b2002edd23a78e4593e2f6a79edfd437234f5 100644 (file)
@@ -87,7 +87,7 @@ class AttachmentListItem extends Widget
 
     function linkAttr() {
         return array('class' => 'attachment',
-                     'href' => $this->attachment->getUrl(),
+                     'href' => $this->attachment->getUrl(false),
                      'id' => 'attachment-' . $this->attachment->id,
                      'title' => $this->linkTitle());
     }