public void BuildItemVersionSettings(bool exportAll) { XmlNode publishNode = this._doc.SelectSingleNode("publish"); XmlNode settingsNode = this._doc.CreateElement("itemversionsettings"); List <ItemVersionSetting> settings = exportAll ? ItemVersionSetting.GetItemVersionSettingsByPortalId(this._portalId) : ItemVersionSetting.GetItemVersionSettingsByModuleId(this._moduleId, this._portalId); foreach (ItemVersionSetting setting in settings) { string xml = setting.SerializeObjectToXml(); var xmlDoc = new XmlDocument(); xmlDoc.LoadXml(xml); // strip off namespace and schema XmlNode node = xmlDoc.SelectSingleNode("itemversionsetting"); node.Attributes.Remove(node.Attributes["xmlns:xsd"]); node.Attributes.Remove(node.Attributes["xmlns:xsi"]); settingsNode.AppendChild(this._doc.ImportNode(node, true)); } publishNode.AppendChild(this._doc.ImportNode(settingsNode, true)); }
override protected void OnInit(EventArgs e) { InitializeComponent(); LoadControlType(); base.OnInit(e); LoadSharedResources(); //ctlUrlSelection.Url = ItemVersionSetting attachmentSetting = ItemVersionSetting.GetItemVersionSetting(VersionInfoObject.ItemVersionId, "ArticleSettings", "ArticleAttachment", PortalId); if (attachmentSetting != null) { ctlUrlSelection.Url = attachmentSetting.PropertyValue; } }
private void Page_Load(object sender, EventArgs e) { if (e == null) { throw new ArgumentNullException("e"); } try { this.btnShowRelatedItem.Visible = false; this.divRelatedLinks.Visible = false; var related = new List <Article>(this.VersionInfoObject.GetRelatedArticles(this.PortalId)); ItemVersionSetting parentRelationshipSetting = ItemVersionSetting.GetItemVersionSetting( this.VersionInfoObject.ItemVersionId, "ArticleSettings", "IncludeParentCategoryArticles", this.PortalId); if (parentRelationshipSetting != null && Convert.ToBoolean(parentRelationshipSetting.PropertyValue, CultureInfo.InvariantCulture)) { int parentCategoryId = Category.GetParentCategory(this.VersionInfoObject.ItemId, this.PortalId); if (parentCategoryId > 0) { // get all articles in the same category, then removes this current article from that list. BD List <Article> categoryArticles = Category.GetCategoryArticles(parentCategoryId, this.PortalId); categoryArticles.RemoveAll(a => a.ItemId == this.VersionInfoObject.ItemId); related.AddRange(categoryArticles); } } if (related.Count < 1) { this.btnShowRelatedItem.Visible = false; this.divRelatedLinks.Visible = false; this.LinksPopulated = false; } else { this.lstItems.DataSource = related; this.lstItems.DataBind(); this.divRelatedLinks.Visible = true; this.LinksPopulated = true; } } catch (Exception exc) { Exceptions.ProcessModuleLoadException(this, exc); } }
private void SaveSettings() { //use approvals Setting setting = Setting.UseApprovals; setting.PropertyValue = chkUseApprovals.Checked.ToString(CultureInfo.InvariantCulture); var itemVersionSetting = new ItemVersionSetting(setting); //useApprovalSetting.ControlName = "chkUseApprovals"; //useApprovalSetting.PropertyName = "Checked"; //useApprovalSetting.PropertyValue = chkUseApprovals.Checked.ToString(CultureInfo.InvariantCulture); VersionInfoObject.VersionSettings.Add(itemVersionSetting); //display on current page option setting = Setting.CategorySettingsCurrentDisplay; setting.PropertyValue = rblDisplayOnCurrentPage.SelectedValue; itemVersionSetting = new ItemVersionSetting(setting); //cpSetting.ControlName = "CategorySettings"; //cpSetting.PropertyName = "DisplayOnCurrentPage"; //cpSetting.PropertyValue = rblDisplayOnCurrentPage.SelectedValue; VersionInfoObject.VersionSettings.Add(itemVersionSetting); //force display on specific page setting = Setting.CategorySettingsForceDisplay; setting.PropertyValue = chkForceDisplayTab.Checked.ToString(CultureInfo.InvariantCulture); itemVersionSetting = new ItemVersionSetting(setting); //fpSetting.ControlName = "CategorySettings"; //fpSetting.PropertyName = "ForceDisplayOnPage"; //fpSetting.PropertyValue = chkForceDisplayTab.Checked.ToString(CultureInfo.InvariantCulture); VersionInfoObject.VersionSettings.Add(itemVersionSetting); //external RSS Url for category setting = Setting.CategorySettingsRssUrl; setting.PropertyValue = txtRssUrl.Text.Trim(); itemVersionSetting = new ItemVersionSetting(setting); VersionInfoObject.VersionSettings.Add(itemVersionSetting); if (rowCommentForum.Visible) { setting = Setting.CategorySettingsCommentForumId; setting.PropertyValue = ddlCommentForum.SelectedValue; itemVersionSetting = new ItemVersionSetting(setting); VersionInfoObject.VersionSettings.Add(itemVersionSetting); } }
private int?GetCategoryForumId() { //TODO: we need to handle items that no longer have a valid parent Category pc = Category.GetCategory(Category.GetParentCategory(VersionInfoObject.ItemId, PortalId), PortalId); if (pc != null) { int parentCategoryItemVersionId = pc.ItemVersionId; ItemVersionSetting categoryForumSetting = ItemVersionSetting.GetItemVersionSetting(parentCategoryItemVersionId, "CategorySettings", "CommentForumId", PortalId); int categoryForumId; if (categoryForumSetting == null) { return(null); } Int32.TryParse(categoryForumSetting.PropertyValue, out categoryForumId); return(categoryForumId); } return(null); }
private void SaveSettings() { // use approvals Setting setting = Setting.UseApprovals; setting.PropertyValue = this.chkUseApprovals.Checked.ToString(CultureInfo.InvariantCulture); var itemVersionSetting = new ItemVersionSetting(setting); this.VersionInfoObject.VersionSettings.Add(itemVersionSetting); // AuthorName setting setting = Setting.AuthorName; setting.PropertyValue = this.itemEditControl.AuthorName; itemVersionSetting = new ItemVersionSetting(setting); this.VersionInfoObject.VersionSettings.Add(itemVersionSetting); // display on current page option setting = Setting.CategorySettingsCurrentDisplay; setting.PropertyValue = this.rblDisplayOnCurrentPage.SelectedValue; itemVersionSetting = new ItemVersionSetting(setting); this.VersionInfoObject.VersionSettings.Add(itemVersionSetting); // force display on specific page setting = Setting.CategorySettingsForceDisplay; setting.PropertyValue = this.chkForceDisplayTab.Checked.ToString(CultureInfo.InvariantCulture); itemVersionSetting = new ItemVersionSetting(setting); this.VersionInfoObject.VersionSettings.Add(itemVersionSetting); // external RSS Url for category setting = Setting.CategorySettingsRssUrl; setting.PropertyValue = this.txtRssUrl.Text.Trim(); itemVersionSetting = new ItemVersionSetting(setting); this.VersionInfoObject.VersionSettings.Add(itemVersionSetting); if (this.rowCommentForum.Visible) { setting = Setting.CategorySettingsCommentForumId; setting.PropertyValue = this.ddlCommentForum.SelectedValue; itemVersionSetting = new ItemVersionSetting(setting); this.VersionInfoObject.VersionSettings.Add(itemVersionSetting); } }
private void ConfigureTags() { //get the upnlRating setting ItemVersionSetting tgSetting = ItemVersionSetting.GetItemVersionSetting(VersionInfoObject.ItemVersionId, "pnlTags", "Visible", PortalId); if (tgSetting != null) { pnlTags.Visible = Convert.ToBoolean(tgSetting.PropertyValue, CultureInfo.InvariantCulture); if (Convert.ToBoolean(tgSetting.PropertyValue, CultureInfo.InvariantCulture)) { PopulateTagList(); } } else { if (VersionInfoObject.Tags.Count > 0) { pnlTags.Visible = true; PopulateTagList(); } } }
private void LoadCommentForumsDropDown() { if (IsCommentsEnabled && !IsPublishCommentType) { ddlCommentForum.Items.Clear(); foreach (KeyValuePair <int, string> pair in ForumProvider.GetInstance(PortalId).GetForums()) { ddlCommentForum.Items.Add(new ListItem(pair.Value, pair.Key.ToString(CultureInfo.InvariantCulture))); } ddlCommentForum.Items.Insert(0, (new ListItem(Localization.GetString("NoForum", LocalResourceFile), "-1"))); ItemVersionSetting commentForumSetting = ItemVersionSetting.GetItemVersionSetting(VersionInfoObject.ItemVersionId, "CategorySettings", "CommentForumId", PortalId); if (commentForumSetting != null) { ddlCommentForum.SelectedValue = commentForumSetting.PropertyValue; } } else { rowCommentForum.Visible = false; } }
private void Page_Load(object sender, EventArgs e) { //store the "view" for this item RecordView(); //SetPageTitle(); _categoryId = ItemId; _customDisplaySettings = new CustomDisplaySettings(Settings, TabModuleId); UsePaging = _customDisplaySettings.AllowPaging; UseCustomSort = _customDisplaySettings.UseCustomSort; if (_customDisplaySettings.GetParentFromQueryString) { //CHECK IF THERE'S ANYTHING IN THE QS AND REACT object o = Request.QueryString["ItemId"]; if (o != null) { int itemId; if (int.TryParse(o.ToString(), NumberStyles.Integer, CultureInfo.InvariantCulture, out itemId)) { //we need to load the children, rather than siblings if _customDisplaySettings.GetRelatedChildren is enabled and the itemid is for a category, not an article if (_customDisplaySettings.GetRelatedChildren && Item.GetItemType(itemId) == ItemType.Category.Name) { _categoryId = itemId; } //otherwise we're going to get the parent category for the itemid passed in. else { _categoryId = Category.GetParentCategory(itemId, PortalId); } } } } if (_customDisplaySettings.EnableRss) { //TODO: replace the hyperlink control on the display side and insert our Link/IMAGE dynamically so we can set the alt text. lnkRss.Visible = true; string rssImage = Localization.GetString("rssImage", LocalResourceFile); #if DEBUG rssImage = rssImage.Replace("[L]", string.Empty); #endif imgRss.Src = ApplicationUrl + rssImage; //"/images/xml.gif"; imgRss.Alt = Localization.GetString("rssAlt", LocalResourceFile); lnkRss.Attributes.Add("type", "application/rss+xml"); lnkRss.ToolTip = Localization.GetString("rssAlt", LocalResourceFile); if (AllowTags && _tagQuery != null && _tagQuery.Count > 0) { lnkRss.NavigateUrl = GetRssLinkUrl(PortalId, "TagFeed", _qsTags); SetRssUrl(lnkRss.NavigateUrl, Localization.GetString("rssAlt", LocalResourceFile)); } else { //check for a setting of an external URL ItemVersionSetting rssSetting = ItemVersionSetting.GetItemVersionSetting(VersionInfoObject.ItemVersionId, "CategorySettings", "RssUrl", PortalId); if (rssSetting != null && rssSetting.PropertyValue != string.Empty) { lnkRss.NavigateUrl = rssSetting.PropertyValue; SetExternalRssUrl(lnkRss.NavigateUrl, Localization.GetString("rssAlt", LocalResourceFile)); } else { //TODO: configure the # of items for an RSS feed lnkRss.NavigateUrl = GetRssLinkUrl(_categoryId, 25, ItemType.Article.GetId(), PortalId, "ItemListing"); SetRssUrl(lnkRss.NavigateUrl, Localization.GetString("rssAlt", LocalResourceFile)); } } } //store the URL into session for the return to list options if (UseSessionForReturnToList(PortalId)) { Session["PublishListLink"] = Request.Url.PathAndQuery; } //check if admin, enable edit links if ((IsAdmin || IsAuthor) && IsEditable) { Visibility = true; EditText = Localization.GetString("EditText", LocalResourceFile); } else { Visibility = false; EditText = string.Empty; } try { if (_customDisplaySettings.ItemTypeId == -2) { lblMessage.Text = Localization.GetString("SetupItemType", LocalResourceFile); return; } lstItems.DataSource = GetData(); lstItems.DataBind(); if ((_customDisplaySettings.ShowParent || _customDisplaySettings.ShowParentDescription) && _categoryId != -1) { Category parentCategory = Category.GetCategory(_categoryId, PortalId); if (_customDisplaySettings.ShowParent) { divParentCategoryName.Visible = true; lblCategory.Text = parentCategory.Name; } //show the category description if enabled. if (_customDisplaySettings.ShowParentDescription) { divParentCategoryDescription.Visible = true; lblCategoryDescription.Text = Utility.ReplaceTokens(parentCategory.Description); } } else { lblCategory.Visible = false; } } catch (Exception exc) { Exceptions.ProcessModuleLoadException(this, exc); } }
private void Page_Load(object sender, EventArgs e) { try { LocalizeCollapsePanels(); DotNetNuke.UI.Utilities.ClientAPI.AddButtonConfirm(cmdDelete, Localization.GetString("DeleteConfirm", LocalResourceFile)); var av = (Article)VersionInfoObject; if (!Page.IsPostBack) { //check to see if we're dealing with a new Item, if so set the parentid based on the querystring if (av.IsNew) { if (ParentId != -1) { Category parent = Category.GetCategory(ParentId, PortalId);// = null; parentCategoryRelationship.AddToSelectedItems(parent); } } //trArticleId.Visible = ShowItemIds; txtArticleId.Text = VersionInfoObject.ItemId.ToString(CultureInfo.CurrentCulture) == "-1" ? Localization.GetString("NewArticle", LocalResourceFile) : VersionInfoObject.ItemId.ToString(CultureInfo.CurrentCulture); txtVersionNumber.Text = av.VersionNumber; TeArticleText.Text = av.ArticleText; txtPreviousVersionDescription.Text = av.VersionDescription; rblDisplayOnCurrentPage.Items.Add(new ListItem(Localization.GetString("CurrentPage", LocalResourceFile), true.ToString(CultureInfo.InvariantCulture))); rblDisplayOnCurrentPage.Items.Add(new ListItem(Localization.GetString("SpecificPage", LocalResourceFile), false.ToString(CultureInfo.InvariantCulture))); //get the pnlPrinterFriendly setting ItemVersionSetting pfSetting = ItemVersionSetting.GetItemVersionSetting(av.ItemVersionId, "pnlPrinterFriendly", "Visible", PortalId); if (pfSetting != null) { chkPrinterFriendly.Checked = Convert.ToBoolean(pfSetting.PropertyValue, CultureInfo.InvariantCulture); } else { string hostPrinterFriendlySetting = HostController.Instance.GetString(Utility.PublishDefaultPrinterFriendly + PortalId.ToString(CultureInfo.InvariantCulture)); chkPrinterFriendly.Checked = !Utility.HasValue(hostPrinterFriendlySetting) || Convert.ToBoolean(hostPrinterFriendlySetting, CultureInfo.InvariantCulture); } //get the pnlEmailAFriend setting ItemVersionSetting efSetting = ItemVersionSetting.GetItemVersionSetting(av.ItemVersionId, "pnlEmailAFriend", "Visible", PortalId); if (efSetting != null) { chkEmailAFriend.Checked = Convert.ToBoolean(efSetting.PropertyValue, CultureInfo.InvariantCulture); } else { string hostEmailFriendSetting = HostController.Instance.GetString(Utility.PublishDefaultEmailAFriend + PortalId.ToString(CultureInfo.InvariantCulture)); chkEmailAFriend.Checked = !Utility.HasValue(hostEmailFriendSetting) || Convert.ToBoolean(hostEmailFriendSetting, CultureInfo.InvariantCulture); } //if ratings are enabled show options if (AreRatingsEnabled) { //get the upnlRating setting ItemVersionSetting rtSetting = ItemVersionSetting.GetItemVersionSetting(av.ItemVersionId, "upnlRating", "Visible", PortalId); if (rtSetting != null) { chkRatings.Checked = Convert.ToBoolean(rtSetting.PropertyValue, CultureInfo.InvariantCulture); } else { string hostRatingSetting = HostController.Instance.GetString(Utility.PublishDefaultRatings + PortalId.ToString(CultureInfo.InvariantCulture)); chkRatings.Checked = !Utility.HasValue(hostRatingSetting) || Convert.ToBoolean(hostRatingSetting, CultureInfo.InvariantCulture); } } else { chkRatings.Visible = false; } //if comments are enabled show options. if (IsCommentsEnabled) { //get the pnlComments setting ItemVersionSetting ctSetting = ItemVersionSetting.GetItemVersionSetting(av.ItemVersionId, "pnlComments", "Visible", PortalId); if (ctSetting != null) { chkComments.Checked = Convert.ToBoolean(ctSetting.PropertyValue, CultureInfo.InvariantCulture); } else { string hostCommentSetting = HostController.Instance.GetString(Utility.PublishDefaultComments + PortalId.ToString(CultureInfo.InvariantCulture)); chkComments.Checked = !Utility.HasValue(hostCommentSetting) || Convert.ToBoolean(hostCommentSetting, CultureInfo.InvariantCulture); } if (IsPublishCommentType) { chkForumComments.Visible = false; } else { ItemVersionSetting forumCommentSetting = ItemVersionSetting.GetItemVersionSetting(av.ItemVersionId, "chkForumComments", "Checked", PortalId); chkForumComments.Checked = forumCommentSetting == null || Convert.ToBoolean(forumCommentSetting.PropertyValue, CultureInfo.InvariantCulture); } } else { chkComments.Visible = false; chkForumComments.Visible = false; } //chkShowAuthor ItemVersionSetting auSetting = ItemVersionSetting.GetItemVersionSetting(av.ItemVersionId, "pnlAuthor", "Visible", PortalId); if (auSetting != null) { chkShowAuthor.Checked = Convert.ToBoolean(auSetting.PropertyValue, CultureInfo.InvariantCulture); } else { string hostAuthorSetting = HostController.Instance.GetString(Utility.PublishDefaultShowAuthor + PortalId.ToString(CultureInfo.InvariantCulture)); chkShowAuthor.Checked = Utility.HasValue(hostAuthorSetting) && Convert.ToBoolean(hostAuthorSetting, CultureInfo.InvariantCulture); } //chkShowTags ItemVersionSetting tagSetting = ItemVersionSetting.GetItemVersionSetting(av.ItemVersionId, "pnlTags", "Visible", PortalId); if (tagSetting != null) { chkTags.Checked = Convert.ToBoolean(tagSetting.PropertyValue, CultureInfo.InvariantCulture); } else { string hostTagsSetting = HostController.Instance.GetString(Utility.PublishDefaultShowTags + PortalId.ToString(CultureInfo.InvariantCulture)); chkTags.Checked = Utility.HasValue(hostTagsSetting) && Convert.ToBoolean(hostTagsSetting, CultureInfo.InvariantCulture); } //chkDisplayOnCurrentPage ItemVersionSetting cpSetting = ItemVersionSetting.GetItemVersionSetting(av.ItemVersionId, "ArticleSettings", "DisplayOnCurrentPage", PortalId); if (cpSetting != null) { rblDisplayOnCurrentPage.SelectedValue = av.DisplayOnCurrentPage().ToString(CultureInfo.InvariantCulture); if (av.DisplayOnCurrentPage()) { chkForceDisplayTab.Checked = false; chkForceDisplayTab.Visible = false; lblForceDisplayTab.Visible = false; ddlDisplayTabId.Enabled = false; } else { chkForceDisplayTab.Visible = true; lblForceDisplayTab.Visible = true; ddlDisplayTabId.Enabled = true; } } else if (av.DisplayTabId < 0) { rblDisplayOnCurrentPage.SelectedValue = false.ToString(CultureInfo.InvariantCulture); chkForceDisplayTab.Checked = false; chkForceDisplayTab.Visible = true; lblForceDisplayTab.Visible = true; ddlDisplayTabId.Enabled = true; } else { rblDisplayOnCurrentPage.SelectedValue = false.ToString(CultureInfo.InvariantCulture); chkForceDisplayTab.Visible = true; lblForceDisplayTab.Visible = true; ddlDisplayTabId.Enabled = true; } chkForceDisplayTab.Checked = av.ForceDisplayOnPage(); ItemVersionSetting rlSetting = ItemVersionSetting.GetItemVersionSetting(av.ItemVersionId, "ArticleSettings", "DisplayReturnToList", PortalId); if (rlSetting != null) { chkReturnList.Checked = Convert.ToBoolean(rlSetting.PropertyValue, CultureInfo.InvariantCulture); } else { string hostReturnToListSetting = HostController.Instance.GetString(Utility.PublishDefaultReturnToList + PortalId.ToString(CultureInfo.InvariantCulture)); chkReturnList.Checked = Utility.HasValue(hostReturnToListSetting) && Convert.ToBoolean(hostReturnToListSetting, CultureInfo.InvariantCulture); } //use approvals setting ItemVersionSetting useApprovals = ItemVersionSetting.GetItemVersionSetting(av.ItemVersionId, "chkUseApprovals", "Checked", PortalId); chkUseApprovals.Checked = useApprovals == null || Convert.ToBoolean(useApprovals.PropertyValue, CultureInfo.InvariantCulture); chkUseApprovals.Visible = IsAdmin && UseApprovals; phApproval.Visible = chkUseApprovals.Checked && UseApprovals; lblNotUsingApprovals.Visible = !chkUseApprovals.Checked || !UseApprovals; lblNotUsingApprovals.Text = Localization.GetString("ApprovalsDisabled", LocalSharedResourceFile); //LoadPhotoGalleryDropDown(av); LoadDisplayTabDropDown(); //load the article attachement settings } else { if (ddlDisplayTabId.Enabled) { av.DisplayTabId = Convert.ToInt32(ddlDisplayTabId.SelectedValue, CultureInfo.InvariantCulture); } av.VersionNumber = txtVersionNumber.Text; av.VersionDescription = txtVersionDescription.Text; av.ArticleText = TeArticleText.Text; } //load the article attachement settings //ctlUrlSelection.Url = } catch (Exception exc) { Exceptions.ProcessModuleLoadException(this, exc); } }
protected void btnSubmitComment_Click(object sender, EventArgs e) { if (Page.IsValid) { //TODO: we're allowing anonymous comments, we should have a setting for this. var objSecurity = new DotNetNuke.Security.PortalSecurity(); if (UseForumComments) { int? categoryForumId = GetCategoryForumId(); if (categoryForumId.HasValue) { int threadId = ForumProvider.GetInstance(PortalId).AddComment(categoryForumId.Value, VersionInfoObject.AuthorUserId, VersionInfoObject.Name, VersionInfoObject.Description, GetItemLinkUrl(VersionInfoObject.ItemId, PortalId), objSecurity.InputFilter(txtComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting), UserId, Request.UserHostAddress); var threadIdSetting = new ItemVersionSetting(Setting.CommentForumThreadId) { PropertyValue = threadId.ToString(CultureInfo.InvariantCulture), ItemVersionId = VersionInfoObject.ItemVersionId }; threadIdSetting.Save(); //VersionInfoObject.VersionSettings.Add(threadIdSetting); //VersionInfoObject.Save(VersionInfoObject.AuthorUserId); Response.Redirect(ForumProvider.GetInstance(PortalId).GetThreadUrl(threadId), true); } } else { if (txtHumanTest.Text.Trim().ToLower() == "human") { string urlText = txtUrlComment.Text; if (urlText.Trim().Length > 0 && !urlText.StartsWith("http://", StringComparison.OrdinalIgnoreCase) && !urlText.StartsWith("https://", StringComparison.OrdinalIgnoreCase)) { urlText = "http://" + urlText; } int approvalStatusId = ApprovalStatus.Waiting.GetId(); if (IsAdmin) {//automatically approve admin comments approvalStatusId = ApprovalStatus.Approved.GetId(); } //TODO: format the comment text UserFeedback.Comment.AddComment(VersionInfoObject.ItemVersionId, (UserId == -1 ? null : (int?)UserId), objSecurity.InputFilter(txtComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting), approvalStatusId, null, objSecurity.InputFilter(txtFirstNameComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting), objSecurity.InputFilter(txtLastNameComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting), objSecurity.InputFilter(txtEmailAddressComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting), objSecurity.InputFilter(urlText, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting), DataProvider.ModuleQualifier); //see if comment notification is turned on. Notify the ItemVersion.Author if (IsCommentAuthorNotificationEnabled) { var uc = new UserController(); UserInfo ui = uc.GetUser(PortalId, VersionInfoObject.AuthorUserId); if (ui != null) { string emailBody = Localization.GetString("CommentNotificationEmail.Text", LocalResourceFile); emailBody = String.Format(emailBody , VersionInfoObject.Name , GetItemLinkUrlExternal(VersionInfoObject.ItemId) , objSecurity.InputFilter(txtFirstNameComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting) , objSecurity.InputFilter(txtLastNameComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting) , objSecurity.InputFilter(txtEmailAddressComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting) , objSecurity.InputFilter(txtComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting) ); string emailSubject = Localization.GetString("CommentNotificationEmailSubject.Text", LocalResourceFile); emailSubject = String.Format(emailSubject, VersionInfoObject.Name); Mail.SendMail(PortalSettings.Email, ui.Email, string.Empty, emailSubject, emailBody, string.Empty, "HTML", string.Empty, string.Empty, string.Empty, string.Empty); } } ConfigureComments(); pnlCommentEntry.Visible = false; pnlCommentConfirmation.Visible = true; } } } }
private void SaveSettings() { var av = (Article)VersionInfoObject; av.VersionSettings.Clear(); //Printer Friendly Setting setting = Setting.PrinterFriendly; setting.PropertyValue = chkPrinterFriendly.Checked.ToString(CultureInfo.InvariantCulture); var itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); //AuthorName setting setting = Setting.AuthorName; setting.PropertyValue = itemEditControl.AuthorName; itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); //Email A Friend setting = Setting.EmailAFriend; setting.PropertyValue = chkEmailAFriend.Checked.ToString(CultureInfo.InvariantCulture); itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); //ratings setting = Setting.Rating; setting.PropertyValue = chkRatings.Checked.ToString(CultureInfo.InvariantCulture); itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); //comments setting = Setting.Comments; setting.PropertyValue = chkComments.Checked.ToString(CultureInfo.InvariantCulture); itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); //forum comments setting = Setting.ForumComments; setting.PropertyValue = chkForumComments.Checked.ToString(CultureInfo.InvariantCulture); itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); //forum comments thread ID //just continue forward to the next version, this doesn't get set in the edit screen itemVersionSetting = ItemVersionSetting.GetItemVersionSetting(av.ItemVersionId, "ArticleSetting", "CommentForumThreadId", PortalId); if (itemVersionSetting != null) { av.VersionSettings.Add(itemVersionSetting); } //display on current page option setting = Setting.ArticleSettingCurrentDisplay; setting.PropertyValue = rblDisplayOnCurrentPage.SelectedValue; itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); //force display on specific page setting = Setting.ArticleSettingForceDisplay; setting.PropertyValue = chkForceDisplayTab.Checked.ToString(CultureInfo.InvariantCulture); itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); //display return to list setting = Setting.ArticleSettingReturnToList; setting.PropertyValue = chkReturnList.Checked.ToString(CultureInfo.InvariantCulture); itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); //show author setting = Setting.Author; setting.PropertyValue = chkShowAuthor.Checked.ToString(CultureInfo.InvariantCulture); itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); //show tags setting = Setting.ShowTags; setting.PropertyValue = chkTags.Checked.ToString(CultureInfo.InvariantCulture); itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); //use approvals setting = Setting.UseApprovals; setting.PropertyValue = chkUseApprovals.Checked.ToString(CultureInfo.InvariantCulture); itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); //article attachment setting = Setting.ArticleAttachment; setting.PropertyValue = ctlUrlSelection.Url; itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); }
private void Page_Load(object sender, EventArgs e) { try { LocalizeCollapsePanels(); //check VI for null then set information if (!Page.IsPostBack) { LoadAuthorsList(); //set author ddlAuthor.SelectedValue = VersionInfoObject.AuthorUserId > 0 ? VersionInfoObject.AuthorUserId.ToString() : UserId.ToString(); //configure the author name (Text) if defined //chkShowAuthor ItemVersionSetting auNameSetting = ItemVersionSetting.GetItemVersionSetting(VersionInfoObject.ItemVersionId, "lblAuthorName", "Text", PortalId); txtAuthorName.Text = auNameSetting != null ? auNameSetting.PropertyValue : ddlAuthor.SelectedItem.Text.Trim(); if (AllowRichTextDescriptions) { if (DefaultRichTextDescriptions) { teDescription.ChooseMode = true; btnChangeDescriptionEditorMode.Visible = false; teDescription.Visible = true; txtDescription.Visible = false; } else { //if their profile is set to basic text mode, we need to show the radio buttons so they can get to rich text mode. teDescription.ChooseMode = (string)Personalization.GetProfile("DotNetNuke.TextEditor", "PreferredTextEditor") == "BASIC"; btnChangeDescriptionEditorMode.Text = Localization.GetString("btnChangeDescriptionEditorMode_" + txtDescription.Visible, LocalResourceFile); } } else { btnChangeDescriptionEditorMode.Visible = false; } if (Utility.HasValue(VersionInfoObject.MetaTitle) || Utility.HasValue(VersionInfoObject.MetaDescription) || Utility.HasValue(VersionInfoObject.MetaKeywords)) { //chkSearchEngine.Checked = true; //pnlSearchEngine.Visible = true; } txtDescription.Text = VersionInfoObject.Description; teDescription.Text = VersionInfoObject.Description; txtMetaKeywords.Text = VersionInfoObject.MetaKeywords; txtMetaDescription.Text = VersionInfoObject.MetaDescription; txtMetaTitle.Text = VersionInfoObject.MetaTitle; if (EnableDisplayNameAsHyperlink) { chkDisplayAsHyperlink.Checked = !VersionInfoObject.Disabled; } else { lblDisplayAsHyperlink.Visible = false; chkDisplayAsHyperlink.Visible = false; chkDisplayAsHyperlink.Checked = true; } if (Utility.HasValue(VersionInfoObject.StartDate)) { txtStartDate.Text = Utility.GetCurrentCultureDateTime(VersionInfoObject.StartDate); } if (Utility.HasValue(VersionInfoObject.EndDate)) { txtEndDate.Text = Utility.GetCurrentCultureDateTime(VersionInfoObject.EndDate); } txtName.Text = VersionInfoObject.Name; thumbnailSelector.ThumbnailUrl = VersionInfoObject.Thumbnail; } else { VersionInfoObject.Name = txtName.Text; VersionInfoObject.Description = DescriptionText; VersionInfoObject.Thumbnail = thumbnailSelector.ThumbnailUrl;//ctlMediaFile.Url; //define author's name to display _authorName = txtAuthorName.Text.Trim(); VersionInfoObject.MetaKeywords = txtMetaKeywords.Text; VersionInfoObject.MetaDescription = txtMetaDescription.Text; VersionInfoObject.MetaTitle = txtMetaTitle.Text; VersionInfoObject.Disabled = !chkDisplayAsHyperlink.Checked; VersionInfoObject.Url = ctlUrlSelection.Url; VersionInfoObject.NewWindow = chkNewWindow.Checked; DateTime dt; if (Utility.HasValue(txtStartDate.Text) && DateTime.TryParse(txtStartDate.Text, out dt)) { if (!dt.Equals(DateTime.MinValue)) { VersionInfoObject.StartDate = dt.ToString(CultureInfo.InvariantCulture); } } if (Utility.HasValue(txtEndDate.Text) && DateTime.TryParse(txtEndDate.Text, out dt)) { if (!dt.Equals(DateTime.MinValue)) { VersionInfoObject.EndDate = dt.ToString(CultureInfo.InvariantCulture); } } else { VersionInfoObject.EndDate = ""; } VersionInfoObject.AuthorUserId = Convert.ToInt32(ddlAuthor.SelectedValue); VersionInfoObject.RevisingUserId = UserId; } } catch (Exception exc) { Exceptions.ProcessModuleLoadException(this, exc); } }
private void SaveSettings() { var av = (Article)this.VersionInfoObject; av.VersionSettings.Clear(); // Printer Friendly Setting setting = Setting.PrinterFriendly; setting.PropertyValue = this.chkPrinterFriendly.Checked.ToString(CultureInfo.InvariantCulture); var itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); // AuthorName setting setting = Setting.AuthorName; setting.PropertyValue = this.itemEditControl.AuthorName; itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); // Email A Friend setting = Setting.EmailAFriend; setting.PropertyValue = this.chkEmailAFriend.Checked.ToString(CultureInfo.InvariantCulture); itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); // ratings setting = Setting.Rating; setting.PropertyValue = this.chkRatings.Checked.ToString(CultureInfo.InvariantCulture); itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); // comments setting = Setting.Comments; setting.PropertyValue = this.chkComments.Checked.ToString(CultureInfo.InvariantCulture); itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); // forum comments setting = Setting.ForumComments; setting.PropertyValue = this.chkForumComments.Checked.ToString(CultureInfo.InvariantCulture); itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); // forum comments thread ID // just continue forward to the next version, this doesn't get set in the edit screen itemVersionSetting = ItemVersionSetting.GetItemVersionSetting(av.ItemVersionId, "ArticleSetting", "CommentForumThreadId", this.PortalId); if (itemVersionSetting != null) { av.VersionSettings.Add(itemVersionSetting); } // include all articles from the parent category setting = Setting.ArticleSettingIncludeCategories; setting.PropertyValue = this.chkIncludeOtherArticlesFromSameList.Checked.ToString(CultureInfo.InvariantCulture); itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); // display on current page option setting = Setting.ArticleSettingCurrentDisplay; setting.PropertyValue = this.rblDisplayOnCurrentPage.SelectedValue; itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); // force display on specific page setting = Setting.ArticleSettingForceDisplay; setting.PropertyValue = this.chkForceDisplayTab.Checked.ToString(CultureInfo.InvariantCulture); itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); // display return to list setting = Setting.ArticleSettingReturnToList; setting.PropertyValue = this.chkReturnList.Checked.ToString(CultureInfo.InvariantCulture); itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); // show author setting = Setting.Author; setting.PropertyValue = this.chkShowAuthor.Checked.ToString(CultureInfo.InvariantCulture); itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); // show tags setting = Setting.ShowTags; setting.PropertyValue = this.chkTags.Checked.ToString(CultureInfo.InvariantCulture); itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); // use approvals setting = Setting.UseApprovals; setting.PropertyValue = this.chkUseApprovals.Checked.ToString(CultureInfo.InvariantCulture); itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); // simple gallery album setting = Setting.UseSimpleGalleryAlbum; setting.PropertyValue = this.ddlPhotoGalleryAlbum.SelectedValue.StartsWith("s", StringComparison.Ordinal) ? this.ddlPhotoGalleryAlbum.SelectedValue.Substring(1) : string.Empty; itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); // ultra media gallery album setting = Setting.UseUltraMediaGalleryAlbum; setting.PropertyValue = this.ddlPhotoGalleryAlbum.SelectedValue.StartsWith("u", StringComparison.Ordinal) ? this.ddlPhotoGalleryAlbum.SelectedValue.Substring(1) : string.Empty; itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); // article attachment setting = Setting.ArticleAttachment; setting.PropertyValue = this.ctlUrlSelection.Url; itemVersionSetting = new ItemVersionSetting(setting); av.VersionSettings.Add(itemVersionSetting); }
protected void btnSubmitComment_Click(object sender, EventArgs e) { if (Page.IsValid) { //TODO: we're allowing anonymous comments, we should have a setting for this. var objSecurity = new DotNetNuke.Security.PortalSecurity(); if (UseForumComments) { int?categoryForumId = GetCategoryForumId(); if (categoryForumId.HasValue) { int threadId = ForumProvider.GetInstance(PortalId).AddComment(categoryForumId.Value, VersionInfoObject.AuthorUserId, VersionInfoObject.Name, VersionInfoObject.Description, GetItemLinkUrl(VersionInfoObject.ItemId, PortalId), objSecurity.InputFilter(txtComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting), UserId, Request.UserHostAddress); var threadIdSetting = new ItemVersionSetting(Setting.CommentForumThreadId) { PropertyValue = threadId.ToString(CultureInfo.InvariantCulture), ItemVersionId = VersionInfoObject.ItemVersionId }; threadIdSetting.Save(); //VersionInfoObject.VersionSettings.Add(threadIdSetting); //VersionInfoObject.Save(VersionInfoObject.AuthorUserId); Response.Redirect(ForumProvider.GetInstance(PortalId).GetThreadUrl(threadId), true); } } else { if (txtHumanTest.Text.Trim().ToLower() == "human") { string urlText = txtUrlComment.Text; if (urlText.Trim().Length > 0 && !urlText.StartsWith("http://", StringComparison.OrdinalIgnoreCase) && !urlText.StartsWith("https://", StringComparison.OrdinalIgnoreCase)) { urlText = "http://" + urlText; } int approvalStatusId = ApprovalStatus.Waiting.GetId(); if (IsAdmin) {//automatically approve admin comments approvalStatusId = ApprovalStatus.Approved.GetId(); } //TODO: format the comment text UserFeedback.Comment.AddComment(VersionInfoObject.ItemVersionId, (UserId == -1 ? null : (int?)UserId), objSecurity.InputFilter(txtComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting), approvalStatusId, null, objSecurity.InputFilter(txtFirstNameComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting), objSecurity.InputFilter(txtLastNameComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting), objSecurity.InputFilter(txtEmailAddressComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting), objSecurity.InputFilter(urlText, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting), DataProvider.ModuleQualifier); //see if comment notification is turned on. Notify the ItemVersion.Author if (IsCommentAuthorNotificationEnabled) { var uc = new UserController(); UserInfo ui = uc.GetUser(PortalId, VersionInfoObject.AuthorUserId); if (ui != null) { string emailBody = Localization.GetString("CommentNotificationEmail.Text", LocalResourceFile); emailBody = String.Format(emailBody , VersionInfoObject.Name , GetItemLinkUrlExternal(VersionInfoObject.ItemId) , objSecurity.InputFilter(txtFirstNameComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting) , objSecurity.InputFilter(txtLastNameComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting) , objSecurity.InputFilter(txtEmailAddressComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting) , objSecurity.InputFilter(txtComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting) ); string emailSubject = Localization.GetString("CommentNotificationEmailSubject.Text", LocalResourceFile); emailSubject = String.Format(emailSubject, VersionInfoObject.Name); Mail.SendMail(PortalSettings.Email, ui.Email, string.Empty, emailSubject, emailBody, string.Empty, "HTML", string.Empty, string.Empty, string.Empty, string.Empty); } } ConfigureComments(); pnlCommentEntry.Visible = false; pnlCommentConfirmation.Visible = true; } } } }
private void Page_Load(object sender, EventArgs e) { try { this.LocalizeCollapsePanels(); // because we're in the Edit options turn off caching ClientAPI.AddButtonConfirm(this.cmdDelete, Localization.GetString("DeleteConfirm", this.LocalResourceFile)); var cv = (Category)this.VersionInfoObject; if (!this.Page.IsPostBack) { this.rblDisplayOnCurrentPage.Items.Add( new ListItem(Localization.GetString("CurrentPage", this.LocalResourceFile), true.ToString(CultureInfo.InvariantCulture))); this.rblDisplayOnCurrentPage.Items.Add( new ListItem(Localization.GetString("SpecificPage", this.LocalResourceFile), false.ToString(CultureInfo.InvariantCulture))); this.txtSortOrder.Text = cv.SortOrder.ToString(CultureInfo.CurrentCulture); this.txtCategoryId.Text = cv.ItemId.ToString(CultureInfo.CurrentCulture); this.cmdDelete.Visible = false; // check if new or edit if (this.VersionInfoObject.IsNew) { this.txtCategoryId.Visible = false; this.lblCategoryId.Visible = false; if (this.ParentId != -1) { Category parent = Category.GetCategory(this.ParentId, this.PortalId); this.parentCategoryRelationships.AddToSelectedItems(parent); } } this.trCategoryId.Visible = this.ShowItemIds; // check if the DisplayTabId should be set. // chkDisplayOnCurrentPage ItemVersionSetting cpSetting = ItemVersionSetting.GetItemVersionSetting( this.VersionInfoObject.ItemVersionId, "CategorySettings", "DisplayOnCurrentPage", this.PortalId); if (cpSetting != null) { this.rblDisplayOnCurrentPage.SelectedValue = this.VersionInfoObject.DisplayOnCurrentPage().ToString(CultureInfo.InvariantCulture); if (this.VersionInfoObject.DisplayOnCurrentPage()) { this.chkForceDisplayTab.Checked = false; this.chkForceDisplayTab.Visible = false; this.lblForceDisplayTab.Visible = false; this.ddlDisplayTabId.Enabled = false; } else { this.chkForceDisplayTab.Visible = true; this.lblForceDisplayTab.Visible = true; this.ddlDisplayTabId.Enabled = true; } } else if (this.VersionInfoObject.DisplayTabId < 0) { this.rblDisplayOnCurrentPage.SelectedValue = false.ToString(CultureInfo.InvariantCulture); this.chkForceDisplayTab.Checked = false; this.chkForceDisplayTab.Visible = true; this.lblForceDisplayTab.Visible = true; this.ddlDisplayTabId.Enabled = true; } else { this.rblDisplayOnCurrentPage.SelectedValue = false.ToString(CultureInfo.InvariantCulture); this.chkForceDisplayTab.Visible = true; this.lblForceDisplayTab.Visible = true; this.ddlDisplayTabId.Enabled = true; } this.chkForceDisplayTab.Checked = this.VersionInfoObject.ForceDisplayOnPage(); this.LoadCommentForumsDropDown(); this.LoadCategoryDisplayTabDropDown(); this.LoadChildDisplayTabDropDown(); ItemVersionSetting useApprovals = ItemVersionSetting.GetItemVersionSetting( this.VersionInfoObject.ItemVersionId, "chkUseApprovals", "Checked", this.PortalId); this.chkUseApprovals.Checked = useApprovals == null || Convert.ToBoolean(useApprovals.PropertyValue, CultureInfo.InvariantCulture); this.chkUseApprovals.Visible = this.IsAdmin && this.UseApprovals; this.phApproval.Visible = this.UseApprovals && this.chkUseApprovals.Checked; this.lblNotUsingApprovals.Visible = !this.UseApprovals || !this.chkUseApprovals.Checked; // itemversionsetting for external RSS feed // provide the ability to define an external RSS feed for a category. ItemVersionSetting rssSetting = ItemVersionSetting.GetItemVersionSetting( this.VersionInfoObject.ItemVersionId, "CategorySettings", "RssUrl", this.PortalId); if (rssSetting != null) { this.txtRssUrl.Text = rssSetting.PropertyValue; } } else { cv.SortOrder = Convert.ToInt32(this.txtSortOrder.Text, CultureInfo.InvariantCulture); this.VersionInfoObject.DisplayTabId = Convert.ToInt32(this.ddlDisplayTabId.SelectedValue, CultureInfo.InvariantCulture); cv.ChildDisplayTabId = Convert.ToInt32(this.ddlChildDisplayTabId.SelectedValue, CultureInfo.InvariantCulture); } } catch (Exception exc) { Exceptions.ProcessModuleLoadException(this, exc); } }
protected void btnSubmit_Click(object sender, EventArgs e) { var articleName = new StringBuilder(255); // replace name with the Page Name and Module Name var mc = new ModuleController(); ModuleInfo mi = mc.GetModule(this.ModuleId, this.TabId); articleName.Append(mi.ModuleTitle); if (articleName.Length < 1) { // check to see if the moduletitle was set as the title for the article, otherwise use the following articleName.Append("TabId-"); articleName.Append(this.TabId.ToString()); articleName.Append("ModuleId-"); articleName.Append(this.ModuleId.ToString()); } // string articleDescription = string.Format(Localization.GetString("description", LocalResourceFile), DateTime.Now.ToString(CultureInfo.CurrentCulture)); string articleText = this.teArticleText.Text; string description = HtmlUtils.StripTags(articleText, false); string articleDescription = Utility.TrimDescription(3997, description) + "..."; // description + "..."; // save article // if the article id (itemid) already exists in the module settings let's update, otherwise create new if (this.Settings.Contains("ItemId")) { Article a = Article.GetArticle(Convert.ToInt32(this.Settings["ItemId"]), this.PortalId, true, true, true); a.ArticleText = this.teArticleText.Text; a.Description = articleDescription; // trim the content entered for a description a.DisplayTabId = this.TabId; // force display on specific page Setting setting = Setting.ArticleSettingForceDisplay; var itemVersionSetting = new ItemVersionSetting(setting); a.VersionSettings[itemVersionSetting].PropertyValue = "true"; a.ModuleId = this.ModuleId; a.ApprovalStatusId = this.UseApprovals ? this.epApprovals.ApprovalStatusId : ApprovalStatus.Approved.GetId(); a.Save(this.UserId); // this is likely unneccesary as we already have the itemid set in the settings mc.UpdateTabModuleSetting(this.TabModuleId, "ItemId", a.ItemId.ToString()); mc.UpdateTabModuleSetting(this.TabModuleId, "DisplayType", "texthtml"); } else { Article a = Article.Create( articleName.ToString(), articleDescription, this.teArticleText.Text, this.UserId, this.DefaultTextHtmlCategory, this.ModuleId, this.PortalId); a.DisplayTabId = this.TabId; // force display on specific page Setting setting = Setting.ArticleSettingForceDisplay; var itemVersionSetting = new ItemVersionSetting(setting); a.VersionSettings[itemVersionSetting].PropertyValue = "true"; a.ModuleId = this.ModuleId; a.ApprovalStatusId = this.UseApprovals ? this.epApprovals.ApprovalStatusId : ApprovalStatus.Approved.GetId(); a.Save(this.UserId); mc.UpdateTabModuleSetting(this.TabModuleId, "ItemId", a.ItemId.ToString()); mc.UpdateTabModuleSetting(this.TabModuleId, "DisplayType", "texthtml"); } this.Response.Redirect(Globals.NavigateURL()); }
protected void btnSubmit_Click(object sender, EventArgs e) { var articleName = new StringBuilder(255); //replace name with the Page Name and Module Name var mc = new ModuleController(); ModuleInfo mi = mc.GetModule(ModuleId, TabId); articleName.Append(mi.ModuleTitle); if (articleName.Length < 1) {//check to see if the moduletitle was set as the title for the article, otherwise use the following articleName.Append("TabId-"); articleName.Append(TabId.ToString()); articleName.Append("ModuleId-"); articleName.Append(ModuleId.ToString()); } //string articleDescription = String.Format(Localization.GetString("description", LocalResourceFile), DateTime.Now.ToString(CultureInfo.CurrentCulture)); string articleText = teArticleText.Text; string description = DotNetNuke.Common.Utilities.HtmlUtils.StripTags(articleText, false); string articleDescription = Utility.TrimDescription(3997, description) + "...";// description + "..."; //save article //if the article id (itemid) already exists in the module settings let's update, otherwise create new if (Settings.Contains("ItemId")) { Article a = Article.GetArticle(Convert.ToInt32(Settings["ItemId"]), PortalId, true, true,true); a.ArticleText = teArticleText.Text; a.Description = articleDescription; //trim the content entered for a description a.DisplayTabId = TabId; //force display on specific page Setting setting = Setting.ArticleSettingForceDisplay; var itemVersionSetting = new ItemVersionSetting(setting); a.VersionSettings[itemVersionSetting].PropertyValue = "true"; a.ModuleId = ModuleId; a.ApprovalStatusId = UseApprovals ? epApprovals.ApprovalStatusId : ApprovalStatus.Approved.GetId(); a.Save(UserId); //this is likely unneccesary as we already have the itemid set in the settings mc.UpdateTabModuleSetting(TabModuleId, "ItemId", a.ItemId.ToString()); mc.UpdateTabModuleSetting(TabModuleId, "DisplayType", "texthtml"); } else { Article a = Article.Create(articleName.ToString(), articleDescription, teArticleText.Text, UserId, DefaultTextHtmlCategory, ModuleId, PortalId); a.DisplayTabId = TabId; //force display on specific page Setting setting = Setting.ArticleSettingForceDisplay; var itemVersionSetting = new ItemVersionSetting(setting); a.VersionSettings[itemVersionSetting].PropertyValue = "true"; a.ModuleId = ModuleId; a.ApprovalStatusId = UseApprovals ? epApprovals.ApprovalStatusId : ApprovalStatus.Approved.GetId(); a.Save(UserId); mc.UpdateTabModuleSetting(TabModuleId, "ItemId", a.ItemId.ToString()); mc.UpdateTabModuleSetting(TabModuleId, "DisplayType", "texthtml"); } Response.Redirect(DotNetNuke.Common.Globals.NavigateURL()); }
private void ConfigureChildControls() { if (VersionInfoObject.IsNew) { return; } //check if items are enabled. if (DisplayEmailAFriend && VersionInfoObject.IsNew == false) { ea = (EmailAFriend)LoadControl(EmailControlToLoad); ea.ModuleConfiguration = ModuleConfiguration; ea.ID = Path.GetFileNameWithoutExtension(EmailControlToLoad); ea.VersionInfoObject = VersionInfoObject; phEmailAFriend.Controls.Add(ea); } if (DisplayPrinterFriendly && VersionInfoObject.IsNew == false) { pf = (PrinterFriendlyButton)LoadControl(PrinterControlToLoad); pf.ModuleConfiguration = ModuleConfiguration; pf.ID = Path.GetFileNameWithoutExtension(PrinterControlToLoad); phPrinterFriendly.Controls.Add(pf); } if (DisplayRelatedLinks) { ral = (RelatedArticleLinksBase)LoadControl(RelatedArticlesControlToLoad); ral.ModuleConfiguration = ModuleConfiguration; ral.ID = Path.GetFileNameWithoutExtension(RelatedArticlesControlToLoad); phRelatedArticles.Controls.Add(ral); } if (DisplayRelatedArticle) { Article a = VersionInfoObject.GetRelatedArticle(PortalId); if (a != null) { ad = (ArticleDisplay)LoadControl(ArticleControlToLoad); ad.ModuleConfiguration = ModuleConfiguration; ad.ID = Path.GetFileNameWithoutExtension(ArticleControlToLoad); ad.Overrideable = false; ad.UseCache = true; ad.DisplayPrinterFriendly = false; ad.DisplayRelatedArticle = false; ad.DisplayRelatedLinks = false; ad.DisplayEmailAFriend = false; ad.SetItemId(a.ItemId); ad.DisplayTitle = false; phRelatedArticle.Controls.Add(ad); divRelatedArticle.Visible = true; } else { divRelatedArticle.Visible = false; } } if (RatingDisplayOption.Equals(RatingDisplayOption.Enable) || RatingDisplayOption.Equals(RatingDisplayOption.ReadOnly)) { //get the upnlRating setting ItemVersionSetting rtSetting = ItemVersionSetting.GetItemVersionSetting(VersionInfoObject.ItemVersionId, "upnlRating", "Visible", PortalId); if (rtSetting != null) { upnlRating.Visible = Convert.ToBoolean(rtSetting.PropertyValue, CultureInfo.InvariantCulture); } if (upnlRating.Visible) { //lblRatingMessage.Visible = true; //TODO: re-enable ratings lblRatingMessage.Visible = false; //TODO: re-enable ratings //ajaxRating.MaxRating = MaximumRating; var avgRating = (int)Math.Round(((Article)VersionInfoObject).AverageRating); //ajaxRating.CurrentRating = (avgRating > MaximumRating ? MaximumRating : (avgRating < 0 ? 0 : avgRating)); //ajaxRating.ReadOnly = RatingDisplayOption.Equals(RatingDisplayOption.ReadOnly); } } btnComment.Visible = DisplayCommentsLink; if (IsCommentsEnabled) { btnComment.NavigateUrl = Request.RawUrl + "#CommentEntry"; if (!UseForumComments || (DisplayPublishComments && !VersionInfoObject.IsNew)) { pnlComments.Visible = pnlCommentDisplay.Visible = true; commentDisplay = (CommentDisplayBase)LoadControl(CommentsControlToLoad); commentDisplay.ModuleConfiguration = ModuleConfiguration; commentDisplay.ID = Path.GetFileNameWithoutExtension(CommentsControlToLoad); commentDisplay.ArticleId = VersionInfoObject.ItemId; phCommentsDisplay.Controls.Add(commentDisplay); } if (UseForumComments) { pnlComments.Visible = true; mvCommentDisplay.SetActiveView(vwForumComments); ItemVersionSetting forumThreadIdSetting = ItemVersionSetting.GetItemVersionSetting(VersionInfoObject.ItemVersionId, "ArticleSetting", "CommentForumThreadId", PortalId); if (forumThreadIdSetting != null) { lnkGoToForum.Visible = true; lnkGoToForum.NavigateUrl = ForumProvider.GetInstance(PortalId).GetThreadUrl(Convert.ToInt32(forumThreadIdSetting.PropertyValue, CultureInfo.InvariantCulture)); } else { btnForumComment.Visible = true; } } } ConfigureTags(); }
/// <summary> /// This method will configure the default ItemVersionSettings for an article, it is called from the Create method on article so that users of the API do not have to pass in itemversionsettings. /// </summary> private void SetDefaultItemVersionSettings() { //Printer Friendly string hostPrinterFriendlySetting = HostController.Instance.GetString(Utility.PublishDefaultPrinterFriendly + PortalId.ToString(CultureInfo.InvariantCulture)); Setting setting = Setting.PrinterFriendly; setting.PropertyValue = Convert.ToBoolean(hostPrinterFriendlySetting, CultureInfo.InvariantCulture).ToString(); var itemVersionSetting = new ItemVersionSetting(setting); VersionSettings.Add(itemVersionSetting); //Email A Friend string hostEmailFriendSetting = HostController.Instance.GetString(Utility.PublishDefaultEmailAFriend + PortalId.ToString(CultureInfo.InvariantCulture)); setting = Setting.EmailAFriend; setting.PropertyValue = Convert.ToBoolean(hostEmailFriendSetting, CultureInfo.InvariantCulture).ToString(); itemVersionSetting = new ItemVersionSetting(setting); VersionSettings.Add(itemVersionSetting); //ratings string hostRatingSetting = HostController.Instance.GetString(Utility.PublishDefaultRatings + PortalId.ToString(CultureInfo.InvariantCulture)); setting = Setting.Rating; setting.PropertyValue = Convert.ToBoolean(hostRatingSetting, CultureInfo.InvariantCulture).ToString(); itemVersionSetting = new ItemVersionSetting(setting); VersionSettings.Add(itemVersionSetting); //comments string hostCommentSetting = HostController.Instance.GetString(Utility.PublishDefaultComments + PortalId.ToString(CultureInfo.InvariantCulture)); setting = Setting.Comments; setting.PropertyValue = Convert.ToBoolean(hostCommentSetting, CultureInfo.InvariantCulture).ToString(); itemVersionSetting = new ItemVersionSetting(setting); VersionSettings.Add(itemVersionSetting); if (ModuleBase.IsPublishCommentTypeForPortal(PortalId)) { //forum comments setting = Setting.ForumComments; setting.PropertyValue = Convert.ToBoolean(hostCommentSetting, CultureInfo.InvariantCulture).ToString(); itemVersionSetting = new ItemVersionSetting(setting); VersionSettings.Add(itemVersionSetting); } //include all articles from the parent category setting = Setting.ArticleSettingIncludeCategories; setting.PropertyValue = false.ToString(); itemVersionSetting = new ItemVersionSetting(setting); VersionSettings.Add(itemVersionSetting); //display on current page option setting = Setting.ArticleSettingCurrentDisplay; setting.PropertyValue = false.ToString(); itemVersionSetting = new ItemVersionSetting(setting); VersionSettings.Add(itemVersionSetting); //force display on specific page setting = Setting.ArticleSettingForceDisplay; setting.PropertyValue = false.ToString(); itemVersionSetting = new ItemVersionSetting(setting); VersionSettings.Add(itemVersionSetting); //display return to list setting = Setting.ArticleSettingReturnToList; setting.PropertyValue = false.ToString(); itemVersionSetting = new ItemVersionSetting(setting); VersionSettings.Add(itemVersionSetting); //show author string hostAuthorSetting = HostController.Instance.GetString(Utility.PublishDefaultShowAuthor + PortalId.ToString(CultureInfo.InvariantCulture)); setting = Setting.Author; setting.PropertyValue = Convert.ToBoolean(hostAuthorSetting, CultureInfo.InvariantCulture).ToString(); itemVersionSetting = new ItemVersionSetting(setting); VersionSettings.Add(itemVersionSetting); //show tags string hostTagsSetting = HostController.Instance.GetString(Utility.PublishDefaultShowTags + PortalId.ToString(CultureInfo.InvariantCulture)); setting = Setting.ShowTags; setting.PropertyValue = Convert.ToBoolean(hostTagsSetting, CultureInfo.InvariantCulture).ToString(); itemVersionSetting = new ItemVersionSetting(setting); VersionSettings.Add(itemVersionSetting); //use approvals string hostUseApprovalsSetting = HostController.Instance.GetString(Utility.PublishUseApprovals + PortalId.ToString(CultureInfo.InvariantCulture)); setting = Setting.UseApprovals; setting.PropertyValue = Convert.ToBoolean(hostUseApprovalsSetting, CultureInfo.InvariantCulture).ToString(); itemVersionSetting = new ItemVersionSetting(setting); VersionSettings.Add(itemVersionSetting); }
private void DisplayArticle() { if (VersionInfoObject.IsNew) { if (IsAdmin || IsAuthor) { //Default the text to no approved version. if the module isn't configured or no Categories/Articles exist yet then it will be overwritten. lblArticleText.Text = Localization.GetString("NoApprovedVersion", LocalResourceFile); //Check to see if there are Categories defined. If none are defined this is the first //instance of the Module so we need to notify the user to create categories and articles. int categoryCount = DataProvider.Instance().GetCategories(PortalId).Rows.Count; if (categoryCount == 0) { lblArticleText.Text = Localization.GetString("NoDataToDisplay", LocalResourceFile); } else if (IsConfigured == false) { lnkConfigure.Text = Localization.GetString("UnableToFindAction", LocalResourceFile); lnkConfigure.NavigateUrl = EditUrl("ModuleId", ModuleId.ToString(CultureInfo.InvariantCulture), "Module"); lnkConfigure.Visible = true; lblArticleText.Text = Localization.GetString("UnableToFind", LocalResourceFile); } } return; } if (Item.GetItemType(VersionInfoObject.ItemId, PortalId) == "Article") { UseCache = true; var article = (Article)VersionInfoObject; if (DisplayTitle) { SetPageTitle(); lblArticleTitle.Text = article.Name; divArticleTitle.Visible = true; divLastUpdated.Visible = true; } article.ArticleText = Utility.ReplaceTokens(article.ArticleText); DisplayArticlePaging(article); string referrer = string.Empty; if (HttpContext.Current.Request.UrlReferrer != null) { referrer = HttpContext.Current.Request.UrlReferrer.ToString(); } string url = string.Empty; if (HttpContext.Current.Request.RawUrl != null) { url = HttpContext.Current.Request.RawUrl; } article.AddView(UserId, TabId, HttpContext.Current.Request.UserHostAddress); DateTime lastUpdated = Convert.ToDateTime(article.LastUpdated, CultureInfo.InvariantCulture); DateTime dateCreated = Convert.ToDateTime(article.CreatedDate, CultureInfo.InvariantCulture); lblLastUpdated.Text = String.Format(Localization.GetString("LastUpdated", LocalResourceFile), lastUpdated.ToString(LastUpdatedFormat, CultureInfo.CurrentCulture)); lblDateCreated.Text = String.Format(Localization.GetString("DateCreated", LocalResourceFile), dateCreated.ToShortDateString()); //get the pnlAuthor setting ItemVersionSetting auSetting = ItemVersionSetting.GetItemVersionSetting(article.ItemVersionId, "pnlAuthor", "Visible", PortalId); if (auSetting != null) { ShowAuthor = Convert.ToBoolean(auSetting.PropertyValue, CultureInfo.InvariantCulture); } if (ShowAuthor) { pnlAuthor.Visible = true; lblAuthor.Text = article.Author; if (lblAuthor.Text.Trim().Length < 1) { var uc = new UserController(); UserInfo ui = uc.GetUser(PortalId, article.AuthorUserId); lblAuthor.Text = ui.DisplayName; } if (lblAuthor.Text.Trim().Length < 1) { pnlAuthor.Visible = false; } } else { pnlAuthor.Visible = false; } //get the pnlPrinterFriendly setting ItemVersionSetting pfSetting = ItemVersionSetting.GetItemVersionSetting(article.ItemVersionId, "pnlPrinterFriendly", "Visible", PortalId); if (pfSetting != null) { pnlPrinterFriendly.Visible = Convert.ToBoolean(pfSetting.PropertyValue, CultureInfo.InvariantCulture); } //get the pnlEmailAFriend setting ItemVersionSetting efSetting = ItemVersionSetting.GetItemVersionSetting(article.ItemVersionId, "pnlEmailAFriend", "Visible", PortalId); if (efSetting != null) { pnlEmailAFriend.Visible = Convert.ToBoolean(efSetting.PropertyValue, CultureInfo.InvariantCulture); } //get the pnlComments setting ItemVersionSetting ctSetting = ItemVersionSetting.GetItemVersionSetting(article.ItemVersionId, "pnlComments", "Visible", PortalId); if (ctSetting != null) { pnlComments.Visible = Convert.ToBoolean(ctSetting.PropertyValue, CultureInfo.InvariantCulture); } ////get the upnlRating setting //ItemVersionSetting tgSetting = ItemVersionSetting.GetItemVersionSetting(article.ItemVersionId, "pnlTags", "Visible"); //if (tgSetting != null) //{ // pnlTags.Visible = Convert.ToBoolean(tgSetting.PropertyValue, CultureInfo.InvariantCulture); // if (Convert.ToBoolean(tgSetting.PropertyValue, CultureInfo.InvariantCulture)) // { // PopulateTagList(); // } //} //else //{ // if (article.Tags.Count > 0) // { // pnlTags.Visible = true; // PopulateTagList(); // } //} DisplayReturnToList(article); } }