summaryrefslogtreecommitdiff
path: root/program/steps/mail/upload.inc
diff options
context:
space:
mode:
Diffstat (limited to 'program/steps/mail/upload.inc')
-rw-r--r--program/steps/mail/upload.inc75
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