Ejemplo n.º 1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        AvatarInfo ai = null;

        if (mValue > 0)
        {
            ai = AvatarInfoProvider.GetAvatarInfo(mValue);
        }

        if (ai == null)
        {
            DefaultAvatarTypeEnum defAvatar = DefaultAvatarTypeEnum.User;
            UserGenderEnum        gender    = (UserGenderEnum)ValidationHelper.GetInteger(Form.GetFieldValue("UserGender"), 0);
            switch (gender)
            {
            case UserGenderEnum.Female:
                defAvatar = DefaultAvatarTypeEnum.Female;
                break;

            case UserGenderEnum.Male:
                defAvatar = DefaultAvatarTypeEnum.Male;
                break;
            }

            ai = AvatarInfoProvider.GetDefaultAvatar(defAvatar);

            // Avatar not specified for current gender, get user default avatar
            if (ai == null)
            {
                ai = AvatarInfoProvider.GetDefaultAvatar(DefaultAvatarTypeEnum.User);
            }
        }

        if (ai != null)
        {
            imgAvatar.ImageUrl      = ResolveUrl("~/CMSModules/Avatars/CMSPages/GetAvatar.aspx?avatarguid=" + ai.AvatarGUID + "&maxsidesize=" + MaxSideSize);
            imgAvatar.AlternateText = GetString("general.avatar");
            return;
        }

        imgAvatar.Visible = false;
    }
Ejemplo n.º 2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        AvatarInfo ai       = null;
        int        userID   = 0;
        UserInfo   userInfo = null;

        // Load avatar type setting
        string aType = DataHelper.GetNotEmpty(SettingsKeyProvider.GetStringValue(CMSContext.CurrentSiteName + ".CMSAvatarType"), AvatarInfoProvider.AVATAR);

        if (aType == AvatarInfoProvider.USERCHOICE)
        {
            // Get userID from FormEngine
            if (this.Data != null)
            {
                userID = ValidationHelper.GetInteger(this.Data["UserID"], 0);
            }

            userInfo = UserInfoProvider.GetUserInfo(userID);

            // Set user avatar type
            if (userInfo != null)
            {
                aType = userInfo.UserSettings.UserAvatarType;
            }
            else
            {
                aType = AvatarInfoProvider.GRAVATAR;
            }
        }

        switch (aType)
        {
        case AvatarInfoProvider.AVATAR:

            if (mValue > 0)
            {
                ai = AvatarInfoProvider.GetAvatarInfo(mValue);
            }

            if (ai == null)
            {
                DefaultAvatarTypeEnum defAvatar = DefaultAvatarTypeEnum.User;
                UserGenderEnum        gender    = (UserGenderEnum)ValidationHelper.GetInteger(Form.GetFieldValue("UserGender"), 0);
                switch (gender)
                {
                case UserGenderEnum.Female:
                    defAvatar = DefaultAvatarTypeEnum.Female;
                    break;

                case UserGenderEnum.Male:
                    defAvatar = DefaultAvatarTypeEnum.Male;
                    break;
                }

                ai = AvatarInfoProvider.GetDefaultAvatar(defAvatar);

                // Avatar not specified for current gender, get user default avatar
                if (ai == null)
                {
                    ai = AvatarInfoProvider.GetDefaultAvatar(DefaultAvatarTypeEnum.User);
                }
            }

            if (ai != null)
            {
                imgAvatar.ImageUrl      = ResolveUrl("~/CMSModules/Avatars/CMSPages/GetAvatar.aspx?avatarguid=" + ai.AvatarGUID + "&maxsidesize=" + MaxSideSize);
                imgAvatar.AlternateText = GetString("general.avatar");
                return;
            }

            imgAvatar.Visible = false;
            break;

        case AvatarInfoProvider.GRAVATAR:

            if (userInfo == null)
            {
                // Get userID from FormEngine
                if (this.Data != null)
                {
                    userID = ValidationHelper.GetInteger(this.Data["UserID"], 0);
                }

                userInfo = UserInfoProvider.GetUserInfo(userID);
            }

            if (userInfo != null)
            {
                imgAvatar.ImageUrl      = AvatarInfoProvider.CreateGravatarLink(userInfo.Email, userInfo.UserSettings.UserGender, ResolveUrl("~/CMSModules/Avatars/CMSPages/GetAvatar.aspx?maxsidesize=" + MaxSideSize + "&avatarguid="), MaxSideSize, CMSContext.CurrentSiteName);
                imgAvatar.AlternateText = GetString("general.avatar");
            }
            else
            {
                imgAvatar.Visible = false;
            }
            break;
        }
    }
