private void LoadCategories() { //转换目录信息列表至树形节点列表 List <RecursiveCategoryData> listRecursive = LocalUtils.ConvertCategoryListToRecursiveList(PortalCategoryList); RecursiveCategoryItem m_recursiveCategoryRoot; m_recursiveCategoryRoot = RecursiveHelper.ConvertListToRecursiveItem(listRecursive); RecursiveHelper.ConvertRecursiveItemToAspNetTree(ref tvCategory, m_recursiveCategoryRoot); List <CategoryInfo> list = CategoryController.ListByPortals(PortalId); for (int i = 0; i < list.Count; i++) { list[i].Name = Utils.FormatLevelName(list[i].Name, list[i].Level, ".."); } List <RecursiveCategoryData> listRecursiveData = new List <RecursiveCategoryData>(); listRecursiveData = LocalUtils.ConvertCategoryListToRecursiveList(list); RecursiveCategoryItem orderedItems = RecursiveHelper.ConvertListToRecursiveItem(listRecursiveData); ArrayList listCategory = orderedItems.GetListOrdered(); RecursiveCategoryItem a = new RecursiveCategoryItem(); a.Id = -1; a.Name = Localization.GetString("SelectCategory.Text", this.LocalResourceFile); listCategory.Add(a); ddlCategory.DataSource = listCategory; ddlCategory.DataBind(); ddlCategory.SelectedValue = "-1"; }
protected void lbtnUpdateContinue_Click(object sender, EventArgs e) { if (Page.IsValid == false) { return; } lblInvalidCategory.Visible = false; string category = RecursiveHelper.GetAspNetTreeCheckList(tvCategory); if (category == "" || category == null || category.Split(',').Length > ArticlePortalSettings.General.Portal_ArticleCategorySelectCount) { lblInvalidCategory.Visible = true; return; } UpdateArticle(); txtTitle.Text = ""; txtTitle.Focus(); }
protected void lbtnUpdateReturn_Click(object sender, EventArgs e) { if (Page.IsValid == false) { return; } lblInvalidCategory.Visible = false; string category = RecursiveHelper.GetAspNetTreeCheckList(tvCategory); if (category == "" || category == null || category.Split(',').Length > ArticlePortalSettings.General.Portal_ArticleCategorySelectCount) { lblInvalidCategory.Visible = true; return; } UpdateArticle(); BindArticleList(); SetButtonStatus("Return"); }
private void UpdateArticle() { ArticleInfo objArticle = new ArticleInfo(); objArticle.Id = ArticleId; objArticle.PortalId = PortalId; //Normal objArticle.Title = txtTitle.Text; objArticle.Author = txtAuthor.Text; objArticle.Source = txtSource.Text; objArticle.Quote = chkQuote.Checked; objArticle.Draft = chkDraft.Checked; objArticle.LinkUrl = ctlLinkUrl.Url; objArticle.PinOrder = Convert.ToInt32(txtPinOrder.Text); //other if (ArticlePortalSettings.General.Portal_ArticleRequireApproval == true) { objArticle.Authed = chkAuthed.Checked; } else { objArticle.Authed = true; } objArticle.Featured = chkFeatured.Checked; objArticle.Active = chkActive.Checked; objArticle.Thumbnail = ""; objArticle.Image = UserInfo.IsInRole(PortalSettings.AdministratorRoleName)?ctlImage.Url : ctlUserImage.Url; objArticle.ImageDescription = txtImageDescription.Text; if (objArticle.Image.StartsWith("FileID=")) { FileController fc = new FileController(); DotNetNuke.Services.FileSystem.FileInfo fi = new DotNetNuke.Services.FileSystem.FileInfo(); DotNetNuke.Entities.Portals.PortalController ctlPortal = new DotNetNuke.Entities.Portals.PortalController(); DotNetNuke.Entities.Portals.PortalInfo pi = ctlPortal.GetPortal(PortalId); fi = GetFileInfoById(objArticle.Image); if (fi != null && System.IO.File.Exists(fi.PhysicalPath)) { objArticle.Thumbnail = DotNetNuke.Common.Globals.ApplicationPath + "/" + pi.HomeDirectory + "/" + fi.Folder + fi.FileName; System.IO.FileInfo physicalFile = new System.IO.FileInfo(fi.PhysicalPath); if (!fi.FileName.ToLower().StartsWith("thumb_")) //文件没有以"thumb_"开头,则先查找是否存在以thumb_ 开头的同名图片 { if (System.IO.File.Exists(physicalFile.DirectoryName + "\\" + "thumb_" + physicalFile.Name)) //存在该文件,则自动指向 { objArticle.Thumbnail = DotNetNuke.Common.Globals.ApplicationPath + "/" + pi.HomeDirectory + "/" + fi.Folder + "thumb_" + fi.FileName; } else//不存在,则生成该文件,然后指向 { if (ArticlePortalSettings.General.Portal_ArticleGenerateThumb) { Utils.ResizeImage(fi.PhysicalPath, ArticlePortalSettings.General.Portal_ArticleThumbnailSize, physicalFile.DirectoryName + "\\" + "thumb_" + physicalFile.Name); objArticle.Thumbnail = DotNetNuke.Common.Globals.ApplicationPath + "/" + pi.HomeDirectory + "/" + fi.Folder + "thumb_" + fi.FileName; } } } } } //Add Categories objArticle.Categories = RecursiveHelper.GetAspNetTreeCheckList(tvCategory); //Add Tags objArticle.Tags = ""; TagInfo objTag = new TagInfo(); List <int> tagList = new List <int>(); if (txtTag1.Text.Trim() != "") { objTag = TagController.GetByTag(txtTag1.Text.Trim()); if (objTag == null) { objTag = new TagInfo(); objTag.PortalId = PortalId; objTag.UserId = UserId; objTag.Tag = txtTag1.Text.Trim(); objTag.Id = TagController.Add(objTag); } tagList.Add(objTag.Id); } if (txtTag2.Text.Trim() != "" && ArticlePortalSettings.General.Portal_ArticleTagSelectCount > 1) { objTag = TagController.GetByTag(txtTag2.Text.Trim()); if (objTag == null) { objTag = new TagInfo(); objTag.PortalId = PortalId; objTag.UserId = UserId; objTag.Tag = txtTag2.Text.Trim(); objTag.Id = TagController.Add(objTag); } tagList.Add(objTag.Id); } if (txtTag3.Text.Trim() != "" && ArticlePortalSettings.General.Portal_ArticleTagSelectCount > 2) { objTag = TagController.GetByTag(txtTag3.Text.Trim()); if (objTag == null) { objTag = new TagInfo(); objTag.PortalId = PortalId; objTag.UserId = UserId; objTag.Tag = txtTag3.Text.Trim(); objTag.Id = TagController.Add(objTag); } tagList.Add(objTag.Id); } if (txtTag4.Text.Trim() != "" && ArticlePortalSettings.General.Portal_ArticleTagSelectCount > 3) { objTag = TagController.GetByTag(txtTag4.Text.Trim()); if (objTag == null) { objTag = new TagInfo(); objTag.PortalId = PortalId; objTag.UserId = UserId; objTag.Tag = txtTag4.Text.Trim(); objTag.Id = TagController.Add(objTag); } tagList.Add(objTag.Id); } if (txtTag5.Text.Trim() != "" && ArticlePortalSettings.General.Portal_ArticleTagSelectCount > 4) { objTag = TagController.GetByTag(txtTag5.Text.Trim()); if (objTag == null) { objTag = new TagInfo(); objTag.PortalId = PortalId; objTag.UserId = UserId; objTag.Tag = txtTag5.Text.Trim(); objTag.Id = TagController.Add(objTag); } tagList.Add(objTag.Id); } if (txtTag6.Text.Trim() != "" && ArticlePortalSettings.General.Portal_ArticleTagSelectCount > 5) { objTag = TagController.GetByTag(txtTag6.Text.Trim()); if (objTag == null) { objTag = new TagInfo(); objTag.PortalId = PortalId; objTag.UserId = UserId; objTag.Tag = txtTag6.Text.Trim(); objTag.Id = TagController.Add(objTag); } tagList.Add(objTag.Id); } if (txtTag7.Text.Trim() != "" && ArticlePortalSettings.General.Portal_ArticleTagSelectCount > 6) { objTag = TagController.GetByTag(txtTag7.Text.Trim()); if (objTag == null) { objTag = new TagInfo(); objTag.PortalId = PortalId; objTag.UserId = UserId; objTag.Tag = txtTag7.Text.Trim(); objTag.Id = TagController.Add(objTag); } tagList.Add(objTag.Id); } if (txtTag8.Text.Trim() != "" && ArticlePortalSettings.General.Portal_ArticleTagSelectCount > 7) { objTag = TagController.GetByTag(txtTag8.Text.Trim()); if (objTag == null) { objTag = new TagInfo(); objTag.PortalId = PortalId; objTag.UserId = UserId; objTag.Tag = txtTag8.Text.Trim(); objTag.Id = TagController.Add(objTag); } tagList.Add(objTag.Id); } if (txtTag9.Text.Trim() != "" && ArticlePortalSettings.General.Portal_ArticleTagSelectCount > 8) { objTag = TagController.GetByTag(txtTag9.Text.Trim()); if (objTag == null) { objTag = new TagInfo(); objTag.PortalId = PortalId; objTag.UserId = UserId; objTag.Tag = txtTag9.Text.Trim(); objTag.Id = TagController.Add(objTag); } tagList.Add(objTag.Id); } if (txtTag10.Text.Trim() != "" && ArticlePortalSettings.General.Portal_ArticleTagSelectCount > 9) { objTag = TagController.GetByTag(txtTag10.Text.Trim()); if (objTag == null) { objTag = new TagInfo(); objTag.PortalId = PortalId; objTag.UserId = UserId; objTag.Tag = txtTag10.Text.Trim(); objTag.Id = TagController.Add(objTag); } tagList.Add(objTag.Id); } var newTaglist = (from p in tagList select p).Distinct();//remove the repeated tag item. foreach (int item in newTaglist) { objArticle.Tags += item.ToString() + ","; } objArticle.Tags = Utils.RemoveSeperator(objArticle.Tags, ","); //Tags end //date if ((txtPublishDate.Text != null) && (txtPublishDate.Text != "")) { objArticle.PublishDate = Convert.ToDateTime(txtPublishDate.Text); } else { objArticle.PublishDate = DateTime.Now; } if (txtExpireDate.Text != "") { objArticle.ExpireDate = Convert.ToDateTime(txtExpireDate.Text); } objArticle.ViewRoles = Utils.GetCheckedItems(cblViewRoles, PortalSettings.AdministratorRoleId); //Rating objArticle.AllowRating = chkAllowRating.Checked; objArticle.RatingRoles = Utils.GetCheckedItems(cblRatingRoles, PortalSettings.AdministratorRoleId); //Recommend objArticle.AllowRecommend = chkAllowRecommend.Checked; objArticle.RecommendRoles = Utils.GetCheckedItems(cblRecommendRoles, PortalSettings.AdministratorRoleId); //Comment objArticle.AllowComment = chkAllowComment.Checked; objArticle.CommentRoles = Utils.GetCheckedItems(cblCommentRoles, PortalSettings.AdministratorRoleId); objArticle.AutoAuthComment = chkAutoAuthComment.Checked; //Download roles objArticle.DownloadRoles = Utils.GetCheckedItems(cblDownloadRoles, PortalSettings.AdministratorRoleId); objArticle.Summary = LocalUtils.RemoveAllHtmlTags(txtSummary.Text); objArticle.Article = txtDetail.Text; objArticle.UserId = UserId; //Now processing attachment int newArticleId = -1; if (ArticleId == -1) { newArticleId = ArticleController.Add(objArticle); } else { ArticleController.Update(objArticle); newArticleId = ArticleId; AttachmentController.DeleteByArticle(ArticleId); //delete attachment first. } AttachmentInfo ai = new AttachmentInfo(); foreach (AttachmentInfo item in AttachmentList) { ai.ArticleId = newArticleId; ai.FilePath = item.FilePath; AttachmentController.Add(ai); } //Reset all ArticleId = -1; AttachmentList = new List <AttachmentInfo>(); gvAttachment.DataSource = AttachmentList; gvAttachment.DataBind(); }
private void BindArticle(int articleId) { lblInvalidCategory.Visible = false; ArticleInfo objArticle = ArticleController.Get(articleId); if (objArticle == null) { return; } txtTitle.Text = objArticle.Title; txtAuthor.Text = objArticle.Author; txtSource.Text = objArticle.Source; chkQuote.Checked = objArticle.Quote; txtPinOrder.Text = Convert.ToString(objArticle.PinOrder); chkDraft.Checked = objArticle.Draft; ctlLinkUrl.Url = objArticle.LinkUrl; chkFeatured.Checked = objArticle.Featured; chkAuthed.Checked = objArticle.Authed; chkActive.Checked = objArticle.Active; //Image if (UserInfo.IsInRole(PortalSettings.AdministratorRoleName)) { ctlImage.Url = objArticle.Image; } else { ctlUserImage.Url = objArticle.Image; } txtImageDescription.Text = objArticle.ImageDescription; RecursiveHelper.FillAspNetTreeCheckBox(ref tvCategory, objArticle.Categories, true); List <ArticleToTagInfo> tags = (from t in ArticleToTagController.ListByArticle(articleId) select t).ToList(); txtTag1.Text = tags.Count > 0 ? tags[0].Tag : ""; txtTag2.Text = tags.Count > 1 ? tags[1].Tag : ""; txtTag3.Text = tags.Count > 2 ? tags[2].Tag : ""; txtTag4.Text = tags.Count > 3 ? tags[3].Tag : ""; txtTag5.Text = tags.Count > 4 ? tags[4].Tag : ""; txtTag6.Text = tags.Count > 5 ? tags[5].Tag : ""; txtTag7.Text = tags.Count > 6 ? tags[6].Tag : ""; txtTag8.Text = tags.Count > 7 ? tags[7].Tag : ""; txtTag9.Text = tags.Count > 8 ? tags[8].Tag : ""; txtTag10.Text = tags.Count > 9 ? tags[9].Tag : ""; //Date if (!Null.IsNull(objArticle.PublishDate)) { txtPublishDate.Text = objArticle.PublishDate.ToShortDateString(); } if (!Null.IsNull(objArticle.ExpireDate)) { txtExpireDate.Text = objArticle.ExpireDate.ToShortDateString(); } cblViewRoles = Utils.FillRolesCheckBox(cblViewRoles, objArticle.ViewRoles, PortalSettings.AdministratorRoleId, PortalId); //rating chkAllowRating.Checked = objArticle.AllowRating; cblRatingRoles = Utils.FillRolesCheckBox(cblRatingRoles, objArticle.RatingRoles, PortalSettings.AdministratorRoleId, PortalId); //Comment value chkAllowComment.Checked = objArticle.AllowComment; chkAutoAuthComment.Checked = objArticle.AutoAuthComment; cblCommentRoles = Utils.FillRolesCheckBox(cblCommentRoles, objArticle.CommentRoles, PortalSettings.AdministratorRoleId, PortalId); // chkAllowRecommend.Checked = objArticle.AllowRecommend; cblRecommendRoles = Utils.FillRolesCheckBox(cblRecommendRoles, objArticle.RecommendRoles, PortalSettings.AdministratorRoleId, PortalId); cblDownloadRoles = Utils.FillRolesCheckBox(cblDownloadRoles, objArticle.DownloadRoles, PortalSettings.AdministratorRoleId, PortalId); txtSummary.Text = objArticle.Summary; txtDetail.Text = Server.HtmlDecode(objArticle.Article); AttachmentList = new List <AttachmentInfo>(); List <AttachmentInfo> aiList = AttachmentController.ListByArticle(articleId); for (int i = 0; i < aiList.Count; i++) { AttachmentInfo ai = new AttachmentInfo(); ai.Id = i; ai.ArticleId = articleId; ai.FilePath = aiList[i].FilePath; AttachmentList.Add(ai); } gvAttachment.DataSource = AttachmentList; gvAttachment.DataBind(); }