private static function __getTopTopicsByFid($fid, $page, $pageSize, $params) { // return DbUtils::getDzDbUtils(true)->queryAll(' // SELECT * // FROM %t // WHERE // (fid IN (%n) AND displayorder=%s) OR // (fid IN (%n) AND displayorder=%s) OR // (fid IN (%n) AND (displayorder=%s OR stamp=%s OR icon=%s)) // ORDER BY displayorder DESC, dateline DESC // LIMIT %d, %d // ', // array( // 'forum_thread', // self::_getFids(0), // self::DISPLAY_ORDER_GLOBAL, // DzForumForum::getFidsByGid(DzForumForum::getGidByFid($fid)), // self::DISPLAY_ORDER_GROUP, // self::_getFids($fid), // self::DISPLAY_ORDER_FORUM, // self::STAMP_TOP, self::ICON_TOP, // $pageSize * ($page-1), $pageSize // ) // ); // 不取置顶的图章,图标 // -- 以下注释 -- // return DbUtils::getDzDbUtils(true)->queryAll(' SELECT * FROM %t WHERE (fid IN (%n) AND displayorder=%s) OR (fid IN (%n) AND displayorder=%s) OR (fid IN (%n) AND displayorder=%s) ORDER BY displayorder DESC, dateline DESC LIMIT %d, %d ', array('forum_thread', self::_getFids(0), self::DISPLAY_ORDER_GLOBAL, DzForumForum::getFidsByGid(DzForumForum::getGidByFid($fid)), self::DISPLAY_ORDER_GROUP, self::_getFids($fid), self::DISPLAY_ORDER_FORUM, $pageSize * ($page - 1), $pageSize)); // $offset = ($page - 1) * $pageSize; // $params['topic_stick'] = array(1,2,3); // $params['topic_orderby'] = 'displayorder DESC, dateline'; // return self::getByFidData(self::_getFids(), $offset, $pageSize, $params); }
private function _getTopicInfos($fid, $page, $pageSize, $sort, $filterType = '', $filterId = '', $isImageList = '', $topOrder = '') { $infos = array('count' => 0, 'list' => array(), 'topTopicList' => array()); // global $_G; // $forum = $_G['forum']; $count = $this->_getTopicCount($fid, $sort, $filterType, $filterId); $topicList = $this->_getTopicList($fid, $page, $pageSize, $sort, $filterType, $filterId); $topTopicList = $topTopicListTmp = $topList = array(); if ($page == 1 && $topOrder != 0) { $status = $_GET['topOrder']; $fids = array(); switch ($status) { case DzForumThread::DISPLAY_ORDER_GLOBAL: $fids = ForumUtils::getForumShowFids(); break; case DzForumThread::DISPLAY_ORDER_GROUP: $fids = DzForumForum::getFidsByGid(DzForumForum::getGidByFid($fid)); break; case DzForumThread::DISPLAY_ORDER_FORUM: $fids = array($fid); break; default: break; } $topTopicListTmp = DzForumThread::getByFidData($fids, 0, 3, array('topic_stick' => array($status))); foreach ($topTopicListTmp as $top) { $topList['id'] = (int) $top['tid']; $topList['title'] = (string) $top['subject']; $topTopicList[] = $topList; } } // $topTopicList = $this->_getListField($topTopicList); $list = $this->_getListField($topicList); $infos['count'] = $count; $infos['list'] = $list; $infos['topTopicList'] = $topTopicList; return $infos; }