using System; using System.Collections; using System.Data; using System.Web; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using CMS.GlobalHelper; using CMS.ISearchEngine; using CMS.PortalControls; public partial class CMSWebParts_SmartSearch_SearchAccelerator : CMSAbstractWebPart { #region "Variables" // Result page url protected string mResultPageUrl = URLHelper.CurrentURL; #endregion #region "Properties" /// /// Gets or sets the accelerator description. /// public string AcceleratorDescription { get { return DataHelper.GetNotEmpty(GetValue("AcceleratorDescription"), GetString("srch.accelerator.description")); } set { SetValue("AcceleratorDescription", value); } } /// /// Gets or sets the accelerator name. /// public string AcceleratorName { get { return DataHelper.GetNotEmpty(GetValue("AcceleratorName"), GetString("srch.accelerator.name")); } set { SetValue("AcceleratorName", value); } } /// /// Gets or sets the accelerator button text. /// public string AcceleratorButtonText { get { return DataHelper.GetNotEmpty(GetValue("AcceleratorButtonText"), GetString("srch.accelerator.addaccelerator")); } set { SetValue("AcceleratorButtonText", value); } } /// /// Gets or sets the search results page URL. /// public string SearchResultsPageUrl { get { return DataHelper.GetNotEmpty(GetValue("SearchResultsPageUrl"), mResultPageUrl); } set { SetValue("SearchResultsPageUrl", value); mResultPageUrl = value; } } /// /// Gets or sets the Search mode. /// public SearchModeEnum SearchMode { get { return SearchHelper.GetSearchModeEnum(ValidationHelper.GetString(GetValue("SearchMode"), "")); } set { SetValue("SearchMode", value.ToString()); } } #endregion #region "Methods" /// /// Content loaded event handler. /// public override void OnContentLoaded() { base.OnContentLoaded(); // If the accelerator request matches the ID of the control, if (QueryHelper.GetString("getsearchaccelerator", "") == ClientID) { GetServiceDefinition(); } SetupControl(); } /// /// Initializes the control properties. /// protected void SetupControl() { if (StopProcessing) { return; } else { btnAcc.Text = AcceleratorButtonText; string serviceUrl = URLHelper.GetAbsoluteUrl(URLHelper.AddParameterToUrl(URLHelper.CurrentURL, "getsearchaccelerator", ClientID)); btnAcc.OnClientClick = "window.external.AddService('" + serviceUrl + "'); return false;"; } } /// /// Gets the service definition for the accelerator. /// public void GetServiceDefinition() { // Create a new XML response Response.Clear(); Response.ContentType = "text/xml"; string appUrl = URLHelper.GetApplicationUrl(); // Write acelerator definition Response.Write( @" " + appUrl + @" " + AcceleratorName + @" " + appUrl + @"/favicon.ico " + AcceleratorDescription + @" "); RequestHelper.EndResponse(); } /// /// Reloads the control data. /// public override void ReloadData() { base.ReloadData(); SetupControl(); } #endregion }