using System; using System.Data; using System.Collections; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using CMS.CMSHelper; using CMS.DataEngine; using CMS.GlobalHelper; using CMS.PortalEngine; using CMS.SettingsProvider; using CMS.UIControls; public partial class CMSModules_OnlineMarketing_Pages_Widgets_WidgetProperties_Variant : CMSDeskPage { #region "Variables" protected string aliasPath = QueryHelper.GetString("aliaspath", ""); protected int templateId = QueryHelper.GetInteger("templateid", 0); protected Guid instanceGuid = QueryHelper.GetGuid("instanceguid", Guid.Empty); protected string widgetId = QueryHelper.GetString("widgetid", ""); protected VariantModeEnum variantMode = VariantModeFunctions.GetVariantModeEnum(QueryHelper.GetString("variantmode", "")); #endregion #region "Page events" /// /// PreInit event handler /// protected override void OnPreInit(EventArgs e) { base.OnPreInit(e); RequireSite = false; } /// /// Init event handler /// protected override void OnInit(EventArgs e) { LoadEditForm(); base.OnInit(e); } /// /// Handles the Load event of the Page control. /// protected void Page_Load(object sender, EventArgs e) { if (!CMSContext.CurrentUser.IsAuthorizedPerUIElement("CMS.Content", "WidgetProperties.Variant")) { RedirectToCMSDeskUIElementAccessDenied("CMS.Content", "WidgetProperties.Variant"); } // Setup the buttons btnOnOK.Click += new EventHandler(btnOnOK_Click); btnOnApply.Click += new EventHandler(btnOnApply_Click); ScriptHelper.RegisterClientScriptBlock(this, typeof(string), "ApplyButton", ScriptHelper.GetScript( "function SetRefresh(refreshpage) { document.getElementById('" + hidRefresh.ClientID + "').value = refreshpage; } \n" + "function OnApplyButton(refreshpage) { SetRefresh(refreshpage); " + Page.ClientScript.GetPostBackEventReference(btnOnApply, "") + "} \n" + "function OnOKButton(refreshpage) { SetRefresh(refreshpage); " + Page.ClientScript.GetPostBackEventReference(btnOnOK, "") + "} \n" )); } /// /// Saves the webpart properties and closes the window. /// protected void btnOnOK_Click(object sender, EventArgs e) { // Save webpart properties if (Save()) { bool refresh = ValidationHelper.GetBoolean(hidRefresh.Value, false); string script = ""; if (refresh) { script = "RefreshPage(); \n"; } // Close the window ltlScript.Text += ScriptHelper.GetScript(script + "CloseDialog();"); } } /// /// Saves the webpart properties. /// protected void btnOnApply_Click(object sender, EventArgs e) { Save(); } #endregion #region "Public methods" /// /// Saves webpart properties. /// public bool Save() { if (variantMode == VariantModeEnum.MVT) { return mvtEditElem.UIFormControl.SaveData(null); } else if (variantMode == VariantModeEnum.ContentPersonalization) { return cpEditElem.UIFormControl.SaveData(null); } return false; } #endregion #region "Private methods" /// /// Loads and displays either the MVT or Content personalization edit form. /// /// if true, then reloads the edit form content private void LoadEditForm() { // Set the EditedObject attribute for the UIForm if (variantMode == VariantModeEnum.MVT) { mvtEditElem.UIFormControl.EditedObject = BaseAbstractInfoProvider.GetInfoById(PredefinedObjectType.MVTVARIANT, QueryHelper.GetInteger("variantid", 0)); mvtEditElem.UIFormControl.ReloadData(); // Display MVT edit dialog mvtEditElem.Visible = true; mvtEditElem.UIFormControl.SubmitButton.Visible = false; } else if (variantMode == VariantModeEnum.ContentPersonalization) { cpEditElem.UIFormControl.EditedObject = BaseAbstractInfoProvider.GetInfoById(PredefinedObjectType.CONTENTPERSONALIZATIONVARIANT, QueryHelper.GetInteger("variantid", 0)); cpEditElem.UIFormControl.ReloadData(); // Display Content personalization edit dialog cpEditElem.Visible = true; cpEditElem.UIFormControl.SubmitButton.Visible = false; } } #endregion }