]> git.wh0rd.org - tt-rss.git/commitdiff
broken a lot of feed update functionality :(
authorAndrew Dolgov <fox@madoka.spb.ru>
Tue, 23 Aug 2005 09:16:01 +0000 (10:16 +0100)
committerAndrew Dolgov <fox@madoka.spb.ru>
Tue, 23 Aug 2005 09:16:01 +0000 (10:16 +0100)
functions.php
tt-rss.js

index bada34c0263a83dc7072a8950cecdb00fc2aca64..266e38846df579e77f448d2ffa4373d7c8691c45 100644 (file)
@@ -88,9 +88,9 @@
 
                                $entry_content = pg_escape_string($entry_content);
                                $entry_title = pg_escape_string($entry_title);
-       
-                               $content_md5 = md5($entry_content);
-       
+
+                               $content_md5 = md5(strip_tags($entry_content));
+
                                $result = pg_query($link, "
                                        SELECT 
                                                id,unread,md5_hash,last_read,no_orig_date,title,
                                        $no_orig_date = pg_fetch_result($result, 0, "no_orig_date");
                                        $orig_title = pg_fetch_result($result, 0, "title");
 
-                                       // disable update detection for posts which didn't have correct
-                                       // publishment date, because they will always register as updated
-                                       // sadly this doesn't catch feed generators which input current date 
-                                       // in posts all the time (some planets do this)
-
-                                       if ($no_orig_date != 't' && (!$last_read || $md5_hash != $content_md5)) {
+                                       if ($content_md5 != $md5_hash) {
+                                               $update_md5_qpart = "md5_hash = '$content_md5',";
                                                $last_read_qpart = 'last_read = null,';
-                                       } else {
-                                               $last_read_qpart = '';
+                                               $update_content_qpart = "content = '$entry_content',";
                                        }
 
-                                       // mark post as updated on title change
-                                       // maybe we should mark it as unread instead?
-
                                        if ($orig_title != $entry_title) {
-                                               $last_read_qpart = 'last_read = null,';
-                                       }
-
-                                       // don't bother updating timestamps on posts with broken pubDate
-                                       
-                                       if ($no_orig_date != 't') {
-                                               $update_timestamp_qpart = "updated = '$entry_timestamp_fmt',";
-                                       }
-
-//                                     print "$content_md5 vs $md5_hash [$entry_title vs $orig_title, $entry_id, $feed_id]<br>";
-
-                                       if ($content_md5 != $md5_hash) {
-                                               $update_md5_qpart = "md5_hash = '$content_md5',";
+                                               print "[$orig_title] : [$entry_title]";
+                                               $entry_title_qpart = "title ='$entry_title',";
                                        }
 
                                        $query = "UPDATE ttrss_entries 
                                                SET 
-                                                       title ='$entry_title', 
+                                                       $entry_title_qpart
                                                        link = '$entry_link', 
                                                        $update_timestamp_qpart
                                                        $last_read_qpart
                                                        $update_md5_qpart
-                                                       content = '$entry_content',
+                                                       $update_content_qpart
                                                        unread = '$unread'
                                                WHERE
                                                        id = '$entry_id'";
 
-//                                     print "<pre>".htmlspecialchars($query)."</pre>";
+                                       print "<pre>".htmlspecialchars($query)."</pre>";
 
                                        $result = pg_query($link, $query);
        
index d4660d6243ca7a6ce10125da3f07e738ddd92a2b..1ef840529f57d039465f994906493327bf69af60 100644 (file)
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -166,31 +166,39 @@ function catchupPage(feed) {
        for (i = 0; i < content.rows.length; i++) {
                var row_id = content.rows[i].id.replace("RROW-", "");
                if (row_id.length > 0) {
-                       rows.push(row_id);      
-                       content.rows[i].className = content.rows[i].className.replace("Unread", "");
+                       if (content.rows[i].className.match("Unread")) {
+                               rows.push(row_id);      
+                               content.rows[i].className = content.rows[i].className.replace("Unread", "");
+                       }
                }
        }
 
-       var feedr = document.getElementById("FEEDR-" + feed);
-       var feedu = document.getElementById("FEEDU-" + feed);
-
-       feedu.innerHTML = feedu.innerHTML - rows.length;
-
-       if (feedu.innerHTML > 0 && !feedr.className.match("Unread")) {
-                       feedr.className = feedr.className + "Unread";
-       } else if (feedu.innerHTML <= 0) {      
-                       feedr.className = feedr.className.replace("Unread", "");
-       } 
-
-       var query_str = "backend.php?op=rpc&subop=catchupPage&ids=" + 
-               param_escape(rows.toString());
+       if (rows.length > 0) {
 
-       notify("Marking this page as read...");
+               var feedr = document.getElementById("FEEDR-" + feed);
+               var feedu = document.getElementById("FEEDU-" + feed);
+       
+               feedu.innerHTML = feedu.innerHTML - rows.length;
+       
+               if (feedu.innerHTML > 0 && !feedr.className.match("Unread")) {
+                               feedr.className = feedr.className + "Unread";
+               } else if (feedu.innerHTML <= 0) {      
+                               feedr.className = feedr.className.replace("Unread", "");
+               } 
+
+               var query_str = "backend.php?op=rpc&subop=catchupPage&ids=" + 
+                       param_escape(rows.toString());
+       
+               notify("Marking this page as read...");
+       
+               xmlhttp.open("GET", query_str, true);
+               xmlhttp.onreadystatechange=notify_callback;
+               xmlhttp.send(null);
 
-       xmlhttp.open("GET", query_str, true);
-       xmlhttp.onreadystatechange=notify_callback;
-       xmlhttp.send(null);
+       } else {
+               notify("No unread items on this page.");
 
+       }
 }
 
 function catchupAllFeeds() {