diff options
Diffstat (limited to 'db')
-rw-r--r-- | db/feedmapper.php | 11 | ||||
-rw-r--r-- | db/foldermapper.php | 9 | ||||
-rw-r--r-- | db/itemmapper.php | 16 |
3 files changed, 36 insertions, 0 deletions
diff --git a/db/feedmapper.php b/db/feedmapper.php index 60f9abefa..23b6da5d6 100644 --- a/db/feedmapper.php +++ b/db/feedmapper.php @@ -198,4 +198,15 @@ class FeedMapper extends Mapper implements IMapper { } + /** + * Deletes all feeds of a user, delete items first since the user_id + * is not defined in there + * @param string $userId the name of the user + */ + public function deleteUser($userId) { + $sql = 'DELETE FROM `*PREFIX*news_feeds` WHERE `user_id` = ?'; + $this->execute($sql, array($userId)); + } + + } diff --git a/db/foldermapper.php b/db/foldermapper.php index 8f6c32cde..2abe89b29 100644 --- a/db/foldermapper.php +++ b/db/foldermapper.php @@ -127,5 +127,14 @@ class FolderMapper extends Mapper implements IMapper { } + /** + * Deletes all folders of a user + * @param string $userId the name of the user + */ + public function deleteUser($userId) { + $sql = 'DELETE FROM `*PREFIX*news_folders` WHERE `user_id` = ?'; + $this->execute($sql, array($userId)); + } + }
\ No newline at end of file diff --git a/db/itemmapper.php b/db/itemmapper.php index 1ec283826..5b2ab5346 100644 --- a/db/itemmapper.php +++ b/db/itemmapper.php @@ -300,4 +300,20 @@ class ItemMapper extends Mapper implements IMapper { return (int) $result['max_id']; } + + /** + * Deletes all items of a user + * @param string $userId the name of the user + */ + public function deleteUser($userId) { + $sql = 'DELETE FROM `*PREFIX*news_items` `items` ' . + 'WHERE `items`.`feed_id` IN (' . + 'SELECT `feeds`.`id` FROM `*PREFIX*news_feeds` `feeds` ' . + 'WHERE `feeds`.`user_id` = ?' . + ')'; + + $this->execute($sql, array($userId)); + } + + } |