diff options
author | Bernhard Posselt <nukeawhale@gmail.com> | 2013-03-22 13:47:45 +0100 |
---|---|---|
committer | Bernhard Posselt <nukeawhale@gmail.com> | 2013-03-22 13:47:45 +0100 |
commit | 585667bdf4a06a7bcde1b7d2b9b42059135343dc (patch) | |
tree | f7b9b053e70a088280c83073d2fe72c9387bcefc /db | |
parent | 196177a0ca3fc0103d359eec44f46173be685413 (diff) |
dont add feed twice
Diffstat (limited to 'db')
-rw-r--r-- | db/feedmapper.php | 18 | ||||
-rw-r--r-- | db/itemmapper.php | 27 |
2 files changed, 21 insertions, 24 deletions
diff --git a/db/feedmapper.php b/db/feedmapper.php index 0fc8d3114..131eb2090 100644 --- a/db/feedmapper.php +++ b/db/feedmapper.php @@ -84,16 +84,18 @@ class FeedMapper extends Mapper implements IMapper { } - public function getStarredCount($userId){ - $sql = 'SELECT COUNT(*) AS size FROM `*dbprefix*news_feeds` ' . - 'AND `user_id` = ? ' . - 'AND ((`status` & ?) > 0)'; - $params = array($userId, StatusFlag::STARRED); + public function findByUrlHash($hash, $userId){ + $sql = 'SELECT * FROM `*dbprefix*news_feeds` ' . + 'WHERE `url_hash` = ? ' . + 'AND `user_id` = ?'; + $params = array($hash, $userId); - $result = $this->execute($sql, $params)->fetchRow(); + $row = $this->findQuery($sql, $params); + $feed = new Feed(); + $feed->fromRow($row); - return $result['size']; - } + return $feed; + } }
\ No newline at end of file diff --git a/db/itemmapper.php b/db/itemmapper.php index 2efa9b535..ee57e81e9 100644 --- a/db/itemmapper.php +++ b/db/itemmapper.php @@ -36,21 +36,6 @@ class ItemMapper extends Mapper implements IMapper { } - public function findByUrlHash($urlHash, $userId){ - $sql = 'SELECT `*dbprefix*news_items`.* FROM `*dbprefix*news_items` ' . - 'JOIN `*dbprefix*news_feeds` ' . - 'ON `*dbprefix*news_feeds`.`id` = `*dbprefix*news_items`.`feed_id` ' . - 'WHERE `*dbprefix*news_items`.`url_hash` = ? ' . - 'AND `*dbprefix*news_feeds`.`user_id` = ? '; - $params = array($urlHash, $userId); - - $row = $this->findQuery($sql, $params); - $item = new Item(); - $item->fromRow($row); - - return $item; - } - protected function findAllRows($sql, $params, $limit=null, $offset=null) { $result = $this->execute($sql, $params, $limit, $offset); $items = array(); @@ -161,7 +146,17 @@ class ItemMapper extends Mapper implements IMapper { public function starredCount($userId){ - // TODO + $sql = 'SELECT COUNT(*) AS size FROM `*dbprefix*news_feeds` `feeds` ' . + 'JOIN `*dbprefix*news_items` `items` ' . + 'ON `items`.`feed_id` = `feeds`.`id`' . + 'WHERE `feeds`.`user_id` = ? ' . + 'AND ((`items`.`status` & ?) > 0)'; + + $params = array($userId, StatusFlag::STARRED); + + $result = $this->execute($sql, $params)->fetchRow(); + + return $result['size']; } } |