From d6c3051a52218143d0aecb9f17a9dbd588b06e8e Mon Sep 17 00:00:00 2001 From: Gilles-Philippe Leblanc Date: Wed, 6 Feb 2013 08:29:21 -0500 Subject: [PATCH] MDL-32125 mod_forum: Updating subscription mode not reflecting subscribers --- mod/forum/lib.php | 8 ++++++++ mod/forum/subscribe.php | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/mod/forum/lib.php b/mod/forum/lib.php index ccef8dcba77..8994e713475 100644 --- a/mod/forum/lib.php +++ b/mod/forum/lib.php @@ -214,6 +214,14 @@ function forum_update_instance($forum, $mform) { $DB->update_record('forum', $forum); + $modcontext = get_context_instance(CONTEXT_MODULE, $forum->coursemodule); + if (($forum->forcesubscribe == FORUM_INITIALSUBSCRIBE) && ($oldforum->forcesubscribe <> $forum->forcesubscribe)) { + $users = forum_get_potential_subscribers($modcontext, 0, 'u.id, u.email', ''); + foreach ($users as $user) { + forum_subscribe($user->id, $forum->id); + } + } + forum_grade_item_update($forum); return true; diff --git a/mod/forum/subscribe.php b/mod/forum/subscribe.php index a7ea07bcf95..c10d0994693 100644 --- a/mod/forum/subscribe.php +++ b/mod/forum/subscribe.php @@ -111,6 +111,12 @@ if (!is_null($mode) and has_capability('mod/forum:managesubscriptions', $context redirect($returnto, get_string("everyoneisnowsubscribed", "forum"), 1); break; case FORUM_INITIALSUBSCRIBE : // 2 + if ($forum->forcesubscribe <> FORUM_INITIALSUBSCRIBE) { + $users = forum_get_potential_subscribers($context, 0, 'u.id, u.email', ''); + foreach ($users as $user) { + forum_subscribe($user->id, $forum->id); + } + } forum_forcesubscribe($forum->id, FORUM_INITIALSUBSCRIBE); redirect($returnto, get_string("everyoneisnowsubscribed", "forum"), 1); break;