/** * View wiki page. */ function preview() { global $ilCtrl, $ilAccess, $lng, $tpl, $ilUser, $ilSetting, $ilToolbar; // block/unblock if ($this->getPageObject()->getBlocked()) { ilUtil::sendInfo($lng->txt("wiki_page_status_blocked")); } $this->increaseViewCount(); $this->addHeaderAction(); // content $this->setSideBlock(); $wtpl = new ilTemplate("tpl.wiki_page_view_main_column.html", true, true, "Modules/Wiki"); $callback = array($this, "observeNoteAction"); // notes if (!$ilSetting->get("disable_comments") && ilObjWiki::_lookupPublicNotes($this->getPageObject()->getParentId())) { $wtpl->setVariable("NOTES", $this->getNotesHTML($this->getPageObject(), true, ilObjWiki::_lookupPublicNotes($this->getPageObject()->getParentId()), $ilAccess->checkAccess("write", "", $_GET["ref_id"]), $callback)); } // permanent link $append = $_GET["page"] != "" ? "_" . ilWikiUtil::makeUrlTitle($_GET["page"]) : ""; include_once "./Services/PermanentLink/classes/class.ilPermanentLinkGUI.php"; $perma_link = new ilPermanentLinkGUI("wiki", $_GET["ref_id"], $append); $wtpl->setVariable("PERMA_LINK", $perma_link->getHTML()); // page content $this->setOutputMode(IL_PAGE_PRESENTATION); $this->setRenderPageContainer(true); $wtpl->setVariable("PAGE", $this->showPage()); $tpl->setLoginTargetPar("wiki_" . $_GET["ref_id"] . $append); // last edited info include_once "./Services/User/classes/class.ilUserUtil.php"; $wtpl->setVariable("LAST_EDITED_INFO", $lng->txt("wiki_last_edited") . ": " . ilDatePresentation::formatDate(new ilDateTime($this->getPageObject()->getLastChange(), IL_CAL_DATETIME)) . ", " . ilUserUtil::getNamePresentation($this->getPageObject()->getLastChangeUser(), false, true, $ilCtrl->getLinkTarget($this, "preview"))); $tpl->setLoginTargetPar("wiki_" . $_GET["ref_id"] . $append); //highlighting if ($_GET["srcstring"] != "") { include_once './Services/Search/classes/class.ilUserSearchCache.php'; $cache = ilUserSearchCache::_getInstance($ilUser->getId()); $cache->switchSearchType(ilUserSearchCache::LAST_QUERY); $search_string = $cache->getQuery(); include_once "./Services/UIComponent/TextHighlighter/classes/class.ilTextHighlighterGUI.php"; include_once "./Services/Search/classes/class.ilQueryParser.php"; $p = new ilQueryParser($search_string); $p->parse(); $words = $p->getQuotedWords(); if (is_array($words)) { foreach ($words as $w) { ilTextHighlighterGUI::highlight("ilCOPageContent", $w, $tpl); } } $this->fill_on_load_code = true; } return $wtpl->get(); }