changeset 841:f007e63f82d6

Use original filename extension if we can't determine a solid file type.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 25 Nov 2014 20:43:36 +0200
parents 3b9ccc10c9a0
children 8ec53995e64d
files msite.inc.php
diffstat 1 files changed, 12 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/msite.inc.php	Tue Nov 25 20:42:37 2014 +0200
+++ b/msite.inc.php	Tue Nov 25 20:43:36 2014 +0200
@@ -1183,13 +1183,23 @@
 
   if ($uploadType == "preview" && !isset($fileInfo["type"]))
     return stError("Preview file upload is not one of the supported preview file types.");
+  
+  // Get original extension
+  $origFilename = $_FILES[$fileEntry]["name"];
+  if (($fext = $fileInfo["fext"]) === false)
+  {
+    $fext = ".tmp";
+    if (($rpos = strrpos($origFilename, ".")) !== false)
+      $fext = substr($origFilename, $rpos);
+  }
 
   // Add file entry
-  if (!stAddFileEntry($_FILES[$fileEntry]["name"], $fileSize, $userID, $uploadType, $entry, $fileID))
+  if (!stAddFileEntry($origFilename, $fileSize, $userID,
+    ($uploadType == "entry") ? "file" : "preview", $entry, $fileID))
     return FALSE;
 
   // Set rest of the data ..
-  if (!stSetFileEntryFilename($fileID, $uploadType, $entry, $fileInfo["fext"], $fileInfo["id"], $filename))
+  if (!stSetFileEntryFilename($fileID, $uploadType, $entry, $fext, $fileInfo["id"], $filename))
     return FALSE;
 
   // Set permissions before moving the file