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
}