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); }