Backup/Discuz.Forum/Caches.cs
(开头部分) 43KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Data;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using Discuz.Common;
using Discuz.Data;
using Discuz.Config;
using Discuz.Entity;
using Discuz.Cache;
using Discuz.Config.Provider;
using Discuz.Common.Generic;
namespace Discuz.Forum
{
/// <summary>
/// 缓存论坛前台的一些界面HTML数据
/// </summary>
public class Caches
{
private static object lockHelper = new object();
/// <summary>
/// 获得版块下拉列表
/// </summary>
/// <param name="cateUnselectable">是否不可选择版块分类</param>
/// <returns>列表内容的html</returns>
public static string GetForumListBoxOptionsCache(bool cateUnselectable)
{
DNTCache cache = DNTCache.GetCacheService();
string str = cache.RetrieveObject("/Forum/UI/ForumListBoxOptions") as string;
if (Utils.StrIsNullOrEmpty(str))
{
StringBuilder sb = new StringBuilder();
AddOptionTree(Data.Forums.GetVisibleForumList(), "0", cateUnselectable, sb);
str = sb.ToString();
cache.AddObject("/Forum/UI/ForumListBoxOptions", str);
}
return str;
}
/// <summary>
/// 创建Select版块列表
/// </summary>
/// <param name="dt">版块列表</param>
/// <param name="parentid">parentid</param>
/// <param name="cateUnselectable">是否不可选择版块分类</param>
/// <param name="sb">生成结果</param>
private static void AddOptionTree(DataTable dt, string parentid, bool cateUnselectable, StringBuilder sb)
{
DataRow[] drs = dt.Select("parentid=" + parentid);
foreach (DataRow dr in drs)
{
if (cateUnselectable && dr["layer"].ToString().Trim() == "0")
{
sb.AppendFormat("<optgroup label=\"--{0}\">", dr["name"].ToString().Trim());
sb.Append(Utils.GetSpacesString(TypeConverter.ObjectToInt(dr["layer"])));
sb.Append(dr["name"].ToString().Trim());
}
后面还有 1134 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。
