Ejemplo n.º 1
0
        /// <summary>
        /// 以CustomEditorButtonInfo数组
        /// </summary>
        /// <returns></returns>
        public static CustomEditorButtonInfo[] GetCustomEditButtonListWithInfo()
        {
            IDataReader iDataReader = DatabaseProvider.GetInstance().GetCustomEditButtonList();
            List <CustomEditorButtonInfo> buttonList = new List <CustomEditorButtonInfo>();

            while (iDataReader.Read())
            {
                CustomEditorButtonInfo buttonInfo = new CustomEditorButtonInfo();
                buttonInfo.Id             = TypeConverter.ObjectToInt(iDataReader["id"]);
                buttonInfo.Tag            = iDataReader["Tag"].ToString();
                buttonInfo.Icon           = iDataReader["Icon"].ToString();
                buttonInfo.Available      = TypeConverter.ObjectToInt(iDataReader["Available"]);
                buttonInfo.Example        = iDataReader["Example"].ToString();
                buttonInfo.Explanation    = iDataReader["Explanation"].ToString();
                buttonInfo.Params         = TypeConverter.ObjectToInt(iDataReader["Params"]);
                buttonInfo.Nest           = TypeConverter.ObjectToInt(iDataReader["Nest"]);
                buttonInfo.Paramsdefvalue = iDataReader["Paramsdefvalue"].ToString();
                buttonInfo.Paramsdescript = iDataReader["Paramsdescript"].ToString();
                buttonInfo.Replacement    = iDataReader["Replacement"].ToString();
                buttonList.Add(buttonInfo);
            }
            iDataReader.Close();

            return(buttonList.ToArray());
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 以CustomEditorButtonInfo数组形式返回自定义按钮
        /// </summary>
        /// <returns></returns>
        public static CustomEditorButtonInfo[] GetCustomEditButtonListWithInfo()
        {
            Discuz.Cache.DNTCache    cache       = Discuz.Cache.DNTCache.GetCacheService();
            CustomEditorButtonInfo[] buttonArray = cache.RetrieveObject("/UI/CustomEditButtonInfo") as CustomEditorButtonInfo[];
            if (buttonArray == null)
            {
                DataTable dt = GetCustomEditButtonListWithTable();
                if (dt == null)
                {
                    return(null);
                }

                if (dt.Rows.Count <= 0)
                {
                    return(null);
                }

                buttonArray = new CustomEditorButtonInfo[dt.Rows.Count];
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    buttonArray[i]                = new CustomEditorButtonInfo();
                    buttonArray[i].Id             = Utils.StrToInt(dt.Rows[i]["id"], 0);
                    buttonArray[i].Tag            = dt.Rows[i]["Tag"].ToString();
                    buttonArray[i].Icon           = dt.Rows[i]["Icon"].ToString();
                    buttonArray[i].Available      = Utils.StrToInt(dt.Rows[i]["Available"], 0);
                    buttonArray[i].Example        = dt.Rows[i]["Example"].ToString();
                    buttonArray[i].Explanation    = dt.Rows[i]["Explanation"].ToString();
                    buttonArray[i].Params         = Utils.StrToInt(dt.Rows[i]["Params"], 0);
                    buttonArray[i].Nest           = Utils.StrToInt(dt.Rows[i]["Nest"], 0);
                    buttonArray[i].Paramsdefvalue = dt.Rows[i]["Paramsdefvalue"].ToString();
                    buttonArray[i].Paramsdescript = dt.Rows[i]["Paramsdescript"].ToString();
                    buttonArray[i].Replacement    = dt.Rows[i]["Replacement"].ToString();
                }
                dt.Dispose();
                cache.AddObject("/UI/CustomEditButtonInfo", buttonArray);

                // 表情缓存重新加载时重新初始化表情正则对象数组
                ResetRegexCustomTag(buttonArray);
            }
            return(buttonArray);
        }