protected void AddNewsBtn_Click(object sender, EventArgs e) { bool checkForm = CheckValidate(); if (checkForm) { M_Article Articlemodel = new M_Article(); Articlemodel.Id = ArticleId; #region 所有情况下 Articlemodel.Author = txtAuthor.Text.Trim(); if (!string.IsNullOrEmpty(Request.Form["ddlColId"])) Articlemodel.ColId = int.Parse(Request.Form["ddlColId"]); //添加时间 if (txtAddTime.Text.Trim().Length != 0) { if (Function.IsDate(txtAddTime.Text.Trim().ToString())) Articlemodel.AddTime = DateTime.Parse(txtAddTime.Text.Trim().ToString()); else Function.ShowSysMsg(0, "<li>你输入的日期格式不对</li><li><a href='javascript:window.history.back()'>返回上一步</a></li>"); } else Articlemodel.AddTime = DateTime.Now; Articlemodel.ExpireTime = Convert.ToDateTime(txtExpireTime.Text.Trim()); Articlemodel.ViewEndTime = txtViewEndTime.Text.Trim(); Articlemodel.UpdateTime = DateTime.Now; Articlemodel.ShortContent = SiteBll.GetFiltering(txtShortContent.Text.Trim()); Articlemodel.Source = txtSource.Text.Trim(); #region 关键字 string tagIdStr = string.Empty; string nameStr = txtTagNameStr.Text.Trim(); nameStr = Regex.Replace(nameStr, @"\s+", "|", RegexOptions.IgnoreCase); if (nameStr.Length != 0) { if (nameStr.StartsWith("|")) nameStr = nameStr.Substring(1, nameStr.Length - 1); if (nameStr.EndsWith("|")) nameStr = nameStr.Substring(0, nameStr.Length - 1); B_Tag tagBll = new B_Tag(); DataRow dr = tagBll.AddTagStr(nameStr, ChannelModel.ModelType, 0, "后台管理员"); if (dr != null) { tagIdStr = "|" + dr[0] + "|"; nameStr = "|" + dr[1] + "|"; } else { tagIdStr = ""; nameStr = ""; } } Articlemodel.TagIdStr = tagIdStr; Articlemodel.TagNameStr = nameStr; #endregion Articlemodel.IsFocus = chkBoxIsFocus.Checked; Articlemodel.IsHeader = chkBoxIsHeader.Checked; Articlemodel.IsIrregular = chkBoxIsIrregular.Checked; Articlemodel.IsRecommend = chkBoxIsRecommend.Checked; Articlemodel.IsShowCommentLink = IsShowCommentLink.Checked; Articlemodel.IsSideShow = chkBoxIsSideShow.Checked; Articlemodel.IsTop = chkBoxIsTop.Checked; Articlemodel.Title = SiteBll.GetFiltering(txtTitle.Text.Trim()); Articlemodel.LongTitle = SiteBll.GetFiltering(txtLongTitle.Text.Trim()); Articlemodel.TitleColor = txtTitleColor.Text.Trim(); Articlemodel.TitleFontType = Int32.Parse(ddlTitleFontType.SelectedValue.Trim()); Articlemodel.UId = AdminModel.UserId; Articlemodel.UName = AdminModel.LoginName; Articlemodel.AdminUId = AdminModel.UserId; Articlemodel.AdminUName = AdminModel.AdminName; Articlemodel.UserType = 1; Articlemodel.Status = 3; //头条文章属性设置 Articlemodel.HeaderFont = txtHeaderFont.Text.Trim() + "|" + ddlHeaderProPerty.SelectedValue + "|" + ddlHeaderSize.SelectedValue + "|" + txtHeaderColor.Text.Trim(); Articlemodel.HeaderImgPath = txtHeaderImgPath.Value; #endregion if (rbOuter.Checked == true) { Articlemodel.OuterUrl = txtOuterUrl.Text.Trim(); } #region 不是外部链接地址情况 if (rbComm.Checked == true) { Articlemodel.TitleType = 1; } else if (rbImg.Checked == true) { Articlemodel.TitleType = 2; Articlemodel.TitleImgPath = Request.Form["txtTitleImgPath"].Trim(); } if (!rbOuter.Checked) { if (Request.Form["ChargeTypeRadioButtonList"] == "2") Articlemodel.ChargeHourCount = Int32.Parse(txtChargeHourCount.Text.Trim()); //重复收费方式 if (rdBtnChargeType1.Checked) Articlemodel.ChargeType = 1; if (rdBtnChargeType2.Checked) { Articlemodel.ChargeType = 2; Articlemodel.ChargeHourCount = Int32.Parse(txtChargeHourCount.Text.Trim()); } if (rdBtnChargeType3.Checked) { Articlemodel.ChargeType = 3; Articlemodel.ChargeViewCount = Int32.Parse(txtChargeViewCount.Text.Trim()); } if (rdBtnChargeType4.Checked) { Articlemodel.ChargeType = 4; Articlemodel.ChargeHourCount = Int32.Parse(txtChargeHourCount.Text.Trim()); Articlemodel.ChargeViewCount = Int32.Parse(txtChargeViewCount.Text.Trim()); } if (rdBtnChargeType5.Checked) { Articlemodel.ChargeType = 5; Articlemodel.ChargeHourCount = Int32.Parse(txtChargeHourCount.Text.Trim()); Articlemodel.ChargeViewCount = Int32.Parse(txtChargeViewCount.Text.Trim()); } if (rdBtnChargeType6.Checked) Articlemodel.ChargeType = 6; B_ConvertImage convertBll = new B_ConvertImage(SiteModel.Domain, InfoModel.UploadPath); if (chkBoxRemoteSaveImage.Checked) { txtContent.Value = convertBll.ConvertLocalImagePath(txtContent.Value); } else { txtContent.Value = convertBll.ConvertImgePath(txtContent.Value); } Articlemodel.Content = SiteBll.GetFiltering(txtContent.Value); Articlemodel.Content = Articlemodel.Content.Replace(@"<div style=""page-break-after: always""><span style=""display: none""> </span></div>", "{Ky:PAGE}"); //生成的格式 Articlemodel.PageType = int.Parse(rdBtnPageType.SelectedValue); Articlemodel.IsOpened = int.Parse(rdBtnIsOpened.SelectedValue.Trim()); if (Articlemodel.IsOpened == 0) { string groupIdstr = string.Empty; foreach (ListItem li in chkBoxGroupIdStr.Items) { if (li.Selected) { groupIdstr += li.Value + "|"; } } Articlemodel.GroupIdStr = "|" + groupIdstr; } else { Articlemodel.GroupIdStr = ""; } Articlemodel.HitCount = Int32.Parse(txtHitCount.Text.Trim()); Articlemodel.IsAllowComment = chkBoxIsAllowComment.Checked; Articlemodel.PointCount = Int32.Parse(txtPointCount.Text.Trim()); Articlemodel.StarLevel = ddlStarLevel.SelectedValue.Trim(); //文章所属数据表 Articlemodel.TableName=""; Articlemodel.TemplatePath = Request.Form["txtTemplatePath"].Trim(); //文章所属专题 string idStr = string.Empty; for (int i = 0; i < lBoxTopicIdStr.Items.Count; i++) { if (lBoxTopicIdStr.Items[i].Selected) { idStr += lBoxTopicIdStr.Items[i].Value + "|"; } } if (idStr != "") Articlemodel.SpecialIdStr = "|" + idStr; else Articlemodel.SpecialIdStr = ""; if (txtViewer.Text.Trim() != string.Empty) { Articlemodel.ViewUName = "|" + txtViewer.Text.Trim() + "|"; if (txtViewEndTime.Text.Trim() == "") { litMsg.Text = "<script>alert('签收结束时间必须填写');</script>"; return; } } else Articlemodel.ViewUName = string.Empty; } #endregion #region 保存 if (!CheckValidate()) { return; } B_Article AddArticle = new B_Article(); if (ArticleId > 0) { //返回文章ID ArticleId = AddArticle.Update(Articlemodel); } else { ArticleId = AddArticle.Add(Articlemodel); } if (chkBoxIsCreate.Checked) { DataRow dr = CreateBll.GetInfoById("kyarticle", ArticleId); CreateBll.CreateSingleInfo(dr); } Response.Redirect("InfoList.aspx?ChId=" + ChannelId + "&ColId=" + Articlemodel.ColId); #endregion 保存 } }
private string GetContent(M_Collection collectionM, string contentStr) { this.ColumnM = this.ColumnBll.GetColumn(collectionM.ColId); this.ChannelM = this.ChannelBll.GetChannel(this.ColumnM.ChId); this.ModelM = this.InfoModelBll.GetModel(this.ChannelM.ModelType); this.SiteModel = this.SiteBll.GetSiteModel(); B_ConvertImage image = new B_ConvertImage(this.SiteModel.Domain, this.ModelM.UploadPath); string simpleFilterRule = collectionM.SimpleFilterRule; string pattern = string.Empty; string complexityFilterRule = collectionM.ComplexityFilterRule; if (complexityFilterRule != "") { string[] strArray = complexityFilterRule.Split(new char[] { ',' }); for (int i = 0; i < strArray.Length; i++) { this.SuperiorM = this.SuperiorBll.GetIdBySuperior(int.Parse(strArray[i].ToString())); pattern = this.TransferStr(this.SuperiorM.StartCode) + "((?:.|\n)*?)" + this.TransferStr(this.SuperiorM.EndCode); contentStr = this.SuperiorHtml(contentStr, pattern); } } if (simpleFilterRule != "") { string[] strArray2 = simpleFilterRule.Split(new char[] { ',' }); for (int j = 0; j < (strArray2.Length - 1); j++) { switch (int.Parse(strArray2[j].ToString())) { case 0: contentStr = this.FilterObject(contentStr); break; case 1: contentStr = this.FilterScript(contentStr); break; case 2: contentStr = this.FilterStyle(contentStr); break; case 3: contentStr = this.FilterDiv(contentStr); break; case 4: contentStr = this.FilterSpan(contentStr); break; case 5: contentStr = this.FilterTableProtery(contentStr); break; case 6: contentStr = this.FilterImg(contentStr); break; case 7: contentStr = this.FilterFont(contentStr); break; case 8: contentStr = this.FilterA(contentStr); break; case 9: contentStr = this.RemoveHtml(contentStr); break; } } } contentStr = image.ConvertLocalImagePath(contentStr); contentStr = image.ConvertContent(contentStr); return contentStr; }