public override List <SueetieContentPage> GetSueetieContentPagesToIndex(int contenttypeID, DateTime pubDate) { List <SueetieContentPage> sueetieContentPages = new List <SueetieContentPage>(); using (SqlConnection cn = GetSqlConnection()) { using (SqlCommand cmd = new SqlCommand("Sueetie_Search_ContentPages_Get", cn)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@contenttypeID", SqlDbType.Int, 4).Value = contenttypeID; cmd.Parameters.Add("@pubDate", SqlDbType.DateTime, 8).Value = pubDate == DateTime.MinValue ? new DateTime(1900, 1, 1) : pubDate; cn.Open(); using (SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) { SueetieContentPage _SueetieContentPage = null; while (dr.Read()) { _SueetieContentPage = new SueetieContentPage(); PopulateSueetieContentPageList(dr, _SueetieContentPage); sueetieContentPages.Add(_SueetieContentPage); } dr.Close(); cn.Close(); } } } return(sueetieContentPages); }
private static SueetieSearchDoc ConvertSueetieContentPageToSearchDoc(SueetieContentPage sueetieContentPage) { string _body = DataHelper.StripHtml(sueetieContentPage.SearchBody).TrimStart(); string _tags = !string.IsNullOrEmpty(sueetieContentPage.Tags) ? sueetieContentPage.Tags.Replace('|', ' ') : string.Empty; string _displayTags = !string.IsNullOrEmpty(sueetieContentPage.Tags) ? SueetieTags.TagUrls(sueetieContentPage.Tags) : string.Empty; SueetieSearchDoc doc = new SueetieSearchDoc() { App = "CMS", ContentID = sueetieContentPage.ContentID, Title = sueetieContentPage.PageTitle, Tags = _tags, DisplayTags = _displayTags, AppID = sueetieContentPage.ApplicationID, IsRestricted = sueetieContentPage.IsRestricted, PublishDate = sueetieContentPage.LastUpdateDateTime, ContainerName = sueetieContentPage.ApplicationName, GroupID = 0, GroupKey = "na", ContentTypeID = sueetieContentPage.ContentTypeID, Categories = string.Empty, ApplicationTypeID = sueetieContentPage.ApplicationTypeID, ApplicationKey = sueetieContentPage.ApplicationKey, PermaLink = sueetieContentPage.Permalink, Author = sueetieContentPage.DisplayName, Username = sueetieContentPage.UserName, Body = _body + RaquoIt(sueetieContentPage.PageTitle) + RaquoIt(_tags) + RaquoIt(sueetieContentPage.UserName) }; return(doc); }
public static void PopulateSueetieContentPageList(IDataReader dr, SueetieContentPage _sueetieContentPage) { _sueetieContentPage.ContentPageID = (int)dr["contentpageid"]; _sueetieContentPage.ContentPageGroupID = (int)dr["contentpagegroupid"]; _sueetieContentPage.PageSlug = dr["pageslug"] as string; _sueetieContentPage.PageTitle = dr["pagetitle"] as string; _sueetieContentPage.PageDescription = dr["pagedescription"] as string; _sueetieContentPage.ReaderRoles = dr["readerroles"] as string; _sueetieContentPage.LastUpdateDateTime = (DateTime)dr["lastupdatedatetime"]; _sueetieContentPage.LastUpdateUserID = (int)dr["lastupdateuserid"]; _sueetieContentPage.PageKey = dr["pagekey"] as string; _sueetieContentPage.EditorRoles = dr["editorroles"] as string; _sueetieContentPage.IsPublished = (bool)dr["ispublished"]; _sueetieContentPage.DisplayOrder = (int)dr["displayorder"]; _sueetieContentPage.ContentTypeID = (int)dr["contenttypeid"]; _sueetieContentPage.Permalink = dr["permalink"] as string; _sueetieContentPage.DateTimeCreated = (DateTime)dr["datetimecreated"]; _sueetieContentPage.IsRestricted = (bool)dr["isrestricted"]; _sueetieContentPage.ContentID = (int)dr["contentid"]; _sueetieContentPage.ApplicationID = (int)dr["applicationid"]; _sueetieContentPage.ApplicationKey = dr["applicationkey"] as string; _sueetieContentPage.ContentPageGroupTitle = dr["contentpagegrouptitle"] as string; _sueetieContentPage.Tags = dr["tags"] as string; _sueetieContentPage.SearchBody = dr["searchbody"] as string; _sueetieContentPage.ApplicationName = dr["applicationname"] as string; _sueetieContentPage.ApplicationTypeID = (int)dr["applicationtypeid"]; _sueetieContentPage.UserName = dr["username"] as string; _sueetieContentPage.DisplayName = dr["displayname"] as string; }
private bool IsUserTagEditor() { string _roles = "ContentAdministrator"; bool isAuthorized = false; if (SueetieContext.Current.ContentPage != null) { SueetieContentPage _sueetieContentPage = SueetieContext.Current.ContentPage; if (!string.IsNullOrEmpty(_sueetieContentPage.EditorRoles)) { _roles = _sueetieContentPage.EditorRoles; } } if (TagSueetieForumTopic != null && TagSueetieForumTopic.SueetieUserIDs != null) { var _userIDs = TagSueetieForumTopic.SueetieUserIDs.Split('|') .Where(n => !string.IsNullOrEmpty(n)).Select(n => int.Parse(n)).ToList(); foreach (int _userID in _userIDs) { if (CurrentSueetieUserID.Equals(_userID)) { isAuthorized = true; } } } if (!string.IsNullOrEmpty(Roles)) { _roles = Roles; } if (SueetieUIHelper.IsUserAuthorized(_roles) || SueetieUIHelper.IsUserAuthorized("ContentAdministrator")) { isAuthorized = true; } return(isAuthorized); }
protected void Page_Load(object sender, EventArgs e) { SueetieContentPage _currentPage = SueetieContext.Current.ContentPage; bool userAuthorized = SueetieUIHelper.IsUserAuthorized(_currentPage.ReaderRoles) && _currentPage.IsPublished; bool userIsEditor = SueetieUIHelper.IsUserAuthorized(_currentPage.EditorRoles); if (userAuthorized || userIsEditor) { // page displays normally } else { Response.Redirect("/members/message.aspx?msgid=10"); } }
protected override void Render(HtmlTextWriter writer) { SueetieContentPage _sueetieContentPage = SueetieContext.Current.ContentPage; if (_sueetieContentPage != null) { bool wrapText = this.Anchor != AnchorHtml.unknown; string anchor = this.Anchor.ToString(); writer.BeginRender(); if (wrapText) { writer.Write("<{0}", anchor); if (this.DisplayCssID) { writer.Write(" id=\"{0}\"", "cms_" + _sueetieContentPage.PageKey.ToLower() + "_title"); } if (!string.IsNullOrEmpty(this.CssClass)) { writer.Write(" class=\"{0}\"", this.CssClass); } if (this.Attributes != null && this.Attributes.Count > 0) { foreach (string key in this.Attributes.Keys) { writer.Write(" {0}=\"{1}\"", key, this.Attributes[key]); } } writer.Write(">"); } string _key = "cms_" + _sueetieContentPage.PageKey.ToLower() + "_title"; string _resource = SueetieLocalizer.GetString(_key, this.LanguageFile); writer.Write(_resource); if (wrapText) { writer.Write("</{0}>", anchor); } writer.EndRender(); } }
private void btnSave_Click(object sender, EventArgs e) { SueetieContentPage _page = SueetieContentParts.CurrentContentPage; _text.Text = txtEditor.Text; _sueetieContentPart.ContentText = txtEditor.Text; _sueetieContentPart.ContentPageID = _page.ContentPageID; _sueetieContentPart.ContentPageGroupID = _page.ContentPageGroupID; _sueetieContentPart.Permalink = "/" + _page.ApplicationKey + "/" + _page.PageSlug + ".aspx"; _sueetieContentPart.LastUpdateUserID = this.CurrentSueetieUserID; _sueetieContentPart.ApplicationID = _page.ApplicationID; SueetieContentParts.ClearContentPartCache(_sueetieContentPart.ContentName); int _contentID = SueetieContentParts.UpdateSueetieContentPart(_sueetieContentPart); if (checkBoxLog.Checked) { SueetieLogs.LogUserEntry(UserLogCategoryType.CMSPageUpdated, _contentID, CurrentSueetieUserID); } this._panel.Visible = false; }
protected void ddlContentPages_OnSelectedIndexChanged(object sender, EventArgs e) { this._contentPage = SueetieContentParts.GetSueetieContentPage(int.Parse(ddlContentPages.SelectedValue)); if (_contentPage.ContentPageID > 0) { txtPageTitle.Text = _contentPage.PageTitle; txtPageKey.Text = _contentPage.PageKey; txtPageSlug.Text = _contentPage.PageSlug; txtDescription.Text = _contentPage.PageDescription; txtReaders.Text = _contentPage.ReaderRoles; txtDisplayOrder.Text = _contentPage.DisplayOrder.ToString(); chkActive.Checked = _contentPage.IsPublished; lblResults.Text = string.Empty; SetButtonState(false); } else { SetButtonState(true); ClearForm(); } }
private bool IsUserCalendarEditor() { string _roles = "ContentAdministrator"; bool isAuthorized = false; if (SueetieContext.Current.ContentPage != null) { SueetieContentPage _sueetieContentPage = SueetieContext.Current.ContentPage; if (!string.IsNullOrEmpty(_sueetieContentPage.EditorRoles)) { _roles = _sueetieContentPage.EditorRoles; } } if (!string.IsNullOrEmpty(Roles)) { _roles = Roles; } if (SueetieUIHelper.IsUserAuthorized(_roles) || SueetieUIHelper.IsUserAuthorized("ContentAdministrator")) { isAuthorized = true; } return(isAuthorized); }
protected void btnAddUpdate_OnCommand(object sender, CommandEventArgs e) { SueetieContentPageGroup _group = SueetieContentParts.GetSueetieContentPageGroup(this.GroupID); SueetieContentPage _page = new SueetieContentPage { PageKey = txtPageKey.Text.Trim(), PageTitle = txtPageTitle.Text, PageDescription = txtDescription.Text, ReaderRoles = txtReaders.Text, LastUpdateUserID = CurrentSueetieUserID, IsPublished = chkActive.Checked, DisplayOrder = DataHelper.IntOrDefault(txtDisplayOrder.Text.Trim(), -1), PageSlug = string.IsNullOrEmpty(txtPageSlug.Text) ? SueetieContentParts.CreatePageSlug(txtPageTitle.Text) : SueetieContentParts.CreatePageSlug(txtPageSlug.Text), ContentPageGroupID = this.GroupID }; if (e.CommandName == "Add") { if (int.Parse(ddlContentPages.SelectedValue) < 0) { int _contentPageID = SueetieContentParts.CreateContentPage(_page); SueetieContent sueetieContent = new SueetieContent { ApplicationID = _group.ApplicationID, ContentTypeID = (int)SueetieContentType.CMSPage, SourceID = _contentPageID, UserID = CurrentSueetieUserID, IsRestricted = !string.IsNullOrEmpty(txtReaders.Text), Permalink = "/" + _group.ApplicationKey + "/" + _page.PageSlug + ".aspx" }; int contentID = SueetieCommon.AddSueetieContent(sueetieContent); SueetieLogs.LogUserEntry(UserLogCategoryType.CMSPageCreated, contentID, CurrentSueetieUserID); lblResults.Text = "Content Page Created!"; } else { lblResults.Text = "Content Page dropdown selector must be empty when creating a content page."; return; } } else if (e.CommandName == "Update") { _page.ContentPageID = int.Parse(ddlContentPages.SelectedValue); SueetieContentParts.UpdateSueetieContentPage(_page); _page.Permalink = "/" + _group.ApplicationKey + "/" + _page.PageSlug + ".aspx"; SueetieContentParts.UpdateCmsPermalink(_page); SueetieCommon.UpdateSueetieContentIsRestricted(_page.ContentID, !string.IsNullOrEmpty(txtReaders.Text)); SueetieCommon.ClearUserLogActivityListCache((int)SueetieContentViewType.Unassigned); SueetieCommon.ClearUserLogActivityListCache((int)SueetieContentViewType.SyndicatedUserLogActivityList); lblResults.Text = "Content Page Updated!"; SueetieContentParts.ClearSueetieContentPageCache(int.Parse(ddlContentPages.SelectedValue)); } else { SueetieContentParts.DeleteContentPage(int.Parse(ddlContentPages.SelectedValue)); } SueetieContentParts.ClearSueetieContentPageListCache(this.GroupID); SueetieContentParts.ClearSueetieContentPageListCache(-1); // Clear All Pages for ContentPartView Control ClearForm(); }
protected override void OnInit(EventArgs e) { string tagsList = string.Empty; this._tags = new Label(); this._tags.CssClass = tagsListCssClass; if (SueetieContext.Current.ContentPage != null) { SueetieContentPage _sueetieContentPage = SueetieContext.Current.ContentPage; this.ContentID = _sueetieContentPage.ContentID; this.ItemID = _sueetieContentPage.ContentPageID; this.ContentTypeID = _sueetieContentPage.ContentTypeID; tagsList = _sueetieContentPage.Tags; } if (this.TagSueetieMediaObject != null) { this.ItemID = TagSueetieMediaObject.MediaObjectID; this.ContentID = TagSueetieMediaObject.ContentID; this.ContentTypeID = TagSueetieMediaObject.ContentTypeID; tagsList = TagSueetieMediaObject.Tags; } if (this.TagSueetieMediaAlbum != null) { this.ItemID = TagSueetieMediaAlbum.AlbumID; this.ContentID = TagSueetieMediaAlbum.ContentID; this.ContentTypeID = TagSueetieMediaAlbum.ContentTypeID; tagsList = TagSueetieMediaAlbum.Tags; } if (this.TagSueetieWikiPage != null) { this.ItemID = TagSueetieWikiPage.PageID; this.ContentID = TagSueetieWikiPage.ContentID; this.ContentTypeID = (int)SueetieContentType.WikiPage; tagsList = this.TagSueetieWikiPage.Tags; } if (this.TagSueetieForumTopic != null) { this.ItemID = TagSueetieForumTopic.TopicID; this.ContentID = TagSueetieForumTopic.ContentID; this.ContentTypeID = (int)SueetieContentType.ForumTopic; tagsList = TagSueetieForumTopic.Tags; // this.Controls.Add(new LiteralControl(TagLibraryScript)); } if (!string.IsNullOrEmpty(tagsList)) { this._tags.Text = SueetieTags.TagUrls(this.ContentID); } else { this._tags.Text = SueetieLocalizer.GetString("no_tags"); } this.Controls.Add(_tags); if (IsUserTagEditor() && DisplayTagsPanel) { //if (LoadScriptLibraries) //{ // bool TagLibraryLoaded = false; // //bool JQueryLibraryLoaded = false; // foreach (Control _control in this.Page.Header.Controls) // { // if (_control.GetType().Name == "LiteralControl") // { // string _js = ((LiteralControl)_control).Text; // if (_js.IndexOf("/scripts/tag.js") > 0) // TagLibraryLoaded = true; // //if (_js.IndexOf("/scripts/jquery.js") > 0) // // JQueryLibraryLoaded = true; // } // } // //if (!JQueryLibraryLoaded) // // this.Page.Header.Controls.Add(new LiteralControl(JQueryLibraryScript)); // //if (!TagLibraryLoaded) // // this.Page.Header.Controls.Add(new LiteralControl(TagLibraryScript)); //} this._textbox = new TextBox(); this._textbox.CssClass = EditTextBoxCssClass; if (!string.IsNullOrEmpty(tagsList)) { this._textbox.Text = SueetieTags.CommaTags(tagsList); } else { this._textbox.Text = string.Empty; } //this.Controls.Add(_textbox); Literal ltImageButton = new Literal(); Literal ltSubmitButton = new Literal(); Literal ltCancelButton = new Literal(); this._panel = new HtmlGenericControl("div"); this._panel.Attributes.Add("class", EditPanelCssClass); this.Controls.Add(_panel); _panel.Controls.Add(_textbox); _panel.Controls.Add(ltSubmitButton); _panel.Controls.Add(ltCancelButton); this._imageButton = new ImageButton(); this._imageButton.ImageUrl = this.EditImageUrl; this._imageButton.CssClass = this.EditImageCssClass; this._imageButton.OnClientClick = string.Format("Toggle{0}_Click();return false;", this._textbox.ClientID); this.Controls.Add(_imageButton); string _submitText = SueetieLocalizer.GetString("tags_button_add"); string _cancelText = SueetieLocalizer.GetString("tags_button_cancel"); ltSubmitButton.Text = string.Format("<div class='{0}'><input type='submit' onclick='Submit{1}_Click({2},{3},{4});return false;' value='{5}' />", this.EditButtonAreaCssClass, this._textbox.ClientID, this.ItemID, this.ContentID, this.ContentTypeID, _submitText); ltCancelButton.Text = string.Format("<input type='submit' onclick='Toggle{0}_Click();return false;' value='{1}' /></div>", this._textbox.ClientID, _cancelText); string _script = HANDLER_SCRIPT.Replace("{0}", this._textbox.ClientID); _script = _script.Replace("{1}", this._panel.ClientID); _script = _script.Replace("{2}", this._tags.ClientID); _script = _script.Replace("{3}", this._imageButton.ClientID); if (UseJqueryPrefix) { _script = _script.Replace("$", "jQuery"); } this.Controls.Add(new LiteralControl(_script)); //this.Page.Header.Controls.Add(new LiteralControl(_script)); } }
protected override void OnInit(EventArgs e) { #region Get SueetieContentPage int _contentPageID = DataHelper.GetIntFromQueryString("pg", -1); if (_contentPageID == -1) { return; } _sueetieContentPage = SueetieContentParts.GetSueetieContentPage(_contentPageID); ContentName = _sueetieContentPage.ApplicationKey + "." + _sueetieContentPage.PageKey + "." + this.ContentName; #endregion #region Create tinyMCE Script bool TinyMCELoaded = false; foreach (Control _control in this.Page.Header.Controls) { if (_control.GetType().Name == "LiteralControl") { string _js = ((LiteralControl)_control).Text; if (_js.IndexOf("tinyMCE.init") > 0) { int _elementPoint = _js.IndexOf("elements:"); int _endElement = _js.IndexOf("'", _elementPoint); string _newJs = _js.Insert(_endElement + 1, this.ClientID + "_txt" + this.ContentName + ","); LiteralControl _newJsLiteralControl = new LiteralControl(_newJs); this.Page.Header.Controls.Remove(_control); this.Page.Header.Controls.Add(_newJsLiteralControl); TinyMCELoaded = true; } } } if (!TinyMCELoaded) { this.Page.Header.Controls.Add(new LiteralControl(TinyMCEScript.Replace("{0}", this.ClientID + "_txt" + this.ContentName))); } #endregion #region Load Content Part _sueetieContentPart = SueetieContentParts.GetSueetieContentPart(this.ContentName); if (string.IsNullOrEmpty(_sueetieContentPart.ContentText) && this.ContentName != "?69?") { _sueetieContentPart.ContentText = "Empty"; _sueetieContentPart.ContentName = this.ContentName; } else if (this.ContentName == "?69?") { _sueetieContentPart.ContentText = "<b><font color='#FF0000'>No ContentName Specified with Sueetie Content Page Part Control</font></b>"; } #endregion #region ImageButton Display Modal Editor ImageButton btnOpen = new ImageButton(); btnOpen.Click += new ImageClickEventHandler(btnOpen_Click); btnOpen.ImageUrl = this.PencilImageUrl; btnOpen.CssClass = this.PencilImageCssClass; if (IsUserEditor() && this.ContentName != "?69?") { this.Controls.Add(btnOpen); } #endregion #region Content Text _text = new LiteralControl(); _text.Text = _sueetieContentPart.ContentText; this.Controls.Add(_text); #endregion #region Panel Creation _panel = new Panel(); _panel.CssClass = windowClass; _panel.ID = "pnl" + this.ContentName; _panel.Height = 590; _panel.Width = 800; #endregion #region DragTop Table Row // Add the table Table table = new Table(); table.CellSpacing = 0; table.CellPadding = 0; table.Width = new Unit("100%"); // Add the title Row TableRow row = new TableRow(); row.CssClass = titleCssClass; // Add th title cell TableCell cell = new TableCell(); cell.Width = 780; cell.Attributes.Add("name", "dragger"); if (iconUrl.Length > 0) { Image img = new Image(); img.CssClass = iconCssClass; img.ImageAlign = ImageAlign.AbsMiddle; img.ImageUrl = iconUrl; cell.Controls.Add(img); } cell.Controls.Add(new LiteralControl(this.title)); row.Controls.Add(cell); TableCell cellClose = new TableCell(); ImageButton btn = new ImageButton(); btn.ImageUrl = closeButtonImageUrl; btn.Click += new ImageClickEventHandler(btn_Click); cellClose.Controls.Add(btn); cellClose.Attributes.Add("text-align", "right"); cellClose.Width = 20; row.Controls.Add(cellClose); table.Controls.Add(row); _panel.Controls.AddAt(0, table); #endregion #region Add Init_Script if (this.ID == null) { this.ID = this.UniqueID; } _panel.Controls.AddAt(0, new LiteralControl(String.Format(INIT_SCRIPT, this.ClientID + "_pnl" + this.ContentName))); #endregion #region Editor Row txtEditor = new TextBox(); txtEditor.ID = "txt" + this.ContentName; txtEditor.Text = _sueetieContentPart.ContentText; txtEditor.Height = new Unit(500); txtEditor.Width = new Unit("100%"); txtEditor.CssClass = "EditorFont"; txtEditor.TextMode = TextBoxMode.MultiLine; TableRow rowbody = new TableRow(); TableCell cellbody = new TableCell(); cellbody.ColumnSpan = 2; rowbody.Controls.Add(cellbody); cellbody.Controls.Add(txtEditor); table.Controls.Add(rowbody); #endregion #region Button Row TableRow rowButtons = new TableRow(); checkBoxLog = new CheckBox(); checkBoxLog.Checked = true; checkBoxLog.Text = SueetieLocalizer.GetString("modal_contentpage_log"); checkBoxLog.CssClass = "modalPanelCheckbox"; TableCell cellButtons = new TableCell(); cellButtons.ColumnSpan = 2; cellButtons.CssClass = "modalPanelButtonCell"; Button btnSave = new Button(); btnSave.Click += new EventHandler(btnSave_Click); btnSave.CssClass = "modalPanelButtonSave"; btnSave.Text = SueetieLocalizer.GetString("content_save"); Button btnCancel = new Button(); btnCancel.Click += new EventHandler(btnCancel_Click); btnCancel.CssClass = "modalPanelButtonCancel"; btnCancel.Text = SueetieLocalizer.GetString("content_cancel"); cellButtons.Controls.Add(checkBoxLog); cellButtons.Controls.Add(btnCancel); cellButtons.Controls.Add(btnSave); rowButtons.CssClass = "modalPanelButtonRow"; rowButtons.Controls.Add(cellButtons); table.Controls.Add(rowButtons); #endregion this.Controls.Add(_panel); _panel.Visible = false; base.OnInit(e); }