]> git.mjollnir.org Git - moodle.git/commitdiff
Adding support for forum documental searches. Disabled by default.
authorstronk7 <stronk7>
Fri, 9 Mar 2007 18:29:32 +0000 (18:29 +0000)
committerstronk7 <stronk7>
Fri, 9 Mar 2007 18:29:32 +0000 (18:29 +0000)
Only MySQL supported. Experimental under 1.8! MDL-8830

Merged from MOODLE_18_STABLE

mod/forum/lib.php

index 81cf25bdc1f5206dce7f73bf442eea36c144067d..8fd14394813faf233ce9b8e81baa9774ff0c1194 100644 (file)
@@ -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,