diff options
Diffstat (limited to 'businesslayer/folderbusinesslayer.php')
-rw-r--r-- | businesslayer/folderbusinesslayer.php | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/businesslayer/folderbusinesslayer.php b/businesslayer/folderbusinesslayer.php index e511c4dda..662b04b01 100644 --- a/businesslayer/folderbusinesslayer.php +++ b/businesslayer/folderbusinesslayer.php @@ -123,11 +123,20 @@ class FolderBusinessLayer extends BusinessLayer { /** - * Purges marked as deleted folders + * Deletes all deleted folders + * @param string $userId if given it purges only folders of that user + * @param boolean $useInterval defaults to true, if true it only purges + * entries in a given interval to give the user a chance to undo the + * deletion */ - public function purgeDeleted($userId=null) { - $now = $this->timeFactory->getTime(); - $deleteOlderThan = $now - $this->autoPurgeMinimumInterval; + public function purgeDeleted($userId=null, $useInterval=true) { + $deleteOlderThan = null; + + if ($useInterval) { + $now = $this->timeFactory->getTime(); + $deleteOlderThan = $now - $this->autoPurgeMinimumInterval; + } + $toDelete = $this->mapper->getToDelete($deleteOlderThan, $userId); foreach ($toDelete as $folder) { |