function importFeed($feedurl, $folderid, $feedtitle) { global $eventSource; global $l; $feedmapper = new OCA\News\FeedMapper(); $feedid = $feedmapper->findIdFromUrl($feedurl); if ($feedid === null) { $feed = OCA\News\Utils::slimFetch($feedurl); if ($feed !== null) { $feed->setTitle($feedtitle); //we want the title of the feed to be the one from the opml file $feedid = $feedmapper->save($feed, $folderid); $itemmapper = new OCA\News\ItemMapper(OCP\USER::getUser()); $unreadItemsCount = $itemmapper->countAllStatus($feedid, OCA\News\StatusFlag::UNREAD); $tmpl_listfeed = new OCP\Template("news", "part.listfeed"); $tmpl_listfeed->assign('feed', $feed); $tmpl_listfeed->assign('unreadItemsCount', $unreadItemsCount); $listfeed = $tmpl_listfeed->fetchPage(); $eventSource->send('progress', array('data' => array('type' => 'feed', 'folderid' => $folderid, 'listfeed' => $listfeed))); } } else { OCP\Util::writeLog('news', 'ajax/importopml.php: This feed is already here: ' . $feedurl, OCP\Util::WARN); return true; } if ($feed === null || !$feedid) { OCP\Util::writeLog('news', 'ajax/importopml.php: Error adding feed: ' . $feedurl, OCP\Util::ERROR); return false; } return true; }
* * This file is licensed under the Affero General Public License version 3 or later. * See the COPYING-README file * */ // Check if we are a user OCP\JSON::checkLoggedIn(); OCP\JSON::checkAppEnabled('news'); OCP\JSON::callCheck(); session_write_close(); $userid = OCP\USER::getUser(); $feedid = $_POST['feedid']; $feedurl = $_POST['feedurl']; $folderid = $_POST['folderid']; $newfeed = OCA\News\Utils::fetch($feedurl); $newfeedid = false; if ($newfeed !== null) { $feedmapper = new OCA\News\FeedMapper(); $newfeedid = $feedmapper->save($newfeed, $folderid); } $l = OC_L10N::get('news'); if (!$newfeedid) { OCP\JSON::error(array('data' => array('message' => $l->t('Error updating feed.')))); OCP\Util::writeLog('news', 'ajax/updatefeed.php: Error updating feed: ' . $_POST['feedid'], OCP\Util::ERROR); exit; } else { $itemmapper = new OCA\News\ItemMapper($userid); $unreadcounter = $itemmapper->countAllStatus($newfeedid, OCA\News\StatusFlag::UNREAD); OCP\JSON::success(array('data' => array('message' => $l->t('Feed updated!'), 'unreadcount' => $unreadcounter))); exit; }
OCP\JSON::checkAppEnabled('news'); OCP\JSON::callCheck(); session_write_close(); $userid = OCP\USER::getUser(); $feedurl = trim($_POST['feedurl']); $folderid = trim($_POST['folderid']); $feedmapper = new OCA\News\FeedMapper($userid); $feedid = $feedmapper->findIdFromUrl($feedurl); $l = OC_L10N::get('news'); if ($feedid === null) { $feed = OCA\News\Utils::fetch($feedurl); if ($feed !== null) { $feedid = $feedmapper->save($feed, $folderid); } } else { OCP\JSON::error(array('data' => array('message' => $l->t('Feed already exists.')))); OCP\Util::writeLog('news', 'ajax/createfeed.php: Error adding feed: ' . $_POST['feedurl'], OCP\Util::ERROR); exit; } if ($feed === null || !$feedid) { OCP\JSON::error(array('data' => array('message' => $l->t('Error adding feed.')))); OCP\Util::writeLog('news', 'ajax/createfeed.php: Error adding feed: ' . $_POST['feedurl'], OCP\Util::ERROR); exit; } $itemmapper = new OCA\News\ItemMapper($userid); $unreadItemsCount = $itemmapper->countAllStatus($feedid, OCA\News\StatusFlag::UNREAD); $tmpl_listfeed = new OCP\Template("news", "part.listfeed"); $tmpl_listfeed->assign('feed', $feed); $tmpl_listfeed->assign('unreadItemsCount', $unreadItemsCount); $listfeed = $tmpl_listfeed->fetchPage(); OCP\JSON::success(array('data' => array('message' => $l->t('Feed added!'), 'feedid' => $feedid, 'listfeed' => $listfeed)));
OCP\JSON::checkLoggedIn(); OCP\JSON::checkAppEnabled('news'); OCP\JSON::callCheck(); session_write_close(); $userid = OCP\USER::getUser(); $feedId = $_POST['id']; $feedType = $_POST['type']; OCP\Config::setUserValue(OCP\USER::getUser(), 'news', 'lastViewedFeed', $feedId); OCP\Config::setUserValue(OCP\USER::getUser(), 'news', 'lastViewedFeedType', $feedType); $l = OC_L10N::get('news'); $itemsTpl = new OCP\Template("news", "part.items"); $itemsTpl->assign('feedid', $feedId); $feedItems = $itemsTpl->fetchPage(); $itemMapper = new OCA\News\ItemMapper(); switch ($feedId) { case -1: $feedTitle = $l->t('Starred'); $unreadItemCount = $itemMapper->countAllStatus($feedId, OCA\News\StatusFlag::IMPORTANT); break; case -2: $feedTitle = $l->t('New articles'); $unreadItemCount = $itemMapper->countEveryItemByStatus(OCA\News\StatusFlag::UNREAD); break; default: $feedMapper = new OCA\News\FeedMapper(); $feed = $feedMapper->findById($feedId); $feedTitle = $feed->getTitle(); $unreadItemCount = $itemMapper->countAllStatus($feedId, OCA\News\StatusFlag::UNREAD); break; } OCP\JSON::success(array('data' => array('message' => $l->t('Feed loaded!'), 'feedTitle' => $feedTitle, 'feedItems' => $feedItems, 'unreadItemCount' => $unreadItemCount)));