summaryrefslogtreecommitdiffstats
path: root/businesslayer
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2013-05-21 21:10:45 +0200
committerBernhard Posselt <nukeawhale@gmail.com>2013-05-21 21:10:45 +0200
commit031ba0ce524f35c70b776173917ae4ce3819951e (patch)
treea54c45c0e9b9412ae7970034e7621115dce714c8 /businesslayer
parent284d428111d03c16561c15dc98daaab802d2cac4 (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.php18
-rw-r--r--businesslayer/folderbusinesslayer.php17
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) {