using System; using CMS.CMSHelper; using CMS.GlobalHelper; using CMS.SettingsProvider; using CMS.UIControls; using CMS.URLRewritingEngine; public partial class CMSModules_Friends_Controls_MyFriends : CMSAdminControl { #region "Private variables" protected string page = string.Empty; private bool mDisplayFriendsList = true; private bool mDisplayFriendsToApproval = true; private bool mDisplayFriendsRequested = true; private bool mDisplayFriendsRejected = true; private string mParameterName = "subpage"; private int mUserId = 0; private string selectedPage = string.Empty; #endregion #region "Public properties" /// /// Gets or sets the value that indicates whether 'friends list' is displayed. /// public bool DisplayFriendsList { get { return mDisplayFriendsList; } set { mDisplayFriendsList = value; } } /// /// Gets or sets the value that indicates whether 'friends waiting for approval' is displayed. /// public bool DisplayFriendsToApproval { get { return mDisplayFriendsToApproval; } set { mDisplayFriendsToApproval = value; } } /// /// Gets or sets the value that indicates whether 'requested friends list' is displayed. /// public bool DisplayFriendsRequested { get { return mDisplayFriendsRequested; } set { mDisplayFriendsRequested = value; } } /// /// Gets or sets the value that indicates whether 'rejected friends list' is displayed. /// public bool DisplayFriendsRejected { get { return mDisplayFriendsRejected; } set { mDisplayFriendsRejected = value; } } /// /// Gets or sets the WebPart CSS class value. /// public string CssClass { get { return pnlBody.CssClass; } set { pnlBody.CssClass = value; } } /// /// Gets or sets the query string parameter name. /// public string ParameterName { get { return mParameterName; } set { mParameterName = value; } } /// /// Gets or sets User ID. /// public int UserID { get { return mUserId; } set { friendsListElem.UserID = value; friendsToApprovalListElem.UserID = value; friendsRequestedListElem.UserID = value; friendsRejectedListElem.UserID = value; mUserId = value; } } #endregion protected void Page_Load(object sender, EventArgs e) { ReloadData(); } /// /// Reload data. /// public override void ReloadData() { friendsListElem.StopProcessing = true; friendsToApprovalListElem.StopProcessing = true; friendsRequestedListElem.StopProcessing = true; friendsRejectedListElem.StopProcessing = true; friendsRejectedListElem.UseEncapsulation = false; if (StopProcessing) { // Do nothing } else { // Show content only for authenticated users if (CMSContext.CurrentUser.IsAuthenticated()) { // Set up controls friendsListElem.UserID = UserID; friendsToApprovalListElem.UserID = UserID; friendsRequestedListElem.UserID = UserID; friendsRejectedListElem.UserID = UserID; // Remove 'saved' parameter from querystring string absoluteUri = URLRewriter.CurrentURL; // Menu initialization tabMenu.TabControlIdPrefix = "MyFriends"; tabMenu.UrlTarget = "_self"; tabMenu.Tabs = new string[3,5]; if (DisplayFriendsRequested) { tabMenu.Tabs[2, 0] = GetString("friends.requestedfriendships"); tabMenu.Tabs[2, 2] = HTMLHelper.HTMLEncode(URLHelper.AddParameterToUrl(absoluteUri, ParameterName, "requested")); selectedPage = "requested"; } if (DisplayFriendsRejected) { tabMenu.Tabs[1, 0] = GetString("friends.rejectedfriends"); tabMenu.Tabs[1, 2] = HTMLHelper.HTMLEncode(URLHelper.AddParameterToUrl(absoluteUri, ParameterName, "rejected")); selectedPage = "rejected"; } if (DisplayFriendsList) { tabMenu.Tabs[0, 0] = GetString("friends.myfriends"); tabMenu.Tabs[0, 2] = HTMLHelper.HTMLEncode(URLHelper.AddParameterToUrl(absoluteUri, ParameterName, "friends")); selectedPage = "friends"; } // Set css class pnlBody.CssClass = CssClass; // Get page url page = QueryHelper.GetText(ParameterName, selectedPage); // Set controls visibility plcFriends.Visible = false; plcApprovalFriends.Visible = false; plcRequestedFriends.Visible = false; friendsRejectedListElem.Visible = false; requestFriendshipElem1.UserID = UserID; requestFriendshipElem2.UserID = UserID; // Select current page switch (page) { default: case "friends": tabMenu.SelectedTab = 0; if (DisplayFriendsList) { plcFriends.Visible = true; friendsListElem.StopProcessing = false; } if (DisplayFriendsToApproval) { plcApprovalFriends.Visible = true; friendsToApprovalListElem.StopProcessing = false; } break; case "requested": tabMenu.SelectedTab = 2; plcRequestedFriends.Visible = true; friendsRequestedListElem.StopProcessing = false; break; case "rejected": tabMenu.SelectedTab = 1; friendsRejectedListElem.Visible = true; friendsRejectedListElem.StopProcessing = false; break; } } else { Visible = false; } } } protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); switch (page) { case "friends": if (!friendsListElem.HasData()) { friendsListElem.ZeroRowsText = GetString("friends.nofriends"); } if (!friendsToApprovalListElem.HasData()) { plcApprovalFriends.Visible = false; } break; case "requested": if (!friendsRequestedListElem.HasData()) { friendsRequestedListElem.ZeroRowsText = GetString("friends.norequestedfriends"); } break; case "rejected": if (!friendsRejectedListElem.HasData()) { friendsRejectedListElem.ZeroRowsText = GetString("friends.norejectedfriends"); } break; } } /// /// Overridden SetValue - because of MyAccount webpart. /// /// Name of the property to set /// Value to set public override void SetValue(string propertyName, object value) { base.SetValue(propertyName, value); switch (propertyName.ToLowerCSafe()) { case "userid": UserID = ValidationHelper.GetInteger(value, 0); break; } } }