MDL-14113 patch for multiple issues - see tracker for subtasks

This commit is contained in:
skodak
2008-04-13 19:10:35 +00:00
parent 21de682b37
commit 474ade7a7d
13 changed files with 1131 additions and 627 deletions
+8 -14
View File
@@ -942,7 +942,7 @@ function print_recent_activity($course) {
$content = $print_recent_activity($course, $viewfullnames, $timestart) || $content;
}
} else {
debugging("Missing lib.php in lib/{$mod->name} - please reinstall files or uninstall the module");
debugging("Missing lib.php in lib/{$modname} - please reinstall files or uninstall the module");
}
}
@@ -1255,7 +1255,6 @@ function print_section($course, $section, $mods, $modnamesused, $absolute=false,
static $strmovehere;
static $strmovefull;
static $strunreadpostsone;
static $untracked;
static $usetracking;
static $groupings;
@@ -1272,7 +1271,6 @@ function print_section($course, $section, $mods, $modnamesused, $absolute=false,
include_once($CFG->dirroot.'/mod/forum/lib.php');
if ($usetracking = forum_tp_can_track_forums()) {
$strunreadpostsone = get_string('unreadpostsone', 'forum');
$untracked = forum_tp_get_untracked_forums($USER->id, $course->id);
}
$initialised = true;
}
@@ -1391,18 +1389,14 @@ function print_section($course, $section, $mods, $modnamesused, $absolute=false,
}
}
if ($usetracking && $mod->modname == 'forum') {
if ($usetracking and !isset($untracked[$mod->instance])) {
$groupid = groups_get_activity_group($mod);
$unread = forum_tp_count_forum_unread_posts($USER->id, $mod->instance, $groupid);
if ($unread) {
echo '<span class="unread"> <a href="'.$CFG->wwwroot.'/mod/forum/view.php?id='.$mod->id.'">';
if ($unread == 1) {
echo $strunreadpostsone;
} else {
print_string('unreadpostsnumber', 'forum', $unread);
}
echo '</a> </span>';
if ($unread = forum_tp_count_forum_unread_posts($mod, $course)) {
echo '<span class="unread"> <a href="'.$CFG->wwwroot.'/mod/forum/view.php?id='.$mod->id.'">';
if ($unread == 1) {
echo $strunreadpostsone;
} else {
print_string('unreadpostsnumber', 'forum', $unread);
}
echo '</a></span>';
}
}
+1 -1
View File
@@ -197,7 +197,7 @@
if (!empty($USER->id)) {
$SESSION->fromdiscussion = $CFG->wwwroot;
if (forum_is_subscribed($USER->id, $newsforum->id)) {
if (forum_is_subscribed($USER->id, $newsforum)) {
$subtext = get_string('unsubscribe', 'forum');
} else {
$subtext = get_string('subscribe', 'forum');
+29
View File
@@ -53,6 +53,35 @@ function xmldb_forum_upgrade($oldversion=0) {
$db->debug = true;
}
if ($result && $oldversion < 2007101512) {
/// Cleanup the forum subscriptions
notify('Removing stale forum subscriptions', 'notifysuccess');
$roles = get_roles_with_capability('moodle/course:view', CAP_ALLOW);
$roles = array_keys($roles);
$roles = implode(',', $roles);
$sql = "SELECT fs.userid, f.id AS forumid
FROM {$CFG->prefix}forum f
JOIN {$CFG->prefix}course c ON c.id = f.course
JOIN {$CFG->prefix}context ctx ON (ctx.instanceid = c.id AND ctx.contextlevel = ".CONTEXT_COURSE.")
JOIN {$CFG->prefix}forum_subscriptions fs ON fs.forum = f.id
LEFT JOIN {$CFG->prefix}role_assignments ra ON (ra.contextid = ctx.id AND ra.userid = fs.userid AND ra.roleid IN ($roles))
WHERE ra.id IS NULL";
if ($rs = get_recordset_sql($sql)) {
$db->debug = false;
while ($remove = rs_fetch_next_record($rs)) {
delete_records('forum_subscriptions', 'userid', $remove->userid, 'forum', $remove->forumid);
echo '.';
}
$db->debug = true;
rs_close($rs);
}
}
return $result;
}
+3 -3
View File
@@ -68,6 +68,7 @@
notify("Errors occurred while moving attachment directories - check your file permissions");
}
set_field('forum_discussions', 'forum', $forumto->id, 'id', $discussion->id);
set_field('forum_read', 'forumid', $forumto->id, 'discussionid', $discussion->id);
add_to_log($course->id, 'forum', 'move discussion', "discuss.php?d=$discussion->id", $discussion->id, $cmto->id);
require_once($CFG->libdir.'/rsslib.php');
@@ -118,10 +119,9 @@
}
if ($mark == 'read' or $mark == 'unread') {
if (forum_tp_can_track_forums($forum) && forum_tp_is_tracked($forum) &&
$CFG->forum_usermarksread) {
if ($CFG->forum_usermarksread && forum_tp_can_track_forums($forum) && forum_tp_is_tracked($forum)) {
if ($mark == 'read') {
forum_tp_add_read_record($USER->id, $postid, $discussion->id, $forum->id);
forum_tp_add_read_record($USER->id, $postid);
} else {
// unread
forum_tp_delete_read_records($USER->id, $postid);
+88 -111
View File
@@ -51,7 +51,7 @@
$generaltable->head = array ($strforum, $strdescription, $strdiscussions);
$generaltable->align = array ('left', 'left', 'center');
if ($usetracking = (!isguestuser() && forum_tp_can_track_forums())) {
if ($usetracking = forum_tp_can_track_forums()) {
$untracked = forum_tp_get_untracked_forums($USER->id, $course->id);
$generaltable->head[] = $strunreadposts;
@@ -61,6 +61,8 @@
$generaltable->align[] = 'center';
}
$subscribed_forums = forum_get_subscribed_forums($course);
if ($can_subscribe = (!isguestuser() && has_capability('moodle/course:view', $coursecontext))) {
$generaltable->head[] = $strsubscribed;
$generaltable->align[] = 'center';
@@ -118,11 +120,12 @@
/// Do course wide subscribe/unsubscribe
if (!is_null($subscribe) and !isguestuser() and !isguest()) {
foreach ($modinfo->instances['forum'] as $forumid=>$cm) {
if (!forum_is_forcesubscribed($forumid)) {
$subscribed = forum_is_subscribed($USER->id, $forumid);
$forum = $forums[$forumid];
if (!forum_is_forcesubscribed($forum)) {
$subscribed = forum_is_subscribed($USER->id, $forum);
if ($subscribe && !$subscribed) {
forum_subscribe($USER->id, $forumid);
} elseif (!$subscribe && $subscribed) {
} else if (!$subscribe && $subscribed) {
forum_unsubscribe($USER->id, $forumid);
}
}
@@ -147,70 +150,48 @@
$cm = $modinfo->instances['forum'][$forum->id];
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
$groupmode = groups_get_activity_groupmode($cm, $course);
$currentgroup = groups_get_activity_group($cm);
if ($groupmode == SEPARATEGROUPS) {
$accessallgroups = has_capability('moodle/site:accessallgroups', $context);
} else {
$accessallgroups = true;
}
$cantaccessagroup = !$accessallgroups and empty($currentgroup);
// this is potentially wrong logic. could possibly check for if user has the right to hmmm
if ($cantaccessagroup) {
$count = '';
} if ($currentgroup) {
$count = count_records_select('forum_discussions', "forum = $forum->id AND (groupid = $currentgroup OR groupid = -1)");
} else {
$count = count_records('forum_discussions', 'forum', $forum->id);
}
$count = forum_count_discussions($forum, $cm, $course);
if ($usetracking) {
if ($forum->trackingtype == FORUM_TRACKING_OFF) {
$unreadlink = '-';
$trackedlink = '-';
} else if (($forum->trackingtype == FORUM_TRACKING_ON) || !isset($untracked[$forum->id])) {
$groupid = !$accessallgroups ? $currentgroup : false;
$unread = forum_tp_count_forum_unread_posts($USER->id, $forum->id, $groupid);
if ($unread > 0) {
$unreadlink = '<span class="unread"><a href="view.php?f='.$forum->id.'">'.$unread.'</a>';
} else {
if (isset($untracked[$forum->id])) {
$unreadlink = '-';
} else if ($unread = forum_tp_count_forum_unread_posts($cm, $course)) {
$unreadlink = '<span class="unread"><a href="view.php?f='.$forum->id.'">'.$unread.'</a>';
$unreadlink .= '<a title="'.$strmarkallread.'" href="markposts.php?f='.
$forum->id.'&amp;mark=read"><img src="'.$CFG->pixpath.'/t/clear.gif" alt="'.$strmarkallread.'" /></a></span>';
} else {
$unreadlink = '<span class="read"><a href="view.php?f='.$forum->id.'">'.$unread.'</a></span>';
$unreadlink = '<span class="read">0</span>';
}
if ($forum->trackingtype == FORUM_TRACKING_OPTIONAL) {
$trackedlink = print_single_button($CFG->wwwroot . '/mod/forum/settracking.php?id=' . $forum->id, '', $stryes, 'post', '_self', true, $strnotrackforum);
} else {
if ($forum->trackingtype == FORUM_TRACKING_ON) {
$trackedlink = $stryes;
} else {
$options = array('id'=>$forum->id);
if (!isset($untracked[$forum->id])) {
$trackedlink = print_single_button($CFG->wwwroot.'/mod/forum/settracking.php', $options, $stryes, 'post', '_self', true, $strnotrackforum);
} else {
$trackedlink = print_single_button($CFG->wwwroot.'/mod/forum/settracking.php', $options, $strno, 'post', '_self', true, $strtrackforum);
}
}
} else {
$unreadlink = '-';
$trackedlink = print_single_button($CFG->wwwroot . '/mod/forum/settracking.php?id=' . $forum->id, '', $strno, 'post', '_self', true, $strtrackforum);
}
}
$forum->intro = shorten_text(trim(format_text($forum->intro, FORMAT_HTML, $introoptions)), $CFG->forum_shortpost);
$forumname = format_string($forum->name, true);;
if ($cantaccessagroup) {
$forumlink = $forumname;
$discussionlink = $count;
if ($cm->visible) {
$style = '';
} else {
if ($cm->visible) {
$style = '';
} else {
$style = 'class="dimmed"';
}
$forumlink = "<a href=\"view.php?f=$forum->id\" $style>".format_string($forum->name,true)."</a>";
$discussionlink = "<a href=\"view.php?f=$forum->id\" $style>".$count."</a>";
$style = 'class="dimmed"';
}
$forumlink = "<a href=\"view.php?f=$forum->id\" $style>".format_string($forum->name,true)."</a>";
$discussionlink = "<a href=\"view.php?f=$forum->id\" $style>".$count."</a>";
$row = array ($forumlink, $forum->intro, $discussionlink);
if ($usetracking) {
@@ -219,21 +200,29 @@
}
if ($can_subscribe) {
$row[] = forum_get_subscribe_link($forum, $context, array('subscribed' => $stryes,
'unsubscribed' => $strno, 'forcesubscribed' => $stryes,
'cantsubscribe' => '-'), $cantaccessagroup, false, true);
if ($forum->forcesubscribe != FORUM_DISALLOWSUBSCRIBE) {
$row[] = forum_get_subscribe_link($forum, $context, array('subscribed' => $stryes,
'unsubscribed' => $strno, 'forcesubscribed' => $stryes,
'cantsubscribe' => '-'), false, false, true, $subscribed_forums);
} else {
$row[] = '-';
}
}
//If this forum has RSS activated, calculate it
if ($show_rss and $forum->rsstype and $forum->rssarticles) {
//Calculate the tolltip text
if ($forum->rsstype == 1) {
$tooltiptext = get_string('rsssubscriberssdiscussions', 'forum', format_string($forum->name));
if ($show_rss) {
if ($forum->rsstype and $forum->rssarticles) {
//Calculate the tolltip text
if ($forum->rsstype == 1) {
$tooltiptext = get_string('rsssubscriberssdiscussions', 'forum', format_string($forum->name));
} else {
$tooltiptext = get_string('rsssubscriberssposts', 'forum', format_string($forum->name));
}
//Get html code for RSS link
$row[] = rss_get_link($course->id, $USER->id, 'forum', $forum->id, $tooltiptext);
} else {
$tooltiptext = get_string('rsssubscriberssposts', 'forum', format_string($forum->name));
$row[] = '&nbsp;';
}
//Get html code for RSS link
$row[] = rss_get_link($course->id, $USER->id, 'forum', $forum->id, $tooltiptext);
}
$generaltable->data[] = $row;
@@ -283,51 +272,35 @@
$cm = $modinfo->instances['forum'][$forum->id];
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
$groupmode = groups_get_activity_groupmode($cm, $course);
$currentgroup = groups_get_activity_group($cm);
if ($groupmode == SEPARATEGROUPS) {
$accessallgroups = has_capability('moodle/site:accessallgroups', $context);
} else {
$accessallgroups = true;
}
$cantaccessagroup = !$accessallgroups and empty($currentgroup);
if ($cantaccessagroup) {
$count = '';
} if ($currentgroup) {
$count = count_records_select('forum_discussions', "forum = $forum->id AND (groupid = $currentgroup OR groupid = -1)");
} else {
$count = count_records('forum_discussions', 'forum', $forum->id);
}
$count = forum_count_discussions($forum, $cm, $course);
if ($usetracking) {
if ($forum->trackingtype == FORUM_TRACKING_OFF) {
$unreadlink = '-';
$unreadlink = '-';
$trackedlink = '-';
} else if (($forum->trackingtype == FORUM_TRACKING_ON) ||
!isset($untracked[$forum->id])) {
$groupid = !$accessallgroups ? $currentgroup : false;
$unread = forum_tp_count_forum_unread_posts($USER->id, $forum->id, $groupid);
if ($unread > 0) {
} else {
if (isset($untracked[$forum->id])) {
$unreadlink = '-';
} else if ($unread = forum_tp_count_forum_unread_posts($cm, $course)) {
$unreadlink = '<span class="unread"><a href="view.php?f='.$forum->id.'">'.$unread.'</a>';
$unreadlink .= '<a title="'.$strmarkallread.'" href="markposts.php?f='.
$forum->id.'&amp;mark=read"><img src="'.$CFG->pixpath.'/t/clear.gif" alt="'.$strmarkallread.'" /></a></span>';
} else {
$unreadlink = '<span class="read"><a href="view.php?f='.$forum->id.'">'.$unread.'</a></span>';
$unreadlink = '<span class="read">0</span>';
}
if ($forum->trackingtype == FORUM_TRACKING_OPTIONAL) {
$trackedlink = print_single_button($CFG->wwwroot . '/mod/forum/settracking.php?id=' . $forum->id, '', $stryes, 'post', '_self', true, $strnotrackforum);
} else {
if ($forum->trackingtype == FORUM_TRACKING_ON) {
$trackedlink = $stryes;
} else {
$options = array('id'=>$forum->id);
if (!isset($untracked[$forum->id])) {
$trackedlink = print_single_button($CFG->wwwroot.'/mod/forum/settracking.php', $options, $stryes, 'post', '_self', true, $strnotrackforum);
} else {
$trackedlink = print_single_button($CFG->wwwroot.'/mod/forum/settracking.php', $options, $strno, 'post', '_self', true, $strtrackforum);
}
}
} else {
$unreadlink = '-';
$trackedlink = print_single_button($CFG->wwwroot . '/mod/forum/settracking.php?id=' . $forum->id, '', $strno, 'post', '_self', true, $strtrackforum);
}
}
@@ -345,18 +318,14 @@
}
$forumname = format_string($forum->name,true);;
if ($cantaccessagroup) {
$forumlink = $forumname;
$discussionlink = $count;
if ($cm->visible) {
$style = '';
} else {
if ($cm->visible) {
$style = '';
} else {
$style = 'class="dimmed"';
}
$forumlink = "<a href=\"view.php?f=$forum->id\" $style>".format_string($forum->name,true)."</a>";
$discussionlink = "<a href=\"view.php?f=$forum->id\" $style>".$count."</a>";
$style = 'class="dimmed"';
}
$forumlink = "<a href=\"view.php?f=$forum->id\" $style>".format_string($forum->name,true)."</a>";
$discussionlink = "<a href=\"view.php?f=$forum->id\" $style>".$count."</a>";
$row = array ($printsection, $forumlink, $forum->intro, $discussionlink);
if ($usetracking) {
@@ -365,21 +334,29 @@
}
if ($can_subscribe) {
$row[] = forum_get_subscribe_link($forum, $context, array('subscribed' => $stryes,
'unsubscribed' => $strno, 'forcesubscribed' => $stryes,
'cantsubscribe' => '-'), $cantaccessagroup, false, true);
if ($forum->forcesubscribe != FORUM_DISALLOWSUBSCRIBE) {
$row[] = forum_get_subscribe_link($forum, $context, array('subscribed' => $stryes,
'unsubscribed' => $strno, 'forcesubscribed' => $stryes,
'cantsubscribe' => '-'), false, false, true, $subscribed_forums);
} else {
$row[] = '-';
}
}
//If this forum has RSS activated, calculate it
if ($show_rss and $forum->rsstype and $forum->rssarticles) {
//Calculate the tolltip text
if ($forum->rsstype == 1) {
$tooltiptext = get_string('rsssubscriberssdiscussions', 'forum', format_string($forum->name));
if ($show_rss) {
if ($forum->rsstype and $forum->rssarticles) {
//Calculate the tolltip text
if ($forum->rsstype == 1) {
$tooltiptext = get_string('rsssubscriberssdiscussions', 'forum', format_string($forum->name));
} else {
$tooltiptext = get_string('rsssubscriberssposts', 'forum', format_string($forum->name));
}
//Get html code for RSS link
$row[] = rss_get_link($course->id, $USER->id, 'forum', $forum->id, $tooltiptext);
} else {
$tooltiptext = get_string('rsssubscriberssposts', 'forum', format_string($forum->name));
$row[] = '&nbsp;';
}
//Get html code for RSS link
$row[] = rss_get_link($course->id, $USER->id, 'forum', $forum->id, $tooltiptext);
}
$learningtable->data[] = $row;
+950 -432
View File
File diff suppressed because it is too large Load Diff
+19 -14
View File
@@ -5,9 +5,9 @@
require_once("../../config.php");
require_once("lib.php");
$f = required_param('f',PARAM_INT); // The forum to mark
$mark = required_param('mark',PARAM_ALPHA); // Read or unread?
$d = optional_param('d',0,PARAM_INT); // Discussion to mark.
$f = required_param('f',PARAM_INT); // The forum to mark
$mark = required_param('mark',PARAM_ALPHA); // Read or unread?
$d = optional_param('d',0,PARAM_INT); // Discussion to mark.
$returnpage = optional_param('returnpage', 'index.php', PARAM_FILE); // Page to return to.
if (! $forum = get_record("forum", "id", $f)) {
@@ -18,14 +18,20 @@
error("Forum doesn't belong to a course!");
}
if (!($cm = get_coursemodule_from_instance("forum", $forum->id, $course->id))) {
$cm->id = NULL;
if (!$cm = get_coursemodule_from_instance("forum", $forum->id, $course->id)) {
error("Incorrect cm!");
}
$user = $USER;
require_course_login($course, false, $cm);
if ($returnpage == 'index.php') {
$returnto = forum_go_back_to($returnpage.'?id='.$course->id);
} else {
$returnto = forum_go_back_to($returnpage.'?f='.$forum->id);
}
if (isguest()) { // Guests can't change forum
$wwwroot = $CFG->wwwroot.'/login/index.php';
if (!empty($CFG->loginhttps)) {
@@ -35,27 +41,26 @@
$navigation = build_navigation('', $cm);
print_header($course->shortname, $course->fullname, $navigation, '', '', true, "", navmenu($course, $cm));
notice_yesno(get_string('noguesttracking', 'forum').'<br /><br />'.get_string('liketologin'),
$wwwroot, $_SERVER['HTTP_REFERER']);
$wwwroot, $returnto);
print_footer($course);
exit;
}
if ($returnpage == 'index.php') {
$returnto = forum_go_back_to($returnpage.'?id='.$course->id);
} else {
$returnto = forum_go_back_to($returnpage.'?f='.$forum->id);
}
$info = new object();
$info->name = fullname($user);
$info->forum = format_string($forum->name);
if ($mark == 'read') {
if (!empty($d)) {
if (forum_tp_mark_discussion_read($user->id, $d, $forum->id)) {
if (! $discussion = get_record('forum_discussions', 'id', $d, 'forum', $forum->id)) {
error("Discussion ID was incorrect");
}
if (forum_tp_mark_discussion_read($user, $d)) {
add_to_log($course->id, "discussion", "mark read", "view.php?f=$forum->id", $d, $cm->id);
}
} else {
if (forum_tp_mark_forum_read($user->id, $forum->id)) {
if (forum_tp_mark_forum_read($user, $forum->id)) {
add_to_log($course->id, "forum", "mark read", "view.php?f=$forum->id", $forum->id, $cm->id);
}
}
+8 -15
View File
@@ -317,14 +317,11 @@
$CFG->wwwroot.'/mod/forum/discuss.php?d='.$post->discussion.'#p'.$post->id);
forum_print_post($post, $discussion, $forum, $cm, $course, false, false, false);
if (empty($post->edit)) {
if (forum_tp_can_track_forums($forum) && forum_tp_is_tracked($forum)) {
$user_read_array = forum_tp_get_discussion_read_records($USER->id, $discussion->id);
} else {
$user_read_array = array();
}
$posts = forum_get_all_discussion_posts($discussion->id, "created ASC");
forum_print_posts_nested($course, $cm, $forum, $discussion, $post, false, false, $user_read_array, $posts);
$forumtracked = forum_tp_is_tracked($forum);
$posts = forum_get_all_discussion_posts($discussion->id, "created ASC", $forumtracked);
forum_print_posts_nested($course, $cm, $forum, $discussion, $post, false, false, $forumtracked, $posts);
}
} else {
print_header();
@@ -677,7 +674,7 @@
notify(get_string('qandanotify','forum'));
}
forum_check_throttling($forum);
forum_check_throttling($forum, $cm);
if (!empty($parent)) {
if (! $discussion = get_record('forum_discussions', 'id', $parent->discussion)) {
@@ -686,14 +683,10 @@
forum_print_post($parent, $discussion, $forum, $cm, $course, false, false, false);
if (empty($post->edit)) {
if (forum_tp_can_track_forums($forum) && forum_tp_is_tracked($forum)) {
$user_read_array = forum_tp_get_discussion_read_records($USER->id, $discussion->id);
} else {
$user_read_array = array();
}
if ($forum->type != 'qanda' || forum_user_can_see_discussion($forum, $discussion, $modcontext)) {
$posts = forum_get_all_discussion_posts($discussion->id, "created ASC");
forum_print_posts_threaded($course, $cm, $forum, $discussion, $parent, 0, false, false, $user_read_array, $posts);
$forumtracked = forum_tp_is_tracked($forum);
$posts = forum_get_all_discussion_posts($discussion->id, "created ASC", $forumtracked);
forum_print_posts_threaded($course, $cm, $forum, $discussion, $parent, 0, false, false, $forumtracked, $posts);
}
}
$heading = get_string("yourreply", "forum");
+1 -1
View File
@@ -33,7 +33,7 @@ class mod_forum_post_form extends moodleform {
$mform->addElement('format', 'format', get_string('format'));
if (isset($forum->id) && forum_is_forcesubscribed($forum->id)) {
if (isset($forum->id) && forum_is_forcesubscribed($forum)) {
$mform->addElement('static', 'subscribemessage', get_string('subscription', 'forum'), get_string('everyoneissubscribed', 'forum'));
$mform->addElement('hidden', 'subscribe');
+12 -24
View File
@@ -5,7 +5,7 @@
require_once("../../config.php");
require_once("lib.php");
$id = required_param('id',PARAM_INT); // The forum to subscribe or unsubscribe to
$id = required_param('id',PARAM_INT); // The forum to subscribe or unsubscribe to
$returnpage = optional_param('returnpage', 'index.php', PARAM_FILE); // Page to return to.
if (! $forum = get_record("forum", "id", $id)) {
@@ -16,35 +16,23 @@
error("Forum doesn't belong to a course!");
}
if (!($cm = get_coursemodule_from_instance("forum", $forum->id, $course->id))) {
$cm->id = NULL;
if (! $cm = get_coursemodule_from_instance("forum", $forum->id, $course->id)) {
error("Incorrect cm");
}
$user = $USER;
require_course_login($course, false, $cm);
if (isguest()) { // Guests can't change tracking
$wwwroot = $CFG->wwwroot.'/login/index.php';
if (!empty($CFG->loginhttps)) {
$wwwroot = str_replace('http:','https:', $wwwroot);
}
$navigation = build_navigation('', $cm);
print_header($course->shortname, $course->fullname, $navigation, '', '', true, "", navmenu($course, $cm));
notice_yesno(get_string('noguesttracking', 'forum').'<br /><br />'.get_string('liketologin'),
$wwwroot, $_SERVER['HTTP_REFERER']);
print_footer($course);
exit;
}
$returnto = forum_go_back_to($returnpage.'?id='.$course->id.'&f='.$forum->id);
$info->name = fullname($user);
$info->forum = format_string($forum->name);
if (!forum_tp_can_track_forums($forum)) {
redirect($returnto);
}
if ( forum_tp_is_tracked($forum->id, $user->id) ) {
if (forum_tp_stop_tracking($forum->id, $user->id)) {
$info = new object();
$info->name = fullname($USER);
$info->forum = format_string($forum->name);
if (forum_tp_is_tracked($forum) ) {
if (forum_tp_stop_tracking($forum->id)) {
add_to_log($course->id, "forum", "stop tracking", "view.php?f=$forum->id", $forum->id, $cm->id);
redirect($returnto, get_string("nownottracking", "forum", $info), 1);
} else {
@@ -52,7 +40,7 @@
}
} else { // subscribe
if (forum_tp_start_tracking($forum->id, $user->id)) {
if (forum_tp_start_tracking($forum->id)) {
add_to_log($course->id, "forum", "start tracking", "view.php?f=$forum->id", $forum->id, $cm->id);
redirect($returnto, get_string("nowtracking", "forum", $info), 1);
} else {
+3 -3
View File
@@ -36,7 +36,7 @@
}
if (groupmode($course, $cm)
and !forum_is_subscribed($user->id, $forum->id)
and !forum_is_subscribed($user->id, $forum)
and !has_capability('moodle/site:accessallgroups', $context)) {
if (!mygroupid($course->id)) {
error('Sorry, but you must be a group member to subscribe.');
@@ -65,7 +65,7 @@
: "view.php?f=$id";
if ($force and has_capability('mod/forum:managesubscriptions', $context)) {
if (forum_is_forcesubscribed($forum->id)) {
if (forum_is_forcesubscribed($forum)) {
forum_forcesubscribe($forum->id, 0);
redirect($returnto, get_string("everyonecannowchoose", "forum"), 1);
} else {
@@ -74,7 +74,7 @@
}
}
if (forum_is_forcesubscribed($forum->id)) {
if (forum_is_forcesubscribed($forum)) {
redirect($returnto, get_string("everyoneisnowsubscribed", "forum"), 1);
}
+1 -1
View File
@@ -5,7 +5,7 @@
// This fragment is called by /admin/index.php
////////////////////////////////////////////////////////////////////////////////
$module->version = 2007101511;
$module->version = 2007101512;
$module->requires = 2007101509; // Requires this Moodle version
$module->cron = 60;
+8 -8
View File
@@ -116,7 +116,7 @@
if (!empty($USER->id) && !has_capability('moodle/legacy:guest', $context, NULL, false)) {
$SESSION->fromdiscussion = "$FULLME";
if (forum_is_forcesubscribed($forum->id)) {
if (forum_is_forcesubscribed($forum)) {
$streveryoneisnowsubscribed = get_string('everyoneisnowsubscribed', 'forum');
$strallowchoice = get_string('allowchoice', 'forum');
echo '<span class="helplink">' . get_string("forcessubscribe", 'forum') . '</span><br />';
@@ -156,7 +156,7 @@
array('forcesubscribed' => '', 'cantsubscribe' => '')), '</div>';
}
if (($forum->trackingtype == FORUM_TRACKING_OPTIONAL) && forum_tp_can_track_forums($forum)) {
if (forum_tp_can_track_forums($forum)) {
echo '<div class="helplink" id="trackinglink">'. forum_get_tracking_link($forum). '</div>';
}
@@ -236,17 +236,17 @@
}
echo '</p>';
if (!empty($showall)) {
forum_print_latest_discussions($course, $forum, 0, 'header', '', $currentgroup, $groupmode);
forum_print_latest_discussions($course, $forum, 0, 'header', '', -1, -1, -1, 0, $cm);
} else {
forum_print_latest_discussions($course, $forum, $CFG->forum_manydiscussions, 'header', '', $currentgroup, $groupmode, $page);
forum_print_latest_discussions($course, $forum, -1, 'header', '', -1, -1, $page, $CFG->forum_manydiscussions, $cm);
}
break;
case 'teacher':
if (!empty($showall)) {
forum_print_latest_discussions($course, $forum, 0, 'header', '', $currentgroup, $groupmode);
forum_print_latest_discussions($course, $forum, 0, 'header', '', -1, -1, -1, 0, $cm);
} else {
forum_print_latest_discussions($course, $forum, $CFG->forum_manydiscussions, 'header', '', $currentgroup, $groupmode, $page);
forum_print_latest_discussions($course, $forum, -1, 'header', '', -1, -1, $page, $CFG->forum_manydiscussions, $cm);
}
break;
@@ -256,9 +256,9 @@
}
echo '<br />';
if (!empty($showall)) {
forum_print_latest_discussions($course, $forum, 0, 'header', '', $currentgroup, $groupmode);
forum_print_latest_discussions($course, $forum, 0, 'header', '', -1, -1, -1, 0, $cm);
} else {
forum_print_latest_discussions($course, $forum, $CFG->forum_manydiscussions, 'header', '', $currentgroup, $groupmode, $page);
forum_print_latest_discussions($course, $forum, -1, 'header', '', -1, -1, $page, $CFG->forum_manydiscussions, $cm);
}