private function _getForumList($fid)
 {
     require_once libfile('function/forumlist');
     $forumList = array();
     // 子版块
     if ($fid > 0) {
         $tempForum = array();
         $tempForum['board_category_id'] = $fid;
         $tempForum['board_category_name'] = WebUtils::emptyHtml(DzForumForum::getNameByFid($fid));
         $tempForum['board_category_type'] = 1;
         $forums = ForumUtils::getForumSubList($fid);
         foreach ($forums as $forum) {
             $tempForum['board_list'][] = $this->_getForumInfo($forum);
         }
         $forumList[] = $tempForum;
     } else {
         $forumColumnStyle = WebUtils::getDzPluginAppbymeAppConfig('dzsyscache_forum_column_style');
         $groups = ForumUtils::getForumGroupList();
         foreach ($groups as $group) {
             $gid = (int) $group['fid'];
             $tempGroup = array();
             $tempGroup['board_category_id'] = $gid;
             $tempGroup['board_category_name'] = WebUtils::emptyHtml($group['name']);
             $tempGroup['board_category_type'] = isset($forumColumnStyle[$gid]) ? (int) $forumColumnStyle[$gid] : 2;
             $forums = ForumUtils::getForumList($group['fid']);
             foreach ($forums as $forum) {
                 $tempGroup['board_list'][] = $this->_getForumInfo($forum);
             }
             $forumList[] = $tempGroup;
         }
     }
     $fidList = ForumUtils::getForumShowFids();
     $imgFidList = ForumUtils::getForumImageShowFids();
     $tempGroupList = array();
     foreach ($forumList as $key => $group) {
         $tempForumList = array();
         foreach ($group['board_list'] as $forum) {
             if (in_array($forum['board_id'], $fidList)) {
                 if (!in_array($forum['board_id'], $imgFidList)) {
                     $forum['board_img'] = '';
                 }
                 $tempForumList[] = $forum;
             }
         }
         if (!empty($tempForumList)) {
             $tempGroup = $group;
             $tempGroup['board_list'] = $tempForumList;
             $tempGroupList[] = $tempGroup;
         }
     }
     $forumList = $tempGroupList;
     return $forumList;
 }
Beispiel #2
0
 private function _getForumList($fid, $type)
 {
     require_once libfile('function/forumlist');
     $forumList = array();
     // 关注的板块
     $focusBoardIds = $this->_getFocusBoard();
     $params = array('focusBoardIds' => $focusBoardIds);
     // 子版块
     if ($fid > 0) {
         $tempForum = array();
         $tempForum['board_category_id'] = $fid;
         $tempForum['board_category_name'] = WebUtils::emptyHtml(DzForumForum::getNameByFid($fid));
         $tempForum['board_category_type'] = 1;
         $forums = ForumUtils::getForumSubList($fid);
         foreach ($forums as $forum) {
             $tempForum['board_list'][] = $this->_getForumInfo($forum, $params);
         }
         $forumList[] = $tempForum;
     } else {
         $forumColumnStyle = WebUtils::getDzPluginAppbymeAppConfig('dzsyscache_forum_column_style');
         $groups = ForumUtils::getForumGroupList();
         foreach ($groups as $group) {
             $gid = (int) $group['fid'];
             $tempGroup = array();
             $tempGroup['board_category_id'] = $gid;
             $tempGroup['board_category_name'] = WebUtils::emptyHtml($group['name']);
             $tempGroup['board_category_type'] = isset($forumColumnStyle[$gid]) ? (int) $forumColumnStyle[$gid] : 2;
             $forums = ForumUtils::getForumList($group['fid']);
             foreach ($forums as $forum) {
                 $tempGroup['board_list'][] = $this->_getForumInfo($forum, $params);
             }
             $forumList[] = $tempGroup;
         }
     }
     $fidList = ForumUtils::getForumShowFids();
     $imgFidList = ForumUtils::getForumImageShowFids();
     $tempGroupList = array();
     foreach ($forumList as $key => $group) {
         $tempForumList = array();
         foreach ($group['board_list'] as $forum) {
             if (in_array($forum['board_id'], $fidList)) {
                 if (!in_array($forum['board_id'], $imgFidList)) {
                     $forum['board_img'] = '';
                 }
                 $tempForumList[] = $forum;
             }
         }
         if (!empty($tempForumList)) {
             $tempGroup = $group;
             $tempGroup['board_list'] = $tempForumList;
             $tempGroupList[] = $tempGroup;
         }
     }
     $forumList = $tempGroupList;
     if ($type == 'rec') {
         // 推荐板块 按照总帖子进行排序
         $recommendedBoard = $topicTotalNum = $focusBoard = array();
         if ($fid == 0) {
             foreach ($forumList as $k => $v) {
                 $board = $forumList[$k]['board_list'];
                 $recommendedBoard = array_merge($recommendedBoard, $board);
             }
             foreach ($recommendedBoard as $k => $v) {
                 $topicTotalNum[] = $v['topic_total_num'];
                 if (in_array($v['board_id'], $focusBoardIds)) {
                     $focusBoard[] = $v;
                 }
             }
             array_multisort($topicTotalNum, SORT_DESC, $recommendedBoard);
             $recommendedBoard = array_slice($recommendedBoard, 0, 5);
         }
         return array('forumList' => $forumList, 'focusBoard' => $focusBoard, 'recommendedBoard' => $recommendedBoard);
     }
     return $forumList;
 }