/// <summary> /// Posts the topic comment to DNN journal. /// </summary> /// <param name="summary">The summary.</param> /// <param name="title">The title.</param> /// <param name="description">The description.</param> /// <param name="linkToTopic">The link to topic.</param> /// <param name="currentTab">The current tab.</param> /// <param name="topicName">Name of the topic.</param> /// <param name="journalType">Type of the journal.</param> public static void PostTopicCommentToJournal( string summary, string title, string description, string linkToTopic, int currentTab, string topicName, SharedEnum.DNNJournalType journalType) { if (HttpContext.Current != null && HttpContext.Current.User.Identity.IsAuthenticated) { UserInfo user = UserController.GetCurrentUserInfo(); if (user != null) { // Post to DotnetNuke Journal var journalController = JournalController.Instance; var journalItem = new JournalItem(); journalItem.Summary = summary; journalItem.PortalId = PortalSettings.Current.PortalId; journalItem.ProfileId = user.UserID; journalItem.SocialGroupId = Null.NullInteger; journalItem.UserId = user.UserID; journalItem.ItemData = new ItemData() { Description = description, Title = title, Url = linkToTopic }; journalItem.JournalTypeId = (int)journalType; journalItem.ObjectKey = string.Empty; journalItem.SecuritySet = "F,"; //// http: //www.dnnsoftware.com/wiki/loc/history/Page/Journal/Revision/11 journalItem.Title = topicName; journalController.SaveJournalItem(journalItem, currentTab); // saving } } }
/// <summary> /// Saves the topic. /// </summary> /// <param name="content">The content.</param> /// <param name="allowDiscuss">if set to <c>true</c> [allow discuss].</param> /// <param name="allowRating">if set to <c>true</c> [allow rating].</param> /// <param name="title">The title.</param> /// <param name="description">The description.</param> /// <param name="keywords">The keywords.</param> /// <param name="out_crudOperation">The crud operation performed, only update or /// insert</param> protected void SaveTopic( string content, bool allowDiscuss, bool allowRating, string title, string description, string keywords, out SharedEnum.CrudOperation out_crudOperation) { TopicHistory topicHistory = new TopicHistory(); topicHistory.TabID = this.TabId; topicHistory.PortalSettings = this.PortalSettings; if (this.mTopicObject.TopicID != 0) { if (!content.Equals(this.mTopicObject.Content) | !title.Equals(this.mTopicObject.Title) | !description.Equals(this.mTopicObject.Description) | !keywords.Equals(this.mTopicObject.Keywords)) { topicHistory.Name = this.mTopicObject.Name; topicHistory.TopicId = this.mTopicObject.TopicID; topicHistory.Content = this.mTopicObject.Content; topicHistory.UpdatedBy = this.mTopicObject.UpdatedBy; topicHistory.UpdateDate = DateTime.Now; topicHistory.UpdatedByUserID = this.mTopicObject.UpdatedByUserID; topicHistory.Title = this.mTopicObject.Title; topicHistory.Description = this.mTopicObject.Description; topicHistory.Keywords = this.mTopicObject.Keywords; this.mTopicObject.UpdateDate = DateTime.Now; if (UserInfo.UserID == -1) { this.mTopicObject.UpdatedBy = Localization.GetString("Anonymous", this.RouterResourceFile); } else { this.mTopicObject.UpdatedBy = UserInfo.Username; } this.mTopicObject.UpdatedByUserID = this.UserId; this.mTopicObject.Content = content; this.mTopicObject.Title = title; this.mTopicObject.Description = description; this.mTopicObject.Keywords = keywords; this.TopicHistoryBo.Add(topicHistory); } this.mTopicObject.Name = this.mPageTopicValue; this.mTopicObject.Title = title; this.mTopicObject.Description = description; this.mTopicObject.Keywords = keywords; this.mTopicObject.AllowDiscussions = allowDiscuss; this.mTopicObject.AllowRatings = allowRating; this.mTopicObject.Content = content; this.TopicBo.Update(this.mTopicObject); out_crudOperation = SharedEnum.CrudOperation.Update; } else { this.mTopicObject = new Topic(); this.mTopicObject.TabID = this.TabId; this.mTopicObject.PortalSettings = this.PortalSettings; this.mTopicObject.Content = content; this.mTopicObject.Name = this.mPageTopicValue; this.mTopicObject.ModuleId = this.ModuleId; if (UserInfo.UserID == -1) { this.mTopicObject.UpdatedBy = Localization.GetString("Anonymous", this.RouterResourceFile); } else { this.mTopicObject.UpdatedBy = UserInfo.Username; } this.mTopicObject.UpdatedByUserID = this.UserId; this.mTopicObject.UpdateDate = DateTime.Now; this.mTopicObject.AllowDiscussions = allowDiscuss; this.mTopicObject.AllowRatings = allowRating; this.mTopicObject.Title = title; this.mTopicObject.Description = description; this.mTopicObject.Keywords = keywords; this.mTopicObject = this.TopicBo.Add(this.mTopicObject); this.mTopicIdValue = this.mTopicObject.TopicID; out_crudOperation = SharedEnum.CrudOperation.Insert; } }
/// <summary> /// Posts the topic to DNN journal. /// </summary> /// <param name="crudOperation">The crud operation.</param> private void PostTopicToDNNJournal(SharedEnum.CrudOperation crudOperation) { string summary = string.Empty; SharedEnum.DNNJournalType journalType; // depending on the Crud operation, sets the summary and JournalType if (crudOperation == SharedEnum.CrudOperation.Insert) { summary = Localization.GetString("JournalInsertTopicSummary", this.LocalResourceFile); journalType = SharedEnum.DNNJournalType.Wiki_Add; } else { summary = Localization.GetString("JournalUpdateTopicSummary", this.LocalResourceFile); journalType = SharedEnum.DNNJournalType.Wiki_Update; } // post the topic DNNUtils.PostTopicCommentToJournal( summary.Replace("[TopicName]", this.PageTopic), this.PageTopic, string.Empty, DotNetNuke.Common.Globals.NavigateURL(this.TabId, this.PortalSettings, string.Empty, "topic=" + WikiMarkup.EncodeTitle(this.PageTopic)), this.TabId, this.PageTopic, journalType); }