function download($url) { if ((bool) Config\get('debug_mode')) { Logger::enable(); } $client = Client::getInstance(); $client->setUserAgent(Config\HTTP_USER_AGENT); $client->enablePassthroughMode(); $client->execute($url); Config\write_debug(); }
function refresh($feed_id) { try { $feed = get($feed_id); if (empty($feed)) { return false; } $reader = new Reader(Config\get_reader_config()); $resource = $reader->download($feed['feed_url'], $feed['last_modified'], $feed['etag']); // Update the `last_checked` column each time, HTTP cache or not update_last_checked($feed_id); // Feed modified if ($resource->isModified()) { $parser = $reader->getParser($resource->getUrl(), $resource->getContent(), $resource->getEncoding()); if ($feed['download_content']) { $parser->enableContentGrabber(); // Don't fetch previous items, only new one $parser->setGrabberIgnoreUrls(Database::getInstance('db')->table('items')->eq('feed_id', $feed_id)->findAllByColumn('url')); } $feed = $parser->execute(); update_cache($feed_id, $resource->getLastModified(), $resource->getEtag()); Item\update_all($feed_id, $feed->getItems()); fetch_favicon($feed_id, $feed->getSiteUrl(), $feed->getIcon()); } update_parsing_error($feed_id, 0); Config\write_debug(); return true; } catch (PicoFeedException $e) { } update_parsing_error($feed_id, 1); Config\write_debug(); return false; }
function download_content_id($item_id) { $item = get($item_id); $content = download_content_url($item['url']); if (!empty($content)) { if (!Config\get('nocontent')) { // Save content Database::getInstance('db')->table('items')->eq('id', $item['id'])->save(array('content' => $content)); } Config\write_debug(); return array('result' => true, 'content' => $content); } Config\write_debug(); return array('result' => false, 'content' => ''); }