* @param integer $limit The maximum number of articles by digest.
* @return boolean Return false if digests are not enabled.
*/
- static function send_headlines_digests($debug = false) {
-
- require_once 'classes/ttrssmailer.php';
+ static function send_headlines_digests() {
$user_limit = 15; // amount of users to process (e.g. emails to send out)
$limit = 1000; // maximum amount of headlines to include
- if ($debug) _debug("Sending digests, batch of max $user_limit users, headline limit = $limit");
+ Debug::log("Sending digests, batch of max $user_limit users, headline limit = $limit");
if (DB_TYPE == "pgsql") {
$interval_qpart = "last_digest_sent < NOW() - INTERVAL '1 days'";
time() - $preferred_ts <= 7200
) {
- if ($debug) _debug("Sending digest for UID:" . $line['id'] . " - " . $line["email"]);
+ Debug::log("Sending digest for UID:" . $line['id'] . " - " . $line["email"]);
$do_catchup = get_pref('DIGEST_CATCHUP', $line['id'], false);
if ($headlines_count > 0) {
- $mail = new ttrssMailer();
+ $mailer = new Mailer();
+
+ //$rc = $mail->quickMail($line["email"], $line["login"], DIGEST_SUBJECT, $digest, $digest_text);
- $rc = $mail->quickMail($line["email"], $line["login"], DIGEST_SUBJECT, $digest, $digest_text);
+ $rc = $mailer->mail(["to_name" => $line["login"],
+ "to_address" => $line["email"],
+ "subject" => DIGEST_SUBJECT,
+ "message" => $digest_text,
+ "message_html" => $digest]);
- if (!$rc && $debug) _debug("ERROR: " . $mail->ErrorInfo);
+ //if (!$rc && $debug) Debug::log("ERROR: " . $mailer->lastError());
- if ($debug) _debug("RC=$rc");
+ Debug::log("RC=$rc");
if ($rc && $do_catchup) {
- if ($debug) _debug("Marking affected articles as read...");
+ Debug::log("Marking affected articles as read...");
Article::catchupArticlesById($affected_ids, 0, $line["id"]);
}
} else {
- if ($debug) _debug("No headlines");
+ Debug::log("No headlines");
}
$sth = $pdo->prepare("UPDATE ttrss_users SET last_digest_sent = NOW()
}
}
- if ($debug) _debug("All done.");
+ Debug::log("All done.");
}
ref_id = ttrss_entries.id AND feed_id = ttrss_feeds.id
AND include_in_digest = true
AND $interval_qpart
- AND ttrss_user_entries.owner_uid = ?
+ AND ttrss_user_entries.owner_uid = :user_id
AND unread = true
AND score >= 0
ORDER BY ttrss_feed_categories.title, ttrss_feeds.title, score DESC, date_updated DESC
- LIMIT ?");
- $sth->execute([$user_id, $limit]);
+ LIMIT :limit");
+ $sth->bindParam(':user_id', intval($user_id, 10), \PDO::PARAM_INT);
+ $sth->bindParam(':limit', intval($limit, 10), \PDO::PARAM_INT);
+ $sth->execute();
$headlines_count = 0;
$headlines = array();
return array($tmp, $headlines_count, $affected_ids, $tmp_t);
}
-}
\ No newline at end of file
+}