create_published_article: check for duplicate URLs

master
Andrew Dolgov 12 years ago
parent c6c010d98a
commit 71b6a2360e

@ -5617,26 +5617,48 @@
if (filter_var($url, FILTER_VALIDATE_URL) === FALSE) return false; if (filter_var($url, FILTER_VALIDATE_URL) === FALSE) return false;
$result = db_query($link, "INSERT INTO ttrss_entries $result = db_query($link, "SELECT id FROM ttrss_entries WHERE
(title, guid, link, updated, content, content_hash, date_entered, date_updated) link = '$url' LIMIT 1");
VALUES
('$title', '$guid', '$url', NOW(), '$content', '$content_hash', NOW(), NOW())");
$result = db_query($link, "SELECT id FROM ttrss_entries WHERE guid = '$guid'");
if (db_num_rows($result) != 0) { if (db_num_rows($result) != 0) {
$ref_id = db_fetch_result($result, 0, "id"); $ref_id = db_fetch_result($result, 0, "id");
db_query($link, "INSERT INTO ttrss_user_entries $result = db_query($link, "SELECT int_id FROM ttrss_user_entries WHERE
(ref_id, uuid, feed_id, orig_feed_id, owner_uid, published, tag_cache, label_cache, last_read, note, unread) ref_id = '$ref_id' AND owner_uid = '$owner_uid'");
VALUES
('$ref_id', '', NULL, NULL, $owner_uid, true, '', '', NOW(), '', false)"); if (db_num_rows($result) != 0) {
db_query($link, "UPDATE ttrss_user_entries SET published = true WHERE
ref_id = '$ref_id' AND owner_uid = '$owner_uid'");
} else {
db_query($link, "INSERT INTO ttrss_user_entries
(ref_id, uuid, feed_id, orig_feed_id, owner_uid, published, tag_cache, label_cache, last_read, note, unread)
VALUES
('$ref_id', '', NULL, NULL, $owner_uid, true, '', '', NOW(), '', false)");
}
return true; return true;
} } else {
$result = db_query($link, "INSERT INTO ttrss_entries
(title, guid, link, updated, content, content_hash, date_entered, date_updated)
VALUES
('$title', '$guid', '$url', NOW(), '$content', '$content_hash', NOW(), NOW())");
return false; $result = db_query($link, "SELECT id FROM ttrss_entries WHERE guid = '$guid'");
if (db_num_rows($result) != 0) {
$ref_id = db_fetch_result($result, 0, "id");
db_query($link, "INSERT INTO ttrss_user_entries
(ref_id, uuid, feed_id, orig_feed_id, owner_uid, published, tag_cache, label_cache, last_read, note, unread)
VALUES
('$ref_id', '', NULL, NULL, $owner_uid, true, '', '', NOW(), '', false)");
return true;
}
return false;
}
} }
?> ?>

Loading…
Cancel
Save