Discuz.Forum/Feeds.cs

(开头部分) 6KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System.Text;

using Discuz.Common;
using Discuz.Config;
using Discuz.Cache;
using Discuz.Entity;

namespace Discuz.Forum
{
    /// <summary>
    /// Feed操作类
    /// </summary>
    public class Feeds
    {     
        /// <summary>
        /// 获得论坛最新的20个主题的Rss描述
        /// </summary>
        /// <param name="ttl">TTL数值</param>
        /// <returns>Rss描述</returns>
        public static string GetRssXml(int ttl)
        {
            DNTCache cache = DNTCache.GetCacheService();
            string rssContent = cache.RetrieveObject("/Forum/RSS/Index") as string;

            if (rssContent == null)
            {
                UserGroupInfo guestinfo = UserGroups.GetUserGroupInfo(7);
                StringBuilder forumlist = new StringBuilder();//允许访问的板块Id列表

                foreach (ForumInfo f in Forums.GetForumList())
                {
                    //当前版块允许rss订阅
                    if (f.Allowrss == 1)
                    {
                        //板块有权限设置信息时
                        if (!Utils.StrIsNullOrEmpty(f.Viewperm))
                        {
                            if (Utils.InArray("7", f.Viewperm, ","))
                                forumlist.AppendFormat(",{0}", f.Fid);
                        }
                        else
                        {
                            if (guestinfo.Allowvisit == 1)
                                forumlist.AppendFormat(",{0}", f.Fid);
                        }
                    }

                    //if (f.Allowrss == 0)
                    //    forumlist.AppendFormat(",{0}", f.Fid);
                    //else
                    //{
                    //    //板块权限设置为空,按照用户组权限走,RSS仅检查游客权限
                    //    if (Utils.StrIsNullOrEmpty(f.Viewperm))
                    //    {
                    //        if (guestinfo.Allowvisit == 0)
                    //            forumlist.AppendFormat(",{0}", f.Fid);
                    //    }
                    //    else
                    //    {
                    //        if (!Utils.InArray("7", f.Viewperm, ","))
后面还有 89 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。