/** * get html * @return */ public function getHTML() { global $lng, $ilUser; $lng->loadLanguageModule('content'); foreach ($this->getSubItemIds(true) as $sub_item) { if (is_object($this->getHighlighter()) and strlen($this->getHighlighter()->getContent($this->getObjId(), $sub_item))) { $this->tpl->setCurrentBlock('sea_fragment'); $this->tpl->setVariable('TXT_FRAGMENT', $this->getHighlighter()->getContent($this->getObjId(), $sub_item)); $this->tpl->parseCurrentBlock(); } $this->tpl->setCurrentBlock('subitem'); $this->tpl->setVariable('SUBITEM_TYPE', $lng->txt('cont_term')); $this->tpl->setVariable('SEPERATOR', ':'); #$this->getItemListGUI()->setChildId($sub_item); include_once './Services/Search/classes/class.ilUserSearchCache.php'; $src_string = ilUserSearchCache::_getInstance($ilUser->getId())->getUrlEncodedQuery(); $this->tpl->setVariable('LINK', ilLink::_getLink($this->getRefId(), 'git', array('target' => 'git_' . $sub_item . '_' . $this->getRefId(), 'srcstring' => 1))); $this->tpl->setVariable('TARGET', $this->getItemListGUI()->getCommandFrame('')); $this->tpl->setVariable('TITLE', ilGlossaryTerm::_lookGlossaryTerm($sub_item)); // begin-patch mime_filter if (count($this->getSubItemIds(true)) > 1) { $this->parseRelevance($sub_item); } // end-patch mime_filter $this->tpl->parseCurrentBlock(); } $this->showDetailsLink(); return $this->tpl->get(); }
/** * Singleton constructor * @param int $a_usr_id user id * @return */ protected function __construct($a_user_id) { $this->user_id = $a_user_id; $this->settings = ilSearchSettings::getInstance(); include_once 'Services/Search/classes/class.ilUserSearchCache.php'; $this->cache = ilUserSearchCache::_getInstance($this->getUserId()); $this->offset = $this->settings->getMaxHits() * ($this->cache->getResultPageNumber() - 1); }
public function ilShopResultPresentationGUI($result) { global $lng, $ilCtrl, $ilUser; $this->lng = $lng; $this->result = $result; $this->type_ordering = array("cat", "crs", "grp", "chat", "frm", "wiki", "lres", "glo", "webr", "lm", "sahs", "htlm", "file", 'mcst', "exc", "tst", "svy", "sess", "mep", "qpl", "spl"); $this->ctrl = $ilCtrl; include_once 'Services/Search/classes/class.ilUserSearchCache.php'; $this->search_cache = ilUserSearchCache::_getInstance($ilUser->getId()); }
/** * Get singleton instance * * @access public * @static * * @param int usr_id */ public static function _getInstance($a_usr_id) { if (is_object(self::$instance) and self::$instance) { return self::$instance; } return self::$instance = new ilUserSearchCache($a_usr_id); }
/** * list definitions of a term */ function listDefinitions($a_ref_id = 0, $a_term_id = 0, $a_get_html = false) { global $ilUser, $ilAccess, $ilias, $lng, $ilCtrl; if ($a_ref_id == 0) { $ref_id = (int) $_GET["ref_id"]; } else { $ref_id = $a_ref_id; } if ($a_term_id == 0) { $term_id = $this->term_id; } else { $term_id = $a_term_id; } if (!$ilAccess->checkAccess("read", "", $ref_id)) { $ilias->raiseError($lng->txt("permission_denied"), $ilias->error_obj->MESSAGE); } // tabs if ($this->glossary->getPresentationMode() != "full_def") { $this->showDefinitionTabs("content"); } $term = new ilGlossaryTerm($term_id); if (!$a_get_html) { $tpl = $this->tpl; require_once "./Modules/Glossary/classes/class.ilGlossaryDefPageGUI.php"; $tpl->getStandardTemplate(); // $this->setTabs(); if ($this->offlineMode()) { $style_name = $ilUser->prefs["style"] . ".css"; $tpl->setVariable("LOCATION_STYLESHEET", "./" . $style_name); } else { $this->setLocator(); } // content style $tpl->setCurrentBlock("ContentStyle"); if (!$this->offlineMode()) { $tpl->setVariable("LOCATION_CONTENT_STYLESHEET", ilObjStyleSheet::getContentStylePath($this->glossary->getStyleSheetId())); } else { $tpl->setVariable("LOCATION_CONTENT_STYLESHEET", "content.css"); } $tpl->parseCurrentBlock(); // syntax style $tpl->setCurrentBlock("SyntaxStyle"); if (!$this->offlineMode()) { $tpl->setVariable("LOCATION_SYNTAX_STYLESHEET", ilObjStyleSheet::getSyntaxStylePath()); } else { $tpl->setVariable("LOCATION_SYNTAX_STYLESHEET", "syntaxhighlight.css"); } $tpl->parseCurrentBlock(); $tpl->setTitleIcon(ilUtil::getImagePath("icon_term_b.png")); $tpl->setTitle($this->lng->txt("cont_term") . ": " . $term->getTerm()); // load template for table $tpl->addBlockfile("ADM_CONTENT", "def_list", "tpl.glossary_definition_list.html", "Modules/Glossary"); } else { // content style $this->tpl->setCurrentBlock("ContentStyle"); if (!$this->offlineMode()) { $this->tpl->setVariable("LOCATION_CONTENT_STYLESHEET", ilObjStyleSheet::getContentStylePath($this->glossary->getStyleSheetId())); } else { $this->tpl->setVariable("LOCATION_CONTENT_STYLESHEET", "content.css"); } $this->tpl->parseCurrentBlock(); // syntax style $this->tpl->setCurrentBlock("SyntaxStyle"); if (!$this->offlineMode()) { $this->tpl->setVariable("LOCATION_SYNTAX_STYLESHEET", ilObjStyleSheet::getSyntaxStylePath()); } else { $this->tpl->setVariable("LOCATION_SYNTAX_STYLESHEET", "syntaxhighlight.css"); } $this->tpl->parseCurrentBlock(); $tpl = new ilTemplate("tpl.glossary_definition_list.html", true, true, "Modules/Glossary"); } $defs = ilGlossaryDefinition::getDefinitionList($term_id); $tpl->setVariable("TXT_TERM", $term->getTerm()); $this->mobs = array(); for ($j = 0; $j < count($defs); $j++) { $def = $defs[$j]; $page_gui = new ilGlossaryDefPageGUI($def["id"]); $page_gui->setStyleId($this->glossary->getStyleSheetId()); $page = $page_gui->getPageObject(); // internal links $page->buildDom(); $int_links = $page->getInternalLinks(); $link_xml = $this->getLinkXML($int_links); $page_gui->setLinkXML($link_xml); if ($this->offlineMode()) { $page_gui->setOutputMode("offline"); $page_gui->setOfflineDirectory($this->getOfflineDirectory()); } $page_gui->setSourcecodeDownloadScript($this->getLink($ref_id)); $page_gui->setFullscreenLink($this->getLink($ref_id, "fullscreen", $term_id, $def["id"])); $page_gui->setTemplateOutput(false); $page_gui->setRawPageContent(true); $page_gui->setFileDownloadLink($this->getLink($ref_id, "downloadFile")); if (!$this->offlineMode()) { $output = $page_gui->preview(); } else { $output = $page_gui->presentation($page_gui->getOutputMode()); } if (count($defs) > 1) { $tpl->setCurrentBlock("definition_header"); $tpl->setVariable("TXT_DEFINITION", $this->lng->txt("cont_definition") . " " . ($j + 1)); $tpl->parseCurrentBlock(); } $tpl->setCurrentBlock("definition"); $tpl->setVariable("PAGE_CONTENT", $output); $tpl->parseCurrentBlock(); } // display possible backlinks $sources = ilInternalLink::_getSourcesOfTarget('git', $_GET['term_id'], 0); if ($sources) { $backlist_shown = false; foreach ($sources as $src) { $type = explode(':', $src['type']); if ($type[0] == 'lm') { if ($type[1] == 'pg') { $title = ilLMPageObject::_getPresentationTitle($src['id']); $lm_id = ilLMObject::_lookupContObjID($src['id']); $lm_title = ilObject::_lookupTitle($lm_id); $tpl->setCurrentBlock('backlink_item'); $ref_ids = ilObject::_getAllReferences($lm_id); $access = false; foreach ($ref_ids as $rid) { if ($ilAccess->checkAccess("read", "", $rid)) { $access = true; } } if ($access) { $tpl->setCurrentBlock("backlink_item"); $tpl->setVariable("BACKLINK_LINK", ILIAS_HTTP_PATH . "/goto.php?target=" . $type[1] . "_" . $src['id']); $tpl->setVariable("BACKLINK_ITEM", $lm_title . ": " . $title); $tpl->parseCurrentBlock(); $backlist_shown = true; } } } } if ($backlist_shown) { $tpl->setCurrentBlock("backlink_list"); $tpl->setVariable("BACKLINK_TITLE", $this->lng->txt('glo_term_used_in')); $tpl->parseCurrentBlock(); } } if (!$a_get_html) { $tpl->setCurrentBlock("perma_link"); $tpl->setVariable("PERMA_LINK", ILIAS_HTTP_PATH . "/goto.php?target=" . "git" . "_" . $term_id . "_" . $ref_id . "&client_id=" . CLIENT_ID); $tpl->setVariable("TXT_PERMA_LINK", $this->lng->txt("perma_link")); $tpl->setVariable("PERMA_TARGET", "_top"); $tpl->parseCurrentBlock(); } // highlighting? if ($_GET["srcstring"] != "" && !$this->offlineMode()) { 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("ilGloContent", $w, $tpl); } } $this->fill_on_load_code = true; } if ($this->offlineMode() || $a_get_html) { return $tpl->get(); } }
/** * 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(); }
/** * Init user search cache * * @access private * */ protected function initUserSearchCache() { global $ilUser; include_once 'Services/Search/classes/class.ilUserSearchCache.php'; $this->search_cache = ilUserSearchCache::_getInstance($ilUser->getId()); $this->search_cache->switchSearchType(ilUserSearchCache::LUCENE_USER_SEARCH); if ((int) $_GET['page_number']) { $this->search_cache->setResultPageNumber((int) $_GET['page_number']); } if (isset($_POST['term'])) { $this->search_cache->setQuery(ilUtil::stripSlashes($_POST['term'])); $this->search_cache->setItemFilter(array()); $this->search_cache->setMimeFilter(array()); $this->search_cache->save(); } }
/** * process <ilPage> content tag * * @param object page node * @param integer footer/header page id */ function ilPage(&$a_page_node, $a_page_id = 0) { global $ilUser, $ilHelp; global $ilHelp; $ilHelp->setScreenIdComponent("lm"); $ilHelp->setScreenId("content"); $ilHelp->setSubScreenId("content"); $this->fill_on_load_code = true; // check if page is (not) visible in public area if (($ilUser->getId() == ANONYMOUS_USER_ID || $this->needs_to_be_purchased) && $this->lm_gui->object->getPublicAccessMode() == 'selected') { $public = ilLMObject::_isPagePublic($this->getCurrentPageId()); if (!$public) { return $this->showNoPublicAccess($this->getCurrentPageId()); } } if (!ilObjContentObject::_checkPreconditionsOfPage($this->lm->getRefId(), $this->lm->getId(), $this->getCurrentPageId())) { return $this->showPreconditionsOfPage($this->getCurrentPageId()); } // if navigation is restricted based on correct answered questions // check if we have preceeding pages including unsanswered/incorrect answered questions if (!$this->offlineMode()) { if ($this->lm->getRestrictForwardNavigation()) { if ($this->getTracker()->hasPredIncorrectAnswers($this->getCurrentPageId())) { $this->showNavRestrictionDueToQuestions(); return; } } } require_once "./Modules/LearningModule/classes/class.ilLMPageGUI.php"; require_once "./Modules/LearningModule/classes/class.ilLMPageObject.php"; // page id is e.g. > 0 when footer or header page is processed if ($a_page_id == 0) { $page_id = $this->getCurrentPageId(); //echo ":".$page_id.":"; // highlighting? if ($_GET["srcstring"] != "" && !$this->offlineMode()) { include_once './Services/Search/classes/class.ilUserSearchCache.php'; $cache = ilUserSearchCache::_getInstance($ilUser->getId()); $cache->switchSearchType(ilUserSearchCache::LAST_QUERY); $search_string = $cache->getQuery(); // advanced search? if (is_array($search_string)) { $search_string = $search_string["lom_content"]; } 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("ilLMPageContent", $w, $this->tpl); } } $this->fill_on_load_code = true; } } else { $page_id = $a_page_id; } // content style $this->tpl->setCurrentBlock("ContentStyle"); if (!$this->offlineMode()) { $this->tpl->setVariable("LOCATION_CONTENT_STYLESHEET", ilObjStyleSheet::getContentStylePath($this->lm->getStyleSheetId())); } else { $this->tpl->setVariable("LOCATION_CONTENT_STYLESHEET", "content_style/content.css"); } $this->tpl->parseCurrentBlock(); // no active page found in chapter if ($this->chapter_has_no_active_page && ilLMObject::_lookupType($_GET["obj_id"]) == "st") { $mtpl = new ilTemplate("tpl.no_content_message.html", true, true, "Modules/LearningModule"); $mtpl->setVariable("MESSAGE", $this->lng->txt("cont_no_page_in_chapter")); //$mtpl->setVariable("SRC_ICON", ilUtil::getImagePath("icon_st.svg", // false, "output", $this->offlineMode())); $mtpl->setVariable("ITEM_TITLE", ilLMObject::_lookupTitle($_GET["obj_id"])); $this->tpl->setVariable("PAGE_CONTENT", $mtpl->get()); return $mtpl->get(); } // current page is deactivated if ($this->deactivated_page) { $mtpl = new ilTemplate("tpl.no_content_message.html", true, true, "Modules/LearningModule"); $m = $this->lng->txt("cont_page_currently_deactivated"); $act_data = ilLMPage::_lookupActivationData((int) $_GET["obj_id"], $this->lm->getType()); if ($act_data["show_activation_info"] && ilUtil::now() < $act_data["activation_start"]) { $m .= "<p>" . sprintf($this->lng->txt("cont_page_activation_on"), ilDatePresentation::formatDate(new ilDateTime($act_data["activation_start"], IL_CAL_DATETIME))) . "</p>"; } $mtpl->setVariable("MESSAGE", $m); //$mtpl->setVariable("SRC_ICON", ilUtil::getImagePath("icon_pg.svg", // false, "output", $this->offlineMode())); $mtpl->setVariable("ITEM_TITLE", ilLMObject::_lookupTitle($_GET["obj_id"])); $this->tpl->setVariable("PAGE_CONTENT", $mtpl->get()); return $mtpl->get(); } // check if page is out of focus $focus_mess = ""; if ($this->focus_id > 0) { $path = $this->lm_tree->getPathId($page_id); // out of focus if (!in_array($this->focus_id, $path)) { $mtpl = new ilTemplate("tpl.out_of_focus_message.html", true, true, "Modules/LearningModule"); $mtpl->setVariable("MESSAGE", $this->lng->txt("cont_out_of_focus_message")); $mtpl->setVariable("TXT_SHOW_CONTENT", $this->lng->txt("cont_show_content_after_focus")); if ($_GET["focus_return"] == "" || ilObject::_lookupType((int) $_GET["focus_return"], true) != "crs") { $mtpl->setVariable("TXT_BACK_BEGINNING", $this->lng->txt("cont_to_focus_beginning")); $this->ctrl->setParameter($this, "obj_id", $this->focus_id); $mtpl->setVariable("LINK_BACK_TO_BEGINNING", $this->ctrl->getLinkTarget($this, "layout")); $this->ctrl->setParameter($this, "obj_id", $_GET["obj_id"]); } else { $mtpl->setVariable("TXT_BACK_BEGINNING", $this->lng->txt("cont_to_focus_return_crs")); include_once "./Services/Link/classes/class.ilLink.php"; $mtpl->setVariable("LINK_BACK_TO_BEGINNING", ilLink::_getLink((int) $_GET["focus_return"])); } $this->ctrl->setParameter($this, "focus_id", ""); $mtpl->setVariable("LINK_SHOW_CONTENT", $this->ctrl->getLinkTarget($this, "layout")); $this->ctrl->setParameter($this, "focus_id", $_GET["focus_id"]); $focus_mess = $mtpl->get(); } else { $sp = $this->getSuccessorPage(); $path2 = array(); if ($sp > 0) { $path2 = $this->lm_tree->getPathId($this->getSuccessorPage()); } if ($sp == 0 || !in_array($this->focus_id, $path2)) { $mtpl = new ilTemplate("tpl.out_of_focus_message.html", true, true, "Modules/LearningModule"); $mtpl->setVariable("MESSAGE", $this->lng->txt("cont_out_of_focus_message_last_page")); $mtpl->setVariable("TXT_SHOW_CONTENT", $this->lng->txt("cont_show_content_after_focus")); if ($_GET["focus_return"] == "" || ilObject::_lookupType((int) $_GET["focus_return"], true) != "crs") { $mtpl->setVariable("TXT_BACK_BEGINNING", $this->lng->txt("cont_to_focus_beginning")); $this->ctrl->setParameter($this, "obj_id", $this->focus_id); $mtpl->setVariable("LINK_BACK_TO_BEGINNING", $this->ctrl->getLinkTarget($this, "layout")); $this->ctrl->setParameter($this, "obj_id", $_GET["obj_id"]); } else { $mtpl->setVariable("TXT_BACK_BEGINNING", $this->lng->txt("cont_to_focus_return_crs")); include_once "./Services/Link/classes/class.ilLink.php"; $mtpl->setVariable("LINK_BACK_TO_BEGINNING", ilLink::_getLink((int) $_GET["focus_return"])); } $this->ctrl->setParameter($this, "focus_id", ""); $mtpl->setVariable("LINK_SHOW_CONTENT", $this->ctrl->getLinkTarget($this, "layout")); $this->ctrl->setParameter($this, "focus_id", $_GET["focus_id"]); $focus_mess = $mtpl->get(); } } } // no page found if ($page_id == 0) { $cont = $this->lng->txt("cont_no_page"); $this->tpl->setVariable("PAGE_CONTENT", $cont); return $cont; } $page_object_gui = $this->getLMPageGUI($page_id); $this->basicPageGuiInit($page_object_gui); $page_object = $page_object_gui->getPageObject(); $page_object->buildDom(); $page_object->registerOfflineHandler($this); $int_links = $page_object->getInternalLinks(); $page_object_gui->setTemplateOutput(false); // Update personal desktop items $ilUser->setDesktopItemParameters($this->lm->getRefId(), $this->lm->getType(), $page_id); // Update course items include_once './Modules/Course/classes/class.ilCourseLMHistory.php'; ilCourseLMHistory::_updateLastAccess($ilUser->getId(), $this->lm->getRefId(), $page_id); // read link targets $link_xml = $this->getLinkXML($int_links, $this->getLayoutLinkTargets()); $link_xml .= $this->getLinkTargetsXML(); //echo htmlentities($link_xml); // get lm page object $lm_pg_obj = new ilLMPageObject($this->lm, $page_id); $lm_pg_obj->setLMId($this->lm->getId()); //$pg_obj->setParentId($this->lm->getId()); $page_object_gui->setLinkXML($link_xml); // determine target frames for internal links //$pg_frame = $_GET["frame"]; $page_object_gui->setLinkFrame($_GET["frame"]); // page title and tracking (not for header or footer page) if ($page_id == 0 || $page_id != $this->lm->getHeaderPage() && $page_id != $this->lm->getFooterPage()) { $page_object_gui->setPresentationTitle(ilLMPageObject::_getPresentationTitle($lm_pg_obj->getId(), $this->lm->getPageHeader(), $this->lm->isActiveNumbering(), $this->lm_set->get("time_scheduled_page_activation"), false, 0, $this->lang)); // track access if ($ilUser->getId() != ANONYMOUS_USER_ID && $page_id != 0 && !$this->offlineMode()) { $this->getTracker()->trackAccess($page_id); } } else { $page_object_gui->setEnabledPageFocus(false); $page_object_gui->getPageConfig()->setEnableSelfAssessment(false); } // ADDED FOR CITATION $page_object_gui->setLinkParams("ref_id=" . $this->lm->getRefId()); $page_object_gui->setTemplateTargetVar("PAGE_CONTENT"); $page_object_gui->setSourcecodeDownloadScript($this->getSourcecodeDownloadLink()); // syntax style $this->tpl->setCurrentBlock("SyntaxStyle"); if (!$this->offlineMode()) { $this->tpl->setVariable("LOCATION_SYNTAX_STYLESHEET", ilObjStyleSheet::getSyntaxStylePath()); } else { $this->tpl->setVariable("LOCATION_SYNTAX_STYLESHEET", "syntaxhighlight.css"); } $this->tpl->parseCurrentBlock(); $ret = $page_object_gui->presentation($page_object_gui->getOutputMode()); // process header if ($this->lm->getHeaderPage() > 0 && $page_id != $this->lm->getHeaderPage() && ($page_id == 0 || $page_id != $this->lm->getFooterPage())) { if (ilLMObject::_exists($this->lm->getHeaderPage())) { $head = $this->ilPage($a_page_node, $this->lm->getHeaderPage()); } } // process footer if ($this->lm->getFooterPage() > 0 && $page_id != $this->lm->getFooterPage() && ($page_id == 0 || $page_id != $this->lm->getHeaderPage())) { if (ilLMObject::_exists($this->lm->getFooterPage())) { $foot = $this->ilPage($a_page_node, $this->lm->getFooterPage()); } } // rating $rating = ""; if ($this->lm->hasRatingPages()) { include_once "./Services/Rating/classes/class.ilRatingGUI.php"; $rating_gui = new ilRatingGUI(); $rating_gui->setObject($this->lm->getId(), "lm", $page_id, "lm"); $rating_gui->setYourRatingText($this->lng->txt("lm_rate_page")); /* $this->tpl->setVariable("VAL_RATING", $rating->getHTML(false, true, "il.ExcPeerReview.saveComments(".$a_set["peer_id"].", %rating%)")); */ $this->ctrl->setParameter($this, "pgid", $page_id); $this->tpl->addOnLoadCode("il.LearningModule.setRatingUrl('" . $this->ctrl->getLinkTarget($this, "updatePageRating", "", true, false) . "')"); $this->ctrl->setParameter($this, "pgid", ""); $rating = '<div id="ilrtrpg" style="text-align:right">' . $rating_gui->getHtml(true, true, "il.LearningModule.saveRating(%rating%);") . "</div>"; } $this->tpl->setVariable("PAGE_CONTENT", $rating . $head . $focus_mess . $ret . $foot); //echo htmlentities("-".$ret."-"); return $head . $focus_mess . $ret . $foot; }
/** * Init user search cache * * @access private * */ protected function initUserSearchCache() { global $ilUser; include_once 'Services/Search/classes/class.ilUserSearchCache.php'; $this->search_cache = ilUserSearchCache::_getInstance($ilUser->getId()); $this->search_cache->switchSearchType(ilUserSearchCache::LUCENE_DEFAULT); if ((int) $_GET['page_number']) { $this->search_cache->setResultPageNumber((int) $_GET['page_number']); } if (isset($_POST['term'])) { $this->search_cache->setQuery(ilUtil::stripSlashes($_POST['term'])); if ($_POST['item_filter_enabled']) { $filtered = array(); foreach (ilSearchSettings::getInstance()->getEnabledLuceneItemFilterDefinitions() as $type => $data) { if ($_POST['filter_type'][$type]) { $filtered[$type] = 1; } } $this->search_cache->setItemFilter($filtered); // Mime filter $mime = array(); foreach (ilSearchSettings::getInstance()->getEnabledLuceneMimeFilterDefinitions() as $type => $data) { if ($_POST['filter_type'][$type]) { $mime[$type] = 1; } } $this->search_cache->setMimeFilter($mime); } else { // @todo: keep item filter settings $this->search_cache->setItemFilter(array()); $this->search_cache->setMimeFilter(array()); } } }
/** * process <ilPage> content tag * * @param object page node * @param integer footer/header page id */ function ilPage(&$a_page_node, $a_page_id = 0) { global $ilUser; if (($ilUser->getId() == ANONYMOUS_USER_ID || $this->needs_to_be_purchased) && $this->lm_gui->object->getPublicAccessMode() == 'selected') { $public = ilLMObject::_isPagePublic($this->getCurrentPageId()); if (!$public) { return $this->showNoPublicAccess($this->getCurrentPageId()); } } if (!ilObjContentObject::_checkPreconditionsOfPage($this->lm->getRefId(), $this->lm->getId(), $this->getCurrentPageId())) { return $this->showPreconditionsOfPage($this->getCurrentPageId()); } require_once "./Modules/LearningModule/classes/class.ilLMPageGUI.php"; require_once "./Modules/LearningModule/classes/class.ilLMPageObject.php"; // page id is e.g. > 0 when footer or header page is processed if ($a_page_id == 0) { $page_id = $this->getCurrentPageId(); //echo ":".$page_id.":"; // highlighting? if ($_GET["srcstring"] != "" && !$this->offlineMode()) { 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("ilLMPageContent", $w, $this->tpl); } } $this->fill_on_load_code = true; } } else { $page_id = $a_page_id; } // content style $this->tpl->setCurrentBlock("ContentStyle"); if (!$this->offlineMode()) { $this->tpl->setVariable("LOCATION_CONTENT_STYLESHEET", ilObjStyleSheet::getContentStylePath($this->lm->getStyleSheetId())); } else { $this->tpl->setVariable("LOCATION_CONTENT_STYLESHEET", "content_style/content.css"); } $this->tpl->parseCurrentBlock(); // no active page found in chapter if ($this->chapter_has_no_active_page && ilLMObject::_lookupType($_GET["obj_id"]) == "st") { $mtpl = new ilTemplate("tpl.no_content_message.html", true, true, "Modules/LearningModule"); $mtpl->setVariable("MESSAGE", $this->lng->txt("cont_no_page_in_chapter")); //$mtpl->setVariable("SRC_ICON", ilUtil::getImagePath("icon_st.png", // false, "output", $this->offlineMode())); $mtpl->setVariable("ITEM_TITLE", ilLMObject::_lookupTitle($_GET["obj_id"])); $this->tpl->setVariable("PAGE_CONTENT", $mtpl->get()); return $mtpl->get(); } // current page is deactivated if ($this->deactivated_page) { $mtpl = new ilTemplate("tpl.no_content_message.html", true, true, "Modules/LearningModule"); $m = $this->lng->txt("cont_page_currently_deactivated"); $act_data = ilLMPage::_lookupActivationData((int) $_GET["obj_id"], $this->lm->getType()); if ($act_data["show_activation_info"] && ilUtil::now() < $act_data["activation_start"]) { $m .= "<p>" . sprintf($this->lng->txt("cont_page_activation_on"), ilDatePresentation::formatDate(new ilDateTime($act_data["activation_start"], IL_CAL_DATETIME))) . "</p>"; } $mtpl->setVariable("MESSAGE", $m); //$mtpl->setVariable("SRC_ICON", ilUtil::getImagePath("icon_pg.png", // false, "output", $this->offlineMode())); $mtpl->setVariable("ITEM_TITLE", ilLMObject::_lookupTitle($_GET["obj_id"])); $this->tpl->setVariable("PAGE_CONTENT", $mtpl->get()); return $mtpl->get(); } // no page found if ($page_id == 0) { $cont = $this->lng->txt("cont_no_page"); $this->tpl->setVariable("PAGE_CONTENT", $cont); return $cont; } $page_object_gui = $this->getLMPageGUI($page_id); $this->basicPageGuiInit($page_object_gui); $page_object = $page_object_gui->getPageObject(); $page_object->buildDom(); $page_object->registerOfflineHandler($this); $int_links = $page_object->getInternalLinks(); $page_object_gui->setTemplateOutput(false); // Update personal desktop items $ilUser->setDesktopItemParameters($this->lm->getRefId(), $this->lm->getType(), $page_id); // Update course items include_once './Modules/Course/classes/class.ilCourseLMHistory.php'; ilCourseLMHistory::_updateLastAccess($ilUser->getId(), $this->lm->getRefId(), $page_id); // read link targets $link_xml = $this->getLinkXML($int_links, $this->getLayoutLinkTargets()); $link_xml .= $this->getLinkTargetsXML(); //echo htmlentities($link_xml); // get lm page object $lm_pg_obj = new ilLMPageObject($this->lm, $page_id); $lm_pg_obj->setLMId($this->lm->getId()); //$pg_obj->setParentId($this->lm->getId()); $page_object_gui->setLinkXML($link_xml); // determine target frames for internal links //$pg_frame = $_GET["frame"]; $page_object_gui->setLinkFrame($_GET["frame"]); // page title and tracking (not for header or footer page) if ($page_id == 0 || $page_id != $this->lm->getHeaderPage() && $page_id != $this->lm->getFooterPage()) { $page_object_gui->setPresentationTitle(ilLMPageObject::_getPresentationTitle($lm_pg_obj->getId(), $this->lm->getPageHeader(), $this->lm->isActiveNumbering(), $this->lm_set->get("time_scheduled_page_activation"))); // update learning progress if ($ilUser->getId() != ANONYMOUS_USER_ID) { // #9483 include_once "./Services/Tracking/classes/class.ilLearningProgress.php"; ilLearningProgress::_tracProgress($ilUser->getId(), $this->lm->getId(), $this->lm->getRefId(), $this->lm->getType()); // obsolete? include_once "./Services/Tracking/classes/class.ilLPStatusWrapper.php"; ilLPStatusWrapper::_updateStatus($this->lm->getId(), $ilUser->getId()); } } else { $page_object_gui->setEnabledPageFocus(false); $page_object_gui->getPageConfig()->setEnableSelfAssessment(false); } // ADDED FOR CITATION $page_object_gui->setLinkParams("ref_id=" . $this->lm->getRefId()); $page_object_gui->setTemplateTargetVar("PAGE_CONTENT"); $page_object_gui->setSourcecodeDownloadScript($this->getSourcecodeDownloadLink()); // syntax style $this->tpl->setCurrentBlock("SyntaxStyle"); if (!$this->offlineMode()) { $this->tpl->setVariable("LOCATION_SYNTAX_STYLESHEET", ilObjStyleSheet::getSyntaxStylePath()); } else { $this->tpl->setVariable("LOCATION_SYNTAX_STYLESHEET", "syntaxhighlight.css"); } $this->tpl->parseCurrentBlock(); $ret = $page_object_gui->presentation($page_object_gui->getOutputMode()); // process header if ($this->lm->getHeaderPage() > 0 && $page_id != $this->lm->getHeaderPage() && ($page_id == 0 || $page_id != $this->lm->getFooterPage())) { if (ilLMObject::_exists($this->lm->getHeaderPage())) { $head = $this->ilPage($a_page_node, $this->lm->getHeaderPage()); } } // process footer if ($this->lm->getFooterPage() > 0 && $page_id != $this->lm->getFooterPage() && ($page_id == 0 || $page_id != $this->lm->getHeaderPage())) { if (ilLMObject::_exists($this->lm->getFooterPage())) { $foot = $this->ilPage($a_page_node, $this->lm->getFooterPage()); } } $this->tpl->setVariable("PAGE_CONTENT", $head . $ret . $foot); //echo htmlentities("-".$ret."-"); return $head . $ret . $foot; }
/** * Init user search cache * * @access private * */ private function initUserSearchCache() { global $ilUser; include_once 'Services/Search/classes/class.ilUserSearchCache.php'; $this->search_cache = ilUserSearchCache::_getInstance($ilUser->getId()); $this->search_cache->switchSearchType(ilUserSearchCache::ADVANCED_SEARCH); if ($_GET['page_number']) { $this->search_cache->setResultPageNumber((int) $_GET['page_number']); } if ($_POST['cmd']['performSearch']) { $this->search_cache->setQuery(ilUtil::stripSlashes($_POST['query']['lomContent'])); $this->search_cache->save(); } }
/** * Init user search cache * * @access private * */ protected function initUserSearchCache() { include_once 'Services/Search/classes/class.ilUserSearchCache.php'; $this->search_cache = ilUserSearchCache::_getInstance($this->getUserId()); $this->offset = $this->getMaxHits() * ($this->search_cache->getResultPageNumber() - 1); }
/** * Init user search cache * * @access private * */ protected function initUserSearchCache() { global $ilUser; include_once 'Services/Search/classes/class.ilUserSearchCache.php'; $this->search_cache = ilUserSearchCache::_getInstance($ilUser->getId()); $this->search_cache->switchSearchType(ilUserSearchCache::LUCENE_ADVANCED); if ((int) $_GET['page_number']) { $this->search_cache->setResultPageNumber((int) $_GET['page_number']); } if (isset($_POST['query'])) { $this->search_cache->setQuery($_POST['query']); } }