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());