Exemple #1
0
        /// <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;
            }
        }
Exemple #3
0
        /// <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);
        }