HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/RMourik/bassol.nl/CMS/CMSModules/Friends/Controls/MyFriends.ascx.cs
using System;

using CMS.Helpers;
using CMS.Base;
using CMS.UIControls;
using CMS.URLRewritingEngine;
using CMS.Controls.Configuration;
using CMS.Membership;

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"
    
    /// <summary>
    /// Gets or sets the value that indicates whether 'friends list' is displayed.
    /// </summary>
    public bool DisplayFriendsList
    {
        get
        {
            return mDisplayFriendsList;
        }
        set
        {
            mDisplayFriendsList = value;
        }
    }


    /// <summary>
    /// Gets or sets the value that indicates whether 'friends waiting for approval' is displayed.
    /// </summary>
    public bool DisplayFriendsToApproval
    {
        get
        {
            return mDisplayFriendsToApproval;
        }
        set
        {
            mDisplayFriendsToApproval = value;
        }
    }


    /// <summary>
    /// Gets or sets the value that indicates whether 'requested friends list' is displayed.
    /// </summary>
    public bool DisplayFriendsRequested
    {
        get
        {
            return mDisplayFriendsRequested;
        }
        set
        {
            mDisplayFriendsRequested = value;
        }
    }


    /// <summary>
    /// Gets or sets the value that indicates whether 'rejected friends list' is displayed.
    /// </summary>
    public bool DisplayFriendsRejected
    {
        get
        {
            return mDisplayFriendsRejected;
        }
        set
        {
            mDisplayFriendsRejected = value;
        }
    }


    /// <summary>
    /// Gets or sets the WebPart CSS class value.
    /// </summary>
    public string CssClass
    {
        get
        {
            return pnlBody.CssClass;
        }
        set
        {
            pnlBody.CssClass = value;
        }
    }


    /// <summary>
    /// Gets or sets the query string parameter name.
    /// </summary>
    public string ParameterName
    {
        get
        {
            return mParameterName;
        }
        set
        {
            mParameterName = value;
        }
    }


    /// <summary>
    /// Gets or sets User ID.
    /// </summary>
    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();
    }


    /// <summary>
    /// Reload data.
    /// </summary>
    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 (AuthenticationHelper.IsAuthenticated())
            {
                // Set up controls
                friendsListElem.UserID = UserID;
                friendsToApprovalListElem.UserID = UserID;
                friendsRequestedListElem.UserID = UserID;
                friendsRejectedListElem.UserID = UserID;

                // Remove 'saved' parameter from querystring
                string absoluteUri = RequestContext.CurrentURL;

                // Menu initialization
                tabMenu.TabControlIdPrefix = "MyFriends";
                tabMenu.UrlTarget = "_self";

                if (DisplayFriendsRequested)
                {
                    tabMenu.AddTab(new TabItem
                    {
                        Text = GetString("friends.requestedfriendships"),
                        RedirectUrl = URLHelper.AddParameterToUrl(absoluteUri, ParameterName, "requested")
                    });
                    selectedPage = "requested";
                }

                if (DisplayFriendsRejected)
                {
                    tabMenu.AddTab(new TabItem
                    {
                        Text = GetString("friends.rejectedfriends"),
                        RedirectUrl = URLHelper.AddParameterToUrl(absoluteUri, ParameterName, "rejected")
                    });
                    selectedPage = "rejected";
                }

                if (DisplayFriendsList)
                {
                    tabMenu.AddTab(new TabItem
                    {
                        Text = GetString("friends.myfriends"),
                        RedirectUrl = 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 = 2;
                        if (DisplayFriendsList)
                        {
                            plcFriends.Visible = true;
                            friendsListElem.StopProcessing = false;
                        }
                        if (DisplayFriendsToApproval)
                        {
                            plcApprovalFriends.Visible = true;
                            friendsToApprovalListElem.StopProcessing = false;
                        }
                        break;

                    case "requested":
                        tabMenu.SelectedTab = 0;
                        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;
        }
    }


    /// <summary>
    /// Overridden SetValue - because of MyAccount webpart.
    /// </summary>
    /// <param name="propertyName">Name of the property to set</param>
    /// <param name="value">Value to set</param>
    public override bool SetValue(string propertyName, object value)
    {
        base.SetValue(propertyName, value);

        switch (propertyName.ToLowerCSafe())
        {
            case "userid":
                UserID = ValidationHelper.GetInteger(value, 0);
                break;
        }

        return true;
    }
}