]> git.wh0rd.org - tt-rss.git/blobdiff - include/rssfuncs.php
Merge branch 'master' of github.com:gothfox/Tiny-Tiny-RSS
[tt-rss.git] / include / rssfuncs.php
index 614cdaa839535af7fe7eb74b5dfef693ad95d7d9..807b041a36ca64ed9b430595ab63d75704b46cde 100644 (file)
 
                        if (!$registered_title || $registered_title == "[Unknown]") {
 
-                               $feed_title = db_escape_string($rss->get_title());
+                               $feed_title = db_escape_string(mb_substr($rss->get_title(), 0, 199);
 
                                if ($feed_title) {
                                        _debug("registering title: $feed_title", $debug_enabled);
                                        $entry_language = $lang->detect($entry_title . " " . $entry_content, 1);
 
                                        if (count($entry_language) > 0) {
-                                               @$entry_language = array_keys($entry_language)[0];
+                                               $possible = array_keys($entry_language);
+                                               $entry_language = $possible[0];
 
                                                _debug("detected language: $entry_language", $debug_enabled);
                                        } else {
 
                                _debug("article hash: $entry_current_hash [stored=$entry_stored_hash]", $debug_enabled);
 
-                               if ($entry_current_hash == $entry_stored_hash) {
+                               if ($entry_current_hash == $entry_stored_hash && !isset($_REQUEST["force_rehash"])) {
                                        _debug("stored article seems up to date [IID: $base_entry_id], updating timestamp only", $debug_enabled);
 
                                        // we keep encountering the entry in feeds, so we need to
                                        db_query("UPDATE ttrss_entries SET date_updated = NOW()
                                                WHERE id = '$base_entry_id'");
 
-                                       continue;
+                    // if we allow duplicate posts, we have to continue to 
+                    // create the user entries for this feed
+                    if (!get_pref("ALLOW_DUPLICATE_POSTS", $owner_uid, false)) {
+                        continue;
+                    }
                                }
 
                                _debug("hash differs, applying plugin filters:", $debug_enabled);