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 }