if ($forum) {
$forumselect = " AND d.forum = '$forum'";
}
- return get_records_sql("SELECT p.discussion, (count(*)) as replies
+ return get_records_sql("SELECT p.discussion, (count(*)) as replies, max(p.id) as lastpostid
FROM {$CFG->prefix}forum_posts p,
{$CFG->prefix}forum_discussions d
WHERE p.parent > 0
}
+// [pj] The first parameter in this function "looks like" a post, but if you find
+// the ONLY place it's called from, you 'll see that what gets passed is actually
+// a DISCUSSION object!!! Furthermore, that object has properties like discussion
+// which a normal discussion object wouldn't have. WTF?!?!?
+//
+// *** THIS IS MISLEADING AT BEST AND SHOULD BE CORRECTED!!! ***
+
function forum_print_discussion_header(&$post, $forum, $datestring="") {
global $THEME, $USER, $CFG;
}
echo "<td bgcolor=\"$THEME->cellcontent2\" class=\"forumpostheaderdate\" align=right nowrap>";
+
+ // [pj] This is also VERY suspicious, as it discriminates between a post record and a discussion record
+ // based on the presence of the timemodified field WITHOUT SAYING ANYTHING. Ummm.... documentation, anyone?
+
if (!empty($post->timemodified)) {
- echo userdate($post->timemodified, $datestring);
+ echo '<a href="'.$CFG->wwwroot.'/mod/forum/discuss.php?d='.$post->discussion.'#'.$post->lastpostid.'">'.userdate($post->timemodified, $datestring).'</a>';
} else {
echo userdate($post->modified, $datestring);
}
$discussioncount = 0;
$olddiscussionlink = false;
- $strdatestring = get_string("strftimedaydatetime");
+ $strdatestring = get_string("strftimerecentfull");
if ($forum_style == "minimal") {
$strftimerecent = get_string("strftimerecent");
}
if (!empty($replies[$discussion->discussion])) {
$discussion->replies = $replies[$discussion->discussion]->replies;
+ $discussion->lastpostid = $replies[$discussion->discussion]->lastpostid;
} else {
$discussion->replies = 0;
}