diff --git a/backend.php b/backend.php index a31afb61..c087b322 100644 --- a/backend.php +++ b/backend.php @@ -631,7 +631,8 @@ $result = db_query($link, "SELECT title,link,content,feed_id,comments,int_id, SUBSTRING(updated,1,16) as updated, - (SELECT icon_url FROM ttrss_feeds WHERE id = feed_id) as icon_url + (SELECT icon_url FROM ttrss_feeds WHERE id = feed_id) as icon_url, + num_comments FROM ttrss_entries,ttrss_user_entries WHERE id = '$id' AND ref_id = id"); @@ -669,10 +670,26 @@ $feed_icon = " "; } - if ($line["comments"] && $line["link"] != $line["comments"]) { +/* if ($line["comments"] && $line["link"] != $line["comments"]) { $entry_comments = "(Comments)"; } else { $entry_comments = ""; + } */ + + $num_comments = $line["num_comments"]; + $entry_comments = ""; + + if ($num_comments > 0) { + if ($line["comments"]) { + $comments_url = $line["comments"]; + } else { + $comments_url = $line["link"]; + } + $entry_comments = "($num_comments comments)"; + } else { + if ($line["comments"] && $line["link"] != $line["comments"]) { + $entry_comments = "(Comments)"; + } } print "
"; diff --git a/functions.php b/functions.php index 8b990740..639ba321 100644 --- a/functions.php +++ b/functions.php @@ -324,6 +324,12 @@ $entry_link = db_escape_string($entry_link); $entry_comments = db_escape_string($entry_comments); + $num_comments = 0; + + if ($item["slash"]) { + $num_comments = db_escape_string($item["slash"]["comments"]); + } + if (db_num_rows($result) == 0) { // base post entry does not exist, create it @@ -338,7 +344,8 @@ content_hash, no_orig_date, date_entered, - comments) + comments, + num_comments) VALUES ('$entry_title', '$entry_guid', @@ -348,71 +355,72 @@ '$content_hash', $no_orig_date, NOW(), - '$entry_comments')"); + '$entry_comments', + '$num_comments')"); } // now it should exist, if not - bad luck then $result = db_query($link, "SELECT id,content_hash,no_orig_date,title, - substring(updated,1,19) as updated + substring(updated,1,19) as updated, + num_comments FROM ttrss_entries WHERE guid = '$entry_guid'"); if (db_num_rows($result) == 1) { - // this will be used below in update handler - $orig_content_hash = db_fetch_result($result, 0, "content_hash"); -// $orig_timestamp = strtotime(db_fetch_result($result, 0, "updated")); -// $orig_no_orig_date = db_fetch_result($result, 0, "no_orig_date"); - $orig_title = db_fetch_result($result, 0, "title"); + // this will be used below in update handler + $orig_content_hash = db_fetch_result($result, 0, "content_hash"); + $orig_title = db_fetch_result($result, 0, "title"); + $orig_num_comments = db_fetch_result($result, 0, "num_comments"); - $ref_id = db_fetch_result($result, 0, "id"); + $ref_id = db_fetch_result($result, 0, "id"); - // check for user post link to main table + // check for user post link to main table - // do we allow duplicate posts with same GUID in different feeds? - if (get_pref($link, "ALLOW_DUPLICATE_POSTS", $owner_uid)) { - $dupcheck_qpart = "AND feed_id = '$feed'"; - } else { - $dupcheck_qpart = ""; - } + // do we allow duplicate posts with same GUID in different feeds? + if (get_pref($link, "ALLOW_DUPLICATE_POSTS", $owner_uid)) { + $dupcheck_qpart = "AND feed_id = '$feed'"; + } else { + $dupcheck_qpart = ""; + } -// error_reporting(0); +// error_reporting(0); - $filter_name = get_filter_name($entry_title, $entry_content, - $entry_link, $filters); + $filter_name = get_filter_name($entry_title, $entry_content, + $entry_link, $filters); - if ($filter_name == "filter") { - continue; - } + if ($filter_name == "filter") { + continue; + } -// error_reporting (DEFAULT_ERROR_LEVEL); +// error_reporting (DEFAULT_ERROR_LEVEL); - $result = db_query($link, - "SELECT ref_id FROM ttrss_user_entries WHERE - ref_id = '$ref_id' AND owner_uid = '$owner_uid' - $dupcheck_qpart"); + $result = db_query($link, + "SELECT ref_id FROM ttrss_user_entries WHERE + ref_id = '$ref_id' AND owner_uid = '$owner_uid' + $dupcheck_qpart"); + + // okay it doesn't exist - create user entry + if (db_num_rows($result) == 0) { - // okay it doesn't exist - create user entry - if (db_num_rows($result) == 0) { - - if ($filter_name != 'catchup') { - $unread = 'true'; - $last_read_qpart = 'NULL'; - } else { - $unread = 'false'; - $last_read_qpart = 'NOW()'; - } + if ($filter_name != 'catchup') { + $unread = 'true'; + $last_read_qpart = 'NULL'; + } else { + $unread = 'false'; + $last_read_qpart = 'NOW()'; + } - $result = db_query($link, - "INSERT INTO ttrss_user_entries - (ref_id, owner_uid, feed_id, unread, last_read) - VALUES ('$ref_id', '$owner_uid', '$feed', $unread, - $last_read_qpart)"); - } - + $result = db_query($link, + "INSERT INTO ttrss_user_entries + (ref_id, owner_uid, feed_id, unread, last_read) + VALUES ('$ref_id', '$owner_uid', '$feed', $unread, + $last_read_qpart)"); + } + $post_needs_update = false; if (get_pref($link, "UPDATE_POST_ON_CHECKSUM_CHANGE", $owner_uid) && @@ -424,6 +432,10 @@ $post_needs_update = true; } + if ($orig_num_comments != $num_comments) { + $post_needs_update = true; + } + // this doesn't seem to be very reliable // // if ($orig_timestamp != $entry_timestamp && !$orig_no_orig_date) { @@ -437,7 +449,8 @@ // print ""; db_query($link, "UPDATE ttrss_entries - SET title = '$entry_title', content = '$entry_content' + SET title = '$entry_title', content = '$entry_content', + num_comments = '$num_comments' WHERE id = '$ref_id'"); db_query($link, "UPDATE ttrss_user_entries