/**
* 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;
}
Example #2
0
/**
* 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;
}