summaryrefslogtreecommitdiff
path: root/plugins/filesystem_attachments/filesystem_attachments.php
diff options
context:
space:
mode:
authorthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-03-10 20:21:55 +0000
committerthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-03-10 20:21:55 +0000
commitde1d318f54fa75a24f1a7317862b69b90d330239 (patch)
treed11c4dcf0dde19a4e9b33e16c1ef425cfebfbf6d /plugins/filesystem_attachments/filesystem_attachments.php
parent0b178f16f1a1139a45cc5478bd2ed3e992a61bc8 (diff)
Manage attachments in groups
git-svn-id: https://svn.roundcube.net/trunk@4605 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'plugins/filesystem_attachments/filesystem_attachments.php')
-rw-r--r--plugins/filesystem_attachments/filesystem_attachments.php22
1 files changed, 14 insertions, 8 deletions
diff --git a/plugins/filesystem_attachments/filesystem_attachments.php b/plugins/filesystem_attachments/filesystem_attachments.php
index a2ac3a8c9..c91c7d7ee 100644
--- a/plugins/filesystem_attachments/filesystem_attachments.php
+++ b/plugins/filesystem_attachments/filesystem_attachments.php
@@ -19,7 +19,7 @@
*/
class filesystem_attachments extends rcube_plugin
{
- public $task = 'mail|addressbook';
+ public $task = 'mail|addressbook|logout';
function init()
{
@@ -49,6 +49,7 @@ class filesystem_attachments extends rcube_plugin
function upload($args)
{
$args['status'] = false;
+ $group = $args['group'];
$rcmail = rcmail::get_instance();
// use common temp dir for file uploads
@@ -61,7 +62,7 @@ class filesystem_attachments extends rcube_plugin
$args['status'] = true;
// Note the file for later cleanup
- $_SESSION['plugins']['filesystem_attachments']['tmp_files'][] = $tmpfname;
+ $_SESSION['plugins']['filesystem_attachments'][$group][] = $tmpfname;
}
return $args;
@@ -72,6 +73,7 @@ class filesystem_attachments extends rcube_plugin
*/
function save($args)
{
+ $group = $args['group'];
$args['status'] = false;
if (!$args['path']) {
@@ -91,7 +93,7 @@ class filesystem_attachments extends rcube_plugin
$args['status'] = true;
// Note the file for later cleanup
- $_SESSION['plugins']['filesystem_attachments']['tmp_files'][] = $args['path'];
+ $_SESSION['plugins']['filesystem_attachments'][$group][] = $args['path'];
return $args;
}
@@ -135,13 +137,17 @@ class filesystem_attachments extends rcube_plugin
// $_SESSION['compose']['attachments'] is not a complete record of
// temporary files because loading a draft or starting a forward copies
// the file to disk, but does not make an entry in that array
- if (is_array($_SESSION['plugins']['filesystem_attachments']['tmp_files'])){
- foreach ($_SESSION['plugins']['filesystem_attachments']['tmp_files'] as $filename){
- if(file_exists($filename)){
- unlink($filename);
+ if (is_array($_SESSION['plugins']['filesystem_attachments'])){
+ foreach ($_SESSION['plugins']['filesystem_attachments'] as $group => $files) {
+ if ($args['group'] && $args['group'] != $group)
+ continue;
+ foreach ((array)$files as $filename){
+ if(file_exists($filename)){
+ unlink($filename);
+ }
}
+ unset($_SESSION['plugins']['filesystem_attachments'][$group]);
}
- unset($_SESSION['plugins']['filesystem_attachments']['tmp_files']);
}
return $args;
}