From 532daab479b1b68fe658d53d847c5ee66147b499 Mon Sep 17 00:00:00 2001
From: stronk7 <stronk7>
Date: Fri, 9 Mar 2007 18:29:32 +0000
Subject: [PATCH] Adding support for forum documental searches. Disabled by
 default. Only MySQL supported. Experimental under 1.8! MDL-8830

Merged from MOODLE_18_STABLE
---
 mod/forum/lib.php | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/mod/forum/lib.php b/mod/forum/lib.php
index 81cf25bdc1..8fd1439481 100644
--- a/mod/forum/lib.php
+++ b/mod/forum/lib.php
@@ -1377,9 +1377,21 @@ function forum_search_posts($searchterms, $courseid=0, $limitfrom=0, $limitnum=5
 
     if ($lexer->parse($searchstring)) {
         $parsearray = $parser->get_parsed_array();
-        $messagesearch = search_generate_SQL($parsearray, 'p.message', 'p.subject',
-                                             'p.userid', 'u.id', 'u.firstname',
-                                             'u.lastname', 'p.modified', 'd.forum');
+    /// Experimental feature under 1.8! MDL-8830
+    /// Use alternative text searches if defined
+    /// This feature only works under mysql until properly implemented for other DBs
+    /// Requires manual creation of text index for forum_posts before enabling it:
+    /// CREATE FULLTEXT INDEX foru_post_tix ON [prefix]forum_posts (subject, message)
+    /// Experimental feature under 1.8! MDL-8830
+        if (!empty($CFG->forum_usetextsearches)) {
+            $messagesearch = search_generate_text_SQL($parsearray, 'p.message', 'p.subject',
+                                                 'p.userid', 'u.id', 'u.firstname',
+                                                 'u.lastname', 'p.modified', 'd.forum');
+        } else {
+            $messagesearch = search_generate_SQL($parsearray, 'p.message', 'p.subject',
+                                                 'p.userid', 'u.id', 'u.firstname',
+                                                 'u.lastname', 'p.modified', 'd.forum');
+        }
     }
 
     $fromsql = "{$CFG->prefix}forum_posts p,
-- 
2.39.5