From 7f37b879fd102f9e96f1242abbeb6c481be8e162 Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Fri, 31 Jul 2009 05:13:11 -0400 Subject: [PATCH] Cleanup temporary attachment files when killing session + fix indentation --- plugins/filesystem_attachments/filesystem_attachments.php | 27 ++++++++++++++------------- 1 files changed, 14 insertions(+), 13 deletions(-) diff --git a/plugins/filesystem_attachments/filesystem_attachments.php b/plugins/filesystem_attachments/filesystem_attachments.php index f4b9b6d..fcdcea7 100644 --- a/plugins/filesystem_attachments/filesystem_attachments.php +++ b/plugins/filesystem_attachments/filesystem_attachments.php @@ -40,6 +40,7 @@ // Delete all temp files associated with this user $this->add_hook('cleanup_attachments', array($this, 'cleanup')); + $this->add_hook('kill_session', array($this, 'cleanup')); } /** @@ -73,21 +74,21 @@ function save($args) { $args['status'] = false; - - if (!$args['path']) { - $rcmail = rcmail::get_instance(); - $temp_dir = unslashify($rcmail->config->get('temp_dir')); - $tmp_path = tempnam($temp_dir, 'rcmAttmnt'); - if ($fp = fopen($tmp_path, 'w')) { - fwrite($fp, $args['data']); - fclose($fp); - $args['path'] = $tmp_path; - } else - return $args; - } + if (!$args['path']) { + $rcmail = rcmail::get_instance(); + $temp_dir = unslashify($rcmail->config->get('temp_dir')); + $tmp_path = tempnam($temp_dir, 'rcmAttmnt'); + + if ($fp = fopen($tmp_path, 'w')) { + fwrite($fp, $args['data']); + fclose($fp); + $args['path'] = $tmp_path; + } else + return $args; + } - $args['id'] = count($_SESSION['plugins']['filesystem_attachments']['tmp_files'])+1; + $args['id'] = count($_SESSION['plugins']['filesystem_attachments']['tmp_files'])+1; $args['status'] = true; // Note the file for later cleanup -- Gitblit v1.9.1