From 91d194a5df74ba79e40fb1be8f87d79a506d2c85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gregor=20T=C3=A4tzner?= Date: Sat, 4 Aug 2012 10:31:57 +0200 Subject: Polish deleteAll functions. It's not necessary to use sql joins --- lib/feedmapper.php | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) (limited to 'lib/feedmapper.php') diff --git a/lib/feedmapper.php b/lib/feedmapper.php index 4e3987a17..6461b6bf7 100644 --- a/lib/feedmapper.php +++ b/lib/feedmapper.php @@ -213,27 +213,19 @@ class OC_News_FeedMapper { return deleteById($id); } - //it's more complicated tan this...recursive delete, or delete with a join public function deleteAll($folderid){ if ($folderid == null) { return false; } - // delete items - $itemMapper = new OC_News_ItemMapper(); - $stmt = OCP\DB::prepare('SELECT ' . self::tableName . '.id FROM ' . self::tableName .' INNER JOIN ' . OC_News_ItemMapper::tableName . - ' ON ' . self::tableName . '.id = ' . OC_News_ItemMapper::tableName . '.feed_id WHERE folder_id = ?'); + $stmt = OCP\DB::prepare('SELECT id FROM ' . self::tableName . ' WHERE folder_id = ?'); $result = $stmt->execute(array($folderid)); while ($row = $result->fetchRow()) { - $itemMapper->deleteAll($row['id']); + if(!self::deleteById($row['id'])) + return false; } - // delete feeds - $stmt = OCP\DB::prepare('DELETE FROM ' . self::tableName .' WHERE folder_id = ?'); - $result = $stmt->execute(array($folderid)); - //TODO: handle the value that the execute returns - return true; } } \ No newline at end of file -- cgit v1.2.3