"; $lnum = 0; while ($line = pg_fetch_assoc($result)) { $feed = $line["title"]; $feed_id = $line["id"]; $total = $line["total"]; $unread = $line["unread"]; $class = ($lnum % 2) ? "even" : "odd"; // if ($lnum == 2 || $lnum == 0) $feed = "$feed"; $feed = "$feed ($unread/$total)"; print "
  • $feed
  • "; ++$lnum; } print ""; } if ($op == "view") { $id = $_GET["id"]; $result = pg_query("SELECT title,link,content FROM ttrss_entries WHERE id = '$id'"); if ($result) { $line = pg_fetch_assoc($result); print ""; print ""; print ""; print "
    Title:".$line["title"]."
    Link:".$line["link"]."
    "; print $line["content"]; } } if ($op == "viewfeed") { $feed = $_GET["feed"]; // $feed = 0; // for speed $skip = $_GET["skip"]; $result = pg_query("SELECT * FROM ttrss_feeds WHERE id = '$feed'"); if ($result) { $line = pg_fetch_assoc($result); $rss = fetch_rss($line["feed_url"]); if ($rss) { foreach ($rss->items as $item) { $entry_guid = $item["id"]; if (!$entry_guid) $entry_guid = $item["guid"]; if (!$entry_guid) $entry_guid = $item["link"]; $entry_timestamp = $item["pubdate"]; if (!$entry_timestamp) $entry_timestamp = $item["modified"]; if (!$entry_timestamp) $entry_timestamp = $item["updated"]; $entry_timestamp = strtotime($entry_timestamp); $entry_title = $item["title"]; $entry_link = $item["link"]; $entry_content = $item["description"]; if (!$entry_content) $entry_content = $item["content"]; $entry_content = pg_escape_string($entry_content); $entry_title = pg_escape_string($entry_title); $content_md5 = md5($entry_content); $result = pg_query(" SELECT id,unread,md5_hash FROM ttrss_entries WHERE guid = '$entry_guid' OR md5_hash = '$content_md5'"); if (pg_num_rows($result) == 0) { $entry_timestamp = strftime("%Y/%m/%d %H:%M:%S", $entry_timestamp); $query = "INSERT INTO ttrss_entries (title, guid, link, updated, content, feed_id, md5_hash) VALUES ('$entry_title', '$entry_guid', '$entry_link', '$entry_timestamp', '$entry_content', '$feed', '$content_md5')"; pg_query($query); } else { $entry_id = pg_fetch_result($result, 0, "id"); $entry_timestamp = strftime("%Y/%m/%d %H:%M:%S", $entry_timestamp); $unread = pg_fetch_result($result, 0, "unread"); $md5_hash = pg_fetch_result($result, 0, "md5_hash"); if ($md5_hash != $content_md5) $unread = "false"; $query = "UPDATE ttrss_entries SET title ='$entry_title', link = '$entry_link', updated = '$entry_timestamp', content = '$entry_content', md5_hash = '$content_md5', unread = '$unread' WHERE id = '$entry_id'"; $result = pg_query($query); // print "$entry_guid - $entry_timestamp - $entry_title - // $entry_link - $entry_id
    "; } } print ""; print ""; $result = pg_query("SELECT id,title,updated,unread FROM ttrss_entries WHERE feed_id = '$feed' ORDER BY updated LIMIT 10 OFFSET $skip"); $lnum = 0; while ($line = pg_fetch_assoc($result)) { $class = ($lnum % 2) ? "even" : "odd"; if ($line["unread"] == "t") $class .= "Unread"; $content_link = "".$line["title"].""; print ""; print ""; print ""; print ""; ++$lnum; } print ""; print "
    " . $rss->channel["title"] . "
    ".$line["updated"]."$content_link
    "; $next_skip = $skip + 10; $prev_skip = $skip - 10; print "Previous Page"; print " "; print "Next Page"; print "
    "; } } } ?>