Пример #1
0
        /// <summary>
        /// 获取版主信息
        /// </summary>
        /// <param name="info">版块信息</param>
        /// <param name="moderStyle">版主显示样式,0为横排,1为下拉</param>
        /// <returns></returns>
        private static string GetModerators(IndexPageForumInfo info, int moderStyle)
        {
            StringBuilder sb = new StringBuilder();
            StringBuilder subModeratorsBuilder = new StringBuilder();

            //如果当前用户权限不够
            if (sb.Length > 0)
            {
                sb.Remove(0, sb.Length);
            }

            int mainModerCount = info.Layer <= 0 ? 3 : 6;

            int count = 0;

            foreach (string moderators in Utils.SplitString(info.Moderators, ","))
            {
                if (!Utils.StrIsNullOrEmpty(moderators.Trim()))
                {
                    if (moderStyle == 0)
                    {
                        string link = string.Format("<a href=\"{0}userinfo.aspx?username={1}\" target=\"_blank\">{2}</a>,", BaseConfigs.GetForumPath, Utils.UrlEncode(moderators.Trim()), moderators.Trim());
                        //如果主版主列表个数已经超过限定值,则将版主加入到子列表中
                        if (count++ < mainModerCount)
                        {
                            sb.Append(link);
                        }
                        else
                        {
                            subModeratorsBuilder.AppendFormat("<li>{0}</li>", link.TrimEnd(','));
                        }
                    }
                    else
                    {
                        sb.AppendFormat("<option value=\"{0}\">{1}</option>", moderators.Trim(), moderators.Trim());
                    }
                }
            }
            if (!Utils.StrIsNullOrEmpty(sb.ToString()) && moderStyle == 1)
            {
                sb.Insert(0, string.Format("<select style=\"width: 100px;\" onchange=\"window.open('{0}userinfo.aspx?username='******'ctrlid':this.id, 'pos':'21'}})\">......</a><ul id=\"forum{0}_submoderators_menu\" class=\"p_pop moders\" style=\"position: absolute; z-index: 301; left: 998.5px; top: 93px; display: none;\">", info.Fid));
                subModeratorsBuilder.Append("</ul>");
                sb.Append(subModeratorsBuilder);
            }
            return(sb.ToString().TrimEnd(','));
        }
Пример #2
0
        /// <summary>
        /// 获取版主信息
        /// </summary>
        /// <param name="info">版块信息</param>
        /// <param name="moderstyle">版主显示样式,0为横排,1为下拉</param>
        /// <returns></returns>
        private static string GetModerators(IndexPageForumInfo info, int moderstyle)
        {
            StringBuilder sb = new StringBuilder();

            //如果当前用户权限不够
            if (sb.Length > 0)
            {
                sb.Remove(0, sb.Length);
            }

            foreach (string moderators in Utils.SplitString(info.Moderators, ","))
            {
                if (moderstyle == 0)
                {
                    if (!Utils.StrIsNullOrEmpty(moderators.Trim()))
                    {
                        if (!Utils.StrIsNullOrEmpty(sb.ToString()))
                        {
                            sb.Append(",");
                        }

                        sb.AppendFormat("<a href=\"{0}userinfo.aspx?username={1}\" target=\"_blank\">{2}</a>", BaseConfigs.GetForumPath, Utils.UrlEncode(moderators.Trim()), moderators.Trim());
                    }
                }
                else
                {
                    if (!Utils.StrIsNullOrEmpty(moderators.Trim()))
                    {
                        sb.AppendFormat("<option value=\"{0}\">{1}</option>", moderators.Trim(), moderators.Trim());
                    }
                }
            }
            if (!Utils.StrIsNullOrEmpty(sb.ToString()) && moderstyle == 1)
            {
                sb.Insert(0, string.Format("<select style=\"width: 100px;\" onchange=\"window.open('{0}userinfo.aspx?username=' + escape(this.value));\">", BaseConfigs.GetForumPath));
                sb.Append("</select>");
            }
            return(sb.ToString());
        }
