diff --git a/mod/forum/discuss.php b/mod/forum/discuss.php index 0e42828c9cc..c4c5316dff7 100644 --- a/mod/forum/discuss.php +++ b/mod/forum/discuss.php @@ -86,6 +86,10 @@ print_error('cannotmovetonotexist', 'forum', $return); } + if ($forumto->type == 'single') { + print_error('cannotmovetosingleforum', 'forum', $return); + } + if (!$cmto = get_coursemodule_from_instance('forum', $forumto->id, $course->id)) { print_error('cannotmovetonotfound', 'forum', $return); } @@ -221,18 +225,21 @@ if (isset($modinfo->instances['forum'])) { $forummenu = array(); $sections = get_all_sections($course->id); + // Check forum types and eliminate simple discussions. + $forumcheck = $DB->get_records('forum', array('course' => $course->id),'', 'id, type'); foreach ($modinfo->instances['forum'] as $forumcm) { if (!$forumcm->uservisible || !has_capability('mod/forum:startdiscussion', get_context_instance(CONTEXT_MODULE,$forumcm->id))) { continue; } - $section = $forumcm->sectionnum; $sectionname = get_section_name($course, $sections[$section]); if (empty($forummenu[$section])) { $forummenu[$section] = array($sectionname => array()); } - if ($forumcm->instance != $forum->id) { + $forumidcompare = $forumcm->instance != $forum->id; + $forumtypecheck = $forumcheck[$forumcm->instance]->type !== 'single'; + if ($forumidcompare and $forumtypecheck) { $url = "/mod/forum/discuss.php?d=$discussion->id&move=$forumcm->instance&sesskey=".sesskey(); $forummenu[$section][$sectionname][$url] = format_string($forumcm->name); } diff --git a/mod/forum/lang/en/forum.php b/mod/forum/lang/en/forum.php index a23be0e63a8..88ab2a84124 100644 --- a/mod/forum/lang/en/forum.php +++ b/mod/forum/lang/en/forum.php @@ -64,6 +64,7 @@ $string['cannotmovefromsingleforum'] = 'Cannot move discussion from a simple sin $string['cannotmovenotvisible'] = 'Forum not visible'; $string['cannotmovetonotexist'] = 'You can\'t move to that forum - it doesn\'t exist!'; $string['cannotmovetonotfound'] = 'Target forum not found in this course.'; +$string['cannotmovetosingleforum'] = 'Cannot move discussion to a simple single discussion forum'; $string['cannotpurgecachedrss'] = 'Could not purge the cached RSS feeds for the source and/or destination forum(s) - check your file permissionsforums'; $string['cannotremovesubscriber'] = 'Could not remove subscriber with id {$a} from this forum!'; $string['cannotreply'] = 'You cannot reply to this post';