add experimental digest code

This commit is contained in:
Andrew Dolgov 2006-08-20 13:33:37 +01:00
parent 3a7a4bbc6d
commit 7e3634d918
2 changed files with 63 additions and 2 deletions

View File

@ -27,6 +27,8 @@
$err_msg = check_configuration_variables();
$print_exec_time = true;
if ($err_msg) {
header("Content-Type: application/xml");
print_error_xml(9, $err_msg); die;
@ -3880,7 +3882,7 @@
if ($op == "getUnread") {
$login = db_escape_string($_GET["login"]);
header("Content-Type: text/plain");
header("Content-Type: text/plain; charset=utf-8");
$result = db_query($link, "SELECT id FROM ttrss_users WHERE login = '$login'");
@ -3890,11 +3892,20 @@
} else {
print "Error: user not found";
}
$print_exec_time = false;
}
if ($op == "digestTest") {
header("Content-Type: text/plain");
echo prepare_headlines_digest($link, $_SESSION["uid"]);
$print_exec_time = false;
}
db_close($link);
?>
<?php if ($op != "getUnread") { ?>
<?php if ($print_exec_time) { ?>
<!-- <?php echo sprintf("Backend execution time: %.4f seconds", getmicrotime() - $script_started) ?> -->
<?php } ?>

View File

@ -2377,6 +2377,56 @@
return $res;
}
function prepare_headlines_digest($link, $user_id, $days = 1, $limit = 100) {
$tmp = "New headlines for last 24 hours, as of " . date("Y/m/d H:m") . "\n";
$tmp .= "=======================================================\n\n";
if (DB_TYPE == "pgsql") {
$interval_query = "ttrss_entries.date_entered < NOW() - INTERVAL '$days days'";
} else if (DB_TYPE == "mysql") {
$interval_query = "ttrss_entries.date_entered > DATE_SUB(NOW(), INTERVAL $days DAY)";
}
$result = db_query($link, "SELECT ttrss_entries.title,
ttrss_feeds.title AS feed_title,
date_entered,
link,
SUBSTRING(last_updated,1,19) AS last_updated
FROM
ttrss_user_entries,ttrss_entries,ttrss_feeds
WHERE
ref_id = ttrss_entries.id AND feed_id = ttrss_feeds.id
AND $interval_query
AND unread = true ORDER BY ttrss_feeds.title, date_entered DESC
LIMIT $limit");
$cur_feed_title = "";
while ($line = db_fetch_assoc($result)) {
$updated = smart_date_time(strtotime($line["last_updated"]));
$feed_title = $line["feed_title"];
if ($cur_feed_title != $feed_title) {
$cur_feed_title = $feed_title;
$tmp .= "$feed_title\n\n";
}
$tmp .= " * " . trim($line["title"]) . " - $updated\n";
$tmp .= " " . trim($line["link"]) . "\n";
$tmp .= "\n";
}
$tmp .= "--- \n";
$tmp .= "You have been sent this email because you have enabled\n".
"daily digests in Tiny Tiny RSS at " . DIGEST_HOSTNAME . "\n\n".
"To unsubscribe, visit your configuration options or contact\n".
"instance owner.\n";
return $tmp;
}
function check_for_update($link) {
$releases_feed = "http://tt-rss.spb.ru/releases.rss";