/**
  * @param ilForumTopic $thread
  */
 public function fillRow(ilForumTopic $thread)
 {
     /**
      * @var $ilUser ilObjUser
      */
     global $ilUser;
     $this->ctrl->setParameter($this->getParentObject(), 'thr_pk', $thread->getId());
     if ('mergeThreads' == $this->parent_cmd) {
         $checked = $this->max_count == 1 || isset($_POST['thread_ids']) && in_array($thread->getId(), $_POST['thread_ids']);
         $this->tpl->setVariable('VAL_CHECK', ilUtil::formRadioButton($checked, 'thread_ids[]', $thread->getId()));
     } else {
         if ('showThreads' == $this->parent_cmd) {
             $this->tpl->setVariable('VAL_CHECK', ilUtil::formCheckbox(isset($_POST['thread_ids']) && in_array($thread->getId(), $_POST['thread_ids']) ? true : false, 'thread_ids[]', $thread->getId()));
             if ($this->parent_obj->objProperties->isIsThreadRatingEnabled()) {
                 $rating = new ilRatingGUI();
                 $rating->setObject($this->parent_obj->object->getId(), $this->parent_obj->object->getType(), $thread->getId(), 'thread');
                 $rating->setUserId($ilUser->getId());
                 $this->tpl->setVariable('VAL_RATING', $rating->getHTML());
             }
         } else {
             if ($thread->isSticky()) {
                 $this->tpl->setVariable('VAL_SORTING_NAME', 'thread_sorting[' . $thread->getId() . ']');
                 $this->tpl->setVariable('VAL_SORTING', (int) $this->position * 10);
             } else {
                 $this->tpl->setVariable('VAL_CHECK', '');
             }
             $this->position++;
         }
     }
     $subject = '';
     if ($thread->isSticky()) {
         $subject .= '<span class="light">[' . $this->lng->txt('sticky') . ']</span> ';
     }
     if ($thread->isClosed()) {
         $subject .= '<span class="light">[' . $this->lng->txt('topic_close') . ']</span> ';
     }
     if (!$ilUser->isAnonymous() && $this->ilias->getSetting('forum_notification') != 0 && $thread->getUserNotificationEnabled()) {
         $subject .= '<span class="light">[' . $this->lng->txt('forums_notification_enabled') . ']</span> ';
     }
     $num_posts = $thread->getNumPosts();
     $num_unread = $thread->getNumUnreadPosts();
     $num_new = $thread->getNumNewPosts();
     if ($num_posts > 0) {
         $subject = '<div><a href="' . $this->ctrl->getLinkTarget($this->getParentObject(), 'viewThread') . '">' . $thread->getSubject() . '</a></div>' . $subject;
     } else {
         $subject = $thread->getSubject() . $subject;
     }
     $this->tpl->setVariable('VAL_SUBJECT', $subject);
     // Author
     $this->ctrl->setParameter($this->getParentObject(), 'backurl', urlencode($this->ctrl->getLinkTargetByClass("ilrepositorygui", "")));
     $this->ctrl->setParameter($this->getParentObject(), 'user', $thread->getDisplayUserId());
     $authorinfo = new ilForumAuthorInformation($thread->getThrAuthorId(), $thread->getDisplayUserId(), $thread->getUserAlias(), $thread->getImportName(), array('class' => 'il_ItemProperty', 'href' => $this->ctrl->getLinkTarget($this->getParentObject(), 'showUser')));
     $this->tpl->setVariable('VAL_AUTHOR', $authorinfo->getLinkedAuthorName());
     $topicStats = $num_posts;
     if (!$ilUser->isAnonymous()) {
         if ($num_unread > 0) {
             $topicStats .= '<br /><span class="ilAlert ilWhiteSpaceNowrap">' . $this->lng->txt('unread') . ': ' . $num_unread . '</span>';
         }
         if ($num_new > 0 && $this->getOverviewSetting() == 0) {
             $topicStats .= '<br /><span class="ilAlert ilWhiteSpaceNowrap">' . $this->lng->txt('new') . ': ' . $num_new . '</span>';
         }
     }
     $this->tpl->setVariable('VAL_ARTICLE_STATS', $topicStats);
     $this->tpl->setVariable('VAL_NUM_VISIT', $thread->getVisits());
     // Last posting
     if ($num_posts > 0) {
         if ($this->getIsModerator()) {
             $objLastPost = $thread->getLastPost();
         } else {
             $objLastPost = $thread->getLastActivePost();
         }
         if (is_object($objLastPost)) {
             $authorinfo = new ilForumAuthorInformation($objLastPost->getPosAuthorId(), $objLastPost->getDisplayUserId(), $objLastPost->getUserAlias(), $objLastPost->getImportName(), array('href' => $this->ctrl->getLinkTarget($this->getParentObject(), 'viewThread') . '#' . $objLastPost->getId()));
             $this->tpl->setVariable('VAL_LP_DATE', '<div class="ilWhiteSpaceNowrap">' . ilDatePresentation::formatDate(new ilDateTime($objLastPost->getCreateDate(), IL_CAL_DATETIME)) . '</div>' . '<div class="ilWhiteSpaceNowrap">' . $this->lng->txt('from') . ' ' . $authorinfo->getLinkedAuthorName() . '</div>');
         }
     }
     // Row style
     $css_row = $this->css_row;
     if ($thread->isSticky()) {
         $css_row = $css_row == 'tblrow1' ? 'tblstickyrow1' : 'tblstickyrow2';
     }
     $this->tpl->setVariable('CSS_ROW', $css_row);
     $this->ctrl->setParameter($this->getParentObject(), 'thr_pk', '');
     $this->ctrl->setParameter($this->getParentObject(), 'user', '');
     $this->ctrl->setParameter($this->getParentObject(), 'backurl', '');
 }
 /**
  * 
  */
 public function exportHTML()
 {
     /**
      * @var $tpl      ilTemplate
      * @var $lng      ilLanguage
      * @var $ilAccess ilAccessHandler
      * @var $ilias    ILIAS
      */
     global $lng, $tpl, $ilAccess, $ilias;
     if (!$ilAccess->checkAccess('read,visible', '', $_GET['ref_id'])) {
         $ilias->raiseError($lng->txt('permission_denied'), $ilias->error_obj->MESSAGE);
     }
     ilDatePresentation::setUseRelativeDates(false);
     $tpl = new ilTemplate('tpl.forums_export_html.html', true, true, 'Modules/Forum');
     $location_stylesheet = ilUtil::getStyleSheetLocation();
     $tpl->setVariable('LOCATION_STYLESHEET', $location_stylesheet);
     $tpl->setVariable('BASE', substr(ILIAS_HTTP_PATH, -1) == '/' ? ILIAS_HTTP_PATH : ILIAS_HTTP_PATH . '/');
     $num_threads = count((array) $_POST['thread_ids']);
     for ($j = 0; $j < $num_threads; $j++) {
         $topic = new ilForumTopic((int) $_POST['thread_ids'][$j], $this->is_moderator);
         $this->frm->setMDB2WhereCondition('top_pk = %s ', array('integer'), array($topic->getForumId()));
         if (is_array($thread_data = $this->frm->getOneTopic())) {
             if (0 == $j) {
                 $tpl->setVariable('TITLE', $thread_data['top_name']);
             }
             $first_post = $topic->getFirstPostNode();
             $topic->setOrderField('frm_posts_tree.rgt');
             $post_collection = $topic->getPostTree($first_post);
             $z = 0;
             foreach ($post_collection as $post) {
                 $this->renderPostHtml($tpl, $post, $z++, self::MODE_EXPORT_CLIENT);
             }
             $tpl->setCurrentBlock('thread_headline');
             $tpl->setVariable('T_TITLE', $topic->getSubject());
             if ($this->is_moderator) {
                 $tpl->setVariable('T_NUM_POSTS', $topic->countPosts());
             } else {
                 $tpl->setVariable('T_NUM_POSTS', $topic->countActivePosts());
             }
             $tpl->setVariable('T_NUM_VISITS', $topic->getVisits());
             $tpl->setVariable('T_FORUM', $thread_data['top_name']);
             $authorinfo = new ilForumAuthorInformation($topic->getThrAuthorId(), $topic->getDisplayUserId(), $topic->getUserAlias(), $topic->getImportName());
             $tpl->setVariable('T_AUTHOR', $authorinfo->getAuthorName());
             $tpl->setVariable('T_TXT_FORUM', $lng->txt('forum') . ': ');
             $tpl->setVariable('T_TXT_TOPIC', $lng->txt('forums_thread') . ': ');
             $tpl->setVariable('T_TXT_AUTHOR', $lng->txt('forums_thread_create_from') . ': ');
             $tpl->setVariable('T_TXT_NUM_POSTS', $lng->txt('forums_articles') . ': ');
             $tpl->setVariable('T_TXT_NUM_VISITS', $lng->txt('visits') . ': ');
             $tpl->parseCurrentBlock();
         }
         $tpl->setCurrentBlock('thread_block');
         $tpl->parseCurrentBlock();
     }
     ilUtil::deliverData($tpl->get('DEFAULT', false, false, false, true, false, false), 'forum_html_export_' . $_GET['ref_id'] . '.html');
 }