diff --git a/mod/forum/lib.php b/mod/forum/lib.php
index 7999fca5dd2..02c48242d86 100644
--- a/mod/forum/lib.php
+++ b/mod/forum/lib.php
@@ -3792,13 +3792,19 @@ function forum_print_discussion_header(&$post, $forum, $group=-1, $datestring=""
echo '
';
$usedate = (empty($post->timemodified)) ? $post->modified : $post->timemodified; // Just in case
- $parenturl = (empty($post->lastpostid)) ? '' : '&parent='.$post->lastpostid;
+ $parenturl = '';
$usermodified = new stdClass();
$usermodified->id = $post->usermodified;
$usermodified->firstname = $post->umfirstname;
$usermodified->lastname = $post->umlastname;
- echo ''.
- fullname($usermodified).' ';
+
+ // Show link to last poster and their post if user can see them.
+ if ($canviewparticipants) {
+ echo ''.
+ fullname($usermodified).' ';
+ $parenturl = (empty($post->lastpostid)) ? '' : '&parent='.$post->lastpostid;
+ }
+
echo ''.
userdate($usedate, $datestring).'';
echo " | \n";
@@ -5632,6 +5638,11 @@ function forum_print_latest_discussions($course, $forum, $maxdiscussions=-1, $di
}
foreach ($discussions as $discussion) {
+ if ($forum->type == 'qanda' && !has_capability('mod/forum:viewqandawithoutposting', $context) &&
+ !forum_user_has_posted($forum->id, $discussion->discussion, $USER->id)) {
+ $canviewparticipants = false;
+ }
+
if (!empty($replies[$discussion->discussion])) {
$discussion->replies = $replies[$discussion->discussion]->replies;
$discussion->lastpostid = $replies[$discussion->discussion]->lastpostid;
diff --git a/mod/scorm/locallib.php b/mod/scorm/locallib.php
index 6de70267dd2..cee66df3fce 100644
--- a/mod/scorm/locallib.php
+++ b/mod/scorm/locallib.php
@@ -603,8 +603,11 @@ function scorm_get_sco_runtime($scormid, $scoid, $userid, $attempt=1) {
global $DB;
$timedata = new stdClass();
- $sql = !empty($scoid) ? "userid=$userid AND scormid=$scormid AND scoid=$scoid AND attempt=$attempt" : "userid=$userid AND scormid=$scormid AND attempt=$attempt";
- $tracks = $DB->get_records_select('scorm_scoes_track', "$sql ORDER BY timemodified ASC");
+ $params = array('userid' => $userid, 'scormid' => $scormid, 'attempt' => $attempt);
+ if (!empty($scoid)) {
+ $params['scoid'] = $scoid;
+ }
+ $tracks = $DB->get_records('scorm_scoes_track', $params, "timemodified ASC");
if ($tracks) {
$tracks = array_values($tracks);
}