From a9745eb95af649395ee1ff526d65cf53a2407642 Mon Sep 17 00:00:00 2001 From: Josh Marshall Date: Thu, 29 Oct 2015 15:51:13 +1030 Subject: [PATCH] MDL-52930 forum: Correct get_unmailed_posts logic --- mod/forum/lib.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mod/forum/lib.php b/mod/forum/lib.php index 8b81cc866ba..efa1897f9f0 100644 --- a/mod/forum/lib.php +++ b/mod/forum/lib.php @@ -2224,18 +2224,21 @@ function forum_get_unmailed_posts($starttime, $endtime, $now=null) { if (empty($now)) { $now = time(); } + $selectsql = "AND (p.created >= :ptimestart OR d.timestart >= :pptimestart)"; + $params['pptimestart'] = $starttime; $timedsql = "AND (d.timestart < :dtimestart AND (d.timeend = 0 OR d.timeend > :dtimeend))"; $params['dtimestart'] = $now; $params['dtimeend'] = $now; } else { $timedsql = ""; + $selectsql = "AND p.created >= :ptimestart"; } return $DB->get_records_sql("SELECT p.*, d.course, d.forum FROM {forum_posts} p JOIN {forum_discussions} d ON d.id = p.discussion WHERE p.mailed = :mailed - AND p.created >= :ptimestart + $selectsql AND (p.created < :ptimeend OR p.mailnow = :mailnow) $timedsql ORDER BY p.modified ASC", $params);