From: martin Date: Sat, 17 Aug 2002 07:53:32 +0000 (+0000) Subject: Teachers can now unsubscribe anyone from the "list of subscribers" list. X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=3bc9bf9790fc0516d96b6b508d211ca3d336746e;p=moodle.git Teachers can now unsubscribe anyone from the "list of subscribers" list. Made the feedback display when subscribing/unsubscribing a little more generic. --- diff --git a/lang/en/forum.php b/lang/en/forum.php index 56aed5e366..bc750122e8 100644 --- a/lang/en/forum.php +++ b/lang/en/forum.php @@ -47,8 +47,8 @@ $string[nameteacher] = "Teacher forum"; $string[nodiscussions] = "There are no discussion topics yet in this forum"; $string[noposts] = "No posts"; $string[nosubscribers] = "There are no subscribers yet for this forum"; -$string[nownotsubscribed] = "You are now NOT SUBSCRIBED to receive '\$a' by email."; -$string[nowsubscribed] = "You are now SUBSCRIBED to receive '\$a' by email."; +$string[nownotsubscribed] = "\$a->name will NOT receive copies of '\$a->forum' by email."; +$string[nowsubscribed] = "\$a->name will receive copies of '\$a->forum' by email."; $string[numposts] = "\$a posts"; $string[olderdiscussions] = "Older discussions"; $string[parentofthispost] = "Parent of this post"; diff --git a/mod/forum/subscribe.php b/mod/forum/subscribe.php index e1b97358d6..b7209eb01d 100644 --- a/mod/forum/subscribe.php +++ b/mod/forum/subscribe.php @@ -7,6 +7,7 @@ require_variable($id); // The forum to subscribe or unsubscribe to optional_variable($force); // Force everyone to be subscribed to this forum? + optional_variable($user); // Force everyone to be subscribed to this forum? if (isguest()) { error("Guests are not allowed to subscribe to posts.", $HTTP_REFERER); @@ -20,6 +21,17 @@ error("Forum doesn't belong to a course!"); } + if ($user) { + if (!isteacher($course->id)) { + error("Only teachers can subscribe/unsubscribe other people!"); + } + if (! $user = get_record("user", "id", $user)) { + error("User ID was incorrect"); + } + } else { + $user = $USER; + } + if ($course->category) { require_login($forum->course); } else { @@ -48,18 +60,21 @@ redirect($returnto, get_string("everyoneissubscribed", "forum"), 1); } - if ( forum_is_subscribed($USER->id, $forum->id) ) { - if (forum_unsubscribe($USER->id, $forum->id) ) { + $info->name = "$user->firstname $user->lastname"; + $info->forum = $forum->name; + + if ( forum_is_subscribed($user->id, $forum->id) ) { + if (forum_unsubscribe($user->id, $forum->id) ) { add_to_log($course->id, "forum", "unsubscribe", "view.php?f=$forum->id", "$forum->id"); - redirect($returnto, get_string("nownotsubscribed", "forum", "$forum->name"), 1); + redirect($returnto, get_string("nownotsubscribed", "forum", $info), 1); } else { error("Could not unsubscribe you from that forum", "$HTTP_REFERER"); } } else { // subscribe - if (forum_subscribe($USER->id, $forum->id) ) { + if (forum_subscribe($user->id, $forum->id) ) { add_to_log($course->id, "forum", "subscribe", "view.php?f=$forum->id", "$forum->id"); - redirect($returnto, get_string("nowsubscribed", "forum", "$forum->name"), 1); + redirect($returnto, get_string("nowsubscribed", "forum", $info), 1); } else { error("Could not subscribe you to that forum", "$HTTP_REFERER"); } diff --git a/mod/forum/subscribers.php b/mod/forum/subscribers.php index d6874c421e..519b0612b9 100644 --- a/mod/forum/subscribers.php +++ b/mod/forum/subscribers.php @@ -51,6 +51,8 @@ echo "$user->firstname $user->lastname"; echo "cellcontent\">"; echo "$user->email"; + echo ""; + echo "id&user=$user->id\">unsubscribe"; echo ""; } echo "";