source: github/program/steps/mail/upload.inc @ f91a499

HEADcourier-fixdev-browser-capabilitiespdorelease-0.6release-0.7release-0.8
Last change on this file since f91a499 was f91a499, checked in by thomascube <thomas@…>, 6 years ago

Little fix for new string quoting

  • Property mode set to 100644
File size: 2.8 KB
Line 
1<?php
2
3/*
4 +-----------------------------------------------------------------------+
5 | program/steps/mail/upload.inc                                         |
6 |                                                                       |
7 | This file is part of the RoundCube Webmail client                     |
8 | Copyright (C) 2005, RoundCube Dev. - Switzerland                      |
9 | Licensed under the GNU GPL                                            |
10 |                                                                       |
11 | PURPOSE:                                                              |
12 |   Handle file-upload and make them available as attachments           |
13 |                                                                       |
14 +-----------------------------------------------------------------------+
15 | Author: Thomas Bruederli <roundcube@gmail.com>                        |
16 +-----------------------------------------------------------------------+
17
18 $Id$
19
20*/
21
22
23if (!$_SESSION['compose'])
24  {
25  exit;
26  }
27
28
29// use common temp dir for file uploads
30$temp_dir = unslashify($CONFIG['temp_dir']);
31
32
33if (!is_array($_SESSION['compose']['attachments']))
34  $_SESSION['compose']['attachments'] = array();
35
36
37$response = '';
38
39foreach ($_FILES['_attachments']['tmp_name'] as $i => $filepath)
40  {
41  $tmpfname = tempnam($temp_dir, 'rcmAttmnt');
42  if (move_uploaded_file($filepath, $tmpfname))
43    {
44    $id = count($_SESSION['compose']['attachments']);
45    $_SESSION['compose']['attachments'][] = array('name' => $_FILES['_attachments']['name'][$i],
46                                                  'mimetype' => $_FILES['_attachments']['type'][$i],
47                                                  'path' => $tmpfname);
48
49    if (is_file($CONFIG['skin_path'] . '/images/icons/remove-attachment.png'))
50      $button = sprintf('<img src="%s/images/icons/remove-attachment.png" alt="%s" border="0" style="padding-right:2px;vertical-align:middle" />',
51                        $CONFIG['skin_path'],
52                        Q(rcube_label('delete')));
53    else
54      $button = Q(rcube_label('delete'));
55
56    $content = sprintf('<a href="#delete" onclick="return %s.command(\\\'remove-attachment\\\', \\\'rcmfile%d\\\', this)" title="%s">%s</a>%s',
57                       $JS_OBJECT_NAME,
58                       $id,
59                       Q(rcube_label('delete')),
60                       $button,
61                       Q($_FILES['_attachments']['name'][$i]));
62
63    $response .= sprintf('parent.%s.add2attachment_list(\'rcmfile%d\',\'%s\');',
64                         $JS_OBJECT_NAME,
65                         $id,
66                         $content);
67    }
68  }
69
70
71// send html page with JS calls as response
72$frameout = <<<EOF
73$response
74parent.$JS_OBJECT_NAME.show_attachment_form(false);
75parent.$JS_OBJECT_NAME.auto_save_start();
76EOF;
77
78rcube_iframe_response($frameout);
79
80?>
Note: See TracBrowser for help on using the repository browser.