diff options
author | Andrew Dolgov <[email protected]> | 2006-07-31 12:35:50 +0100 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2006-07-31 12:35:50 +0100 |
commit | 186649709a15de3b36411ae250d28abb574b1c53 (patch) | |
tree | f2c0658007fed939da9c77b1517061d66dc30202 /functions.php | |
parent | 53c98a9af8cd005b536b2609d831b1001cf7ed44 (diff) |
add aggregated feed generator
Diffstat (limited to 'functions.php')
-rw-r--r-- | functions.php | 69 |
1 files changed, 68 insertions, 1 deletions
diff --git a/functions.php b/functions.php index 686cecfeb..e77f2d5a0 100644 --- a/functions.php +++ b/functions.php @@ -948,6 +948,28 @@ } } + function http_authenticate_user($link) { + + if (!$_SERVER["PHP_AUTH_USER"]) { + + header('WWW-Authenticate: Basic realm="Tiny Tiny RSS RSSGen"'); + header('HTTP/1.0 401 Unauthorized'); + exit; + + } else { + $auth_result = authenticate_user($link, + $_SERVER["PHP_AUTH_USER"], $_SERVER["PHP_AUTH_PW"]); + + if (!$auth_result) { + header('WWW-Authenticate: Basic realm="Tiny Tiny RSS RSSGen"'); + header('HTTP/1.0 401 Unauthorized'); + exit; + } + } + + return true; + } + function authenticate_user($link, $login, $password) { if (!SINGLE_USER_MODE) { @@ -1406,7 +1428,13 @@ function getCategoryUnread($link, $cat) { - $result = db_query($link, "SELECT id FROM ttrss_feeds WHERE cat_id = '$cat' + if ($cat != 0) { + $cat_query = "cat_id = '$cat'"; + } else { + $cat_query = "cat_id IS NULL"; + } + + $result = db_query($link, "SELECT id FROM ttrss_feeds WHERE $cat_query AND owner_uid = " . $_SESSION["uid"]); $cat_feeds = array(); @@ -1414,6 +1442,8 @@ array_push($cat_feeds, "feed_id = " . $line["id"]); } + if (count($cat_feeds) == 0) return 0; + $match_part = implode(" OR ", $cat_feeds); $result = db_query($link, "SELECT COUNT(int_id) AS unread @@ -2179,4 +2209,41 @@ } + function generate_syndicated_feed($link, $feed, $is_cat) { + + $qfh_ret = queryFeedHeadlines($link, $feed, + 30, false, $is_cat, false, false, false); + + $result = $qfh_ret[0]; + $feed_title = $qfh_ret[1]; + $feed_site_url = $qfh_ret[2]; + $last_error = $qfh_ret[3]; + + print "<rss version=\"2.0\"> + <channel> + <title>$feed_title</title> + <link>$feed_site_url</link> + <generator>Tiny Tiny RSS v".VERSION."</generator>"; + + while ($line = db_fetch_assoc($result)) { + print "<item>"; + print "<link>" . htmlspecialchars($line["link"]) . "</link>"; + + $rfc822_date = date('r', strtotime($line["updated"])); + + print "<pubDate>$rfc822_date</pubDate>"; + + print "<title>" . + htmlspecialchars($line["title"]) . "</title>"; + + print "<description>" . + htmlspecialchars($line["content_preview"]) . "</description>"; + + print "</item>"; + } + + print "</channel></rss>"; + + } + ?> |