using System.Web.UI;
using System.Text;
using CMS.CMSHelper;
using CMS.GlobalHelper;
using CMS.PortalControls;
public partial class CMSWebParts_CommunityServices_Facebook_FacebookActivityFeed : CMSAbstractWebPart
{
#region "Properties"
///
/// The domain to show activity for.
///
public string Domain
{
get
{
return ValidationHelper.GetString(GetValue("Domain"), "");
}
set
{
SetValue("Domain", value);
}
}
///
/// Reference parameter.
///
public string RefParameter
{
get
{
return ValidationHelper.GetString(GetValue("RefParameter"), "");
}
set
{
SetValue("RefParameter", value);
}
}
///
/// Width of the web part in pixels.
///
public int Width
{
get
{
return ValidationHelper.GetInteger(GetValue("Width"), 300);
}
set
{
SetValue("Width", value);
}
}
///
/// Height of the web part in pixels.
///
public int Height
{
get
{
return ValidationHelper.GetInteger(GetValue("Height"), 300);
}
set
{
SetValue("Height", value);
}
}
///
/// Indicates whether to show facebook header or not.
///
public bool ShowHeader
{
get
{
return ValidationHelper.GetBoolean(GetValue("ShowHeader"), true);
}
set
{
SetValue("ShowHeader", value);
}
}
///
/// Color scheme of the web part.
///
public string ColorScheme
{
get
{
return ValidationHelper.GetString(GetValue("ColorScheme"), "");
}
set
{
SetValue("ColorScheme", value);
}
}
///
/// Font of the web part.
///
public string Font
{
get
{
return ValidationHelper.GetString(GetValue("Font"), "");
}
set
{
SetValue("Font", value);
}
}
///
/// Border color of the web part.
///
public string BorderColor
{
get
{
return ValidationHelper.GetString(GetValue("BorderColor"), "");
}
set
{
SetValue("BorderColor", value);
}
}
///
/// Indicates whether to always show recommendations in the web part.
///
public bool ShowRecommendations
{
get
{
return ValidationHelper.GetBoolean(GetValue("ShowRecommendations"), false);
}
set
{
SetValue("ShowRecommendations", value);
}
}
///
/// Indicates if HTML 5 output should be generated.
///
public bool UseHTML5
{
get
{
return ValidationHelper.GetBoolean(GetValue("UseHTML5"), false);
}
set
{
SetValue("UseHTML5", value);
}
}
#endregion
#region "Methods"
///
/// Content loaded event handler.
///
public override void OnContentLoaded()
{
base.OnContentLoaded();
SetupControl();
}
///
/// Initializes the control properties.
///
protected void SetupControl()
{
if (StopProcessing)
{
// Do not process
}
else
{
if (string.IsNullOrEmpty(Domain))
{
Domain = CMSContext.CurrentSite.DomainName;
}
string borderColor = null;
if (!string.IsNullOrEmpty(BorderColor))
{
borderColor = BorderColor;
// Replace # if it is present
if (!UseHTML5)
{
borderColor = borderColor.Replace("#", "%23");
}
}
// Use HTML 5 output instead of XHTML
if (UseHTML5)
{
StringBuilder sb = new StringBuilder();
sb.Append("
");
// Register Facebook script SDK
ScriptHelper.RegisterFacebookJavascriptSDK(Page, CMSContext.PreferredCultureCode);
ltlActivityFeed.Text = sb.ToString();
}
else
{
// Iframe code
string query = null;
string src = "http://www.facebook.com/plugins/activity.php";
if (!string.IsNullOrEmpty(borderColor))
{
query = URLHelper.AddUrlParameter(query, "border_color", borderColor);
}
if (!string.IsNullOrEmpty(Font))
{
query = URLHelper.AddUrlParameter(query, "font", Font);
}
if (!string.IsNullOrEmpty(RefParameter))
{
query = URLHelper.AddUrlParameter(query, "ref", RefParameter);
}
query = URLHelper.AddUrlParameter(query, "site", Domain);
query = URLHelper.AddUrlParameter(query, "header", ShowHeader.ToString());
query = URLHelper.AddUrlParameter(query, "width", Width.ToString());
query = URLHelper.AddUrlParameter(query, "recommendations", ShowRecommendations.ToString());
query = URLHelper.AddUrlParameter(query, "colorscheme", ColorScheme);
query = URLHelper.AddUrlParameter(query, "height", Height.ToString());
src = URLHelper.EncodeQueryString(URLHelper.AppendQuery(src, query));
ltlActivityFeed.Text = "";
}
}
}
///
/// Reloads the control data.
///
public override void ReloadData()
{
base.ReloadData();
SetupControl();
}
#endregion
}