Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
            }
        }
Ejemplo n.º 7
0
        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);
            }
        }
Ejemplo n.º 10
0
        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;
                    }
                }
            }
        }
Ejemplo n.º 12
0
        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);
        }
Ejemplo n.º 13
0
        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);
        }
Ejemplo n.º 15
0
        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;
                    }
                }
            }
        }
Ejemplo n.º 16
0
        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);
        }
Ejemplo n.º 17
0
        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);
            }
        }
        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);
            }
        }
Ejemplo n.º 19
0
        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());
        }
Ejemplo n.º 20
0
        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());
        }
Ejemplo n.º 21
0
        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();
        }
Ejemplo n.º 22
0
        /// <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);
        }
Ejemplo n.º 23
0
        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);
            }
        }
        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);
            }
        }