summaryrefslogtreecommitdiffstats
path: root/db
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 /db
parent284d428111d03c16561c15dc98daaab802d2cac4 (diff)
When creating a feed or folder the it should purge the deleted
Edit fix #176
Diffstat (limited to 'db')
-rw-r--r--db/feedmapper.php21
-rw-r--r--db/foldermapper.php21
2 files changed, 32 insertions, 10 deletions
diff --git a/db/feedmapper.php b/db/feedmapper.php
index 227c5b13c..f8c222298 100644
--- a/db/feedmapper.php
+++ b/db/feedmapper.php
@@ -147,15 +147,26 @@ class FeedMapper extends Mapper implements IMapper {
}
- public function getToDelete($deleteOlderThan, $userId=null) {
+ /**
+ * @param int $deleteOlderThan if given gets all entries with a delete date
+ * older than that timestamp
+ * @param string $userId if given returns only entries from the given user
+ * @return array with the database rows
+ */
+ public function getToDelete($deleteOlderThan=null, $userId=null) {
$sql = 'SELECT * FROM `*PREFIX*news_feeds` ' .
- 'WHERE `deleted_at` > 0 ' .
- 'AND `deleted_at` < ?';
- $params = array($deleteOlderThan);
+ 'WHERE `deleted_at` > 0 ';
+ $params = array();
+
+ // sometimes we want to delete all entries
+ if ($deleteOlderThan !== null) {
+ $sql .= 'AND `deleted_at` < ? ';
+ array_push($params, $deleteOlderThan);
+ }
// we need to sometimes only delete feeds of a user
if($userId !== null) {
- $sql .= ' AND `user_id` = ?';
+ $sql .= 'AND `user_id` = ?';
array_push($params, $userId);
}
diff --git a/db/foldermapper.php b/db/foldermapper.php
index f8d088cdb..c2a44dc20 100644
--- a/db/foldermapper.php
+++ b/db/foldermapper.php
@@ -97,15 +97,26 @@ class FolderMapper extends Mapper implements IMapper {
}
- public function getToDelete($deleteOlderThan, $userId=null) {
+ /**
+ * @param int $deleteOlderThan if given gets all entries with a delete date
+ * older than that timestamp
+ * @param string $userId if given returns only entries from the given user
+ * @return array with the database rows
+ */
+ public function getToDelete($deleteOlderThan=null, $userId=null) {
$sql = 'SELECT * FROM `*PREFIX*news_folders` ' .
- 'WHERE `deleted_at` > 0 ' .
- 'AND `deleted_at` < ?';
- $params = array($deleteOlderThan);
+ 'WHERE `deleted_at` > 0 ';
+ $params = array();
+
+ // sometimes we want to delete all entries
+ if ($deleteOlderThan !== null) {
+ $sql .= 'AND `deleted_at` < ? ';
+ array_push($params, $deleteOlderThan);
+ }
// we need to sometimes only delete feeds of a user
if($userId !== null) {
- $sql .= ' AND `user_id` = ?';
+ $sql .= 'AND `user_id` = ?';
array_push($params, $userId);
}