using System; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using CMS.CMSHelper; using CMS.Controls; using CMS.GlobalHelper; using CMS.PortalControls; using CMS.PortalEngine; public partial class CMSWebParts_Syndication_Basic_XMLRepeater : CMSAbstractWebPart { #region "Variables" private CMSBaseDataSource mDataSourceControl = null; #endregion #region "XML Repeater properties" /// /// Custom feed header XML which is generated before feed items. If the value is empty default header for Atom feed is generated. /// public string HeaderXML { get { return ValidationHelper.GetString(GetValue("HeaderXML"), null); } set { SetValue("HeaderXML", value); xmlRepeater.HeaderXML = value; } } /// /// Custom feed footer XML which is generated after feed items. If the value is empty default footer for Atom feed is generated. /// public string FooterXML { get { return ValidationHelper.GetString(GetValue("FooterXML"), null); } set { SetValue("FooterXML", value); xmlRepeater.FooterXML = value; } } #endregion #region "Datasource properties" /// /// Gets or sets name of source. /// public string DataSourceName { get { return ValidationHelper.GetString(GetValue("DataSourceName"), string.Empty); } set { SetValue("DataSourceName", value); xmlRepeater.DataSourceName = value; } } /// /// Control with data source. /// public CMSBaseDataSource DataSourceControl { get { return mDataSourceControl; } set { mDataSourceControl = value; xmlRepeater.DataSourceControl = value; } } #endregion #region "Cache properties" /// /// Gets or sets the cache item name. /// public override string CacheItemName { get { return ValidationHelper.GetString(base.CacheItemName, xmlRepeater.CacheItemName); } set { base.CacheItemName = value; xmlRepeater.CacheItemName = value; } } /// /// Cache dependencies, each cache dependency on a new line. /// public override string CacheDependencies { get { return ValidationHelper.GetString(base.CacheDependencies, xmlRepeater.CacheDependencies); } set { base.CacheDependencies = value; xmlRepeater.CacheDependencies = value; } } /// /// Gets or sets the cache minutes. /// public override int CacheMinutes { get { return base.CacheMinutes; } set { base.CacheMinutes = value; xmlRepeater.CacheMinutes = value; } } #endregion #region "Transformation properties" /// /// Gets or sets ItemTemplate property. /// public string TransformationName { get { return ValidationHelper.GetString(GetValue("TransformationName"), string.Empty); } set { SetValue("TransformationName", value); xmlRepeater.TransformationName = value; } } #endregion #region "Stop processing" /// /// Returns true if the control processing should be stopped. /// public override bool StopProcessing { get { return base.StopProcessing; } set { base.StopProcessing = value; xmlRepeater.StopProcessing = value; } } #endregion #region "Overidden methods" /// /// Content loaded event handler. /// public override void OnContentLoaded() { base.OnContentLoaded(); SetupControl(); } /// /// Reloads data. /// public override void ReloadData() { base.ReloadData(); SetupControl(); } #endregion #region "Setup control" /// /// Initializes the control properties. /// protected void SetupControl() { if (StopProcessing || (CMSContext.ViewMode == ViewModeEnum.Design) || (CMSContext.ViewMode == ViewModeEnum.Edit) || (CMSContext.ViewMode == ViewModeEnum.EditDisabled)) { xmlRepeater.StopProcessing = true; } else { // XML feed properties xmlRepeater.HeaderXML = HeaderXML; xmlRepeater.FooterXML = FooterXML; // Cache properties xmlRepeater.CacheItemName = CacheItemName; xmlRepeater.CacheDependencies = CacheDependencies; xmlRepeater.CacheMinutes = CacheMinutes; // Transformation properties xmlRepeater.TransformationName = TransformationName; // Datasource properties xmlRepeater.DataSourceName = DataSourceName; } } #endregion }