示例#1
0
        /// <summary>
        /// 获取文件依赖的缓存数据
        /// </summary>
        /// <typeparam name="T">返回的数据类型</typeparam>
        /// <param name="keyword">缓存关键字</param>
        /// <param name="handler">生成缓存数据的委托</param>
        /// <param name="filePath">文件依赖的路径</param>
        /// <returns></returns>
        public T GetInstance <T>(string keyword, CreateInstanceHandler2 <T> handler, params string[] filePath)
            where T : class
        {
            keyword = preCacheKey + keyword;

            if (!cacheKeyList.Contains(keyword))
            {
                cacheKeyList.Add(keyword);
            }

            return(We7Utils.GetCacheInstance <T>(keyword, handler, filePath));
        }
示例#2
0
        /// <summary>
        /// 获取缓存数据
        /// </summary>
        /// <typeparam name="T">返回的数据类型</typeparam>
        /// <param name="keyword">缓存关键字</param>
        /// <param name="handler">生成缓存数据的委托</param>
        /// <returns></returns>
        public T GetInstance <T>(string keyword, CreateInstanceHandler <T> handler, int timeout)
            where T : class
        {
            keyword = preCacheKey + keyword;

            if (!cacheKeyList.Contains(keyword))
            {
                cacheKeyList.Add(keyword);
            }

            return(We7Utils.GetCacheInstance <T>(keyword, handler, timeout));
        }
示例#3
0
 public static List <string> GetOptionTypes()
 {
     return(CacheRecord.GetInstance <List <string> >("GetOptionTypes", (f) =>
     {
         List <string> list = new List <string>();
         XmlNodeList nodes = XmlHelper.GetXmlNodeList(f[0], "//type");
         foreach (XmlElement xe in nodes)
         {
             list.Add(xe.GetAttribute("name"));
         }
         return list;
     }, We7Utils.GetMapPath("~/Config/CategoryOptions.config")));
 }
示例#4
0
 public static List <CategoryOption> GetOptions(string type)
 {
     return(CacheRecord.GetInstance <List <CategoryOption> >("GetOptions", (f) =>
     {
         List <CategoryOption> list = new List <CategoryOption>();
         XmlNodeList nodes = XmlHelper.GetXmlNodeList(f[0], "//type[@name='" + type + "']/option");
         if (nodes != null)
         {
             foreach (XmlElement xe in nodes)
             {
                 CategoryOption op = new CategoryOption();
                 op.Name = xe.GetAttribute("name");
                 op.Value = xe.GetAttribute("value");
                 list.Add(op);
             }
         }
         return list;
     }, We7Utils.GetMapPath("~/Config/CategoryOptions.config")));
 }
示例#5
0
        void Init()
        {
            string path = We7Utils.GetMapPath("/Config/Cache.config");

            if (File.Exists(path))
            {
                XmlNodeList list = XmlHelper.GetXmlNodeList(path, "//item");
                if (list != null)
                {
                    foreach (XmlElement xe in list)
                    {
                        string key = (xe.GetAttribute("name") ?? String.Empty).ToLower();
                        int    val;
                        Int32.TryParse(xe.GetAttribute("value"), out val);
                        Items.Add(key, val);
                        Labels.Add(key, xe.GetAttribute("label"));
                    }
                }
            }
        }
示例#6
0
        /// <summary>
        /// 初始化需要传递给编辑器的文件存放路径
        /// </summary>
        void InitEditorParameter()
        {
            Session["ARTICLEDETAIL_CHANNELFILEPATH"] = ThisArticle.AttachmentUrlPath;
            Session["WorkPlace"] = "articleedit";

            string path = Server.MapPath("~/Config/general.config");

            if (!File.Exists(path))
            {
                ArticleHelper.Write(path);
                //记录日志
                string content = string.Format("创建了内容模型文件“{0}”", "general.config");
                AddLog("创建内容模型文件", content);
            }
            GeneralConfigInfo config = GeneralConfigs.Deserialize(We7Utils.GetMapPath("~/Config/general.config"));

            if (config.CutToMaxWidthOfUploadedImg == 1)
            {
                Session["GENERALCONFIGINFO_CMAXWIDTHOFUPLOADEDIMG"] = config.MaxWidthOfUploadedImg;
            }
        }
