]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
filename_base option isn't optimal
authorMikael Nordfeldth <mmn@hethane.se>
Sat, 5 Mar 2016 10:59:46 +0000 (11:59 +0100)
committerMikael Nordfeldth <mmn@hethane.se>
Sat, 5 Mar 2016 10:59:46 +0000 (11:59 +0100)
For different "download filenames" we should use some other method.

lib/default.php
lib/mediafile.php

index 0fa8ce167850dc811ccbcd6e1d58b90a6ce1930d..d8b291b3444309084335d642763b49c846eb73ae 100644 (file)
@@ -263,7 +263,6 @@ $default =
               'user_quota' => 50000000,
               'monthly_quota' => 15000000,
               'uploads' => true,
-              'filename_base' => 'hash',   // for new files, choose one: 'upload', 'hash'
               'show_html' => false,  // show (filtered) text/html attachments (and oEmbed HTML etc.). Doesn't affect AJAX calls.
               'show_thumbs' => true, // show thumbnails in notice lists for uploaded images, and photos and videos linked remotely that provide oEmbed info
               'process_links' => true, // check linked resources for embeddable photos and videos; this will hit referenced external web sites when processing new messages.
index dc7000f3848a4f7c01a025d3242cb769abca9c11..be97b1cc17ea8c6241e00679e6fd2ddeec102a72 100644 (file)
@@ -42,10 +42,8 @@ class MediaFile
     var $short_fileurl = null;
     var $mimetype      = null;
 
-    function __construct(Profile $scoped, $filename = null, $mimetype = null, $filehash = null)
+    function __construct($filename = null, $mimetype = null, $filehash = null)
     {
-        $this->scoped = $scoped;
-
         $this->filename   = $filename;
         $this->mimetype   = $mimetype;
         $this->filehash   = $filehash;
@@ -189,10 +187,6 @@ class MediaFile
 
     static function fromUpload($param='media', Profile $scoped=null)
     {
-        if (is_null($scoped)) {
-            $scoped = Profile::current();
-        }
-
         // The existence of the "error" element means PHP has processed it properly even if it was ok.
         if (!isset($_FILES[$param]) || !isset($_FILES[$param]['error'])) {
             throw new NoUploadedMediaException($param);
@@ -248,21 +242,16 @@ class MediaFile
         } catch (NoResultException $e) {
             // We have to save the upload as a new local file. This is the normal course of action.
 
-            // Throws exception if additional size does not respect quota
-            // This test is only needed, of course, if we're uploading something new.
-            File::respectsQuota($scoped, $_FILES[$param]['size']);
+            if ($scoped instanceof Profile) {
+                // Throws exception if additional size does not respect quota
+                // This test is only needed, of course, if we're uploading something new.
+                File::respectsQuota($scoped, $_FILES[$param]['size']);
+            }
 
             $mimetype = self::getUploadedMimeType($_FILES[$param]['tmp_name'], $_FILES[$param]['name']);
             $basename = basename($_FILES[$param]['name']);
 
-            switch (common_config('attachments', 'filename_base')) {
-            case 'upload':
-                $filename = File::filename($scoped, $basename, $mimetype);
-                break;
-            case 'hash':
-            default:
-                $filename = strtolower($filehash) . '.' . File::guessMimeExtension($mimetype, $basename);
-            }
+            $filename = strtolower($filehash) . '.' . File::guessMimeExtension($mimetype, $basename);
             $filepath = File::path($filename);
 
             $result = move_uploaded_file($_FILES[$param]['tmp_name'], $filepath);
@@ -274,10 +263,10 @@ class MediaFile
             }
         }
 
-        return new MediaFile($scoped, $filename, $mimetype, $filehash);
+        return new MediaFile($filename, $mimetype, $filehash);
     }
 
-    static function fromFilehandle($fh, Profile $scoped) {
+    static function fromFilehandle($fh, Profile $scoped=null) {
         $stream = stream_get_meta_data($fh);
         // So far we're only handling filehandles originating from tmpfile(),
         // so we can always do hash_file on $stream['uri'] as far as I can tell!
@@ -312,18 +301,13 @@ class MediaFile
             $mimetype = $file->mimetype;
 
         } catch (NoResultException $e) {
-            File::respectsQuota($scoped, filesize($stream['uri']));
+            if ($scoped instanceof Profile) {
+                File::respectsQuota($scoped, filesize($stream['uri']));
+            }
 
             $mimetype = self::getUploadedMimeType($stream['uri']);
 
-            switch (common_config('attachments', 'filename_base')) {
-            case 'upload':
-                $filename = File::filename($scoped, "email", $mimetype);
-                break;
-            case 'hash':
-            default:
-                $filename = strtolower($filehash) . '.' . File::guessMimeExtension($mimetype);
-            }
+            $filename = strtolower($filehash) . '.' . File::guessMimeExtension($mimetype);
             $filepath = File::path($filename);
 
             $result = copy($stream['uri'], $filepath) && chmod($filepath, 0664);
@@ -336,7 +320,7 @@ class MediaFile
             }
         }
 
-        return new MediaFile($scoped, $filename, $mimetype, $filehash);
+        return new MediaFile($filename, $mimetype, $filehash);
     }
 
     /**