DataObjects/core.sql
[Pman.Core] / DataObjects / Images.php
index de0baeb..56285fc 100644 (file)
@@ -59,12 +59,21 @@ class Pman_Core_DataObjects_Images extends DB_DataObject
         if (isset($q['_remote_upload'])) {
             require_once 'System.php';
             $tmpdir  = System::mktemp("-d remote_upload");
-            $imageInfo = getimagesize($q['_remote_upload']);
-            $ext = explode('/', $imageInfo['mime']);
-            $path = $tmpdir . '/' . time() . '.' . $ext[1];
+            
+            $path = $tmpdir . '/' . basename($q['_remote_upload']);
             if(!file_exists($path)){
                file_put_contents($path, file_get_contents($q['_remote_upload'])); 
             }
+            
+            $imageInfo = getimagesize($path);
+            require_once 'File/MimeType.php';
+            $y = new File_MimeType();
+            $ext = $y->toExt(trim((string) $imageInfo['mime'] ));
+            
+            if (!preg_match("/\." . $ext."$/", $path, $matches)) {
+                rename($path,$path.$ext);
+            }
+            
             $this->createFrom($path);
             
             $roo->addEvent("ADD", $this, $this->toEventString());