diff options
author | thomascube <thomas@roundcube.net> | 2005-09-25 14:18:03 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2005-09-25 14:18:03 +0000 |
commit | 4e17e6c9dbac8991ee8b302cb2581241247dc8bc (patch) | |
tree | d877546f6bd334b041734498e81f6299e005b01c /program/steps/mail/upload.inc |
Initial revision
Diffstat (limited to 'program/steps/mail/upload.inc')
-rw-r--r-- | program/steps/mail/upload.inc | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/program/steps/mail/upload.inc b/program/steps/mail/upload.inc new file mode 100644 index 000000000..4f1eb3dab --- /dev/null +++ b/program/steps/mail/upload.inc @@ -0,0 +1,75 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | program/steps/mail/upload.inc | + | | + | This file is part of the RoundCube Webmail client | + | Copyright (C) 2005, RoundCube Dev. - Switzerland | + | All rights reserved. | + | | + | PURPOSE: | + | Handle file-upload and make them available as attachments | + | | + +-----------------------------------------------------------------------+ + | Author: Thomas Bruederli <roundcube@gmail.com> | + +-----------------------------------------------------------------------+ + + $Id$ + +*/ + + +if (!$_SESSION['compose']) + { + exit; + } + + +if (strlen($CONFIG['temp_dir'])) + $temp_dir = $CONFIG['temp_dir'].(!eregi('\/$', $CONFIG['temp_dir']) ? '/' : '').$_SESSION['compose']['id']; + +if (!is_array($_SESSION['compose']['attachments'])) + { + $_SESSION['compose']['attachments'] = array(); + + // create temp-dir for uploaded attachments + if ($CONFIG['temp_dir'] && is_writeable($CONFIG['temp_dir'])) + { + mkdir($temp_dir); + $_SESSION['compose']['temp_dir'] = $temp_dir; + } + } + + +$response = ''; + +foreach ($_FILES['_attachments']['tmp_name'] as $i => $filepath) + { + $tmpfname = tempnam($temp_dir, 'rcmAttmnt'); + if (copy($filepath, $tmpfname)) + { + $_SESSION['compose']['attachments'][] = array('name' => $_FILES['_attachments']['name'][$i], + 'mimetype' => $_FILES['_attachments']['type'][$i], + 'path' => $tmpfname); + + $response .= sprintf("parent.%s.add2attachment_list('%s');\n", $JS_OBJECT_NAME, $_FILES['_attachments']['name'][$i]); + } + } + + +// send html page with JS calls as response +print <<<EOF +<html> +<script type="text/javascript"> +if (parent.$JS_OBJECT_NAME) +{ +$response +parent.$JS_OBJECT_NAME.show_attachment_form(false); +} +</script> +</html> +EOF; +exit; + +?>
\ No newline at end of file |