diff options
author | Andrew Dolgov <[email protected]> | 2005-08-21 16:01:18 +0100 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2005-08-21 16:01:18 +0100 |
commit | a1a8a2be02600413edd36374f239e936f8fbff3c (patch) | |
tree | 377112e3088f9b75f4b8e0e6818fcd9397e254a4 /backend.php | |
parent | d76a3b036c8863ae023686f08e36b11dc9e8ce2e (diff) |
functionality updates
Diffstat (limited to 'backend.php')
-rw-r--r-- | backend.php | 258 |
1 files changed, 149 insertions, 109 deletions
diff --git a/backend.php b/backend.php index 5eb64d102..198252dc6 100644 --- a/backend.php +++ b/backend.php @@ -20,12 +20,12 @@ WHERE feed_id = ttrss_feeds.id AND unread = true) as unread FROM ttrss_feeds ORDER BY title"); - print "<ul>"; + print "<table width=\"100%\">"; $lnum = 0; while ($line = pg_fetch_assoc($result)) { - + $feed = $line["title"]; $feed_id = $line["id"]; @@ -35,14 +35,21 @@ $class = ($lnum % 2) ? "even" : "odd"; // if ($lnum == 2 || $lnum == 0) $feed = "<b>$feed</b>"; - - $feed = "<a href=\"javascript:viewfeed($feed_id, 0);\">$feed ($unread/$total)</a>"; - - print "<li class=\"$class\">$feed</li>"; + + if ($unread > 0) $class .= "Unread"; + + print "<tr class=\"$class\" id=\"FEEDR-$feed_id\">"; + + $feed = "<a href=\"javascript:viewfeed($feed_id, 0);\">$feed</a>"; + print "<td id=\"FEEDN-$feed_id\">$feed</td>"; + print "<td id=\"FEEDU-$feed_id\">$unread</td>"; + print "<td id=\"FEEDT-$feed_id\">$total</td>"; + + print "</tr>"; ++$lnum; } - print "</ul>"; + print "</table>"; } @@ -50,6 +57,8 @@ $id = $_GET["id"]; + $result = pg_query("UPDATE ttrss_entries SET unread = false WHERE id = '$id'"); + $result = pg_query("SELECT title,link,content FROM ttrss_entries WHERE id = '$id'"); @@ -72,9 +81,10 @@ if ($op == "viewfeed") { $feed = $_GET["feed"]; -// $feed = 0; // for speed - $skip = $_GET["skip"]; + $ext = $_GET["ext"]; + + if ($ext == "undefined") $ext = ""; $result = pg_query("SELECT * FROM ttrss_feeds WHERE id = '$feed'"); @@ -82,129 +92,159 @@ $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); + if (!$ext) { - $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); + $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<br>"; + + } + + } + + } - $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) { + } else { - $entry_timestamp = strftime("%Y/%m/%d %H:%M:%S", $entry_timestamp); + if ($ext == "MarkAllRead") { - $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("UPDATE ttrss_entries SET unread = false + WHERE feed_id = '$feed'"); + } - pg_query($query); + } + } - } else { + print "<table class=\"headlines\" width=\"100%\">"; + print "<tr><td colspan=\"2\" class=\"title\">" . $line["title"] . "</td></tr>"; - $entry_id = pg_fetch_result($result, 0, "id"); - $entry_timestamp = strftime("%Y/%m/%d %H:%M:%S", $entry_timestamp); + $result = pg_query("SELECT id,title,updated,unread,feed_id FROM + ttrss_entries WHERE + feed_id = '$feed' ORDER BY updated LIMIT ".HEADLINES_PER_PAGE." OFFSET $skip"); - $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'"; + $lnum = 0; - $result = pg_query($query); + while ($line = pg_fetch_assoc($result)) { -// print "$entry_guid - $entry_timestamp - $entry_title - -// $entry_link - $entry_id<br>"; + $class = ($lnum % 2) ? "even" : "odd"; - } + if ($line["unread"] == "t") + $class .= "Unread"; - } + $content_link = "<a href=\"javascript:view(".$line["id"].",".$line["feed_id"].");\">".$line["title"]."</a>"; - print "<table class=\"headlines\" width=\"100%\">"; - print "<tr><td colspan=\"2\" class=\"title\">" . $rss->channel["title"] . "</td></tr>"; - - $result = pg_query("SELECT id,title,updated,unread FROM ttrss_entries WHERE - feed_id = '$feed' ORDER BY updated LIMIT 10 OFFSET $skip"); - - $lnum = 0; + print "<tr class='$class' id='RROW-".$line["id"]."'>"; + print "<td class='headlineUpdated'>".$line["updated"]."</td>"; + print "<td class='headlineTitle'>$content_link</td>"; - while ($line = pg_fetch_assoc($result)) { + print "</tr>"; - $class = ($lnum % 2) ? "even" : "odd"; - - if ($line["unread"] == "t") - $class .= "Unread"; + ++$lnum; + } - $content_link = "<a href=\"javascript:view(".$line["id"].");\">".$line["title"]."</a>"; - - print "<tr class='$class' id='RROW-".$line["id"]."'>"; - print "<td class='headlineUpdated'>".$line["updated"]."</td>"; - print "<td class='headlineTitle'>$content_link</td>"; + print "<tr><td colspan=\"2\" class=\"headlineToolbar\">"; - print "</tr>"; + $next_skip = $skip + HEADLINES_PER_PAGE; + $prev_skip = $skip - HEADLINES_PER_PAGE; - ++$lnum; - } + print "<a class=\"button\" + href=\"javascript:viewfeed($feed, $prev_skip);\">Previous Page</a>"; + print " "; + print "<a class=\"button\" + href=\"javascript:viewfeed($feed, $next_skip);\">Next Page</a>"; + print " "; + + print "<a class=\"button\" + href=\"javascript:viewfeed($feed, 0, 'MarkAllRead');\">Mark all as read</a>"; - print "<tr><td colspan=\"2\" class=\"headlineToolbar\">"; + print "</td></tr>"; + print "</table>"; - $next_skip = $skip + 10; - $prev_skip = $skip - 10; + $result = pg_query("SELECT id, (SELECT count(id) FROM ttrss_entries + WHERE feed_id = ttrss_feeds.id) AS total, + (SELECT count(id) FROM ttrss_entries + WHERE feed_id = ttrss_feeds.id AND unread = true) as unread + FROM ttrss_feeds WHERE id = '$feed'"); - print "<a class=\"button\" - href=\"javascript:viewfeed($feed, $prev_skip);\">Previous Page</a>"; - print " "; - print "<a class=\"button\" - href=\"javascript:viewfeed($feed, $next_skip);\">Next Page</a>"; + $total = pg_fetch_result($result, 0, "total"); + $unread = pg_fetch_result($result, 0, "unread"); - print "</td></tr>"; - print "</table>"; + print "<div class=\"invisible\" id=\"FACTIVE\">$feed</div>"; + print "<div class=\"invisible\" id=\"FTOTAL\">$total</div>"; + print "<div class=\"invisible\" id=\"FUNREAD\">$unread</div>"; - } - - } } |