Discuz.Forum/ForumHots.cs
(开头部分) 12KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Text;
using System.Data;
using Discuz.Cache;
using Discuz.Config;
using Discuz.Common;
using Discuz.Entity;
using System.IO;
using System.Text.RegularExpressions;
using Discuz.Common.Generic;
namespace Discuz.Forum
{
/// <summary>
/// 热点管理类
/// </summary>
public class ForumHots
{
/// <summary>
/// 获得帖子列表
/// </summary>
/// <param name="count">数量</param>
/// <param name="views">最小浏览量</param>
/// <param name="fid">板块ID</param>
/// <param name="timetype">期限类型,一天、一周、一月、不限制</param>
/// <param name="ordertype">排序类型,时间倒序、浏览量倒序、最后回复倒序</param>
/// <param name="isdigest">是否精华</param>
/// <param name="cachetime">缓存的有效期(单位:分钟)</param>
/// <returns></returns>
public static DataTable GetTopicList(ForumHotItemInfo forumHotItemInfo)
{
//防止恶意行为
forumHotItemInfo.Cachetimeout = forumHotItemInfo.Cachetimeout == 0 ? 1 : forumHotItemInfo.Cachetimeout;
forumHotItemInfo.Dataitemcount = forumHotItemInfo.Dataitemcount > 50 ? 50 : (forumHotItemInfo.Dataitemcount < 1 ? 1 : forumHotItemInfo.Dataitemcount);
DataTable dt = new DataTable();
if (forumHotItemInfo.Cachetimeout > 0)
dt = DNTCache.GetCacheService().RetrieveObject("/Forum/ForumHostList-" + forumHotItemInfo.Id) as DataTable;
if (dt == null)
{
//如果版块idlist设置为空,则默认读取所有可见板块的idlist
string forumList = string.IsNullOrEmpty(forumHotItemInfo.Forumlist) ? Forums.GetVisibleForum() : forumHotItemInfo.Forumlist;
string orderFieldName = Focuses.GetFieldName((TopicOrderType)Enum.Parse(typeof(TopicOrderType), forumHotItemInfo.Sorttype));
dt = Discuz.Data.Topics.GetTopicList(forumHotItemInfo.Dataitemcount, -1, 0, "",
Focuses.GetStartDate((TopicTimeType)Enum.Parse(typeof(TopicTimeType), forumHotItemInfo.Datatimetype)),
orderFieldName, forumList, orderFieldName == "digest", false);
if (forumHotItemInfo.Cachetimeout > 0)
DNTCache.GetCacheService().AddObject("/Forum/ForumHostList-" + forumHotItemInfo.Id, dt, forumHotItemInfo.Cachetimeout);
}
return dt;
}
/// <summary>
/// 获取一个帖子的缓存
/// </summary>
后面还有 201 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。
