mirror of
https://github.com/moodle/moodle.git
synced 2025-03-22 08:30:04 +01:00
MDL-48309 mod_forum: Add discussion subscription to the navigation
This commit is contained in:
parent
11b5e41b0c
commit
5eddcfee34
@ -105,6 +105,8 @@ $string['configshortpost'] = 'Any post under this length (in characters not incl
|
||||
$string['configtrackingtype'] = 'Default setting for read tracking.';
|
||||
$string['configtrackreadposts'] = 'Set to \'yes\' if you want to track read/unread for each user.';
|
||||
$string['configusermarksread'] = 'If \'yes\', the user must manually mark a post as read. If \'no\', when the post is viewed it is marked as read.';
|
||||
$string['confirmsubscribediscussion'] = 'Do you really want to subscribe to discussion \'{$a->discussion}\' in forum \'{$a->forum}\'?';
|
||||
$string['confirmunsubscribediscussion'] = 'Do you really want to unsubscribe from discussion \'{$a->discussion}\' in forum \'{$a->forum}\'?';
|
||||
$string['confirmsubscribe'] = 'Do you really want to subscribe to forum \'{$a}\'?';
|
||||
$string['confirmunsubscribe'] = 'Do you really want to unsubscribe from forum \'{$a}\'?';
|
||||
$string['couldnotadd'] = 'Could not add your post due to an unknown error';
|
||||
@ -446,6 +448,7 @@ $string['smallmessage'] = '{$a->user} posted in {$a->forumname}';
|
||||
$string['startedby'] = 'Started by';
|
||||
$string['subject'] = 'Subject';
|
||||
$string['subscribe'] = 'Subscribe to this forum';
|
||||
$string['subscribediscussion'] = 'Subscribe to this discussion';
|
||||
$string['subscribeall'] = 'Subscribe everyone to this forum';
|
||||
$string['subscribeenrolledonly'] = 'Sorry, only enrolled users are allowed to subscribe to forum post notifications.';
|
||||
$string['subscribed'] = 'Subscribed';
|
||||
|
@ -7055,6 +7055,11 @@ function forum_extend_settings_navigation(settings_navigation $settingsnav, navi
|
||||
$PAGE->cm->context = context_module::instance($PAGE->cm->instance);
|
||||
}
|
||||
|
||||
$params = $PAGE->url->params();
|
||||
if (!empty($params['d'])) {
|
||||
$discussionid = $params['d'];
|
||||
}
|
||||
|
||||
// for some actions you need to be enrolled, beiing admin is not enough sometimes here
|
||||
$enrolled = is_enrolled($PAGE->cm->context, $USER, '', false);
|
||||
$activeenrolled = is_enrolled($PAGE->cm->context, $USER, '', true);
|
||||
@ -7110,13 +7115,28 @@ function forum_extend_settings_navigation(settings_navigation $settingsnav, navi
|
||||
}
|
||||
|
||||
if ($cansubscribe) {
|
||||
if (\mod_forum\subscriptions::is_subscribed($USER->id, $forumobject)) {
|
||||
if (\mod_forum\subscriptions::is_subscribed($USER->id, $forumobject, null, $PAGE->cm)) {
|
||||
$linktext = get_string('unsubscribe', 'forum');
|
||||
} else {
|
||||
$linktext = get_string('subscribe', 'forum');
|
||||
}
|
||||
$url = new moodle_url('/mod/forum/subscribe.php', array('id'=>$forumobject->id, 'sesskey'=>sesskey()));
|
||||
$forumnode->add($linktext, $url, navigation_node::TYPE_SETTING);
|
||||
|
||||
if (isset($discussionid)) {
|
||||
if (\mod_forum\subscriptions::is_subscribed($USER->id, $forumobject, $discussionid, $PAGE->cm)) {
|
||||
$linktext = get_string('unsubscribediscussion', 'forum');
|
||||
} else {
|
||||
$linktext = get_string('subscribediscussion', 'forum');
|
||||
}
|
||||
$url = new moodle_url('/mod/forum/subscribe.php', array(
|
||||
'id' => $forumobject->id,
|
||||
'sesskey' => sesskey(),
|
||||
'd' => $discussionid,
|
||||
'returnurl' => $PAGE->url->out(),
|
||||
));
|
||||
$forumnode->add($linktext, $url, navigation_node::TYPE_SETTING);
|
||||
}
|
||||
}
|
||||
|
||||
if (has_capability('mod/forum:viewsubscribers', $PAGE->cm->context)){
|
||||
|
Loading…
x
Reference in New Issue
Block a user