Merge branch 'MDL-47390-master' of git://github.com/andrewnicols/moodle

This commit is contained in:
Marina Glancy
2014-11-05 16:35:05 +08:00
3 changed files with 36 additions and 13 deletions
+1
View File
@@ -489,6 +489,7 @@ $string['unreadposts'] = 'Unread posts';
$string['unreadpostsnumber'] = '{$a} unread posts';
$string['unreadpostsone'] = '1 unread post';
$string['unsubscribe'] = 'Unsubscribe from this forum';
$string['unsubscribediscussion'] = 'Unsubscribe from this discussion';
$string['unsubscribeall'] = 'Unsubscribe from all forums';
$string['unsubscribeallconfirm'] = 'You are currently subscribed to {$a->forums} forums, and {$a->discussions} discussions. Do you really want to unsubscribe from all forums and discussions, and disable discussion auto-subscription?';
$string['unsubscribeallconfirmforums'] = 'You are currently subscribed to {$a->forums} forums. Do you really want to unsubscribe from all forums and disable discussion auto-subscription?';
+29 -11
View File
@@ -1182,7 +1182,7 @@ function forum_make_mail_text($course, $cm, $forum, $discussion, $post, $userfro
$strforums = get_string('forums', 'forum');
$canunsubscribe = ! \mod_forum\subscriptions::is_forcesubscribed($forum);
$canunsubscribe = !\mod_forum\subscriptions::is_forcesubscribed($forum);
$posttext = '';
@@ -1211,15 +1211,25 @@ function forum_make_mail_text($course, $cm, $forum, $discussion, $post, $userfro
$posttext .= "\n\n";
$posttext .= forum_print_attachments($post, $cm, "text");
if (!$bare && $canreply) {
$posttext .= "---------------------------------------------------------------------\n";
$posttext .= get_string("postmailinfo", "forum", $shortname)."\n";
$posttext .= "$CFG->wwwroot/mod/forum/post.php?reply=$post->id\n";
}
if (!$bare && $canunsubscribe) {
$posttext .= "\n---------------------------------------------------------------------\n";
$posttext .= get_string("unsubscribe", "forum");
$posttext .= ": $CFG->wwwroot/mod/forum/subscribe.php?id=$forum->id\n";
if (!$bare) {
if ($canreply) {
$posttext .= "---------------------------------------------------------------------\n";
$posttext .= get_string("postmailinfo", "forum", $shortname)."\n";
$posttext .= "$CFG->wwwroot/mod/forum/post.php?reply=$post->id\n";
}
if ($canunsubscribe) {
if (\mod_forum\subscriptions::is_subscribed($userto->id, $forum, null, $cm)) {
// If subscribed to this forum, offer the unsubscribe link.
$posttext .= "\n---------------------------------------------------------------------\n";
$posttext .= get_string("unsubscribe", "forum");
$posttext .= ": $CFG->wwwroot/mod/forum/subscribe.php?id=$forum->id\n";
}
// Always offer the unsubscribe from discussion link.
$posttext .= "\n---------------------------------------------------------------------\n";
$posttext .= get_string("unsubscribediscussion", "forum");
$posttext .= ": $CFG->wwwroot/mod/forum/subscribe.php?d=$discussion->id\n";
}
}
$posttext .= "\n---------------------------------------------------------------------\n";
@@ -1290,7 +1300,15 @@ function forum_make_mail_html($course, $cm, $forum, $discussion, $post, $userfro
$footerlinks = array();
if ($canunsubscribe) {
$footerlinks[] = '<a href="' . $CFG->wwwroot . '/mod/forum/subscribe.php?id=' . $forum->id . '">' . get_string('unsubscribe', 'forum') . '</a>';
if (\mod_forum\subscriptions::is_subscribed($userto->id, $forum, null, $cm)) {
// If subscribed to this forum, offer the unsubscribe link.
$unsublink = new moodle_url('/mod/forum/subscribe.php', array('id' => $forum->id));
$footerlinks[] = html_writer::link($unsublink, get_string('unsubscribe', 'mod_forum'));
}
// Always offer the unsubscribe from discussion link.
$unsublink = new moodle_url('/mod/forum/subscribe.php', array('d' => $discussion->id));
$footerlinks[] = html_writer::link($unsublink, get_string('unsubscribediscussion', 'mod_forum'));
$footerlinks[] = '<a href="' . $CFG->wwwroot . '/mod/forum/unsubscribeall.php">' . get_string('unsubscribeall', 'forum') . '</a>';
}
$footerlinks[] = "<a href='{$CFG->wwwroot}/mod/forum/index.php?id={$forum->course}'>" . get_string('digestmailpost', 'forum') . '</a>';
+6 -2
View File
@@ -73,7 +73,11 @@ if (isset($cm->groupmode) && empty($course->groupmodeforce)) {
} else {
$groupmode = $course->groupmode;
}
if ($groupmode && !\mod_forum\subscriptions::is_subscribed($user->id, $forum, null, $cm) && !has_capability('moodle/site:accessallgroups', $context)) {
$issubscribed = \mod_forum\subscriptions::is_subscribed($user->id, $forum, $discussionid, $cm);
// For a user to subscribe when a groupmode is set, they must have access to at least one group.
if ($groupmode && !$issubscribed && !has_capability('moodle/site:accessallgroups')) {
if (!groups_get_all_groups($course->id, $USER->id)) {
print_error('cannotsubscribe', 'forum');
}
@@ -142,7 +146,7 @@ $info = new stdClass();
$info->name = fullname($user);
$info->forum = format_string($forum->name);
if (\mod_forum\subscriptions::is_subscribed($user->id, $forum, $discussionid, $cm)) {
if ($issubscribed) {
if (is_null($sesskey)) { // we came here via link in email
$PAGE->set_title($course->shortname);
$PAGE->set_heading($course->fullname);