diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-04-05 19:11:09 +0200 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-04-05 19:11:16 +0200 |
commit | df2613660f8e7b6b0c90a06542b830061513c725 (patch) | |
tree | 032e9e316407fa2d34aa0c07132b73716be930dd | |
parent | 05541ae38a61110ea67c537d030ae84f2ece1baf (diff) |
use findEntity and findEntities from the mapper class to get rid of code duplication
-rw-r--r-- | db/feedmapper.php | 26 | ||||
-rw-r--r-- | db/foldermapper.php | 26 | ||||
-rw-r--r-- | db/itemmapper.php | 37 |
3 files changed, 16 insertions, 73 deletions
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); } |