示例#7
0
        /// <summary>
        /// 获取缓存数据
        /// </summary>
        /// <typeparam name="T">返回的数据类型</typeparam>
        /// <param name="keyword">缓存关键字</param>
        /// <param name="handler">生成缓存数据的委托</param>
        /// <returns></returns>
        public T GetInstance <T>(string keyword, CreateInstanceHandler <T> handler)
            where T : class
        {
            keyword = preCacheKey + keyword;

            if (!cacheKeyList.Contains(keyword))
            {
                cacheKeyList.Add(keyword);
            }

            if (defaultTimeout == -1)
            {
                return(handler != null?handler() : default(T));
            }
            else if (defaultTimeout == 0)
            {
                return(We7Utils.GetCacheInstance <T>(keyword, handler));
            }
            else
            {
                return(We7Utils.GetCacheInstance <T>(keyword, handler, defaultTimeout));
            }
        }
示例#8
0
        /// <summary>
        /// 从Config/Departs.xml取得部门ID值
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public static string GetDepartIds(string key)
        {
            XmlNode node = XmlHelper.GetXmlNode(We7Utils.GetMapPath("/Config/Departs.xml"), "//item[@key='" + key + "']");

            return(node != null ? node.InnerText : null);
        }
示例#9
0
        /// <summary>
        /// 向广告页面传递所需参数
        /// </summary>
        protected void TransferParameterToAD()
        {
            //获取当前系统参数
            //SystemInformation si = CDHelper.GetSystemInformation();
            SiteConfigInfo si    = SiteConfigs.GetConfig();
            string         adUrl = "";

            if (si.ADUrl != null && si.ADUrl != "")
            {
                adUrl = "http://" + si.ADUrl;
            }
            else
            {
                adUrl = "http://" + Request.Url.Host + ":" + Request.Url.Port.ToString() + "/Plugins/ADPlugin/UI/";
            }
            SiteIDText.Text = si.SiteID;
            string rootRrl = "";

            if (si.RootUrl != null && si.RootUrl != "")
            {
                rootRrl = si.RootUrl;
            }
            else
            {
                rootRrl = "http://" + Request.Url.Host + ":" + Request.Url.Port.ToString();
            }
            if (!rootRrl.EndsWith("/"))
            {
                rootRrl = rootRrl + "/";
            }
            SiteUrlTextBox.Text  = rootRrl;
            SiteNameText.Text    = si.CompanyName;
            AccountIDText.Text   = AccountID;
            AccountNameText.Text = AccountHelper.GetAccount(AccountID, new string[] { "LoginName" }).LoginName;

            ADObjectText.Text = ADObjectName;
            if (!adUrl.EndsWith("/"))
            {
                adUrl = adUrl + "/";
            }
            ADUrlText.Text = adUrl;

            //为了跨域问题,将此处理转至后台
            //Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>DataReadyAndSend();</script>");

            string aid   = AccountID.Substring(1, AccountID.Length - 2);
            string sid   = si.SiteID;
            string sname = si.CompanyName;
            string surl  = rootRrl;

            //此方法用于站群广告过滤,如果是总站值为1不过滤,看到所有的广告,分站值为0,值看到自己的广告
            string path = Server.MapPath("~/Config/general.config");

            if (!File.Exists(path))
            {
                ArticleHelper.Write(path);
            }
            GeneralConfigInfo config   = GeneralConfigs.Deserialize(We7Utils.GetMapPath("~/Config/general.config"));
            string            adVisble = config.ADVisbleToSite.ToString();

            //向请求页面发送数据
            //Encoding myEncoding = Encoding.GetEncoding("UTF-8");
            string address = adUrl + "CertificationResponse.aspx?AID=" + aid + "&SID="
                             + sid + "&SNAME=" + Server.UrlEncode(sname) + "&SURL=" + surl + "&ADObject=" + ADObjectName + "&ADVisble=" + adVisble;

            //HttpWebRequest req = WebRequest.Create(address) as HttpWebRequest;
            //req.Headers.Add("P3P", "CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR");
            //req.CookieContainer = new CookieContainer();
            //req.Method = "GET";

            //读取请求结果,检查Cookie是否创建成功
            //using (HttpWebResponse res = (HttpWebResponse)req.GetResponse())
            //{ }
            Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>RedirectToAD('" + address + "');</script>");

            //string returnUrl = "";
            //switch (ADObjectName)
            //{
            //    case "ADRes":
            //        returnUrl = adUrl + "ADResource/ADResourceManage.aspx";
            //        returnUrl = Helper.AddParamToUrl(returnUrl, "AID", aid);
            //        returnUrl = Helper.AddParamToUrl(returnUrl, "SID", sid);
            //        returnUrl = Helper.AddParamToUrl(returnUrl, "SNAME", sname);
            //        returnUrl = Helper.AddParamToUrl(returnUrl, "SURL", surl);
            //        break;

            //    case "ADZone":
            //        returnUrl = adUrl + "ADZones/ADZoneManage.aspx";
            //        returnUrl = Helper.AddParamToUrl(returnUrl, "AID", aid);
            //        returnUrl = Helper.AddParamToUrl(returnUrl, "SID", sid);
            //        returnUrl = Helper.AddParamToUrl(returnUrl, "SNAME", sname);
            //        returnUrl = Helper.AddParamToUrl(returnUrl, "SURL", surl);
            //        break;

            //    case "ADPublish":
            //        returnUrl = adUrl + "ADPublishes/ADPublishManage.aspx";
            //        returnUrl = Helper.AddParamToUrl(returnUrl, "AID", aid);
            //        returnUrl = Helper.AddParamToUrl(returnUrl, "SID", sid);
            //        returnUrl = Helper.AddParamToUrl(returnUrl, "SNAME", sname);
            //        returnUrl = Helper.AddParamToUrl(returnUrl, "SURL", surl);
            //        break;

            //    case "ADSetting":
            //        returnUrl = adUrl + "ADSetting.aspx";
            //        returnUrl = Helper.AddParamToUrl(returnUrl, "AID", aid);
            //        returnUrl = Helper.AddParamToUrl(returnUrl, "SID", sid);
            //        returnUrl = Helper.AddParamToUrl(returnUrl, "SNAME", sname);
            //        returnUrl = Helper.AddParamToUrl(returnUrl, "SURL", surl);
            //        break;

            //    default:
            //        break;
            //}

            //Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>RedirectToAD('" + returnUrl + "');</script>");
        }
