private function _getTopicInfo($topic, $params = array())
 {
     extract($params);
     $topicInfo = array();
     $tid = (int) $topic['tid'];
     if (!empty($topic)) {
         $post = ForumUtils::getTopicPostInfo($tid);
         if (!empty($post)) {
             $content = ForumUtils::getTopicContent($tid, $post);
             $sort = $this->_getSortInfo($topic);
             global $_G;
             $typeTitle = $sortTitle = '';
             if ($_G['forum_thread']['typeid'] && $_G['forum']['threadtypes']['types'][$_G['forum_thread']['typeid']]) {
                 if (!IS_ROBOT && ($_G['forum']['threadtypes']['listable'] || $_G['forum']['status'] == 3)) {
                     $typeTitle = "[{$_G['forum']['threadtypes']['types'][$_G['forum_thread']['typeid']]}]";
                 } else {
                     $typeTitle = "[{$_G['forum']['threadtypes']['types'][$_G['forum_thread']['typeid']]}]";
                 }
             }
             if (!empty($sort['title'])) {
                 $sortTitle = "[{$sort['title']}]";
             }
             $topicInfo['topic_id'] = $tid;
             $topicInfo['title'] = $typeTitle . $sortTitle . $topic['subject'];
             $topicInfo['title'] = WebUtils::emptyHtml($topicInfo['title']);
             // 修正帖子查看数
             if (isset($_G['forum_thread']['views']) && $_G['forum_thread']['tid'] == $topic['tid'] && $_G['forum_thread']['views'] > $topic['views']) {
                 $topic['views'] = $_G['forum_thread']['views'];
             }
             $topicInfo['type'] = ForumUtils::getTopicType($topic);
             $topicInfo['sortId'] = (int) $topic['sortid'];
             $topicInfo['user_id'] = ForumUtils::isAnonymousPost($tid, $post) ? 0 : (int) $topic['authorid'];
             $topicInfo['user_nick_name'] = ForumUtils::isAnonymousPost($tid, $post) ? $this->_getAnonymoustext() : $topic['author'];
             $topicInfo['replies'] = (int) $topic['replies'];
             $topicInfo['hits'] = (int) ($topic['replies'] > $topic['views'] ? $topic['replies'] : $topic['views']);
             $topicInfo['essence'] = ForumUtils::isMarrowTopic($topic) ? 1 : 0;
             $topicInfo['vote'] = ForumUtils::isVoteTopic($topic) ? 1 : 0;
             $topicInfo['hot'] = ForumUtils::isHotTopic($topic) ? 1 : 0;
             $topicInfo['top'] = ForumUtils::isTopTopic($topic) ? 1 : 0;
             $topicInfo['is_favor'] = ForumUtils::isFavoriteTopic($_G['uid'], $tid) ? 1 : 0;
             $topicInfo['create_date'] = $topic['dateline'] . '000';
             $topicInfo['icon'] = UserUtils::getUserAvatar($topicInfo['user_id']);
             $topicInfo['level'] = $this->_getUserLevel($topicInfo['user_id']);
             $topicInfo['userTitle'] = UserUtils::getUserTitle($topicInfo['user_id']);
             $postContent = $this->_getPostContent($content);
             if (!empty($sort['summary'])) {
                 array_unshift($postContent, $this->_transSortInfo($sort));
             }
             $topicInfo['content'] = $postContent;
             if ($topicInfo['type'] == 'normal') {
                 $this->_isComplexContent($topicInfo['content']) && ($topicInfo['type'] = 'normal_complex');
             }
             $topicInfo['poll_info'] = ForumUtils::isVoteTopic($topic) ? $this->_getVoteInfo($topic) : WebUtils::getWebApiResPadding();
             $topicInfo['activityInfo'] = ForumUtils::isActivityTopic($topic) ? TopicUtils::getActivityInfo($topic) : WebUtils::getWebApiResPadding();
             $topicInfo['location'] = ForumUtils::getTopicLocation($tid);
             // 主题管理面板编辑 start
             $userMember = $this->_getUserInfoByAuthorid($post['authorid']);
             $userMember = array_merge($userMember, $post);
             $params = array('editPerm' => $editPerm, 'userMember' => $userMember);
             // end
             $manageItems = ForumUtils::getPostManagePanel($params);
             foreach ($manageItems['topic'] as $key => $item) {
                 $item['type'] = $item['action'];
                 if ($item['action'] == 'edit') {
                     $item['action'] = WebUtils::getHttpFileName("forum.php?mod=post&action=edit&fid={$post['fid']}&tid={$tid}&pid={$post['pid']}");
                 } else {
                     $item['action'] = WebUtils::createUrl_oldVersion('forum/topicadminview', array('fid' => $post['fid'], 'tid' => $tid, 'pid' => $post['pid'], 'act' => $item['action'], 'type' => 'topic'));
                 }
                 $manageItems['topic'][$key] = $item;
             }
             $extraItems = ForumUtils::getPostExtraPanel();
             foreach ($extraItems['topic'] as $key => $item) {
                 $item['extParams'] = array('beforeAction' => '');
                 $item['type'] = $item['action'];
                 $item['action'] = '';
                 if ($item['type'] == 'rate') {
                     $item['action'] = WebUtils::createUrl_oldVersion('forum/topicrate', array('tid' => $tid, 'pid' => $post['pid'], 'type' => 'view'));
                     $item['extParams']['beforeAction'] = WebUtils::createUrl_oldVersion('forum/topicrate', array('tid' => $tid, 'pid' => $post['pid'], 'type' => 'check'));
                 } elseif ($item['type'] == 'support') {
                     $item['action'] = WebUtils::createUrl_oldVersion('forum/support', array('tid' => $tid, 'pid' => $post['pid'], 'type' => 'thread'));
                     $item['extParams']['recommendAdd'] = (int) $_G['thread']['recommend_add'];
                     $recommendAdd = DzSupportInfo::getSupportTopicByUidAndTid($_G['uid'], $tid);
                     $item['extParams']['isHasRecommendAdd'] = !empty($recommendAdd) ? 1 : 0;
                 }
                 $extraItems['topic'][$key] = $item;
             }
             $topicInfo['managePanel'] = $manageItems['topic'];
             $topicInfo['extraPanel'] = $extraItems['topic'];
             $topicInfo['mobileSign'] = ForumUtils::getMobileSign($post['status']);
             // if (empty($topic['author']) && !empty($topic['authorid'])){
             //     $topicInfo['reply_status'] = -1;
             // } else if(empty($topic['author']) && empty($topic['authorid'])){
             //     $topicInfo['reply_status'] = 0;
             // } else {
             //     $topicInfo['reply_status'] = 1;
             // }
             $topicInfo['status'] = 1;
             $topicInfo['reply_status'] = 1;
             $topicInfo['flag'] = 0;
             $topicInfo['gender'] = 1;
             $topicInfo['reply_posts_id'] = (int) $post['pid'];
             $topicInfo['rateList'] = ForumUtils::topicRateList($post['pid']);
         }
     }
     return $topicInfo;
 }
 private function _getListField($topicList)
 {
     global $_G;
     $forum = $_G['forum'];
     $isImageList = isset($_GET['isImageList']) ? $_GET['isImageList'] : 0;
     $list = array();
     foreach ($topicList as $topic) {
         // 该主题是由别的版块移动过来的
         $isTopicMoved = false;
         $movedTitle = '';
         if ($topic['closed'] > 1) {
             $movedTitle = WebUtils::t('移动: ');
             $isTopicMoved = true;
             $topic['tid'] = $topic['closed'];
         }
         $tid = (int) $topic['tid'];
         $topicFid = (int) $topic['fid'];
         // 主题分类标题
         $typeTitle = '';
         if (WebUtils::getDzPluginAppbymeAppConfig('forum_allow_topictype_prefix')) {
             if (isset($forum['threadtypes']['prefix']) && $forum['threadtypes']['prefix'] == 1 && isset($forum['threadtypes']['types'][$topic['typeid']])) {
                 $typeTitle = '[' . $forum['threadtypes']['types'][$topic['typeid']] . ']';
             }
         }
         // 分类信息标题
         $sortTitle = '';
         if (WebUtils::getDzPluginAppbymeAppConfig('forum_allow_topicsort_prefix')) {
             if (!empty($forum['threadsorts']['prefix']) && isset($forum['threadsorts']['types'][$topic['sortid']])) {
                 $sortTitle = '[' . $forum['threadsorts']['types'][$topic['sortid']] . ']';
             }
         }
         $isTopicMoved && ($typeTitle = $sortTitle = '');
         $topicInfo['board_id'] = $topicFid;
         $topicInfo['board_name'] = $fid != 0 ? $forum['name'] : ForumUtils::getForumName($topicFid);
         $topicInfo['board_name'] = WebUtils::emptyHtml($topicInfo['board_name']);
         $topicInfo['topic_id'] = $tid;
         $topicInfo['type'] = ForumUtils::getTopicType($topic);
         $topicInfo['title'] = $movedTitle . $typeTitle . $sortTitle . $topic['subject'];
         $topicInfo['title'] = WebUtils::emptyHtml($topicInfo['title']);
         // 修正帖子查看数
         if (isset($_G['forum_thread']['views']) && $_G['forum_thread']['tid'] == $topic['tid'] && $_G['forum_thread']['views'] > $topic['views']) {
             $topic['views'] = $_G['forum_thread']['views'];
         }
         $topicInfo['user_id'] = (int) $topic['authorid'];
         $topicInfo['user_nick_name'] = $topic['author'];
         $topicInfo['last_reply_date'] = $topic['lastpost'] . '000';
         $topicInfo['vote'] = ForumUtils::isVoteTopic($topic) ? 1 : 0;
         $topicInfo['hot'] = ForumUtils::isHotTopic($topic) ? 1 : 0;
         $topicInfo['hits'] = (int) $topic['views'];
         $topicInfo['replies'] = (int) $topic['replies'];
         $topicInfo['essence'] = ForumUtils::isMarrowTopic($topic) ? 1 : 0;
         $topicInfo['top'] = ForumUtils::isTopTopic($topic) ? 1 : 0;
         $topicInfo['status'] = (int) $topic['status'];
         $cache = Yii::app()->params['mobcent']['cache']['topicSummary'];
         $key = sprintf('mobcentTopicSummary_%s_%s_%s', $tid, $_G['groupid'], $isImageList);
         if (!$cache['enable'] || ($topicSummary = Yii::app()->cache->get($key)) === false) {
             $topicSummary = ForumUtils::getTopicSummary($tid, 'forum', true, array('imageList' => $isImageList, 'imageListLen' => 9, 'imageListThumb' => 1));
             if ($cache['enable']) {
                 Yii::app()->cache->set($key, $topicSummary, $cache['expire']);
             }
         }
         $topicInfo['subject'] = $topicSummary['msg'];
         // $topicInfo['pic_path'] = ImageUtils::getThumbImage($topicSummary['image']);
         $tempTopicInfo = ImageUtils::getThumbImageEx($topicSummary['image'], 15, true, false);
         $topicInfo['pic_path'] = $tempTopicInfo['image'];
         $topicInfo['ratio'] = $tempTopicInfo['ratio'];
         $topicInfo['userAvatar'] = UserUtils::getUserAvatar($topic['authorid']);
         $topicInfo['gender'] = (int) UserUtils::getUserGender($topic['authorid']);
         $topicInfo['recommendAdd'] = (int) ForumUtils::getRecommendAdd($tid);
         $topicInfo['isHasRecommendAdd'] = ForumUtils::isHasRecommendAdd($tid);
         $topicInfo['imageList'] = (array) $topicSummary['imageList'];
         $topicInfo['sourceWebUrl'] = (string) ForumUtils::getSourceWebUrl($tid, 'topic');
         $tmpList = $list[] = $topicInfo;
     }
     return $list;
 }