fix broken article processing if ALLOW_DUPLICATE_POSTS is enabled

This commit is contained in:
Andrew Dolgov 2016-01-07 21:49:31 +03:00
parent c203486e04
commit 4f186b1f10
1 changed files with 27 additions and 13 deletions

View File

@ -751,10 +751,24 @@
WHERE id = '$base_entry_id'"); WHERE id = '$base_entry_id'");
// if we allow duplicate posts, we have to continue to // if we allow duplicate posts, we have to continue to
// create the user entries for this feed // create the user entries for this feed (if needed)
if (!get_pref("ALLOW_DUPLICATE_POSTS", $owner_uid, false)) { if (get_pref("ALLOW_DUPLICATE_POSTS", $owner_uid, false)) {
continue;
} $query = "SELECT int_id FROM ttrss_user_entries WHERE
ref_id = '$base_entry_id' AND owner_uid = '$owner_uid'
AND (feed_id = '$feed' OR feed_id IS NULL) LIMIT 1";
$result = db_query($query);
if (db_num_rows($result) == 0) {
_debug("allow duplicate posts is enabled and user record is not found, continuing.");
} else {
continue;
}
} else {
continue;
}
} }
_debug("hash differs, applying plugin filters:", $debug_enabled); _debug("hash differs, applying plugin filters:", $debug_enabled);
@ -919,15 +933,6 @@
id = '$ref_id'"); id = '$ref_id'");
} */ } */
// check for user post link to main table
// do we allow duplicate posts with same GUID in different feeds?
if (get_pref("ALLOW_DUPLICATE_POSTS", $owner_uid, false)) {
$dupcheck_qpart = "AND (feed_id = '$feed' OR feed_id IS NULL)";
} else {
$dupcheck_qpart = "";
}
if (find_article_filter($article_filters, "filter")) { if (find_article_filter($article_filters, "filter")) {
//db_query("COMMIT"); // close transaction in progress //db_query("COMMIT"); // close transaction in progress
continue; continue;
@ -937,6 +942,15 @@
_debug("initial score: $score [including plugin modifier: $entry_score_modifier]", $debug_enabled); _debug("initial score: $score [including plugin modifier: $entry_score_modifier]", $debug_enabled);
// check for user post link to main table
// do we allow duplicate posts with same GUID in different feeds?
if (get_pref("ALLOW_DUPLICATE_POSTS", $owner_uid, false)) {
$dupcheck_qpart = "AND (feed_id = '$feed' OR feed_id IS NULL)";
} else {
$dupcheck_qpart = "";
}
$query = "SELECT ref_id, int_id FROM ttrss_user_entries WHERE $query = "SELECT ref_id, int_id FROM ttrss_user_entries WHERE
ref_id = '$ref_id' AND owner_uid = '$owner_uid' ref_id = '$ref_id' AND owner_uid = '$owner_uid'
$dupcheck_qpart"; $dupcheck_qpart";