thomascube
2009-07-31 7f37b879fd102f9e96f1242abbeb6c481be8e162
Cleanup temporary attachment files when killing session + fix indentation

1 files modified
27 ■■■■ changed files
plugins/filesystem_attachments/filesystem_attachments.php 27 ●●●● patch | view | raw | blame | history
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