print "<div>{$selects} queries ({$results->dbstart} rows used, {$results->dbrows} read), average {$average} s</div><ul>"; if ($results->success) { foreach ($results->results as $result) { if ($result->title === '') { $result->title = '(Blank line title)'; } print '<li><div style="background:#eee">' . str_replace('highlight>', 'strong>', $result->title) . '</div><div>' . str_replace('highlight>', 'strong>', $result->summary) . ' [<a href="' . htmlspecialchars($result->url) . '">View</a>]</div></li>'; } } else { print '<li>Query failed: <strong>' . $results->problemword . '</strong></li>'; } print '</ul>'; } } $sh = new ousearch_search('"the time"'); $sh->set_plugin('test/test2'); $tests = array(new ousearch_search('a and'), new ousearch_search('23dfbsdg3456 and'), new ousearch_search('and 23dfbsdg3456'), new ousearch_search('virulent attack'), new ousearch_search('regiment moved'), new ousearch_search('adjutant galloping'), new ousearch_search('adjutant galloping -Napoleon'), new ousearch_search('adjutant galloping -"where Napoleon was standing"'), new ousearch_search('about an hour'), new ousearch_search('"about an hour"'), new ousearch_search('about french hour were an'), new ousearch_search('and'), new ousearch_search('"a and"'), new ousearch_search('"and maidens"'), new ousearch_search('"the time"'), $sh); //$tests=array(new ousearch_search('"a and"')); $results = array(); foreach ($tests as $test) { $blankresult = new StdClass(); $blankresult->time = 0.0; $blankresult->count = 0; $results[] = $blankresult; } // Test loop define('OUSEARCH_TESTLOOPS', 3); print '<h1>Running tests ' . OUSEARCH_TESTLOOPS . ' times</h1>'; flush(); for ($i = 0; $i < OUSEARCH_TESTLOOPS; $i++) { $last = $i === OUSEARCH_TESTLOOPS - 1 ? true : false;
$navigation = build_navigation($extranavigation); print_header_simple(get_string('searchresults'), "", $navigation); $querytext = stripslashes(required_param('query', PARAM_RAW)); $query = new ousearch_search($querytext); if (strpos($plugin, 'mod/') === 0) { $modname = substr($plugin, 4); } else { $modname = null; } $query->set_visible_modules_in_course($COURSE, $modname); // Restrict them to the groups they belong to if (!isset($USER->groupmember[$courseid])) { $query->set_group_ids(array()); } else { $query->set_group_ids($USER->groupmember[$courseid]); } // Add exceptions where they can see other groups $query->set_group_exceptions(ousearch_get_group_exceptions($courseid)); $query->set_user_id($USER->id); $query->set_plugin($plugin); ousearch_display_results($query, 'search.php?course=' . $courseid . '&plugin=' . $plugin); //Print advanced search link if ($plugin == 'mod/forumng') { $querytext = rawurlencode($querytext); $options = "course={$courseid}&query={$querytext}"; $url = $CFG->wwwroot . '/mod/forumng/advancedsearch.php?' . $options; $strlink = get_string('moresearchoptions', 'forumng'); print "<div class='advanced-search-link'>\n <a href=\"{$url}\">{$strlink}</a></div>"; } // Footer print_footer();
$urloptions .= $daterangefrom ? '&datefrom=' . $daterangefrom : ''; $urloptions .= $daterangeto ? '&dateto=' . $daterangeto : ''; if (!$allforums) { // Display group selector if required groups_print_activity_menu($cm, $url . $urloptions); $groupid = forum::get_activity_group($cm, true); $forum->require_view($groupid, 0, true); print '<br/><br/>'; } $editform->display(); // Searching for free text with or without filtering author and date range if ($query) { $result = new ousearch_search(stripslashes($query)); // Search all forums if ($allforums) { $result->set_plugin('mod/forumng'); $result->set_course_id($courseid); $result->set_visible_modules_in_course($COURSE); // Restrict them to the groups they belong to if (!isset($USER->groupmember[$courseid])) { $result->set_group_ids(array()); } else { $result->set_group_ids($USER->groupmember[$courseid]); } // Add exceptions where they can see other groups $result->set_group_exceptions(ousearch_get_group_exceptions($courseid)); $result->set_user_id($USER->id); } else { // Search this forum $result->set_coursemodule($forum->get_course_module(true)); if ($groupid && $groupid != forum::NO_GROUPS) {