Properly cleanup temporary saved attachment files
This commit is contained in:
parent
8062cdb94a
commit
c8b6f57d66
2 changed files with 20 additions and 2 deletions
|
@ -1747,7 +1747,7 @@ class calendar extends rcube_plugin
|
|||
$eventid = 'cal:'.$event['id'];
|
||||
if (!empty($_SESSION['event_session']) && ($eventid = $_SESSION['event_session']['id'])) {
|
||||
$this->rc->plugins->exec_hook('attachments_cleanup', array('group' => $eventid));
|
||||
unset($_SESSION['event_session']);
|
||||
$this->rc->session->remove('event_session');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -162,13 +162,16 @@ class tasklist extends rcube_plugin
|
|||
if ($success = $this->driver->create_task($rec)) {
|
||||
$refresh = $this->driver->get_task($rec);
|
||||
if ($temp_id) $refresh['tempid'] = $temp_id;
|
||||
$this->cleanup_task($rec);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'edit':
|
||||
$rec = $this->prepare_task($rec);
|
||||
if ($success = $this->driver->edit_task($rec))
|
||||
if ($success = $this->driver->edit_task($rec)) {
|
||||
$refresh = $this->driver->get_task($rec);
|
||||
$this->cleanup_task($rec);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'delete':
|
||||
|
@ -319,6 +322,21 @@ class tasklist extends rcube_plugin
|
|||
return $rec;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Releases some resources after successful save
|
||||
*/
|
||||
private function cleanup_task(&$rec)
|
||||
{
|
||||
// remove temp. attachment files
|
||||
$taskid = $rec['id'];
|
||||
if (!empty($_SESSION['tasklist_session']) && ($taskid = $_SESSION['tasklist_session']['id'])) {
|
||||
$this->rc->plugins->exec_hook('attachments_cleanup', array('group' => $taskid));
|
||||
$this->rc->session->remove('tasklist_session');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
|
|
Loading…
Add table
Reference in a new issue