/** * part of search engine API * @param wiki a wiki instance * @return an array of searchable deocuments */ function wiki_get_content_for_index(&$wiki) { $documents = array(); $entries = wiki_get_entries($wiki); if ($entries) { $coursemodule = get_field('modules', 'id', 'name', 'wiki'); $cm = get_record('course_modules', 'course', $wiki->course, 'module', $coursemodule, 'instance', $wiki->id); $context = get_context_instance(CONTEXT_MODULE, $cm->id); foreach ($entries as $entry) { //all pages //$pages = wiki_get_pages($entry); //latest pages $pages = wiki_get_latest_pages($entry); if (is_array($pages)) { foreach ($pages as $page) { if (strlen($page->content) > 0) { $documents[] = new WikiSearchDocument(get_object_vars($page), $entry->wikiid, $entry->course, $entry->groupid, $page->userid, $context->id); } } } } } return $documents; }
/** * part of search engine API * @uses $DB * @param reference $wiki a wiki instance * @return an array of searchable deocuments */ function wiki_get_content_for_index(&$wiki) { global $CFG, $DB; require_once $CFG->dirroot . '/mod/wiki/locallib.php'; $documents = array(); $entries = wiki_get_subwikis($wiki->id); if ($entries) { $coursemodule = $DB->get_field('modules', 'id', array('name' => 'wiki')); $cm = $DB->get_record('course_modules', array('course' => $wiki->course, 'module' => $coursemodule, 'instance' => $wiki->id)); $context = get_context_instance(CONTEXT_MODULE, $cm->id); foreach ($entries as $entry) { //all pages //$pages = wiki_get_pages($entry); //latest pages $pages = wiki_get_latest_pages($entry); if (is_array($pages)) { foreach ($pages as $page) { if (strlen($page->title) > 0) { $owner = $DB->get_record('user', array('id' => $page->userid)); $page->author = fullname($owner); $documents[] = new WikiSearchDocument(get_object_vars($page), $entry->wikiid, $wiki->course, $entry->groupid, $page->userid, $context->id); } } } } } return $documents; }