/**
  * 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();
 }