]> git.wh0rd.org - tt-rss.git/commitdiff
add experimental digest code
authorAndrew Dolgov <fox@bah.spb.su>
Sun, 20 Aug 2006 12:33:37 +0000 (13:33 +0100)
committerAndrew Dolgov <fox@bah.spb.su>
Sun, 20 Aug 2006 12:33:37 +0000 (13:33 +0100)
backend.php
functions.php

index 11e5464594d644af16ff1e5c4119e82dc6b8fdab..9b38303d57ec30e272b5cb9fcbc20a18068183df 100644 (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;
        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'");
 
                } 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 } ?>
index e2f6c261466d3fe2a3ad02b704059e4413ab0169..7e6a134f940aef8c5e2ff53cd596c5314946ef0d 100644 (file)
                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";