From a0b9571f7c415e2833e1193355eae7e17f051ffa Mon Sep 17 00:00:00 2001 From: moodler Date: Mon, 26 Jan 2004 08:05:44 +0000 Subject: [PATCH] Subscribe links accurately reflect what is possible according to the user's group status. Section numbers now printed once per section --- mod/forum/index.php | 46 +++++++++++++++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 14 deletions(-) diff --git a/mod/forum/index.php b/mod/forum/index.php index 2bb92cb181..47679e02dd 100644 --- a/mod/forum/index.php +++ b/mod/forum/index.php @@ -81,7 +81,10 @@ } } } + if ($learningforums) { + $currentsection = ""; + foreach ($learningforums as $forum) { $count = count_records("forum_discussions", "forum", "$forum->id"); @@ -93,6 +96,13 @@ continue; } + if ($forum->section != $currentsection) { + $printsection = $forum->section; + $currentsection = $forum->section; + } else { + $printsection = ""; + } + if ($forum->visible) { $forumlink = "id\">$forum->name"; } else { @@ -103,18 +113,22 @@ if (forum_is_forcesubscribed($forum->id)) { $sublink = get_string("yes"); } else { - if (forum_is_subscribed($USER->id, $forum->id)) { - $subscribed = get_string("yes"); - $subtitle = get_string("unsubscribe", "forum"); + if ($groupmode = groupmode($course, $forum) and !isteacheredit($course->id) and !mygroupid($course->id)) { + $sublink = get_string("no"); // Can't subscribe to a group forum (not in a group) } else { - $subscribed = get_string("no"); - $subtitle = get_string("subscribe", "forum"); + if (forum_is_subscribed($USER->id, $forum->id)) { + $subscribed = get_string("yes"); + $subtitle = get_string("unsubscribe", "forum"); + } else { + $subscribed = get_string("no"); + $subtitle = get_string("subscribe", "forum"); + } + $sublink = "id\">$subscribed"; } - $sublink = "id\">$subscribed"; } - $learningtable->data[] = array ("$forum->section", $forumlink, "$forum->intro", "$count", "$sublink"); + $learningtable->data[] = array ($printsection, $forumlink, "$forum->intro", "$count", "$sublink"); } else { - $learningtable->data[] = array ("$forum->section", $forumlink, "$forum->intro", "$count"); + $learningtable->data[] = array ($printsection, $forumlink, "$forum->intro", "$count"); } } } @@ -137,14 +151,18 @@ if (forum_is_forcesubscribed($forum->id)) { $sublink = get_string("yes"); } else { - if (forum_is_subscribed($USER->id, $forum->id)) { - $subscribed = get_string("yes"); - $subtitle = get_string("unsubscribe", "forum"); + if ($groupmode = groupmode($course, $forum) and !isteacheredit($course->id) and !mygroupid($course->id)) { + $sublink = get_string("no"); // Can't subscribe to a group forum (not in a group) } else { - $subscribed = get_string("no"); - $subtitle = get_string("subscribe", "forum"); + if (forum_is_subscribed($USER->id, $forum->id)) { + $subscribed = get_string("yes"); + $subtitle = get_string("unsubscribe", "forum"); + } else { + $subscribed = get_string("no"); + $subtitle = get_string("subscribe", "forum"); + } + $sublink = "id\">$subscribed"; } - $sublink = "id\">$subscribed"; } $generaltable->data[] = array ($forumlink, "$forum->intro", "$count", $sublink); } else { -- 2.39.5