From: moodler Date: Fri, 18 Apr 2003 09:53:41 +0000 (+0000) Subject: Trying some optimisations X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=2ab968e9377346b10034679c3dfed4d26e0b1d94;p=moodle.git Trying some optimisations --- diff --git a/mod/forum/lib.php b/mod/forum/lib.php index a6e9a2c224..957182cd8a 100644 --- a/mod/forum/lib.php +++ b/mod/forum/lib.php @@ -573,7 +573,7 @@ function forum_count_unrated_posts($discussionid, $userid) { } } -function forum_get_discussions($forum="0", $forumsort="d.timemodified DESC", $user=0) { +function forum_get_discussions($forum="0", $forumsort="d.timemodified DESC", $user=0, $fullpost=true) { /// Get all discussions in a forum global $CFG; @@ -585,13 +585,18 @@ function forum_get_discussions($forum="0", $forumsort="d.timemodified DESC", $us if (empty($forumsort)) { $forumsort = "d.timemodified DESC"; } - return get_records_sql("SELECT p.*, d.timemodified, u.firstname, u.lastname, u.email, u.picture + if (empty($fullpost)) { + $postdata = "p.subject,p.modified,p.discussion,p.userid"; + } else { + $postdata = "p.*"; + } + return get_records_sql("SELECT $postdata, d.timemodified, u.firstname, u.lastname, u.email, u.picture FROM {$CFG->prefix}forum_discussions d, {$CFG->prefix}forum_posts p, {$CFG->prefix}user u WHERE d.forum = '$forum' AND p.discussion = d.id - AND p.parent= 0 + AND p.parent = 0 AND p.userid = u.id $userselect ORDER BY $forumsort"); } @@ -912,7 +917,7 @@ function forum_print_post(&$post, $courseid, $ownpost=false, $reply=false, $link } -function forum_print_discussion_header(&$post, $courseid, $ownpost=false, $reply=false, $link=false, $rate=false, $footer="") { +function forum_print_discussion_header(&$post, $courseid, $datestring="") { global $THEME, $USER, $CFG; echo ""; @@ -934,16 +939,14 @@ function forum_print_discussion_header(&$post, $courseid, $ownpost=false, $reply // Replies echo "cellcontent2\" class=\"forumpostheaderreplies\" align=center nowrap>"; - if ($link) { - echo "wwwroot/mod/forum/discuss.php?d=$post->discussion\">$post->replies"; - } + echo "wwwroot/mod/forum/discuss.php?d=$post->discussion\">$post->replies"; echo "\n"; echo "cellcontent2\" class=\"forumpostheaderdate\" align=right nowrap>"; if (!empty($post->timemodified)) { - echo userdate($post->timemodified); + echo userdate($post->timemodified, $datestring); } else { - echo userdate($post->modified); + echo userdate($post->modified, $datestring); } echo "\n"; @@ -1473,21 +1476,31 @@ function forum_print_latest_discussions($forum_id=0, $forum_numdiscussions=5, $f echo "

\n"; } - if (! $discussions = forum_get_discussions($forum->id, $forum_sort) ) { - echo "

(".get_string("nodiscussions", "forum").")

"; - return; - } - if ((!$forum_numdiscussions) && ($forum_style == "plain")) { $forum_style = "header"; // Abbreviate display by default } + if ($forum_style == "minimal") { + $forum_sort = "p.modified DESC"; + } + + $fullpost = false; + if ($forum_style == "plain") { + $fullpost = true; + } + + if (! $discussions = forum_get_discussions($forum->id, $forum_sort, 0, $fullpost) ) { + echo "

(".get_string("nodiscussions", "forum").")

"; + return; + } + $replies = forum_count_discussion_replies($forum->id); $canreply = forum_user_can_post($forum); $discussioncount = 0; $olddiscussionlink = false; + $strdatestring = get_string("strftimedaydatetime"); if ($forum_style == "minimal") { $strftimerecent = get_string("strftimerecent"); @@ -1530,7 +1543,7 @@ function forum_print_latest_discussions($forum_id=0, $forum_numdiscussions=5, $f echo "

\n"; break; case "header": - forum_print_discussion_header($discussion, $forum->course, $ownpost, $reply=0, $link=1, $assessed=false); + forum_print_discussion_header($discussion, $forum->course, $strdatestring); break; default: if ($canreply or $discussion->replies) {