summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backend.php15
-rw-r--r--functions.php50
2 files changed, 63 insertions, 2 deletions
diff --git a/backend.php b/backend.php
index 11e546459..9b38303d5 100644
--- a/backend.php
+++ b/backend.php
@@ -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 } ?>
diff --git a/functions.php b/functions.php
index e2f6c2614..7e6a134f9 100644
--- a/functions.php
+++ b/functions.php
@@ -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";