From df2613660f8e7b6b0c90a06542b830061513c725 Mon Sep 17 00:00:00 2001 From: Bernhard Posselt Date: Sat, 5 Apr 2014 19:11:09 +0200 Subject: use findEntity and findEntities from the mapper class to get rid of code duplication --- db/feedmapper.php | 26 ++++---------------------- db/foldermapper.php | 26 ++++---------------------- db/itemmapper.php | 37 ++++++++----------------------------- 3 files changed, 16 insertions(+), 73 deletions(-) (limited to 'db') diff --git a/db/feedmapper.php b/db/feedmapper.php index 23b6da5d6..8d82388de 100644 --- a/db/feedmapper.php +++ b/db/feedmapper.php @@ -57,25 +57,7 @@ class FeedMapper extends Mapper implements IMapper { '`feeds`.`folder_id`, `feeds`.`prevent_update`, `feeds`.`deleted_at`'; $params = array($id, $userId); - $row = $this->findOneQuery($sql, $params); - $feed = new Feed(); - $feed->fromRow($row); - - return $feed; - } - - - private function findAllRows($sql, $params=array(), $limit=null){ - $result = $this->execute($sql, $params, $limit); - - $feeds = array(); - while($row = $result->fetchRow()){ - $feed = new Feed(); - $feed->fromRow($row); - array_push($feeds, $feed); - } - - return $feeds; + return $this->findEntity($sql, $params); } @@ -103,7 +85,7 @@ class FeedMapper extends Mapper implements IMapper { '`feeds`.`folder_id`, `feeds`.`prevent_update`, `feeds`.`deleted_at`'; $params = array($userId); - return $this->findAllRows($sql, $params); + return $this->findEntities($sql, $params); } @@ -129,7 +111,7 @@ class FeedMapper extends Mapper implements IMapper { '`feeds`.`favicon_link`, `feeds`.`added`, `feeds`.`articles_per_update`,'. '`feeds`.`folder_id`, `feeds`.`prevent_update`, `feeds`.`deleted_at`'; - return $this->findAllRows($sql); + return $this->findEntities($sql); } @@ -194,7 +176,7 @@ class FeedMapper extends Mapper implements IMapper { array_push($params, $userId); } - return $this->findAllRows($sql, $params); + return $this->findEntities($sql, $params); } diff --git a/db/foldermapper.php b/db/foldermapper.php index 2abe89b29..5245a1b12 100644 --- a/db/foldermapper.php +++ b/db/foldermapper.php @@ -41,25 +41,7 @@ class FolderMapper extends Mapper implements IMapper { 'WHERE `id` = ? ' . 'AND `user_id` = ?'; - $row = $this->findOneQuery($sql, array($id, $userId)); - $folder = new Folder(); - $folder->fromRow($row); - - return $folder; - } - - - private function findAllRows($sql, $params=array()){ - $result = $this->execute($sql, $params); - - $folders = array(); - while($row = $result->fetchRow()){ - $folder = new Folder(); - $folder->fromRow($row); - array_push($folders, $folder); - } - - return $folders; + return $this->findEntity($sql, array($id, $userId)); } @@ -69,7 +51,7 @@ class FolderMapper extends Mapper implements IMapper { 'AND `deleted_at` = 0'; $params = array($userId); - return $this->findAllRows($sql, $params); + return $this->findEntities($sql, $params); } @@ -79,7 +61,7 @@ class FolderMapper extends Mapper implements IMapper { 'AND `user_id` = ?'; $params = array($folderName, $userId); - return $this->findAllRows($sql, $params); + return $this->findEntities($sql, $params); } @@ -123,7 +105,7 @@ class FolderMapper extends Mapper implements IMapper { array_push($params, $userId); } - return $this->findAllRows($sql, $params); + return $this->findEntities($sql, $params); } diff --git a/db/itemmapper.php b/db/itemmapper.php index 5b2ab5346..ad5424eac 100644 --- a/db/itemmapper.php +++ b/db/itemmapper.php @@ -36,22 +36,6 @@ class ItemMapper extends Mapper implements IMapper { } - protected function findAllRows($sql, $params, $limit=null, $offset=null) { - $result = $this->execute($sql, $params, $limit, $offset); - - $items = array(); - - while($row = $result->fetchRow()){ - $item = new Item(); - $item->fromRow($row); - - array_push($items, $item); - } - - return $items; - } - - private function makeSelectQuery($prependTo){ return 'SELECT `items`.* FROM `*PREFIX*news_items` `items` '. 'JOIN `*PREFIX*news_feeds` `feeds` ' . @@ -92,12 +76,7 @@ class ItemMapper extends Mapper implements IMapper { public function find($id, $userId){ $sql = $this->makeSelectQuery('AND `items`.`id` = ? '); - $row = $this->findOneQuery($sql, array($userId, $id)); - - $item = new Item(); - $item->fromRow($row); - - return $item; + return $this->findEntity($sql, array($userId, $id)); } @@ -172,7 +151,7 @@ class ItemMapper extends Mapper implements IMapper { $sql = $this->makeSelectQueryStatus( 'AND `items`.`last_modified` >= ? ', $status); $params = array($userId, $updatedSince); - return $this->findAllRows($sql, $params); + return $this->findEntities($sql, $params); } @@ -181,7 +160,7 @@ class ItemMapper extends Mapper implements IMapper { 'AND `items`.`last_modified` >= ? '; $sql = $this->makeSelectQueryStatus($sql, $status); $params = array($userId, $id, $updatedSince); - return $this->findAllRows($sql, $params); + return $this->findEntities($sql, $params); } @@ -190,7 +169,7 @@ class ItemMapper extends Mapper implements IMapper { 'AND `items`.`last_modified` >= ? '; $sql = $this->makeSelectQueryStatus($sql, $status); $params = array($userId, $id, $updatedSince); - return $this->findAllRows($sql, $params); + return $this->findEntities($sql, $params); } @@ -202,7 +181,7 @@ class ItemMapper extends Mapper implements IMapper { array_push($params, $offset); } $sql = $this->makeSelectQueryStatus($sql, $status); - return $this->findAllRows($sql, $params, $limit); + return $this->findEntities($sql, $params, $limit); } @@ -214,7 +193,7 @@ class ItemMapper extends Mapper implements IMapper { array_push($params, $offset); } $sql = $this->makeSelectQueryStatus($sql, $status); - return $this->findAllRows($sql, $params, $limit); + return $this->findEntities($sql, $params, $limit); } @@ -226,7 +205,7 @@ class ItemMapper extends Mapper implements IMapper { array_push($params, $offset); } $sql = $this->makeSelectQueryStatus($sql, $status); - return $this->findAllRows($sql, $params, $limit); + return $this->findEntities($sql, $params, $limit); } @@ -235,7 +214,7 @@ class ItemMapper extends Mapper implements IMapper { $status = StatusFlag::UNREAD | StatusFlag::STARRED; $sql = 'AND ((`items`.`status` & ' . $status . ') > 0) '; $sql = $this->makeSelectQuery($sql); - return $this->findAllRows($sql, $params); + return $this->findEntities($sql, $params); } -- cgit v1.2.3