public bool SetDisplayNameFromUsername( [NotNull] string token, [NotNull] string username, [NotNull] string displayName) { // validate token... if (token != YafContext.Current.Get <YafBoardSettings>().WebServiceToken) { throw new SecurityFailureInvalidWebServiceTokenException( "Invalid Secure Web Service Token: Operation Failed"); } // get the user id... var membershipUser = UserMembershipHelper.GetMembershipUserByName(username); if (membershipUser != null) { var userId = UserMembershipHelper.GetUserIDFromProviderUserKey(membershipUser.ProviderUserKey); var displayNameId = this.Get <IUserDisplayName>().GetId(displayName); if (displayNameId.HasValue && displayNameId.Value != userId) { // problem... throw new NonUniqueDisplayNameException( "Display Name must be unique. {0} display name already exists in the database.".FormatWith( displayName)); } var userFields = LegacyDb.user_list(Config.BoardID, userId, null).Rows[0]; LegacyDb.user_save( userId, Config.BoardID, null, displayName, null, userFields["TimeZone"], userFields["LanguageFile"], userFields["Culture"], userFields["ThemeFile"], userFields["TextEditor"], null, null, null, null, null, null, null); this.Get <IRaiseEvent>().Raise(new UpdateUserEvent(userId)); return(true); } return(false); }
/// <summary> /// This method returns a string which shows how many times users have /// thanked the message with the provided messageID. Returns an empty string. /// </summary> /// <param name="username"> /// The username. /// </param> /// <param name="messageID"> /// The Message ID. /// </param> /// <returns> /// The thanks number. /// </returns> protected static string ThanksNumber([NotNull] string username, int messageID) { int thanksNumber = LegacyDb.message_ThanksNumber(messageID); string displayName = username; if (YafContext.Current.Get <YafBoardSettings>().EnableDisplayName) { // get the user's display name. SitecoreMembershipUser mu = UserMembershipHelper.GetMembershipUserByName(username); if (mu != null) { displayName = YafContext.Current.Get <IUserDisplayName>().GetName( UserMembershipHelper.GetUserIDFromProviderUserKey( mu.ProviderUserKey)); } } displayName = YafContext.Current.Get <HttpServerUtilityBase>().HtmlEncode(displayName); string thanksText; switch (thanksNumber) { case 0: return(string.Empty); case 1: thanksText = YafContext.Current.Get <ILocalization>().GetText("POSTS", "THANKSINFOSINGLE").FormatWith( displayName); return ("<img id=\"ThanksInfoImage{0}\" src=\"{1}\" runat=\"server\" title=\"{2}\" /> {2}".FormatWith( messageID, YafContext.Current.Get <ITheme>().GetItem("ICONS", "THANKSINFOLIST_IMAGE"), thanksText)); } thanksText = YafContext.Current.Get <ILocalization>().GetText("POSTS", "THANKSINFO").FormatWith(thanksNumber, displayName); return ("<img id=\"ThanksInfoImage{0}\" src=\"{1}\" runat=\"server\" title=\"{2}\" /> {2}".FormatWith( messageID, YafContext.Current.Get <ITheme>().GetItem("ICONS", "THANKSINFOLIST_IMAGE"), thanksText)); }
/// <summary> /// This method returns a string which shows how many times users have /// thanked the message with the provided messageID. Returns an empty string. /// </summary> /// <param name="username"> /// The username. /// </param> /// <param name="messageID"> /// The Message ID. /// </param> /// <returns> /// The thanks number. /// </returns> public string ThanksNumber([NotNull] string username, int messageID) { var thanksNumber = YafContext.Current.GetRepository <Thanks>().Count(t => t.MessageID == messageID); var displayName = username; if (YafContext.Current.Get <YafBoardSettings>().EnableDisplayName) { // get the user's display name. var mu = UserMembershipHelper.GetMembershipUserByName(username); if (mu != null) { displayName = YafContext.Current.Get <IUserDisplayName>().GetName( UserMembershipHelper.GetUserIDFromProviderUserKey(mu.ProviderUserKey)); } } displayName = YafContext.Current.Get <HttpServerUtilityBase>().HtmlEncode(displayName); string thanksText; switch (thanksNumber) { case 0: return(string.Empty); case 1: thanksText = string.Format( YafContext.Current.Get <ILocalization>().GetText("POSTS", "THANKSINFOSINGLE"), displayName); return($"<i class=\"fa fa-heart\" style=\"color:#e74c3c\"></i> {thanksText}"); } thanksText = string.Format( YafContext.Current.Get <ILocalization>().GetText("POSTS", "THANKSINFO"), thanksNumber, displayName); return($"<i class=\"fa fa-heart\" style=\"color:#e74c3c\"></i> {thanksText}"); }
/// <summary> /// This method returns a string which shows how many times users have /// thanked the message with the provided messageID. Returns an empty string. /// </summary> /// <param name="username"> /// The username. /// </param> /// <param name="messageId"> /// The Message ID. /// </param> /// <returns> /// The thanks number. /// </returns> public string ThanksInfo([NotNull] string username, int messageId) { var thanksNumber = BoardContext.Current.GetRepository <Thanks>().Count(t => t.MessageID == messageId); if (thanksNumber == 0) { return(" "); } var displayName = username; if (BoardContext.Current.Get <BoardSettings>().EnableDisplayName) { // get the user's display name. var mu = UserMembershipHelper.GetMembershipUserByName(username); if (mu != null) { displayName = BoardContext.Current.Get <IUserDisplayName>().GetName( UserMembershipHelper.GetUserIDFromProviderUserKey(mu.ProviderUserKey)); } } displayName = BoardContext.Current.Get <HttpServerUtilityBase>().HtmlEncode(displayName); var thanksText = BoardContext.Current.Get <ILocalization>() .GetTextFormatted("THANKSINFO", thanksNumber, displayName); var thanks = GetThanks(messageId); return($@"<a class=""btn btn-sm btn-link thanks-popover"" data-toggle=""popover"" data-trigger=""click hover"" data-html=""true"" title=""{thanksText}"" data-content=""{thanks.Replace("\"", "'")}""> <i class=""fa fa-heart"" style= ""color:#e74c3c""></i> +{thanksNumber}</a>"); }