Beispiel #1
0
 private function _getInfoList($uid, $puid)
 {
     $list = array();
     $topicList = array();
     if ($uid == $puid) {
         $topicList = DzUserInfo::getFavouriteTopics($uid);
     } else {
         $topicList = DzUserInfo::getTopicsByUid($puid);
     }
     foreach ($topicList as $topic) {
         $topicSummary = ForumUtils::getTopicSummary((int) $topic['tid']);
         $tmpTopic['board_id'] = (int) $topic['fid'];
         $tmpTopic['board_name'] = ForumUtils::getForumName((int) $topic['fid']);
         $tmpTopic['topic_id'] = (int) $topic['tid'];
         $tmpTopic['title'] = $topic['subject'];
         $tmpTopic['user_id'] = (int) $topic['authorid'];
         $tmpTopic['lastpost'] = $topic['lastpost'] . "000";
         $tmpTopic['user_nick_name'] = $topic['author'];
         $tmpTopic['hits'] = (int) $topic['views'];
         $tmpTopic['content'] = WebUtils::emptyReturnLine($topicSummary['msg'], ' ');
         $tmpTopic['replies'] = (int) $topic['replies'];
         $tmpTopic['pic_path'] = ImageUtils::getThumbImage($topicSummary['image']);
         $list[] = $tmpTopic;
     }
     return $list;
 }
 private function _transTopicList($topicList, $type)
 {
     $list = array();
     global $_G;
     $forum = $_G['forum'];
     foreach ($topicList as $topic) {
         $tmpTopicInfo = ForumUtils::getTopicInfo((int) $topic);
         $topicSummary = ForumUtils::getTopicSummary((int) $topic);
         $topicInfo['board_id'] = (int) $tmpTopicInfo['fid'];
         $topicInfo['board_name'] = $fid != 0 ? $forum['name'] : ForumUtils::getForumName($tmpTopicInfo['fid']);
         $topicInfo['board_name'] = WebUtils::emptyHtml($topicInfo['board_name']);
         $topicInfo['topic_id'] = (int) $topic;
         $topicInfo['type_id'] = (int) $tmpTopicInfo['typeid'];
         $topicInfo['sort_id'] = (int) $tmpTopicInfo['sortid'];
         $topicInfo['title'] = WebUtils::emptyHtml($tmpTopicInfo['subject']);
         $topicSummary['msg'] = WebUtils::emptyReturnLine($topicSummary['msg'], ' ');
         $topicInfo['subject'] = $topicSummary['msg'];
         $topicInfo['user_id'] = (int) $tmpTopicInfo['authorid'];
         if ($type = 'favorite' && empty($tmpTopicInfo['author'])) {
             $dateline = UserTopicInfo::getUserfavorite($_G['uid'], $topic);
             $topicInfo['last_reply_date'] = $dateline . '000';
             $topicInfo['user_nick_name'] = UserUtils::getUserName($dateline['uid']);
         } else {
             $topicInfo['last_reply_date'] = $tmpTopicInfo['dateline'] . '000';
             $topicInfo['user_nick_name'] = (string) $tmpTopicInfo['author'];
         }
         $topicInfo['hits'] = (int) $tmpTopicInfo['views'];
         $topicInfo['replies'] = (int) $tmpTopicInfo['replies'];
         $topicInfo['top'] = (int) ForumUtils::isTopTopic($topic) ? 1 : 0;
         $topicInfo['status'] = (int) $tmpTopicInfo['status'];
         $topicInfo['essence'] = (int) $tmpTopicInfo['digest'] ? 1 : 0;
         $topicInfo['hot'] = (int) $tmpTopicInfo['highlight'] ? 1 : 0;
         $topicInfo['pic_path'] = ImageUtils::getThumbImage($topicSummary['image']);
         $list[] = $topicInfo;
     }
     return $list;
 }