示例#10
0
        void SaveAccount()
        {
            bool    addModelRole = false;
            Account act          = new Account();

            act.ID          = IDLabel.Text;
            act.LoginName   = NameTextBox.Text;
            act.LastName    = LastNameTextBox.Text;
            act.Index       = Convert.ToInt32(IndexTextBox.Text);
            act.State       = Convert.ToInt32(UserStateDropDownList.SelectedValue);
            act.UserType    = Convert.ToInt32(UserTypeDropDownList.SelectedValue);
            act.Description = DescriptionTextBox.Text;
            act.Email       = EmailTextBox.Text;
            if (!String.IsNullOrEmpty(UserModelDropDownList.SelectedValue))
            {
                if (File.Exists(ModelHelper.GetModelPath(UserModelDropDownList.SelectedValue)))
                {
                    act.ModelName   = UserModelDropDownList.SelectedValue;
                    act.ModelConfig = ModelHelper.GetModelConfigXml(act.ModelName);
                    act.ModelSchema = ModelHelper.GetModelSchema(act.ModelName);
                }
                else
                {
                    throw new Exception(UserModelDropDownList.SelectedValue + " 模型配置文件没有找到!");
                }
            }

            if (act.ModelState != 2 && ModelStateDropDownList.SelectedValue == "2" &&
                !String.IsNullOrEmpty(UserModelDropDownList.SelectedValue))
            {
                string moldelStr = UserModelDropDownList.SelectedValue;
                act.ModelState = Int32.Parse(ModelStateDropDownList.SelectedValue);
                addModelRole   = true;
                if (SendMailCheckBox.Checked)
                {
                    AccountMails.SendMailOfPassNotify(act, UserModelDropDownList.SelectedItem.Text, MailBodyTextBox.Text);
                }
            }

            if (DepartmentIDTextBox.Text != null && DepartmentIDTextBox.Text.Trim() != "")
            {
                act.DepartmentID = DepartmentIDTextBox.Text;
                act.Department   = AccountHelper.GetDepartment(act.DepartmentID, new string[] { "Name" }).Name;
            }


            string chkEmail = CheckEmail(this.EmailTextBox.Text.Trim());

            if (act.ID == String.Empty)
            {
                string checkName = CheckUserName(NameTextBox.Text);
                if (checkName == "" && chkEmail == "")
                {
                    if (String.IsNullOrEmpty(PassWordText.Text) || String.IsNullOrEmpty(PassWordText.Text.Trim()))
                    {
                        Messages.ShowError("密码不能为空");
                        return;
                    }
                    act.DepartmentID     = ParentTextBox.Text;
                    act.IsPasswordHashed = IsHashedCheckBox.Checked;
                    if (act.PasswordHashed == (int)We7.CMS.Common.Enum.TypeOfPasswordHashed.webEncrypt)
                    {
                        act.Password = Security.Encrypt(PassWordText.Text);
                    }
                    else if (act.PasswordHashed == (int)We7.CMS.Common.Enum.TypeOfPasswordHashed.bbsEncrypt)
                    {
                        act.Password = Security.BbsEncrypt(PassWordText.Text);
                    }
                    else
                    {
                        act.Password = PassWordText.Text;
                    }

                    if (SendMailCheckBox.Checked)
                    {
                        MailHelper mailHelper = AccountMails.GetMailHelper();
                        if (String.IsNullOrEmpty(mailHelper.AdminEmail))
                        {
                            Messages.ShowError("没有配置管理员邮箱。如不需要发送邮箱,请去掉发送邮件选项。");
                            return;
                        }
                        if (String.IsNullOrEmpty(act.Email))
                        {
                            Messages.ShowError("用户邮箱不能为空");
                            return;
                        }
                    }

                    act = AccountHelper.AddAccount(act);
                    ShowAccount(act);

                    if (SendMailCheckBox.Checked)
                    {
                        AccountMails.SendMailOfRegister(act, PassWordText.Text, MailBodyTextBox.Text);
                    }

                    //记录日志
                    string content = string.Format("创建了帐户“{0}”", act.LoginName);
                    AddLog("新建帐户", content);

                    string rawurl = We7Helper.AddParamToUrl(Request.RawUrl, "saved", "1");
                    rawurl = We7Helper.AddParamToUrl(rawurl, "id", act.ID);
                    Response.Redirect(rawurl);
                }
                else
                {
                    Messages.ShowError("无法注册用户。原因:" + checkName + chkEmail);
                }
            }
            else
            {
                List <string> fields = new List <string>();
                fields.Add("LoginName");
                fields.Add("LastName");
                fields.Add("MiddleName");
                fields.Add("FirstName");
                fields.Add("Index");
                fields.Add("State");
                fields.Add("UserType");
                fields.Add("Description");
                fields.Add("Email");
                fields.Add("ModelName");
                fields.Add("ModelState");
                fields.Add("ModelConfig");
                fields.Add("ModelSchema");
                fields.Add("Overdue");
                if (We7Utils.IsDateString(OverdueTextBox.Text))
                {
                    act.Overdue = DateTime.Parse(OverdueTextBox.Text);
                }
                if (DepartmentIDTextBox.Text != null && DepartmentIDTextBox.Text.Trim() != "")
                {
                    fields.Add("DepartmentID");
                    fields.Add("Department");
                }
                string repassword = "";
                if (ResetPasswordCheckBox.Checked)
                {
                    if (String.IsNullOrEmpty(PasswordTextBox.Text) || String.IsNullOrEmpty(PasswordTextBox.Text.Trim()))
                    {
                        Messages.ShowError("密码不能为空");
                        return;
                    }
                    fields.Add("PasswordHashed");
                    act.IsPasswordHashed = IsHashedCheckBox.Checked;
                    if (act.PasswordHashed == (int)We7.CMS.Common.Enum.TypeOfPasswordHashed.webEncrypt)
                    {
                        act.Password = Security.Encrypt(PasswordTextBox.Text);
                    }
                    else if (act.PasswordHashed == (int)We7.CMS.Common.Enum.TypeOfPasswordHashed.bbsEncrypt)
                    {
                        act.Password = Security.BbsEncrypt(PasswordTextBox.Text);
                    }
                    else
                    {
                        act.Password = PasswordTextBox.Text;
                    }
                    repassword = PasswordTextBox.Text.Trim();//将密码临时保存在session中以便修改BBS数据库使用。

                    fields.Add("Password");
                }
                AccountHelper.UpdateAccount(act, fields.ToArray());
                if (addModelRole)
                {
                    AddAccountModelRole(act);
                }

                Messages.ShowMessage("帐户信息已更新。");
                //记录日志
                string content = string.Format("更新了帐户“{0}”的信息", act.LoginName);
                AddLog("更新帐户", content);

                ResetPasswordCheckBox.Checked = false;
            }
        }