summaryrefslogtreecommitdiffstats
path: root/businesslayer/folderbusinesslayer.php
diff options
context:
space:
mode:
Diffstat (limited to 'businesslayer/folderbusinesslayer.php')
-rw-r--r--businesslayer/folderbusinesslayer.php17
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) {