/** * Constructor */ function ilNewsForContextBlockGUI() { global $ilCtrl, $lng, $ilUser, $ilHelp; parent::ilBlockGUI(); $this->setImage(ilUtil::getImagePath("icon_news_s.png")); $lng->loadLanguageModule("news"); $ilHelp->addHelpSection("news_block"); include_once "./Services/News/classes/class.ilNewsItem.php"; $this->setBlockId($ilCtrl->getContextObjId()); $this->setLimit(5); $this->setAvailableDetailLevels(3); $this->setEnableNumInfo(true); $this->dynamic = false; include_once "./Services/News/classes/class.ilNewsCache.php"; $this->acache = new ilNewsCache(); $cres = $this->acache->getEntry($ilUser->getId() . ":" . $_GET["ref_id"]); $this->cache_hit = false; if ($this->acache->getLastAccessStatus() == "hit") { self::$st_data = unserialize($cres); $this->cache_hit = true; } if ($this->getDynamic() && !$this->cache_hit) { $this->dynamic = true; $data = array(); } else { if ($this->getCurrentDetailLevel() > 0) { if (!empty(self::$st_data)) { $data = self::$st_data; } else { $data = $this->getNewsData(); self::$st_data = $data; } } else { $data = array(); } } $this->setTitle($lng->txt("news_internal_news")); $this->setRowTemplate("tpl.block_row_news_for_context.html", "Services/News"); $this->setData($data); $this->allow_moving = false; $this->handleView(); }
/** * BLOCK NewsForContext: Get block HTML. * */ public function getNewsForContextBlock() { global $lng; include_once "Services/News/classes/class.ilNewsForContextBlockGUI.php"; $block_gui = new ilNewsForContextBlockGUI(get_class($this)); $block_gui->setParentClass("ilinfoscreengui"); $block_gui->setParentCmd("showSummary"); $block_gui->setEnableEdit($this->getEnableEdit()); $news_item = new ilNewsItem(); // changed //$news_item->setContextObjId($this->ctrl->getContextObjId()); //$news_item->setContextObjType($this->ctrl->getContextObjType()); $news_item->setContextObjId($this->getContextObjId()); $news_item->setContextObjType($this->getContextObjType()); $news_item->setContextSubObjId($this->getContextSubObjId()); $news_item->setContextSubObjType($this->getContextSubObjType()); $data = $news_item->queryNewsForContext(); $block_gui->setTitle($lng->txt("news_block_news_for_context")); $block_gui->setRowTemplate("tpl.block_row_news_for_context.html", "Services/News"); $block_gui->setData($data); return $block_gui->getHTML(); }
/** * show news */ function showNews() { // workaround for dynamic mode (if cache is disabled, showNews has no data) // if (empty(self::$st_data)) // { // $this->setData($this->getNewsData()); // } return parent::showNews(); }