Пример #3
0
        public static List <IndexPageForumInfo> GetSubForumList(int fid, int colcount)
        {
            IDataReader reader = DatabaseProvider.GetInstance().GetSubForumReader(fid);
            List <IndexPageForumInfo> indexPageForumList = new List <IndexPageForumInfo>();

            if (reader != null)
            {
                while (reader.Read())
                {
                    IndexPageForumInfo info = new IndexPageForumInfo();
                    //赋值
                    info.Fid              = TypeConverter.StrToInt(reader["fid"].ToString(), 0);
                    info.Parentid         = TypeConverter.StrToInt(reader["parentid"].ToString(), 0);
                    info.Layer            = TypeConverter.StrToInt(reader["layer"].ToString(), 0);
                    info.Name             = reader["name"].ToString();
                    info.Pathlist         = reader["pathlist"].ToString();
                    info.Parentidlist     = reader["parentidlist"].ToString();
                    info.Subforumcount    = TypeConverter.StrToInt(reader["subforumcount"].ToString(), 0);
                    info.Status           = TypeConverter.StrToInt(reader["status"].ToString(), 0);
                    info.Colcount         = colcount > 0 ? colcount : TypeConverter.StrToInt(reader["colcount"].ToString(), 0);
                    info.Displayorder     = TypeConverter.StrToInt(reader["displayorder"].ToString(), 0);
                    info.Templateid       = TypeConverter.StrToInt(reader["templateid"].ToString(), 0);
                    info.Topics           = TypeConverter.StrToInt(reader["topics"].ToString(), 0);
                    info.CurrentTopics    = TypeConverter.StrToInt(reader["curtopics"].ToString(), 0);
                    info.Posts            = TypeConverter.StrToInt(reader["posts"].ToString(), 0);
                    info.Todayposts       = TypeConverter.StrToInt(reader["todayposts"].ToString(), 0);
                    info.Lastpost         = reader["lastpost"].ToString();
                    info.Lastposter       = reader["lastposter"].ToString();
                    info.Lasttid          = TypeConverter.StrToInt(reader["lasttid"].ToString(), 0);
                    info.Lastposterid     = TypeConverter.StrToInt(reader["lastposterid"].ToString(), 0);
                    info.Lasttitle        = reader["lasttitle"].ToString();
                    info.Allowsmilies     = TypeConverter.StrToInt(reader["allowsmilies"].ToString(), 0);
                    info.Allowrss         = TypeConverter.StrToInt(reader["allowrss"].ToString(), 0);
                    info.Allowhtml        = TypeConverter.StrToInt(reader["allowhtml"].ToString(), 0);
                    info.Allowbbcode      = TypeConverter.StrToInt(reader["allowbbcode"].ToString(), 0);
                    info.Allowimgcode     = TypeConverter.StrToInt(reader["allowimgcode"].ToString(), 0);
                    info.Allowblog        = TypeConverter.StrToInt(reader["allowblog"].ToString(), 0);
                    info.Istrade          = TypeConverter.StrToInt(reader["istrade"].ToString(), 0);
                    info.Allowpostspecial = TypeConverter.StrToInt(reader["allowpostspecial"].ToString(), 0);
                    info.Allowspecialonly = TypeConverter.StrToInt(reader["allowspecialonly"].ToString(), 0);
                    info.Alloweditrules   = TypeConverter.StrToInt(reader["alloweditrules"].ToString(), 0);
                    info.Allowthumbnail   = TypeConverter.StrToInt(reader["allowthumbnail"].ToString(), 0);
                    info.Recyclebin       = TypeConverter.StrToInt(reader["recyclebin"].ToString(), 0);
                    info.Modnewposts      = TypeConverter.StrToInt(reader["modnewposts"].ToString(), 0);
                    info.Jammer           = TypeConverter.StrToInt(reader["jammer"].ToString(), 0);
                    info.Disablewatermark = TypeConverter.StrToInt(reader["disablewatermark"].ToString(), 0);
                    info.Inheritedmod     = TypeConverter.StrToInt(reader["inheritedmod"].ToString(), 0);
                    info.Autoclose        = TypeConverter.StrToInt(reader["autoclose"].ToString(), 0);

                    info.Description = reader["description"].ToString();
                    info.Password    = reader["password"].ToString();
                    info.Icon        = reader["icon"].ToString();
                    if (!Utils.StrIsNullOrEmpty(info.Icon))
                    {
                        info.Icon = info.Icon.ToLower().IndexOf("http://") == 0 ? info.Icon : BaseConfigs.GetForumPath + info.Icon;
                    }

                    info.Postcredits      = reader["postcredits"].ToString();
                    info.Replycredits     = reader["replycredits"].ToString();
                    info.Redirect         = reader["redirect"].ToString();
                    info.Attachextensions = reader["attachextensions"].ToString();
                    info.Moderators       = reader["moderators"].ToString();
                    info.Rules            = reader["rules"].ToString();
                    info.Topictypes       = reader["topictypes"].ToString();
                    info.Viewperm         = reader["viewperm"].ToString();
                    info.Postperm         = reader["postperm"].ToString();
                    info.Replyperm        = reader["replyperm"].ToString();
                    info.Getattachperm    = reader["getattachperm"].ToString();
                    info.Postattachperm   = reader["postattachperm"].ToString();
                    info.Applytopictype   = TypeConverter.StrToInt(reader["applytopictype"].ToString(), 0);
                    info.Postbytopictype  = TypeConverter.StrToInt(reader["postbytopictype"].ToString(), 0);
                    info.Viewbytopictype  = TypeConverter.StrToInt(reader["viewbytopictype"].ToString(), 0);
                    info.Topictypeprefix  = TypeConverter.StrToInt(reader["topictypeprefix"].ToString(), 0);
                    info.Permuserlist     = reader["permuserlist"].ToString();
                    info.Seokeywords      = reader["seokeywords"].ToString();
                    info.Seodescription   = reader["seodescription"].ToString();
                    info.Rewritename      = reader["rewritename"].ToString();

                    //扩展属性
                    info.Havenew = reader["havenew"].ToString();

                    indexPageForumList.Add(info);
                }
                reader.Close();
            }
            return(indexPageForumList);
        }