id, "forum", "search", "search.php?id=$course->id&search=".urlencode($search), $search); $strforums = get_string("modulenameplural", "forum"); $strsearch = get_string("search", "forum"); $strsearchresults = get_string("searchresults", "forum"); $strpage = get_string("page"); $navlinks = array(); $navlinks[] = array('name' => $strforums, 'link' => "index.php?id=$course->id", 'type' => 'activity'); if (!$search || $showform) { $crumns[] = array('name' => $strsearch, 'link' => '', 'type' => 'title'); $navigation = build_navigation($navlinks); print_header_simple("$strsearch", "", $navigation, 'search.words', "", "", " ", navmenu($course)); forum_print_big_search_form($course); print_footer($course); exit; } /// We need to do a search now and print results $searchterms = str_replace('forumid:', 'instance:', $search); $searchterms = explode(' ', $searchterms); $searchform = forum_search_form($course, $search); $navlinks = array(); $navlinks[] = array('name' => $strsearch, 'link' => "search.php?id=$course->id", 'type' => 'activityinstance'); $navlinks[] = array('name' => s($search, true), 'link' => '', 'type' => 'link'); $navigation = build_navigation($navlinks); if (!$posts = forum_search_posts($searchterms, $course->id, $page*$perpage, $perpage, $totalcount)) { print_header_simple("$strsearchresults", "", $navigation, 'search.words', "", "", " ", navmenu($course)); print_heading(get_string("nopostscontaining", "forum", $search)); if (!$individualparams) { $words = $search; } forum_print_big_search_form($course); print_footer($course); exit; } print_header_simple("$strsearchresults", "", $navigation, '', "", "", $searchform, navmenu($course)); echo '
'.$strmissingsearchterms.' '.$missing_terms.'
'.$post->message; } // Prepare a link to the post in context, to be displayed after the forum post. $fulllink = "discussion#p$post->id\">".get_string("postincontext", "forum").""; // Now pring the post. forum_print_post($post, $course->id, false, false, false, false, $fulllink, $strippedsearch, -99, false); } print_paging_bar($totalcount, $page, $perpage, "search.php?search=".urlencode(stripslashes($search))."&id=$course->id&perpage=$perpage&"); print_footer($course); /** * @todo Document this function */ function forum_print_big_search_form($course) { global $CFG, $words, $subject, $phrase, $user, $userid, $fullwords, $notwords, $datefrom, $dateto; print_simple_box(get_string('searchforumintro', 'forum'), 'center', '', '', 'searchbox', 'intro'); print_simple_box_start("center"); echo "\n"; echo ''; echo "\n"; print_simple_box_end(); } /** * @todo Document this function */ function forum_clean_search_terms($words, $prefix='') { $searchterms = explode(' ', $words); foreach ($searchterms as $key => $searchterm) { if (strlen($searchterm) < 2) { unset($searchterms[$key]); } else if ($prefix) { $searchterms[$key] = $prefix.$searchterm; } } return trim(implode(' ', $searchterms)); } /** * @todo Document this function */ function forum_menu_list($course) { $menu = array(); if ($forums = get_all_instances_in_course("forum", $course)) { if ($course->format == 'weeks') { $strsection = get_string('week'); } else { $strsection = get_string('topic'); } foreach ($forums as $forum) { if ($cm = get_coursemodule_from_instance('forum', $forum->id, $course->id)) { $context = get_context_instance(CONTEXT_MODULE, $cm->id); $currentgroup = groups_get_activity_group($cm); if (!isset($forum->visible)) { if (!instance_is_visible("forum", $forum) && !has_capability('moodle/course:viewhiddenactivities', $context)) { continue; } } $groupmode = groups_get_activity_groupmode($cm); // Groups are being used if ($groupmode == SEPARATEGROUPS && ($currentgroup === false) && !has_capability('moodle/site:accessallgroups', $context)) { continue; } } $menu[$forum->id] = format_string($forum->name,true); } } return $menu; } ?>