/** * @global object * @global object * @param object $coure * @param object $user * @param object $mod * @param object $forum */ function forum_user_complete($course, $user, $mod, $forum) { global $CFG,$USER, $OUTPUT; require_once("$CFG->libdir/gradelib.php"); $grades = grade_get_grades($course->id, 'mod', 'forum', $forum->id, $user->id); if (!empty($grades->items[0]->grades)) { $grade = reset($grades->items[0]->grades); echo $OUTPUT->container(get_string('grade').': '.$grade->str_long_grade); if ($grade->str_feedback) { echo $OUTPUT->container(get_string('feedback').': '.$grade->str_feedback); } } if ($posts = forum_get_user_posts($forum->id, $user->id)) { if (!$cm = get_coursemodule_from_instance('forum', $forum->id, $course->id)) { print_error('invalidcoursemodule'); } $discussions = forum_get_user_involved_discussions($forum->id, $user->id); foreach ($posts as $post) { if (!isset($discussions[$post->discussion])) { continue; } $discussion = $discussions[$post->discussion]; forum_print_post($post, $discussion, $forum, $cm, $course, false, false, false); } } else { echo "<p>".get_string("noposts", "forum")."</p>"; } }
/** * */ function forum_user_complete($course, $user, $mod, $forum) { global $CFG, $USER; require_once "{$CFG->libdir}/gradelib.php"; $grades = grade_get_grades($course->id, 'mod', 'forum', $forum->id, $user->id); if (!empty($grades->items[0]->grades)) { $grade = reset($grades->items[0]->grades); echo '<p>' . get_string('grade') . ': ' . $grade->str_long_grade . '</p>'; if ($grade->str_feedback) { echo '<p>' . get_string('feedback') . ': ' . $grade->str_feedback . '</p>'; } } if ($posts = forum_get_user_posts($forum->id, $user->id)) { if (!($cm = get_coursemodule_from_instance('forum', $forum->id, $course->id))) { error('Course Module ID was incorrect'); } $discussions = forum_get_user_involved_discussions($forum->id, $user->id); // preload all user ratings for these discussions - one query only and minimal memory $cm->cache->ratings = array(); $cm->cache->myratings = array(); if ($postratings = forum_get_all_user_ratings($user->id, $discussions)) { foreach ($postratings as $pr) { if (!isset($cm->cache->ratings[$pr->postid])) { $cm->cache->ratings[$pr->postid] = array(); } $cm->cache->ratings[$pr->postid][$pr->id] = $pr->rating; if ($pr->userid == $USER->id) { $cm->cache->myratings[$pr->postid] = $pr->rating; } } unset($postratings); } foreach ($posts as $post) { if (!isset($discussions[$post->discussion])) { continue; } $discussion = $discussions[$post->discussion]; $ratings = null; if ($forum->assessed) { if ($scale = make_grades_menu($forum->scale)) { $ratings = new object(); $ratings->scale = $scale; $ratings->assesstimestart = $forum->assesstimestart; $ratings->assesstimefinish = $forum->assesstimefinish; $ratings->allow = false; } } forum_print_post($post, $discussion, $forum, $cm, $course, false, false, false, $ratings); } } else { echo "<p>" . get_string("noposts", "forum") . "</p>"; } }
/** * */ function forum_user_complete($course, $user, $mod, $forum) { global $CFG; if ($posts = forum_get_user_posts($forum->id, $user->id)) { if (!($cm = get_coursemodule_from_instance('forum', $forum->id, $course->id))) { error('Course Module ID was incorrect'); } $discussions = forum_get_user_involved_discussions($forum->id, $user->id); foreach ($posts as $post) { if (!isset($discussions[$forum->discussion])) { continue; } $discussion = $discussions[$forum->discussion]; forum_print_post($post, $discussion, $forum, $cm, $course, false, false, false, false); } } else { echo "<p>" . get_string("noposts", "forum") . "</p>"; } }
/** * */ function forum_user_complete($course, $user, $mod, $forum) { global $CFG, $USER; if ($posts = forum_get_user_posts($forum->id, $user->id)) { if (!($cm = get_coursemodule_from_instance('forum', $forum->id, $course->id))) { print_error('invalidcoursemodule'); } $discussions = forum_get_user_involved_discussions($forum->id, $user->id); // preload all user ratings for these discussions - one query only and minimal memory $cm->cache->ratings = array(); $cm->cache->myratings = array(); if ($postratings = forum_get_all_user_ratings($user->id, $discussions)) { foreach ($postratings as $pr) { if (!isset($cm->cache->ratings[$pr->postid])) { $cm->cache->ratings[$pr->postid] = array(); } $cm->cache->ratings[$pr->postid][$pr->id] = $pr->rating; if ($pr->userid == $USER->id) { $cm->cache->myratings[$pr->postid] = $pr->rating; } } unset($postratings); } foreach ($posts as $post) { if (!isset($discussions[$post->discussion])) { continue; } $discussion = $discussions[$post->discussion]; $ratings = null; if ($forum->assessed) { if ($scale = make_grades_menu($forum->scale)) { $ratings = new object(); $ratings->scale = $scale; $ratings->assesstimestart = $forum->assesstimestart; $ratings->assesstimefinish = $forum->assesstimefinish; $ratings->allow = false; } } forum_print_post($post, $discussion, $forum, $cm, $course, false, false, false, $ratings); } } else { echo "<p>" . get_string("noposts", "forum") . "</p>"; } }