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/CMSWebParts/Membership/Users/UserPublicProfile.ascx.cs
using System;
using System.Data;
using System.Collections;
using System.Web;
using System.Web.UI;

using CMS.FormControls;
using CMS.FormEngine;
using CMS.Helpers;
using CMS.PortalControls;
using CMS.SiteProvider;
using CMS.Membership;

public partial class CMSWebParts_Membership_Users_UserPublicProfile : CMSAbstractWebPart
{
    #region "Public properties"

    /// <summary>
    /// Name of the alternative form (ClassName.AlternativeFormName)
    /// Default value is CMS.User.DisplayProfile
    /// </summary>
    public string AlternativeFormName
    {
        get
        {
            return ValidationHelper.GetString(GetValue("AlternativeFormName"), "CMS.User.DisplayProfile");
        }
        set
        {
            SetValue("AlternativeFormName", value);
        }
    }


    /// <summary>
    /// User name whose profile should be displayed.
    /// </summary>
    public string UserName
    {
        get
        {
            string userName = ValidationHelper.GetString(GetValue("UserName"), String.Empty);
            if (userName != String.Empty)
            {
                return userName;
            }

            // Back compatibility
            int userID = ValidationHelper.GetInteger(GetValue("UserID"), 0);
            if (userID != 0)
            {
                if (userID == MembershipContext.AuthenticatedUser.UserID)
                {
                    return MembershipContext.AuthenticatedUser.UserName;
                }

                UserInfo ui = UserInfoProvider.GetUserInfo(userID);
                if (ui != null)
                {
                    return ui.UserName;
                }
            }

            return String.Empty;
        }
        set
        {
            SetValue("UserName", value);
        }
    }


    /// <summary>
    /// No profile text.
    /// </summary>
    public string NoProfileText
    {
        get
        {
            return ValidationHelper.GetString(GetValue("NoProfileText"), "");
        }
        set
        {
            SetValue("NoProfileText", value);
        }
    }


    /// <summary>
    /// Indicates if field visibility should be applied on user form.
    /// </summary>
    public bool ApplyVisibility
    {
        get
        {
            return ValidationHelper.GetBoolean(GetValue("ApplyVisibility"), false);
        }
        set
        {
            SetValue("ApplyVisibility", value);
        }
    }


    /// <summary>
    /// This name is used if ApplyVisibility is 'true' to get visibility definition of current user.
    /// </summary>
    public string VisibilityFormName
    {
        get
        {
            return ValidationHelper.GetString(GetValue("VisibilityFormName"), "");
        }
        set
        {
            SetValue("VisibilityFormName", value);
        }
    }

    #endregion


    /// <summary>
    /// Content loaded event handler.
    /// </summary>
    public override void OnContentLoaded()
    {
        base.OnContentLoaded();
        SetupControl();
    }


    /// <summary>
    /// Reloads data.
    /// </summary>
    public override void ReloadData()
    {
        base.ReloadData();
        SetupControl();
    }


    /// <summary>
    /// Initializes the control properties.
    /// </summary>
    protected void SetupControl()
    {
        if (StopProcessing)
        {
            // Do nothing
        }
        else
        {
            // Get user info
            UserInfo ui = GetUser();
            if (ui != null)
            {
                // Get alternative form info
                AlternativeFormInfo afi = AlternativeFormInfoProvider.GetAlternativeFormInfo(AlternativeFormName);
                if (afi != null)
                {
                    // Initialize data form
                    formElem.Visible = true;
                    formElem.Info = ui;
                    formElem.AlternativeFormFullName = AlternativeFormName;
                    formElem.IsLiveSite = true;
                    formElem.ApplyVisibility = ApplyVisibility;
                    formElem.VisibilityFormName = VisibilityFormName;
                    formElem.SubmitButton.Visible = false;
                }
                else
                {
                    lblError.Text = String.Format(GetString("altform.formdoesntexists"), AlternativeFormName);
                    lblError.Visible = true;
                    plcContent.Visible = false;
                }
            }
            else
            {
                // Hide data form
                formElem.Visible = false;
                lblNoProfile.Visible = true;
                lblNoProfile.Text = NoProfileText;
            }
        }
    }


    // Get user
    private UserInfo GetUser()
    {
        UserInfo ui = null;

        if (!String.IsNullOrEmpty(UserName))
        {
            ui = UserInfoProvider.GetUserInfo(UserName);
        }
        // Otherwise select current user
        else
        {
            ui = MembershipContext.CurrentUserProfile;
        }

        return ui;
    }


    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);

        // Alter username according to GetFormattedUserName function
        if ((formElem != null) && (formElem.FieldEditingControls != null))
        {
            EditingFormControl userControl = formElem.FieldEditingControls["UserName"] as EditingFormControl;
            if (userControl != null)
            {
                string userName = ValidationHelper.GetString(userControl.Value, String.Empty);

                // Set back formatted username
                userControl.Value = HTMLHelper.HTMLEncode(Functions.GetFormattedUserName(userName, true));
            }
        }
    }
}