diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-10-21 16:45:36 +0200 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-10-21 16:45:36 +0200 |
commit | 42d69a95f3276a2d6089ca68f635c4e2f6aa7a23 (patch) | |
tree | 6a17fd7998f291e6dec1d996c1e7c724b92b8e58 /service/itemservice.php | |
parent | 0e6598b0734fb927109f745d9c0f3a8605a30ca5 (diff) |
convert tabs indention to indention with 4 spaces because of mixing of both variants in code and better readability on github and websites because you cant set the indention width there and 8 spaces will be used for a tab
Diffstat (limited to 'service/itemservice.php')
-rw-r--r-- | service/itemservice.php | 426 |
1 files changed, 213 insertions, 213 deletions
diff --git a/service/itemservice.php b/service/itemservice.php index 792fcc987..1b94c089f 100644 --- a/service/itemservice.php +++ b/service/itemservice.php @@ -23,219 +23,219 @@ use \OCA\News\Config\Config; class ItemService extends Service { - private $statusFlag; - private $autoPurgeCount; - private $timeFactory; - private $itemMapper; - - public function __construct(ItemMapper $itemMapper, - StatusFlag $statusFlag, - $timeFactory, - Config $config){ - parent::__construct($itemMapper); - $this->statusFlag = $statusFlag; - $this->autoPurgeCount = $config->getAutoPurgeCount(); - $this->timeFactory = $timeFactory; - $this->itemMapper = $itemMapper; - } - - - /** - * Returns all new items - * @param int $id the id of the feed, 0 for starred or all items - * @param int $type the type of the feed - * @param int $updatedSince a timestamp with the last modification date - * returns only items with a >= modified timestamp - * @param boolean $showAll if unread items should also be returned - * @param string $userId the name of the user - * @return array of items - */ - public function findAllNew($id, $type, $updatedSince, $showAll, $userId){ - $status = $this->statusFlag->typeToStatus($type, $showAll); - - switch($type){ - case FeedType::FEED: - return $this->itemMapper->findAllNewFeed( - $id, $updatedSince, $status, $userId - ); - case FeedType::FOLDER: - return $this->itemMapper->findAllNewFolder( - $id, $updatedSince, $status, $userId - ); - default: - return $this->itemMapper->findAllNew( - $updatedSince, $status, $userId - ); - } - } - - - /** - * Returns all items - * @param int $id the id of the feed, 0 for starred or all items - * @param int $type the type of the feed - * @param int $limit how many items should be returned - * @param int $offset the offset - * @param boolean $showAll if unread items should also be returned - * @param boolean $oldestFirst if it should be ordered by oldest first - * @param string $userId the name of the user - * @return array of items - */ - public function findAll($id, $type, $limit, $offset, $showAll, $oldestFirst, - $userId){ - $status = $this->statusFlag->typeToStatus($type, $showAll); - - switch($type){ - case FeedType::FEED: - return $this->itemMapper->findAllFeed( - $id, $limit, $offset, $status, $oldestFirst, $userId - ); - case FeedType::FOLDER: - return $this->itemMapper->findAllFolder( - $id, $limit, $offset, $status, $oldestFirst, $userId - ); - default: - return $this->itemMapper->findAll( - $limit, $offset, $status, $oldestFirst, $userId - ); - } - } - - - /** - * Star or unstar an item - * @param int $feedId the id of the item's feed that should be starred - * @param string $guidHash the guidHash of the item that should be starred - * @param boolean $isStarred if true the item will be marked as starred, if false unstar - * @param string $userId the name of the user for security reasons - * @throws ServiceNotFoundException if the item does not exist - */ - public function star($feedId, $guidHash, $isStarred, $userId){ - try { - $item = $this->itemMapper->findByGuidHash($guidHash, $feedId, $userId); - - $item->setLastModified($this->timeFactory->getTime()); - if($isStarred){ - $item->setStarred(); - } else { - $item->setUnstarred(); - } - $this->itemMapper->update($item); - } catch(DoesNotExistException $ex) { - throw new ServiceNotFoundException($ex->getMessage()); - } - } - - - /** - * Read or unread an item - * @param int $itemId the id of the item that should be read - * @param boolean $isRead if true the item will be marked as read, if false unread - * @param string $userId the name of the user for security reasons - * @throws ServiceNotFoundException if the item does not exist - */ - public function read($itemId, $isRead, $userId){ - $item = $this->find($itemId, $userId); - $item->setLastModified($this->timeFactory->getTime()); - if($isRead){ - $item->setRead(); - } else { - $item->setUnread(); - } - $this->itemMapper->update($item); - } - - - /** - * Set all items read - * @param int $highestItemId all items below that are marked read. This is used - * to prevent marking items as read that the users hasn't seen yet - * @param string $userId the name of the user - */ - public function readAll($highestItemId, $userId){ - $time = $this->timeFactory->getTime(); - $this->itemMapper->readAll($highestItemId, $time, $userId); - } - - - /** - * Set a folder read - * @param int $folderId the id of the folder that should be marked read - * @param int $highestItemId all items below that are marked read. This is used - * to prevent marking items as read that the users hasn't seen yet - * @param string $userId the name of the user - */ - public function readFolder($folderId, $highestItemId, $userId){ - $time = $this->timeFactory->getTime(); - $this->itemMapper->readFolder($folderId, $highestItemId, $time, $userId); - } - - - /** - * Set a feed read - * @param int $feedId the id of the feed that should be marked read - * @param int $highestItemId all items below that are marked read. This is used - * to prevent marking items as read that the users hasn't seen yet - * @param string $userId the name of the user - */ - public function readFeed($feedId, $highestItemId, $userId){ - $time = $this->timeFactory->getTime(); - $this->itemMapper->readFeed($feedId, $highestItemId, $time, $userId); - } - - - /** - * This method deletes all unread feeds that are not starred and over the - * count of $this->autoPurgeCount starting by the oldest. This is to clean - * up the database so that old entries don't spam your db. As criteria for - * old, the id is taken - */ - public function autoPurgeOld(){ - $this->itemMapper->deleteReadOlderThanThreshold($this->autoPurgeCount); - } - - - /** - * Returns the newest item id, use this for marking feeds read - * @param string $userId the name of the user - * @throws ServiceNotFoundException if there is no newest item - * @return int - */ - public function getNewestItemId($userId) { - try { - return $this->itemMapper->getNewestItemId($userId); - } catch(DoesNotExistException $ex) { - throw new ServiceNotFoundException($ex->getMessage()); - } - } - - - /** - * Returns the starred count - * @param string $userId the name of the user - * @return int the count - */ - public function starredCount($userId){ - return $this->itemMapper->starredCount($userId); - } - - - /** - * @param string $userId from which user the items should be taken - * @return array of items which are starred or unread - */ - public function getUnreadOrStarred($userId) { - return $this->itemMapper->findAllUnreadOrStarred($userId); - } - - - /** - * Deletes all items of a user - * @param string $userId the name of the user - */ - public function deleteUser($userId) { - $this->itemMapper->deleteUser($userId); - } + private $statusFlag; + private $autoPurgeCount; + private $timeFactory; + private $itemMapper; + + public function __construct(ItemMapper $itemMapper, + StatusFlag $statusFlag, + $timeFactory, + Config $config){ + parent::__construct($itemMapper); + $this->statusFlag = $statusFlag; + $this->autoPurgeCount = $config->getAutoPurgeCount(); + $this->timeFactory = $timeFactory; + $this->itemMapper = $itemMapper; + } + + + /** + * Returns all new items + * @param int $id the id of the feed, 0 for starred or all items + * @param int $type the type of the feed + * @param int $updatedSince a timestamp with the last modification date + * returns only items with a >= modified timestamp + * @param boolean $showAll if unread items should also be returned + * @param string $userId the name of the user + * @return array of items + */ + public function findAllNew($id, $type, $updatedSince, $showAll, $userId){ + $status = $this->statusFlag->typeToStatus($type, $showAll); + + switch($type){ + case FeedType::FEED: + return $this->itemMapper->findAllNewFeed( + $id, $updatedSince, $status, $userId + ); + case FeedType::FOLDER: + return $this->itemMapper->findAllNewFolder( + $id, $updatedSince, $status, $userId + ); + default: + return $this->itemMapper->findAllNew( + $updatedSince, $status, $userId + ); + } + } + + + /** + * Returns all items + * @param int $id the id of the feed, 0 for starred or all items + * @param int $type the type of the feed + * @param int $limit how many items should be returned + * @param int $offset the offset + * @param boolean $showAll if unread items should also be returned + * @param boolean $oldestFirst if it should be ordered by oldest first + * @param string $userId the name of the user + * @return array of items + */ + public function findAll($id, $type, $limit, $offset, $showAll, $oldestFirst, + $userId){ + $status = $this->statusFlag->typeToStatus($type, $showAll); + + switch($type){ + case FeedType::FEED: + return $this->itemMapper->findAllFeed( + $id, $limit, $offset, $status, $oldestFirst, $userId + ); + case FeedType::FOLDER: + return $this->itemMapper->findAllFolder( + $id, $limit, $offset, $status, $oldestFirst, $userId + ); + default: + return $this->itemMapper->findAll( + $limit, $offset, $status, $oldestFirst, $userId + ); + } + } + + + /** + * Star or unstar an item + * @param int $feedId the id of the item's feed that should be starred + * @param string $guidHash the guidHash of the item that should be starred + * @param boolean $isStarred if true the item will be marked as starred, if false unstar + * @param string $userId the name of the user for security reasons + * @throws ServiceNotFoundException if the item does not exist + */ + public function star($feedId, $guidHash, $isStarred, $userId){ + try { + $item = $this->itemMapper->findByGuidHash($guidHash, $feedId, $userId); + + $item->setLastModified($this->timeFactory->getTime()); + if($isStarred){ + $item->setStarred(); + } else { + $item->setUnstarred(); + } + $this->itemMapper->update($item); + } catch(DoesNotExistException $ex) { + throw new ServiceNotFoundException($ex->getMessage()); + } + } + + + /** + * Read or unread an item + * @param int $itemId the id of the item that should be read + * @param boolean $isRead if true the item will be marked as read, if false unread + * @param string $userId the name of the user for security reasons + * @throws ServiceNotFoundException if the item does not exist + */ + public function read($itemId, $isRead, $userId){ + $item = $this->find($itemId, $userId); + $item->setLastModified($this->timeFactory->getTime()); + if($isRead){ + $item->setRead(); + } else { + $item->setUnread(); + } + $this->itemMapper->update($item); + } + + + /** + * Set all items read + * @param int $highestItemId all items below that are marked read. This is used + * to prevent marking items as read that the users hasn't seen yet + * @param string $userId the name of the user + */ + public function readAll($highestItemId, $userId){ + $time = $this->timeFactory->getTime(); + $this->itemMapper->readAll($highestItemId, $time, $userId); + } + + + /** + * Set a folder read + * @param int $folderId the id of the folder that should be marked read + * @param int $highestItemId all items below that are marked read. This is used + * to prevent marking items as read that the users hasn't seen yet + * @param string $userId the name of the user + */ + public function readFolder($folderId, $highestItemId, $userId){ + $time = $this->timeFactory->getTime(); + $this->itemMapper->readFolder($folderId, $highestItemId, $time, $userId); + } + + + /** + * Set a feed read + * @param int $feedId the id of the feed that should be marked read + * @param int $highestItemId all items below that are marked read. This is used + * to prevent marking items as read that the users hasn't seen yet + * @param string $userId the name of the user + */ + public function readFeed($feedId, $highestItemId, $userId){ + $time = $this->timeFactory->getTime(); + $this->itemMapper->readFeed($feedId, $highestItemId, $time, $userId); + } + + + /** + * This method deletes all unread feeds that are not starred and over the + * count of $this->autoPurgeCount starting by the oldest. This is to clean + * up the database so that old entries don't spam your db. As criteria for + * old, the id is taken + */ + public function autoPurgeOld(){ + $this->itemMapper->deleteReadOlderThanThreshold($this->autoPurgeCount); + } + + + /** + * Returns the newest item id, use this for marking feeds read + * @param string $userId the name of the user + * @throws ServiceNotFoundException if there is no newest item + * @return int + */ + public function getNewestItemId($userId) { + try { + return $this->itemMapper->getNewestItemId($userId); + } catch(DoesNotExistException $ex) { + throw new ServiceNotFoundException($ex->getMessage()); + } + } + + + /** + * Returns the starred count + * @param string $userId the name of the user + * @return int the count + */ + public function starredCount($userId){ + return $this->itemMapper->starredCount($userId); + } + + + /** + * @param string $userId from which user the items should be taken + * @return array of items which are starred or unread + */ + public function getUnreadOrStarred($userId) { + return $this->itemMapper->findAllUnreadOrStarred($userId); + } + + + /** + * Deletes all items of a user + * @param string $userId the name of the user + */ + public function deleteUser($userId) { + $this->itemMapper->deleteUser($userId); + } } |