// the form to submit a new search $context['text'] .= '</div></form>'; // the script used for form handling at the browser Page::insert_script(' func' . 'tion validateDocumentPost(container) {' . "\n" . ' if(!container.search.value) {' . "\n" . ' alert("' . i18n::s('Please type something to search for.') . '");' . "\n" . ' Yacs.stopWorking();' . "\n" . ' return false;' . "\n" . ' }' . "\n" . ' return true;' . "\n" . ' }' . "\n" . "\n" . '$("#search").focus();' . "\n"); // various panels $panels = array(); // all results, as array($score, $summary) $result = array(); // number of results per page $bucket = 20; // search in articles if ($items = Articles::search_in_section($section_id, $boolean_search, $offset, $bucket)) { $result = array_merge($result, $items); } // search in sections if ($items = Sections::search_in_section($section_id, $boolean_search, $offset, $bucket)) { $result = array_merge($result, $items); } // global search if (!$section_id) { // search in categories if ($items = Categories::search($boolean_search, $offset, $bucket)) { $result = array_merge($result, $items); } // search in files if ($items = Files::search($boolean_search, $offset, $bucket)) { $result = array_merge($result, $items); } // search in users if ($items = Users::search($boolean_search, $offset, $bucket)) { $result = array_merge($result, $items);
/** * search for some keywords in all sections * * @param string the search string * @param float maximum score to look at * @param int the number of items to display * @param mixed the layout, if any * @return NULL on error, else an ordered array of array($score, $summary) */ public static function &search($pattern, $offset = 1.0, $count = 50, $layout = 'search') { global $context; $output =& Sections::search_in_section(NULL, $pattern, $offset, $count, $layout); return $output; }