using System; using System.Data; using System.Collections; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using CMS.CMSHelper; using CMS.FormControls; using CMS.GlobalHelper; using CMS.UIControls; using CMS.Chat; public partial class CMSModules_Chat_Controls_UI_ChatMessage_Edit : CMSAdminEditControl { #region "Properties" /// /// Checks if current message is new (true = is new, false = exists) /// private bool IsChatMessageNew { get { return CMSContext.EditedObject == null; } } /// /// UIForm control used for editing objects properties. /// public UIForm UIFormControl { get { return this.EditForm; } } /// /// Indicates if the control should perform the operations. /// public override bool StopProcessing { get { return base.StopProcessing; } set { base.StopProcessing = value; this.EditForm.StopProcessing = value; } } /// /// Indicates if the control is used on the live site. /// public override bool IsLiveSite { get { return base.IsLiveSite; } set { base.IsLiveSite = value; EditForm.IsLiveSite = value; } } /// /// Presets ChatRoomID of this message to this value. /// public int ChatRoomID { get; set; } #endregion #region "Page events" protected void Page_Load(object sender, EventArgs e) { string url = "Edit.aspx?messageid={%EditedObject.ID%}&saved=1"; url = URLHelper.AddParameterToUrl(url, "roomid", ChatRoomID.ToString()); UIFormControl.RedirectUrlAfterCreate = url; UIFormControl.OnBeforeSave += new EventHandler(UIFormControl_OnBeforeSave); UIFormControl.OnCheckPermissions += new EventHandler(UIFormControl_OnCheckPermissions); } void UIFormControl_OnCheckPermissions(object sender, EventArgs e) { ((CMSChatPage)Page).CheckModifyPermission(((ChatRoomInfo)CMSContext.EditedObjectParent).ChatRoomSiteID); } void UIFormControl_OnBeforeSave(object sender, EventArgs e) { // Set default values if message is new if (IsChatMessageNew) { UIFormControl.Data["ChatMessageIPAddress"] = HTTPHelper.UserHostAddress; UIFormControl.Data["ChatMessageCreatedWhen"] = DateTime.Now; // GETDATE() will be used on SQL Server side UIFormControl.Data["ChatMessageUserID"] = null; UIFormControl.Data["ChatMessageRoomID"] = ChatRoomID; UIFormControl.Data["ChatMessageRejected"] = false; UIFormControl.Data["ChatMessageSystemMessageType"] = ChatMessageTypeEnum.Announcement; } } #endregion }