using System;
using CMS.ExtendedControls;
using CMS.GlobalHelper;
using CMS.PortalEngine;
using CMS.SettingsProvider;
using CMS.UIControls;
public partial class CMSModules_PortalEngine_UI_PageTemplates_PageTemplate_WebParts : SiteManagerPage
{
#region "Variables"
///
/// PageTemplateID.
///
protected int templateId = 0;
private PageTemplateInfo pti = null;
private bool dialog = false;
#endregion
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
dialog = QueryHelper.GetBoolean("dialog", false);
// Initialize controls.
ShowWarning(GetString("PageTemplate_WebParts.Warning"), null, null);
lblWPConfig.Text = GetString("PageTemplate_WebParts.WebPartsConfiguration");
// Get 'templateid' from querystring.
templateId = QueryHelper.GetInteger("templateId", 0);
pnlObjectLocking.ObjectManager.OnSaveData += new EventHandler(ObjectManager_OnSaveData);
pnlObjectLocking.ObjectManager.OnAfterAction += new EventHandler(ObjectManager_OnAfterAction);
pti = PageTemplateInfoProvider.GetPageTemplateInfo(templateId);
EditedObject = pti;
if (!RequestHelper.IsPostBack())
{
LoadData();
}
}
private void LoadData()
{
if (pti != null)
{
txtWebParts.Text = HTMLHelper.ReformatHTML(pti.WebParts, " ");
}
}
///
/// Reloads data after save.
///
/// Sender
/// EventArgs
protected void ObjectManager_OnAfterAction(object sender, SimpleObjectManagerEventArgs e)
{
if (e.ActionName != ComponentEvents.SAVE)
{
LoadData();
}
if (dialog)
{
ScriptHelper.RegisterClientScriptBlock(Page, typeof(string), "parentWOpenerRefresh", ScriptHelper.GetScript("if (parent && parent.wopener && parent.wopener.refresh) { parent.wopener.refresh(); }"));
}
}
///
/// Handle btnOK's OnClick event.
///
protected void ObjectManager_OnSaveData(object sender, SimpleObjectManagerEventArgs e)
{
string errorMessage = "";
// Get PageTemplateInfo.
PageTemplateInfo pti = PageTemplateInfoProvider.GetPageTemplateInfo(templateId);
if (pti != null)
{
// Update WebParts configuration in PageTemplate.
try
{
pti.WebParts = txtWebParts.Text;
PageTemplateInfoProvider.SetPageTemplateInfo(pti);
ShowChangesSaved();
// Update textbox value
txtWebParts.Text = HTMLHelper.ReformatHTML(pti.WebParts, " ");
}
catch (UnauthorizedAccessException ex)
{
errorMessage = ResHelper.GetStringFormat("general.sourcecontrolerror", ex.Message);
}
catch (Exception ex)
{
errorMessage = ex.Message;
}
// Show error message
if (errorMessage != "")
{
ShowError(errorMessage);
}
}
}
}