}
/// Do course wide subscribe/unsubscribe
-if (!is_null($subscribe) and !isguestuser() and !isguest()) {
+if (!is_null($subscribe) and !isguestuser()) {
foreach ($modinfo->instances['forum'] as $forumid=>$cm) {
$forum = $forums[$forumid];
$modcontext = get_context_instance(CONTEXT_MODULE, $cm->id);
$PAGE->set_button($searchform);
echo $OUTPUT->header();
-if (!isguest()) {
+if (!isguestuser()) {
echo $OUTPUT->box_start('subscription');
echo '<span class="helplink">';
echo '<a href="index.php?id='.$course->id.'&subscribe=1">'.get_string('allsubscribe', 'forum').'</a>';
* @param array $htmlarray
*/
function forum_print_overview($courses,&$htmlarray) {
- global $USER, $CFG, $DB;
+ global $USER, $CFG, $DB, $SESSION;
$LIKE = $DB->sql_ilike();
foreach ($trackingforums as $track) {
$sql .= '(d.forum = ? AND (d.groupid = -1 OR d.groupid = 0 OR d.groupid = ?)) OR ';
$params[] = $track->id;
- $params[] = get_current_group($track->course);
+ if (isset($SESSION->currentgroup[$track->course])) {
+ $groupid = $SESSION->currentgroup[$track->course];
+ } else {
+ $groupid = groups_get_all_groups($track->course, $USER->id);
+ if (is_array($groupid)) {
+ $groupid = array_shift(array_keys($groupid));
+ $SESSION->currentgroup[$track->course] = $groupid;
+ } else {
+ $groupid = 0;
+ }
+ }
+ $params[] = $groupid;
}
$sql = substr($sql,0,-3); // take off the last OR
$sql .= ') AND p.modified >= ? AND r.id is NULL GROUP BY d.forum,d.course';