]> git.wh0rd.org - tt-rss.git/blobdiff - include/rssfuncs.php
Merge pull request #211 from PerryWerneck/master
[tt-rss.git] / include / rssfuncs.php
index 730adc6648e2b6523e299efd977777c00871a0fa..4c3e861237349a105af107e21225c25f868a9a06 100644 (file)
        } // function update_daemon_common
 
        // ignore_daemon is not used
-       function update_rss_feed($feed, $ignore_daemon = false, $no_cache = false,
-               $override_url = false) {
+       function update_rss_feed($feed, $ignore_daemon = false, $no_cache = false) {
 
                $debug_enabled = defined('DAEMON_EXTENDED_DEBUG') || $_REQUEST['xdebug'];
 
 
                $feed = db_escape_string($feed);
 
-               if ($override_url) $fetch_url = $override_url;
-
                $date_feed_processed = date('Y-m-d H:i');
 
                $cache_filename = CACHE_DIR . "/simplepie/" . sha1($fetch_url) . ".xml";
 
-               // Ignore cache if new feed or manual update.
-               $cache_age = ($no_cache || is_null($last_updated) || strpos($last_updated, '1970-01-01') === 0) ? 30 : get_feed_update_interval($feed) * 60;
-
-               _debug("cache filename: $cache_filename exists: " . file_exists($cache_filename), $debug_enabled);
-               _debug("cache age: $cache_age; no cache: $no_cache", $debug_enabled);
+               $pluginhost = new PluginHost();
+               $pluginhost->set_debug($debug_enabled);
+               $user_plugins = get_pref("_ENABLED_PLUGINS", $owner_uid);
 
-               $cached_feed_data_hash = false;
+               $pluginhost->load(PLUGINS, PluginHost::KIND_ALL);
+               $pluginhost->load($user_plugins, PluginHost::KIND_USER, $owner_uid);
+               $pluginhost->load_data();
 
                $rss = false;
                $rss_hash = false;
-               $cache_timestamp = file_exists($cache_filename) ? filemtime($cache_filename) : 0;
 
                $force_refetch = isset($_REQUEST["force_refetch"]);
 
                if (file_exists($cache_filename) &&
                        is_readable($cache_filename) &&
                        !$auth_login && !$auth_pass &&
-                       filemtime($cache_filename) > time() - $cache_age) {
+                       filemtime($cache_filename) > time() - 30) {
 
                        _debug("using local cache.", $debug_enabled);
 
 
                if (!$rss) {
 
+                       foreach ($pluginhost->get_hooks(PluginHost::HOOK_FETCH_FEED) as $plugin) {
+                               $feed_data = $plugin->hook_fetch_feed($feed_data, $fetch_url, $owner_uid, $feed);
+                       }
+
                        if (!$feed_data) {
                                _debug("fetching [$fetch_url]...", $debug_enabled);
                                _debug("If-Modified-Since: ".gmdate('D, d M Y H:i:s \G\M\T', $last_article_timestamp), $debug_enabled);
 
                                _debug("fetch done.", $debug_enabled);
 
-                               if ($feed_data) {
+                               /* if ($feed_data) {
                                        $error = verify_feed_xml($feed_data);
 
                                        if ($error) {
                                                        if ($error) $feed_data = '';
                                                }
                                        }
-                               }
+                               } */
                        }
 
                        if (!$feed_data) {
                        }
                }
 
-               $pluginhost = new PluginHost();
-               $pluginhost->set_debug($debug_enabled, $debug_enabled);
-               $user_plugins = get_pref("_ENABLED_PLUGINS", $owner_uid);
-
-               $pluginhost->load(PLUGINS, PluginHost::KIND_ALL);
-               $pluginhost->load($user_plugins, PluginHost::KIND_USER, $owner_uid);
-               $pluginhost->load_data();
-
                foreach ($pluginhost->get_hooks(PluginHost::HOOK_FEED_FETCHED) as $plugin) {
-                       $feed_data = $plugin->hook_feed_fetched($feed_data);
+                       $feed_data = $plugin->hook_feed_fetched($feed_data, $fetch_url, $owner_uid, $feed);
                }
 
                // set last update to now so if anything *simplepie* crashes later we won't be
                // continuously failing on the same feed
-               db_query("UPDATE ttrss_feeds SET last_updated = NOW() WHERE id = '$feed'");
+               //db_query("UPDATE ttrss_feeds SET last_updated = NOW() WHERE id = '$feed'");
 
                if (!$rss) {
                        $rss = new FeedParser($feed_data);
 
                                _debug("checking favicon...", $debug_enabled);
 
-                               check_feed_favicon($site_url, $feed, $link);
+                               check_feed_favicon($site_url, $feed);
                                $favicon_modified_new = @filemtime($favicon_file);
 
                                if ($favicon_modified_new > $favicon_modified)
                        mb_strtolower(strip_tags($title), 'utf-8'));
        }
 
-       function verify_feed_xml($feed_data) {
+       /* function verify_feed_xml($feed_data) {
                libxml_use_internal_errors(true);
                $doc = new DOMDocument();
                $doc->loadXML($feed_data);
                $error = libxml_get_last_error();
                libxml_clear_errors();
                return $error;
-       }
+       } */
 
        function housekeeping_common($debug) {
                expire_cached_files($debug);