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
}