Beispiel #3
0
 private function _getTopicInfos($uid, $longitude, $latitude, $radius, $page, $pageSize)
 {
     $topicInfos = array('count' => 0, 'list' => array());
     $count = SurroundingInfo::getTopicCountByTid($uid, $longitude, $latitude, $radius);
     $surroundTopics = SurroundingInfo::getAllTopicsByTid($uid, $longitude, $latitude, $radius, $page, $pageSize);
     $list = array();
     foreach ($surroundTopics as $topic) {
         $topicInfo = array();
         $topicId = (int) $topic['object_id'];
         // $tmpTopicInfo = ForumUtils::getTopicInfo($topicId);
         $tmpTopicInfo = $topic;
         if (!empty($tmpTopicInfo)) {
             $tmpUid = (int) $tmpTopicInfo['authorid'];
             $tmpFid = (int) $tmpTopicInfo['fid'];
             $topicInfo['distance'] = $topic['distance'];
             $topicInfo['location'] = $topic['location'];
             $topicInfo['board_id'] = $tmpFid;
             $topicInfo['board_name'] = ForumUtils::getForumName($tmpFid);
             $topicInfo['topic_id'] = $topicId;
             $topicInfo['title'] = $tmpTopicInfo['subject'];
             $topicInfo['uid'] = $tmpUid;
             $topicInfo['user_nick_name'] = $tmpTopicInfo['author'];
             $topicInfo['vote'] = ForumUtils::isVoteTopic($tmpTopicInfo) ? 1 : 0;
             $topicInfo['hot'] = ForumUtils::isHotTopic($tmpTopicInfo) ? 1 : 0;
             $topicInfo['hits'] = (int) $tmpTopicInfo['views'];
             $topicInfo['replies'] = (int) $tmpTopicInfo['replies'];
             $topicInfo['essence'] = ForumUtils::isMarrowTopic($tmpTopicInfo) ? 1 : 0;
             $topicInfo['top'] = ForumUtils::isTopTopic($tmpTopicInfo) ? 1 : 0;
             $topicInfo['last_reply_date'] = $tmpTopicInfo['lastpost'] . '000';
             $topicInfo['replies'] = (int) $tmpTopicInfo['replies'];
             $topicSummary = ForumUtils::getTopicSummary($topicId);
             $topicInfo['subject'] = $topicSummary['msg'];
             $topicInfo['pic_path'] = $topicSummary['image'];
             // $topicInfo['type_id'] = (int)$tmpTopicInfo['typeid'];
             // $topicInfo['sort_id'] = (int)$tmpTopicInfo['sortid'];
             // $topicInfo['poll'] = $tmpTopicInfo['lastpost'];
             $list[] = $topicInfo;
         }
     }
     $topicInfos['count'] = $count;
     $topicInfos['list'] = $list;
     return $topicInfos;
 }
Beispiel #4
0
 private function _autoFidData($fids, $offset, $pageSize, $params, $longitude, $latitude, $radius)
 {
     $lists = DzForumThread::getByFidData($fids, $offset, $pageSize, $params, $longitude, $latitude, $radius);
     // Mobcent::dumpSql();
     $rows = array();
     foreach ($lists as $list) {
         $topicSummary = ForumUtils::getTopicSummary($list['tid'], 'portal', true, array('imageList' => $_GET['isImageList'], 'imageListLen' => 9, 'imageListThumb' => 1));
         $rows[] = $this->_getListField($list, $topicSummary, 'topic', $list['tid'], $params);
     }
     return $rows;
 }
 private function _fieldInfo($topics)
 {
     $row = $rows = array();
     foreach ($topics as $v) {
         $topicSummary = ForumUtils::getTopicSummary($v['tid']);
         $row['board_id'] = (int) $v['fid'];
         $row['topic_id'] = (int) $v['tid'];
         $row['type_id'] = (int) $v['typeid'];
         $row['sort_id'] = (int) $v['sortid'];
         $row['vote'] = ForumUtils::isVoteTopic($v['tid']) ? 1 : 0;
         $row['title'] = (string) WebUtils::emptyHtml($v['subject']);
         $row['subject'] = (string) WebUtils::emptyReturnLine($topicSummary['msg']);
         $row['user_id'] = (int) $v['authorid'];
         $row['last_reply_date'] = $v['lastpost'] . "000";
         if ($row['last_reply_date'] == '000') {
             $row['last_reply_date'] = $v['dateline'] . "000";
         }
         $row['user_nick_name'] = (string) $v['author'];
         $row['hits'] = (int) $v['views'];
         $row['replies'] = (int) $v['replies'];
         $row['top'] = ForumUtils::isTopTopic($v['tid']) ? 1 : 0;
         $row['status'] = (int) $v['status'];
         $row['essence'] = (int) $v['digest'];
         $row['hot'] = ForumUtils::isHotTopic($v['tid']) ? 1 : 0;
         $row['pic_path'] = ImageUtils::getThumbImage($topicSummary['image']);
         $rows[] = $row;
     }
     return $rows;
 }
 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;
 }