diff options
author | Bernhard Posselt <nukeawhale@gmail.com> | 2013-05-21 21:10:45 +0200 |
---|---|---|
committer | Bernhard Posselt <nukeawhale@gmail.com> | 2013-05-21 21:10:45 +0200 |
commit | 031ba0ce524f35c70b776173917ae4ce3819951e (patch) | |
tree | a54c45c0e9b9412ae7970034e7621115dce714c8 /businesslayer | |
parent | 284d428111d03c16561c15dc98daaab802d2cac4 (diff) |
When creating a feed or folder the it should purge the deleted
Edit
fix #176
Diffstat (limited to 'businesslayer')
-rw-r--r-- | businesslayer/feedbusinesslayer.php | 18 | ||||
-rw-r--r-- | businesslayer/folderbusinesslayer.php | 17 |
2 files changed, 28 insertions, 7 deletions
diff --git a/businesslayer/feedbusinesslayer.php b/businesslayer/feedbusinesslayer.php index f6ab1c144..53e0862a9 100644 --- a/businesslayer/feedbusinesslayer.php +++ b/businesslayer/feedbusinesslayer.php @@ -261,9 +261,21 @@ class FeedBusinessLayer extends BusinessLayer { } - public function purgeDeleted($userId=null) { - $now = $this->timeFactory->getTime(); - $deleteOlderThan = $now - $this->autoPurgeMinimumInterval; + /** + * Deletes all deleted feeds + * @param string $userId if given it purges only feeds 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, $useInterval=true) { + $deleteOlderThan = null; + + if ($useInterval) { + $now = $this->timeFactory->getTime(); + $deleteOlderThan = $now - $this->autoPurgeMinimumInterval; + } + $toDelete = $this->mapper->getToDelete($deleteOlderThan, $userId); foreach ($toDelete as $feed) { 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) { |