Ejemplo n.º 3
0
    /// <summary>
    /// Sets image  url, width and height.
    /// </summary>
    protected void SetImage()
    {
        Visible = false;

        // Only if display picture is allowed
        if (DisplayPicture)
        {
            string imageUrl = ResolveUrl("~/CMSModules/Avatars/CMSPages/GetAvatar.aspx?avatarguid=");

            // Is user id set? => Get user info
            if (mUserId > 0)
            {
                // Get user info
                UserInfo ui = UserInfoProvider.GetUserInfo(mUserId);
                if (ui != null)
                {
                    AvatarID = ui.UserAvatarID;
                    if (AvatarID <= 0)   // Backward compatibility
                    {
                        if (ui.UserPicture != "")
                        {
                            // Get picture filename
                            string filename = ui.UserPicture.Remove(ui.UserPicture.IndexOf('/'));
                            string ext      = Path.GetExtension(filename);
                            imageUrl += filename.Substring(0, (filename.Length - ext.Length));
                            imageUrl += "&extension=" + ext;
                            Visible   = true;
                        }
                        else if (UseDefaultAvatar)
                        {
                            DefaultAvatarTypeEnum defAvatar = DefaultAvatarTypeEnum.User;

                            // Get default avatar type according to user gender
                            UserGenderEnum gender = (UserGenderEnum)ValidationHelper.GetInteger(ui.GetValue("UserGender"), 0);
                            switch (gender)
                            {
                            case UserGenderEnum.Female:
                                defAvatar = DefaultAvatarTypeEnum.Female;
                                break;

                            case UserGenderEnum.Male:
                                defAvatar = DefaultAvatarTypeEnum.Male;
                                break;
                            }

                            AvatarInfo ai = AvatarInfoProvider.GetDefaultAvatar(defAvatar);

                            // Avatar not specified for current gender, get user default avatar
                            if (ai == null)
                            {
                                ai = AvatarInfoProvider.GetDefaultAvatar(DefaultAvatarTypeEnum.User);
                            }

                            if (ai != null)
                            {
                                AvatarID = ai.AvatarID;
                            }
                        }
                    }
                }
            }

            // Is group id set? => Get group info
            if (mGroupId > 0)
            {
                // Get group info trough module commands
                GeneralizedInfo gi = ModuleCommands.CommunityGetGroupInfo(mGroupId);
                if (gi != null)
                {
                    AvatarID = ValidationHelper.GetInteger(gi.GetValue("GroupAvatarID"), 0);
                }

                if ((AvatarID <= 0) && UseDefaultAvatar)
                {
                    AvatarInfo ai = AvatarInfoProvider.GetDefaultAvatar(DefaultAvatarTypeEnum.Group);
                    if (ai != null)
                    {
                        AvatarID = ai.AvatarID;
                    }
                }
            }

            if (AvatarID > 0)
            {
                AvatarInfo ai = AvatarInfoProvider.GetAvatarInfoWithoutBinary(AvatarID);
                if (ai != null)
                {
                    imageUrl += ai.AvatarGUID.ToString();
                    Visible   = true;
                }
            }

            // If item was found
            if (Visible)
            {
                if (KeepAspectRatio)
                {
                    imageUrl += "&maxsidesize=" + (Width > Height ? Width : Height);
                }
                else
                {
                    imageUrl += "&width=" + Width + "&height=" + Height;
                }
                imageUrl      = URLHelper.EncodeQueryString(imageUrl);
                ltlImage.Text = "<img alt=\"" + GetString("general.avatar") + "\" src=\"" + imageUrl + "\" />";

                // Render outer div with specific CSS class
                if (RenderOuterDiv)
                {
                    ltlImage.Text = "<div class=\"" + OuterDivCSSClass + "\">" + ltlImage.Text + "</div>";
                }
            }
        }
    }