diff options
Diffstat (limited to 'controller')
-rw-r--r-- | controller/admincontroller.php | 90 | ||||
-rw-r--r-- | controller/exportcontroller.php | 102 | ||||
-rw-r--r-- | controller/feedapicontroller.php | 262 | ||||
-rw-r--r-- | controller/feedcontroller.php | 350 | ||||
-rw-r--r-- | controller/folderapicontroller.php | 148 | ||||
-rw-r--r-- | controller/foldercontroller.php | 158 | ||||
-rw-r--r-- | controller/itemapicontroller.php | 274 | ||||
-rw-r--r-- | controller/jsonhttperror.php | 18 | ||||
-rw-r--r-- | controller/pagecontroller.php | 126 | ||||
-rw-r--r-- | controller/utilityapicontroller.php | 64 |
10 files changed, 796 insertions, 796 deletions
diff --git a/controller/admincontroller.php b/controller/admincontroller.php index 2b876c394..cd3ae9df4 100644 --- a/controller/admincontroller.php +++ b/controller/admincontroller.php @@ -21,56 +21,56 @@ use \OCA\News\Config\Config; class AdminController extends Controller { - private $config; - private $configPath; + private $config; + private $configPath; - public function __construct($appName, IRequest $request, Config $config, - $configPath){ - parent::__construct($appName, $request); - $this->config = $config; - $this->configPath = $configPath; - } + public function __construct($appName, IRequest $request, Config $config, + $configPath){ + parent::__construct($appName, $request); + $this->config = $config; + $this->configPath = $configPath; + } - // There are no checks for the index method since the output is rendered - // in admin/admin.php - public function index() { - $data = [ - 'autoPurgeMinimumInterval' => $this->config->getAutoPurgeMinimumInterval(), - 'autoPurgeCount' => $this->config->getAutoPurgeCount(), - 'cacheDuration' => $this->config->getSimplePieCacheDuration(), - 'feedFetcherTimeout' => $this->config->getFeedFetcherTimeout(), - 'useCronUpdates' => $this->config->getUseCronUpdates(), - ]; - return new TemplateResponse($this->appName, 'admin', $data, 'blank'); - } + // There are no checks for the index method since the output is rendered + // in admin/admin.php + public function index() { + $data = [ + 'autoPurgeMinimumInterval' => $this->config->getAutoPurgeMinimumInterval(), + 'autoPurgeCount' => $this->config->getAutoPurgeCount(), + 'cacheDuration' => $this->config->getSimplePieCacheDuration(), + 'feedFetcherTimeout' => $this->config->getFeedFetcherTimeout(), + 'useCronUpdates' => $this->config->getUseCronUpdates(), + ]; + return new TemplateResponse($this->appName, 'admin', $data, 'blank'); + } - /** - * @param int $autoPurgeMinimumInterval - * @param int $autoPurgeCount - * @param int $cacheDuration - * @param int $feedFetcherTimeout - * @param bool $useCronUpdates - * @return array with the updated values - */ - public function update($autoPurgeMinimumInterval, $autoPurgeCount, - $cacheDuration, $feedFetcherTimeout, - $useCronUpdates) { - $this->config->setAutoPurgeMinimumInterval($autoPurgeMinimumInterval); - $this->config->setAutoPurgeCount($autoPurgeCount); - $this->config->setSimplePieCacheDuration($cacheDuration); - $this->config->setFeedFetcherTimeout($feedFetcherTimeout); - $this->config->setUseCronUpdates($useCronUpdates); - $this->config->write($this->configPath); + /** + * @param int $autoPurgeMinimumInterval + * @param int $autoPurgeCount + * @param int $cacheDuration + * @param int $feedFetcherTimeout + * @param bool $useCronUpdates + * @return array with the updated values + */ + public function update($autoPurgeMinimumInterval, $autoPurgeCount, + $cacheDuration, $feedFetcherTimeout, + $useCronUpdates) { + $this->config->setAutoPurgeMinimumInterval($autoPurgeMinimumInterval); + $this->config->setAutoPurgeCount($autoPurgeCount); + $this->config->setSimplePieCacheDuration($cacheDuration); + $this->config->setFeedFetcherTimeout($feedFetcherTimeout); + $this->config->setUseCronUpdates($useCronUpdates); + $this->config->write($this->configPath); - return [ - 'autoPurgeMinimumInterval' => $this->config->getAutoPurgeMinimumInterval(), - 'autoPurgeCount' => $this->config->getAutoPurgeCount(), - 'cacheDuration' => $this->config->getSimplePieCacheDuration(), - 'feedFetcherTimeout' => $this->config->getFeedFetcherTimeout(), - 'useCronUpdates' => $this->config->getUseCronUpdates(), - ]; - } + return [ + 'autoPurgeMinimumInterval' => $this->config->getAutoPurgeMinimumInterval(), + 'autoPurgeCount' => $this->config->getAutoPurgeCount(), + 'cacheDuration' => $this->config->getSimplePieCacheDuration(), + 'feedFetcherTimeout' => $this->config->getFeedFetcherTimeout(), + 'useCronUpdates' => $this->config->getUseCronUpdates(), + ]; + } }
\ No newline at end of file diff --git a/controller/exportcontroller.php b/controller/exportcontroller.php index b455f2fcc..1d0f7086c 100644 --- a/controller/exportcontroller.php +++ b/controller/exportcontroller.php @@ -26,64 +26,64 @@ use \OCA\News\Utility\OPMLExporter; class ExportController extends Controller { - private $opmlExporter; - private $folderService; - private $feedService; - private $itemService; - private $userId; + private $opmlExporter; + private $folderService; + private $feedService; + private $itemService; + private $userId; - public function __construct($appName, - IRequest $request, - FolderService $folderService, - FeedService $feedService, - ItemService $itemService, - OPMLExporter $opmlExporter, - $userId){ - parent::__construct($appName, $request); - $this->feedService = $feedService; - $this->folderService = $folderService; - $this->opmlExporter = $opmlExporter; - $this->itemService = $itemService; - $this->userId = $userId; - } + public function __construct($appName, + IRequest $request, + FolderService $folderService, + FeedService $feedService, + ItemService $itemService, + OPMLExporter $opmlExporter, + $userId){ + parent::__construct($appName, $request); + $this->feedService = $feedService; + $this->folderService = $folderService; + $this->opmlExporter = $opmlExporter; + $this->itemService = $itemService; + $this->userId = $userId; + } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ - public function opml(){ - $feeds = $this->feedService->findAll($this->userId); - $folders = $this->folderService->findAll($this->userId); - $opml = $this->opmlExporter->build($folders, $feeds)->saveXML(); - return new TextDownloadResponse($opml, 'subscriptions.opml', 'text/xml'); - } + /** + * @NoAdminRequired + * @NoCSRFRequired + */ + public function opml(){ + $feeds = $this->feedService->findAll($this->userId); + $folders = $this->folderService->findAll($this->userId); + $opml = $this->opmlExporter->build($folders, $feeds)->saveXML(); + return new TextDownloadResponse($opml, 'subscriptions.opml', 'text/xml'); + } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ - public function articles(){ - $feeds = $this->feedService->findAll($this->userId); - $items = $this->itemService->getUnreadOrStarred($this->userId); + /** + * @NoAdminRequired + * @NoCSRFRequired + */ + public function articles(){ + $feeds = $this->feedService->findAll($this->userId); + $items = $this->itemService->getUnreadOrStarred($this->userId); - // build assoc array for fast access - $feedsDict = []; - foreach($feeds as $feed) { - $feedsDict['feed' . $feed->getId()] = $feed; - } + // build assoc array for fast access + $feedsDict = []; + foreach($feeds as $feed) { + $feedsDict['feed' . $feed->getId()] = $feed; + } - $articles = []; - foreach($items as $item) { - $articles[] = $item->toExport($feedsDict); - } - - $response = new JSONResponse($articles); - $response->addHeader('Content-Disposition', - 'attachment; filename="articles.json"'); - return $response; - } + $articles = []; + foreach($items as $item) { + $articles[] = $item->toExport($feedsDict); + } + + $response = new JSONResponse($articles); + $response->addHeader('Content-Disposition', + 'attachment; filename="articles.json"'); + return $response; + } }
\ No newline at end of file diff --git a/controller/feedapicontroller.php b/controller/feedapicontroller.php index 33a9cbb7f..c75cd5879 100644 --- a/controller/feedapicontroller.php +++ b/controller/feedapicontroller.php @@ -26,53 +26,53 @@ use \OCA\News\Service\ServiceConflictException; class FeedApiController extends ApiController { - use JSONHttpError; - - private $itemService; - private $feedService; - private $userId; - private $logger; - private $loggerParams; - private $serializer; - - public function __construct($appName, - IRequest $request, - FeedService $feedService, - ItemService $itemService, - ILogger $logger, - $userId, - $loggerParams){ - parent::__construct($appName, $request); - $this->feedService = $feedService; - $this->itemService = $itemService; - $this->userId = $userId; - $this->logger = $logger; - $this->loggerParams = $loggerParams; - $this->serializer = new EntityApiSerializer('feeds'); - } - - - /** - * @NoAdminRequired - * @NoCSRFRequired - * @CORS - */ - public function index() { - - $result = [ - 'starredCount' => $this->itemService->starredCount($this->userId), - 'feeds' => $this->feedService->findAll($this->userId) - ]; - - - try { - $result['newestItemId'] = $this->itemService->getNewestItemId($this->userId); - - // in case there are no items, ignore - } catch(ServiceNotFoundException $ex) {} - - return $this->serializer->serialize($result); - } + use JSONHttpError; + + private $itemService; + private $feedService; + private $userId; + private $logger; + private $loggerParams; + private $serializer; + + public function __construct($appName, + IRequest $request, + FeedService $feedService, + ItemService $itemService, + ILogger $logger, + $userId, + $loggerParams){ + parent::__construct($appName, $request); + $this->feedService = $feedService; + $this->itemService = $itemService; + $this->userId = $userId; + $this->logger = $logger; + $this->loggerParams = $loggerParams; + $this->serializer = new EntityApiSerializer('feeds'); + } + + + /** + * @NoAdminRequired + * @NoCSRFRequired + * @CORS + */ + public function index() { + + $result = [ + 'starredCount' => $this->itemService->starredCount($this->userId), + 'feeds' => $this->feedService->findAll($this->userId) + ]; + + + try { + $result['newestItemId'] = $this->itemService->getNewestItemId($this->userId); + + // in case there are no items, ignore + } catch(ServiceNotFoundException $ex) {} + + return $this->serializer->serialize($result); + } /** @@ -84,27 +84,27 @@ class FeedApiController extends ApiController { * @param int $folderId * @return array|mixed|\OCP\AppFramework\Http\JSONResponse */ - public function create($url, $folderId=0) { - try { - $this->feedService->purgeDeleted($this->userId, false); + public function create($url, $folderId=0) { + try { + $this->feedService->purgeDeleted($this->userId, false); - $feed = $this->feedService->create($url, $folderId, $this->userId); - $result = ['feeds' => [$feed]]; + $feed = $this->feedService->create($url, $folderId, $this->userId); + $result = ['feeds' => [$feed]]; - try { - $result['newestItemId'] = $this->itemService->getNewestItemId($this->userId); + try { + $result['newestItemId'] = $this->itemService->getNewestItemId($this->userId); - // in case there are no items, ignore - } catch(ServiceNotFoundException $ex) {} + // in case there are no items, ignore + } catch(ServiceNotFoundException $ex) {} - return $this->serializer->serialize($result); + return $this->serializer->serialize($result); - } catch(ServiceConflictException $ex) { - return $this->error($ex, Http::STATUS_CONFLICT); - } catch(ServiceNotFoundException $ex) { - return $this->error($ex, Http::STATUS_NOT_FOUND); - } - } + } catch(ServiceConflictException $ex) { + return $this->error($ex, Http::STATUS_CONFLICT); + } catch(ServiceNotFoundException $ex) { + return $this->error($ex, Http::STATUS_NOT_FOUND); + } + } /** @@ -115,28 +115,28 @@ class FeedApiController extends ApiController { * @param int $feedId * @return array|\OCP\AppFramework\Http\JSONResponse */ - public function delete($feedId) { - try { - $this->feedService->delete($feedId, $this->userId); - } catch(ServiceNotFoundException $ex) { - return $this->error($ex, Http::STATUS_NOT_FOUND); - } + public function delete($feedId) { + try { + $this->feedService->delete($feedId, $this->userId); + } catch(ServiceNotFoundException $ex) { + return $this->error($ex, Http::STATUS_NOT_FOUND); + } return []; - } + } - /** - * @NoAdminRequired - * @NoCSRFRequired - * @CORS - * - * @param int $feedId - * @param int $newestItemId - */ - public function read($feedId, $newestItemId) { - $this->itemService->readFeed($feedId, $newestItemId, $this->userId); - } + /** + * @NoAdminRequired + * @NoCSRFRequired + * @CORS + * + * @param int $feedId + * @param int $newestItemId + */ + public function read($feedId, $newestItemId) { + $this->itemService->readFeed($feedId, $newestItemId, $this->userId); + } /** @@ -148,15 +148,15 @@ class FeedApiController extends ApiController { * @param int $folderId * @return array|\OCP\AppFramework\Http\JSONResponse */ - public function move($feedId, $folderId) { - try { - $this->feedService->move($feedId, $folderId, $this->userId); - } catch(ServiceNotFoundException $ex) { - return $this->error($ex, Http::STATUS_NOT_FOUND); - } + public function move($feedId, $folderId) { + try { + $this->feedService->move($feedId, $folderId, $this->userId); + } catch(ServiceNotFoundException $ex) { + return $this->error($ex, Http::STATUS_NOT_FOUND); + } return []; - } + } /** @@ -168,51 +168,51 @@ class FeedApiController extends ApiController { * @param string $feedTitle * @return array|\OCP\AppFramework\Http\JSONResponse */ - public function rename($feedId, $feedTitle) { - try { - $this->feedService->rename($feedId, $feedTitle, $this->userId); - } catch(ServiceNotFoundException $ex) { - return $this->error($ex, Http::STATUS_NOT_FOUND); - } + public function rename($feedId, $feedTitle) { + try { + $this->feedService->rename($feedId, $feedTitle, $this->userId); + } catch(ServiceNotFoundException $ex) { + return $this->error($ex, Http::STATUS_NOT_FOUND); + } return []; - } - - - /** - * @NoCSRFRequired - * @CORS - */ - public function fromAllUsers() { - $feeds = $this->feedService->findAllFromAllUsers(); - $result = ['feeds' => []]; - - foreach ($feeds as $feed) { - $result['feeds'][] = [ - 'id' => $feed->getId(), - 'userId' => $feed->getUserId() - ]; - } - - return $result; - } - - - /** - * @NoCSRFRequired - * - * @param string $userId - * @param int $feedId - */ - public function update($userId, $feedId) { - try { - $this->feedService->update($feedId, $userId); - // ignore update failure (feed could not be reachable etc, we don't care) - } catch(\Exception $ex) { - $this->logger->debug('Could not update feed ' . $ex->getMessage(), - $this->loggerParams); - } - } + } + + + /** + * @NoCSRFRequired + * @CORS + */ + public function fromAllUsers() { + $feeds = $this->feedService->findAllFromAllUsers(); + $result = ['feeds' => []]; + + foreach ($feeds as $feed) { + $result['feeds'][] = [ + 'id' => $feed->getId(), + 'userId' => $feed->getUserId() + ]; + } + + return $result; + } + + + /** + * @NoCSRFRequired + * + * @param string $userId + * @param int $feedId + */ + public function update($userId, $feedId) { + try { + $this->feedService->update($feedId, $userId); + // ignore update failure (feed could not be reachable etc, we don't care) + } catch(\Exception $ex) { + $this->logger->debug('Could not update feed ' . $ex->getMessage(), + $this->loggerParams); + } + } } diff --git a/controller/feedcontroller.php b/controller/feedcontroller.php index 686eec9e3..e1544bff0 100644 --- a/controller/feedcontroller.php +++ b/controller/feedcontroller.php @@ -28,94 +28,94 @@ use \OCA\News\Db\FeedType; class FeedController extends Controller { - use JSONHttpError; - - private $feedService; - private $folderService; - private $itemService; - private $userId; - private $settings; - - public function __construct($appName, - IRequest $request, - FolderService $folderService, - FeedService $feedService, - ItemService $itemService, - IConfig $settings, - $userId){ - parent::__construct($appName, $request); - $this->feedService = $feedService; - $this->folderService = $folderService; - $this->itemService = $itemService; - $this->userId = $userId; - $this->settings = $settings; - } - - - /** - * @NoAdminRequired - */ - public function index(){ - - // this method is also used to update the interface - // because of this we also pass the starred count and the newest - // item id which will be used for marking feeds read - $params = [ - 'feeds' => $this->feedService->findAll($this->userId), - 'starred' => $this->itemService->starredCount($this->userId) - ]; - - try { - $params['newestItemId'] = - $this->itemService->getNewestItemId($this->userId); - - // An exception occurs if there is a newest item. If there is none, - // simply ignore it and do not add the newestItemId - } catch (ServiceNotFoundException $ex) {} - - return $params; - } - - - /** - * @NoAdminRequired - */ - public function active(){ - $feedId = (int) $this->settings->getUserValue($this->userId, - $this->appName,'lastViewedFeedId'); - $feedType = $this->settings->getUserValue($this->userId, $this->appName, - 'lastViewedFeedType'); - - // cast from null to int is 0 - if($feedType !== null){ - $feedType = (int) $feedType; - } - - // check if feed or folder exists - try { - if($feedType === FeedType::FOLDER){ - $this->folderService->find($feedId, $this->userId); - - } elseif ($feedType === FeedType::FEED){ - $this->feedService->find($feedId, $this->userId); - - // if its the first launch, those values will be null - } elseif($feedType === null){ - throw new ServiceNotFoundException(''); - } - - } catch (ServiceNotFoundException $ex){ - $feedId = 0; - $feedType = FeedType::SUBSCRIPTIONS; - } - - return [ - 'activeFeed' => [ - 'id' => $feedId, - 'type' => $feedType - ] - ]; - } + use JSONHttpError; + + private $feedService; + private $folderService; + private $itemService; + private $userId; + private $settings; + + public function __construct($appName, + IRequest $request, + FolderService $folderService, + FeedService $feedService, + ItemService $itemService, + IConfig $settings, + $userId){ + parent::__construct($appName, $request); + $this->feedService = $feedService; + $this->folderService = $folderService; + $this->itemService = $itemService; + $this->userId = $userId; + $this->settings = $settings; + } + + + /** + * @NoAdminRequired + */ + public function index(){ + + // this method is also used to update the interface + // because of this we also pass the starred count and the newest + // item id which will be used for marking feeds read + $params = [ + 'feeds' => $this->feedService->findAll($this->userId), + 'starred' => $this->itemService->starredCount($this->userId) + ]; + + try { + $params['newestItemId'] = + $this->itemService->getNewestItemId($this->userId); + + // An exception occurs if there is a newest item. If there is none, + // simply ignore it and do not add the newestItemId + } catch (ServiceNotFoundException $ex) {} + + return $params; + } + + + /** + * @NoAdminRequired + */ + public function active(){ + $feedId = (int) $this->settings->getUserValue($this->userId, + $this->appName,'lastViewedFeedId'); + $feedType = $this->settings->getUserValue($this->userId, $this->appName, + 'lastViewedFeedType'); + + // cast from null to int is 0 + if($feedType !== null){ + $feedType = (int) $feedType; + } + + // check if feed or folder exists + try { + if($feedType === FeedType::FOLDER){ + $this->folderService->find($feedId, $this->userId); + + } elseif ($feedType === FeedType::FEED){ + $this->feedService->find($feedId, $this->userId); + + // if its the first launch, those values will be null + } elseif($feedType === null){ + throw new ServiceNotFoundException(''); + } + + } catch (ServiceNotFoundException $ex){ + $feedId = 0; + $feedType = FeedType::SUBSCRIPTIONS; + } + + return [ + 'activeFeed' => [ + 'id' => $feedId, + 'type' => $feedType + ] + ]; + } /** @@ -126,33 +126,33 @@ class FeedController extends Controller { * @param string $title * @return array|\OCP\AppFramework\Http\JSONResponse */ - public function create($url, $parentFolderId, $title){ - try { - // we need to purge deleted feeds if a feed is created to - // prevent already exists exceptions - $this->feedService->purgeDeleted($this->userId, false); + public function create($url, $parentFolderId, $title){ + try { + // we need to purge deleted feeds if a feed is created to + // prevent already exists exceptions + $this->feedService->purgeDeleted($this->userId, false); - $feed = $this->feedService->create($url, $parentFolderId, - $this->userId, $title); - $params = ['feeds' => [$feed]]; + $feed = $this->feedService->create($url, $parentFolderId, + $this->userId, $title); + $params = ['feeds' => [$feed]]; - try { - $params['newestItemId'] = - $this->itemService->getNewestItemId($this->userId); + try { + $params['newestItemId'] = + $this->itemService->getNewestItemId($this->userId); - // An exception occurs if there is a newest item. If there is none, - // simply ignore it and do not add the newestItemId - } catch (ServiceNotFoundException $ex) {} + // An exception occurs if there is a newest item. If there is none, + // simply ignore it and do not add the newestItemId + } catch (ServiceNotFoundException $ex) {} - return $params; + return $params; - } catch(ServiceConflictException $ex) { - return $this->error($ex, Http::STATUS_CONFLICT); - } catch(ServiceNotFoundException $ex) { - return $this->error($ex, Http::STATUS_UNPROCESSABLE_ENTITY); - } + } catch(ServiceConflictException $ex) { + return $this->error($ex, Http::STATUS_CONFLICT); + } catch(ServiceNotFoundException $ex) { + return $this->error($ex, Http::STATUS_UNPROCESSABLE_ENTITY); + } - } + } /** @@ -161,15 +161,15 @@ class FeedController extends Controller { * @param int $feedId * @return array|\OCP\AppFramework\Http\JSONResponse */ - public function delete($feedId){ - try { - $this->feedService->markDeleted($feedId, $this->userId); - } catch(ServiceNotFoundException $ex) { - return $this->error($ex, Http::STATUS_NOT_FOUND); - } + public function delete($feedId){ + try { + $this->feedService->markDeleted($feedId, $this->userId); + } catch(ServiceNotFoundException $ex) { + return $this->error($ex, Http::STATUS_NOT_FOUND); + } return []; - } + } /** @@ -178,26 +178,26 @@ class FeedController extends Controller { * @param int $feedId * @return array|\OCP\AppFramework\Http\JSONResponse */ - public function update($feedId){ - try { - $feed = $this->feedService->update($feedId, $this->userId); + public function update($feedId){ + try { + $feed = $this->feedService->update($feedId, $this->userId); - return [ - 'feeds' => [ - // only pass unread count to not accidentally readd - // the feed again - [ - 'id' => $feed->getId(), - 'unreadCount' => $feed->getUnreadCount() - ] - ] - ]; + return [ + 'feeds' => [ + // only pass unread count to not accidentally readd + // the feed again + [ + 'id' => $feed->getId(), + 'unreadCount' => $feed->getUnreadCount() + ] + ] + ]; - } catch(ServiceNotFoundException $ex) { - return $this->error($ex, Http::STATUS_NOT_FOUND); - } + } catch(ServiceNotFoundException $ex) { + return $this->error($ex, Http::STATUS_NOT_FOUND); + } - } + } /** @@ -207,15 +207,15 @@ class FeedController extends Controller { * @param int $parentFolderId * @return array|\OCP\AppFramework\Http\JSONResponse */ - public function move($feedId, $parentFolderId){ - try { - $this->feedService->move($feedId, $parentFolderId, $this->userId); - } catch(ServiceNotFoundException $ex) { - return $this->error($ex, Http::STATUS_NOT_FOUND); - } + public function move($feedId, $parentFolderId){ + try { + $this->feedService->move($feedId, $parentFolderId, $this->userId); + } catch(ServiceNotFoundException $ex) { + return $this->error($ex, Http::STATUS_NOT_FOUND); + } return []; - } + } /** * @NoAdminRequired @@ -224,15 +224,15 @@ class FeedController extends Controller { * @param string $feedTitle * @return array|\OCP\AppFramework\Http\JSONResponse */ - public function rename($feedId, $feedTitle) { - try { - $this->feedService->rename($feedId, $feedTitle, $this->userId); - } catch(ServiceNotFoundException $ex) { - return $this->error($ex, Http::STATUS_N |