using System.Web.UI;
using System.Text;
using CMS.GlobalHelper;
using CMS.PortalControls;
using CMS.CMSHelper;
public partial class CMSWebParts_CommunityServices_Facebook_FacebookFacepile : CMSAbstractWebPart
{
#region "Constants"
private const int DEFAULT_WIDTH = 200;
#endregion
#region "Properties"
///
/// Facebook page URL
///
public string FBPageUrl
{
get
{
return ValidationHelper.GetString(GetValue("FBPageUrl"), "");
}
set
{
SetValue("FBPageUrl", value);
}
}
///
/// Width of the web part in pixels
///
public int Width
{
get
{
return ValidationHelper.GetInteger(GetValue("Width"), DEFAULT_WIDTH);
}
set
{
SetValue("Width", value);
}
}
///
/// Size of the web part
///
public string Size
{
get
{
return ValidationHelper.GetString(GetValue("Size"), "");
}
set
{
SetValue("Size", value);
}
}
///
/// Maximum number of rows with faces
///
public int RowsNumber
{
get
{
return ValidationHelper.GetInteger(GetValue("RowsNumber"), 1);
}
set
{
SetValue("RowsNumber", value);
}
}
///
/// Color scheme of the web part.
///
public string ColorScheme
{
get
{
return ValidationHelper.GetString(GetValue("ColorScheme"), "");
}
set
{
SetValue("ColorScheme", 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 (UseHTML5)
{
StringBuilder sb = new StringBuilder();
sb.Append("
");
// Register Facebook javascript SDK
ScriptHelper.RegisterFacebookJavascriptSDK(Page, CMSContext.PreferredCultureCode);
ltlLikeBox.Text = sb.ToString();
}
else
{
// Iframe code
string query = null;
string src = "http://www.facebook.com/plugins/facepile.php";
query = URLHelper.AddUrlParameter(query, "href", URLHelper.EncodeQueryString(FBPageUrl));
query = URLHelper.AddUrlParameter(query, "size", Size);
query = URLHelper.AddUrlParameter(query, "width", Width.ToString());
query = URLHelper.AddUrlParameter(query, "max_rows", RowsNumber.ToString());
query = URLHelper.AddUrlParameter(query, "colorscheme", ColorScheme);
src = URLHelper.EncodeQueryString(URLHelper.AppendQuery(src, query));
ltlLikeBox.Text = "";
}
}
}
///
/// Reloads the control data
///
public override void ReloadData()
{
base.ReloadData();
SetupControl();
}
#endregion
}