Esempio n. 1
0
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();
}
Esempio n. 2
0
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;
}
Esempio n. 3
0
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' => '');
}