diff options
author | alecpl <alec@alec.pl> | 2009-04-06 11:33:13 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2009-04-06 11:33:13 +0000 |
commit | 779cbe0066b10cbbe754184e4aed33d2502ff456 (patch) | |
tree | b07121a2ce02e59b92ce2c9628c03cd832c6302f | |
parent | ce16bbc74ea3a8f63fd0b827be109af2acb6948c (diff) |
- Fix 'temp_dir' does not support relative path under Windows (#1484529)
- add file_exists check for uploaded attachments
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | program/steps/mail/attachments.inc | 7 |
2 files changed, 7 insertions, 1 deletions
@@ -1,6 +1,7 @@ CHANGELOG RoundCube Webmail =========================== +- Fix 'temp_dir' does not support relative path under Windows (#1484529) - Fix "Initialize Database" button missing from installer (#1485802) - Fix compose window doesn't fit 1024x768 window (#1485396) - Fix service not available error when pressing back from compose dialog (#1485552) diff --git a/program/steps/mail/attachments.inc b/program/steps/mail/attachments.inc index b0a2a7e81..f6e29f9d7 100644 --- a/program/steps/mail/attachments.inc +++ b/program/steps/mail/attachments.inc @@ -63,6 +63,11 @@ if ($RCMAIL->action=='display-attachment') // use common temp dir for file uploads $temp_dir = unslashify($CONFIG['temp_dir']); +// #1484529: we need absolute path on Windows for move_uploaded_file() +if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { + $temp_dir = realpath($temp_dir); +} + if (!is_array($_SESSION['compose']['attachments'])) { $_SESSION['compose']['attachments'] = array(); } @@ -73,7 +78,7 @@ $OUTPUT->reset(); if (is_array($_FILES['_attachments']['tmp_name'])) { foreach ($_FILES['_attachments']['tmp_name'] as $i => $filepath) { $tmpfname = tempnam($temp_dir, 'rcmAttmnt'); - if (move_uploaded_file($filepath, $tmpfname)) { + if (move_uploaded_file($filepath, $tmpfname) && file_exists($tmpfname)) { $id = count($_SESSION['compose']['attachments']); $_SESSION['compose']['attachments'][] = array( 'name' => $_FILES['_attachments']['name'][$i], |