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/TDijk1/erp-apps.eu/wwwroot/CMSModules/Groups/Controls/Members/Members.ascx.cs
using System;
using System.Data;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using CMS.Community;
using CMS.Helpers;
using CMS.Base;
using CMS.SiteProvider;
using CMS.Membership;
using CMS.UIControls;
using CMS.ExtendedControls;
using CMS.ExtendedControls.ActionsConfig;

public partial class CMSModules_Groups_Controls_Members_Members : CMSAdminControl
{
    #region "Variables"

    private bool mHideWhenGroupIsNotSupplied = false;

    #endregion


    #region "Public properties"

    /// <summary>
    /// Determines whether to hide the content of the control when GroupID is not supplied.
    /// </summary>
    public bool HideWhenGroupIsNotSupplied
    {
        get
        {
            return mHideWhenGroupIsNotSupplied;
        }
        set
        {
            mHideWhenGroupIsNotSupplied = value;
        }
    }


    /// <summary>
    /// Gets or sets the group ID for which the members should be displayed.
    /// </summary>
    public int GroupID
    {
        get
        {
            if (memberListElem.GroupID <= 0)
            {
                memberListElem.GroupID = ValidationHelper.GetInteger(GetValue("GroupID"), 0);
            }

            return memberListElem.GroupID;
        }
        set
        {
            memberListElem.GroupID = value;
        }
    }


    /// <summary>
    /// Indicates if control is used on live site
    /// </summary>
    public override bool IsLiveSite
    {
        get
        {
            return base.IsLiveSite;
        }
        set
        {
            base.IsLiveSite = value;
            actionsElem.IsLiveSite = value;
        }
    }

    #endregion


    protected void Page_Load(object sender, EventArgs e)
    {
        #region "Security"

        memberListElem.OnCheckPermissions += new CheckPermissionsEventHandler(memberListElem_OnCheckPermissions);
        memberEditElem.OnCheckPermissions += memberEditElem_OnCheckPermissions;

        #endregion


        if (!Visible)
        {
            EnableViewState = false;
        }

        if (StopProcessing)
        {
            actionsElem.StopProcessing = true;
            memberListElem.StopProcessing = true;
            memberEditElem.StopProcessing = true;
        }
        else
        {
            if ((GroupID == 0) && HideWhenGroupIsNotSupplied)
            {
                Visible = false;
                return;
            }

            memberListElem.OnAction += new CommandEventHandler(memberListElem_GridOnAction);

            lnkBackHidden.Click += lnkBackHidden_Click;

            InitializeBreadcrumbs();

            HeaderAction action = new HeaderAction();
            action.Text = GetString("groupinvitation.invite");
            action.OnClientClick = "OpenInvite(); return false;";
            action.CommandName = "invitemember";
            actionsElem.AddAction(action);

            string script = "function OpenInvite() {\n" +
                            "modalDialog('" + AuthenticationHelper.ResolveDialogUrl("~/CMSModules/Groups/CMSPages/InviteToGroup.aspx") + "?groupid=" + GroupID + "','inviteToGroup', 550, 470); \n" +
                            " } \n";

            // Register menu management scripts
            ScriptHelper.RegisterClientScriptBlock(this, typeof(string), "Members", ScriptHelper.GetScript(script));

            // Register the dialog script
            ScriptHelper.RegisterDialogScript(Page);
        }
    }


    #region "Security handlers"

    protected void memberEditElem_OnCheckPermissions(string permissionType, CMSAdminControl sender)
    {
        RaiseOnCheckPermissions(permissionType, sender);
    }


    protected void memberListElem_OnCheckPermissions(string permissionType, CMSAdminControl sender)
    {
        RaiseOnCheckPermissions(permissionType, sender);
    }

    #endregion


    protected void lnkBackHidden_Click(object sender, EventArgs e)
    {
        lblInfo.Visible = true;
        plcList.Visible = true;
        plcEdit.Visible = false;
        ViewState["UserID"] = null;
        memberListElem.ReloadGrid();
    }


    protected void memberListElem_GridOnAction(object sender, CommandEventArgs args)
    {
        switch (args.CommandName.ToLowerCSafe())
        {
            case "approve":
                lblInfo.Text = GetString("group.member.userhasbeenapproved");
                lblInfo.Visible = true;
                break;

            case "reject":
                lblInfo.Text = GetString("group.member.userhasbeenrejected");
                lblInfo.Visible = true;
                break;

            case "edit":
                int memberId = ValidationHelper.GetInteger(args.CommandArgument, 0);
                memberEditElem.MemberID = memberId;
                memberEditElem.GroupID = GroupID;
                plcList.Visible = false;
                plcEdit.Visible = true;
                memberEditElem.Visible = true;
                memberEditElem.ReloadData();

                GroupMemberInfo gmi = GroupMemberInfoProvider.GetGroupMemberInfo(memberId);
                if (gmi != null)
                {
                    UserInfo ui = UserInfoProvider.GetUserInfo(gmi.MemberUserID);
                    if (ui != null)
                    {
                        ucBreadcrumbs.Items[1].Text = ui.FullName;
                        ViewState["UserID"] = ui.UserID;
                    }
                }
                break;
        }
    }


    /// <summary>
    /// Initializes breadcrumbs items.
    /// </summary>
    private void InitializeBreadcrumbs()
    {
        ucBreadcrumbs.Items.Clear();

        ucBreadcrumbs.AddBreadcrumb(new BreadcrumbItem {
            Text = GetString("group.members"),
            OnClientClick = ControlsHelper.GetPostBackEventReference(lnkBackHidden) + "; return false;"
        });

        int userId = ValidationHelper.GetInteger(ViewState["UserID"], 0);
        UserInfo ui = null;
        if (userId > 0)
        {
            ui = UserInfoProvider.GetUserInfo(userId);
        }

        ucBreadcrumbs.AddBreadcrumb(new BreadcrumbItem { 
            Text = (ui != null) ? ui.FullName : "",
        });
    }
}