/// <summary> /// Gets the image url for profile which can be either the gravatar which is used 1st and then the internal image photo. /// </summary> /// <param name="wrapInImageTag"></param> /// <param name="size"></param> /// <param name="align"></param> /// <param name="style"></param> /// <returns></returns> public string GetImageUrl(bool wrapInImageTag = true, int size = 80, bool useSameSizeForHeight = false, string align = "top", string style = "padding:2px 5px 5px 2px", bool removeImageIfNotAvailable = true) { string url = string.Empty; if (IsGravatarEnabled) { Gravatar gravatar = new Gravatar(Email, size, Rating.g, IconType.none, string.Empty); url = gravatar.Url; } else if (HasImage) { url = _imageUrl; } if (string.IsNullOrEmpty(url)) { return(string.Empty); } if (wrapInImageTag) { string attributes = "alt=\"user photo\" align=\"" + align + "\" style=\"" + style + "\""; if (HasImage) { attributes += " width=\"" + size + "px\""; if (useSameSizeForHeight) { attributes += " height=\"" + size + "px\" "; } } // <img src="<%= gravatar.Url %>" alt="gravatar" align="top" style=" padding: 2px 5px 5px 2px" /> url = "<img src=\"" + url + "\" " + attributes + " />"; } return(url); }
public static System.Web.WebPages.HelperResult GravatarImage(string email, string username, int size) { return(new System.Web.WebPages.HelperResult(__razor_helper_writer => { #line 74 "..\..\Views\Helpers\ViewHelpers.cshtml" #line default #line hidden WebViewPage.WriteLiteralTo(@__razor_helper_writer, " "); WebViewPage.WriteLiteralTo(@__razor_helper_writer, "\r\n "); #line 76 "..\..\Views\Helpers\ViewHelpers.cshtml" WebViewPage.WriteTo(@__razor_helper_writer, Gravatar.GetHtml(email, size, "retro", GravatarRating.G, attributes: new { width = size, height = size, title = username, @class = "owner-image" })); #line default #line hidden WebViewPage.WriteLiteralTo(@__razor_helper_writer, "\r\n "); WebViewPage.WriteLiteralTo(@__razor_helper_writer, "\r\n"); #line 78 "..\..\Views\Helpers\ViewHelpers.cshtml" #line default #line hidden })); }
public void GetUrl_UsesRating() { var actual = new Gravatar().GetUrl("*****@*****.**", rating: GravatarRating.R); var expected = "http://www.gravatar.com/avatar/bccc2b381d103797427c161951be5fa5?r=r"; Assert.AreEqual(expected, actual); }
public void GetEmailHash_HashesEmailAddress() { var actual = new Gravatar().GetHash("*****@*****.**"); var expected = "bccc2b381d103797427c161951be5fa5"; Assert.AreEqual(expected, actual); }
public override void Initialize(IComponent component) { _gravatar = component as Gravatar; if(_gravatar == null) throw new ArgumentException("Component must be a gravatar control", "component"); base.Initialize(component); }
public void Render_CreatesHtmlElement() { var actual = new Gravatar().Render("*****@*****.**"); var expected = "<img src=\"http://www.gravatar.com/avatar/bccc2b381d103797427c161951be5fa5?s=80\" width=\"80\" height=\"80\" />"; Assert.AreEqual(expected, actual); }
public void WhenGravatarApiTimeOut() { mockRestClient = new MockRestClient().ExecuteTaskAsync(responseTimedOut); gravatar = new Gravatar(new GravatarUrl(), mockRestClient.Object); gravatar.GetGravatarName("1234").Result.ShouldBe("Gravatar unavailable"); }
public void GetUrl_UsesDefault() { var actual = new Gravatar().GetUrl("*****@*****.**", @default: "http://my.default.image.jpg"); var expected = "http://www.gravatar.com/avatar/bccc2b381d103797427c161951be5fa5?d=http%3a%2f%2fmy.default.image.jpg"; Assert.AreEqual(expected, actual); }
public void GetUrl_UsesSize() { var actual = new Gravatar().GetUrl("*****@*****.**", size: 43); var expected = "http://www.gravatar.com/avatar/bccc2b381d103797427c161951be5fa5?s=43"; Assert.AreEqual(expected, actual); }
public async Task ExecuteLoadItemsCommand() { if (IsBusy) { return; } IsBusy = true; var httpClient = new HttpClient(); var feed = "http://planet.xamarin.com/feed/"; var responseString = await httpClient.GetStringAsync(feed); FeedItems.Clear(); var items = await ParseFeed(responseString); foreach (var item in items) { item.Image = Gravatar.GetUrl(item.Author); FeedItems.Add(item); } IsBusy = false; }
public string GetMenu(MenuMode mode = MenuMode.Top) { if (MainMenu.Count < 1) { return(string.Empty); } var sb = new StringBuilder(); sb.Append("<ul>"); foreach (var item in MainMenu) { sb.Append("<li>"); sb.Append("<a class=\"area-link\" href=\"" + item.Link + "\">" + item.Title + "</a>"); sb.Append("</li>"); } if (AppUser.IsAuthenticated()) { sb.Append($"<li>" + Gravatar.GetGravatarImage(AppUser.Email, 20, "R") + $" <a class=\"area-link\" href=\"https://kavadocs.com/account/profile/{AppUser.UserId}\">{AppUser.Username}</a></li>"); sb.Append("<li>"); sb.Append("<a class=\"area-link\" href=\"/___account___/signout\">Sign out</a>"); sb.Append("</li>"); } sb.Append("</ul>"); return(sb.ToString()); }
public static string UserImageUrl(this UrlHelper urlHelper, string email, int?size = null) { var sizeValue = size.HasValue ? size.Value : GetGravatarDefaultSize(urlHelper); // Remove the leading "http:" from the Gravatar URL, so that the request will automatically use HTTPS in that context. return(Gravatar.Url(email, size: sizeValue).Remove(0, 5)); }
public override View GetView(int position, View convertView, ViewGroup parent) { ContactWrapper wrapper = null; var view = convertView; if (convertView == null) { view = context.LayoutInflater.Inflate(Resource.Layout.item_contact, null); wrapper = new ContactWrapper(); wrapper.Name = view.FindViewById <TextView>(Resource.Id.name); wrapper.Phone = view.FindViewById <TextView>(Resource.Id.phone); wrapper.Photo = view.FindViewById <ImageView>(Resource.Id.photo); view.Tag = wrapper; } else { wrapper = convertView.Tag as ContactWrapper; } var contact = viewModel.Contacts[position]; wrapper.Name.Text = contact.GivenName + " " + contact.Surname; wrapper.Phone.Text = contact.BusinessPhones.Count > 0 ? contact.BusinessPhones[0] : contact.MobilePhone1; Koush.UrlImageViewHelper.SetUrlDrawable(wrapper.Photo, Gravatar.GetURL(contact.EmailAddresses[0].Address, 88), Resource.Drawable.missing); return(view); }
private void DisplayMessage(PrivateMessageInfo pm) { MemberInfo member = Snitz.BLL.Members.GetMember(pm.FromMemberName); ProfileCommon prof = ProfileCommon.GetUserProfile(pm.FromMemberName); if (prof.Gravatar) { Gravatar avatar = new Gravatar { Email = member.Email }; if (member.AvatarUrl != "") { avatar.DefaultImage = member.AvatarUrl; } phAvatar.Controls.Add(avatar); } else { Literal avatar = new Literal { Text = member.AvatarUrl }; phAvatar.Controls.Add(avatar); } pmRecipients.Text = pm.Subject; pmSubject.Visible = false; pmFrom.Text = String.Format("<a href=\"/Account/profile.aspx?user={0}\">{0}</a>", pm.FromMemberName); pmTitle.Text = member.Title; pmCountry.Text = member.Country; pmPostcount.Text = member.PostCount.ToString(); pmDate.Text = pm.Sent.ToString(); pmBody.Text = pm.Message.ParseTags(); PMViews.ActiveViewIndex = 2; }
public void WhenGravatarWorksSecondTime() { mockRestClient = new MockRestClient().ExecuteTaskAsyncSequence(responseBadRequest, responseSuccessful); gravatar = new Gravatar(new GravatarUrl(), mockRestClient.Object); gravatar.GetGravatarName("1234").Result.ShouldBe("mockDisplayName"); }
private string GetCurrentUser() { User user = DataAccessProvider.Current.GetUserByLogin(HttpContext.Current.User.Identity.Name); // set linked entities null for serialization user.GameAction = null; user.UserSeat = null; //user.ChatMessages = null; // no need to send login information to client user.PasswordHash = string.Empty; user.Login = string.Empty; // get gravatar image path user.ImageID = Gravatar.GetImagePath(HttpContext.Current.User.Identity.Name); // serialize to json DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(User)); MemoryStream ms = new MemoryStream(); serializer.WriteObject(ms, user); string json = Encoding.Default.GetString(ms.ToArray()); Debug.WriteLine(json); return(json); }
public UserSummaryViewmodel(string id, string userName, string email) { Id = id; UserName = userName; Email = email; GravatarHash = Gravatar.GetHash(email); }
private void OnPinClick(object sender, EventArgs e) { if (ViewModel == null) { return; } var person = ViewModel.Person; // Download an image for the tile, // once that is done we create the tile if (person.HasEmail) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.ImageOpened += delegate { var imageUri = image.SaveAsTile("Person-" + Uri.EscapeDataString(person.Id)); CreateTile(person, imageUri); }; image.ImageFailed += delegate { CreateTile(person, null); }; image.CreateOptions = System.Windows.Media.Imaging.BitmapCreateOptions.None; image.UriSource = Gravatar.GetImageUrl(person.Email, 173); } else { CreateTile(person, null); } }
public void CanValidateGravatar() { var results = new ValidationResults(); var widget = new Gravatar(); // Confirm errors. widget.FullName = "123456789012345678901234567890123456789012345678901234567890"; widget.Rating = "too_long"; bool success = widget.Validate(results); Assert.IsFalse(success); Assert.AreEqual(results.Count, 6); // Confirm correct widget.Header = "about"; widget.Zone = "right"; widget.FullName = "kishore reddy"; widget.Rating = "r"; widget.Email = "*****@*****.**"; widget.Size = 80; results.Clear(); success = widget.Validate(results); Assert.IsTrue(success); Assert.AreEqual(results.Count, 0); }
public async Task <IActionResult> ChangeAvatar(IndexViewModel model) { var user = await _userManager.GetUserAsync(HttpContext.User); if (model.ProfilePicture == "gravatar") { user.ProfilePicture = Gravatar.GetLink(user.Email); } else { user.ProfilePicture = model.ProfilePicture; } _context.Users.Update(user); await _context.SaveChangesAsync(); var NewModel = new IndexViewModel { HasPassword = await _userManager.HasPasswordAsync(user), PhoneNumber = await _userManager.GetPhoneNumberAsync(user), TwoFactor = await _userManager.GetTwoFactorEnabledAsync(user), Logins = await _userManager.GetLoginsAsync(user), BrowserRemembered = await _signInManager.IsTwoFactorClientRememberedAsync(user), ProfilePicture = user.ProfilePicture }; return(View("Index", NewModel)); }
public override void ViewWillAppear(bool animated) { base.ViewWillAppear(animated); if (ViewModel == null) { ViewModel = new DetailsViewModel(); NavigationItem.RightBarButtonItem = save; } else { this.Title = ViewModel.FirstName; TextEmail.Text = ViewModel.Email; TextFirst.Text = ViewModel.FirstName; TextLast.Text = ViewModel.LastName; TextPhone.Text = ViewModel.Phone; ImagePhoto.SetImage( url: new NSUrl(Gravatar.GetURL(ViewModel.Contact.EmailAddresses[0].Address, 172)), placeholder: UIImage.FromBundle("missing.png") ); NavigationItem.RightBarButtonItem = null; } }
private Control GetTopicAuthorIcon(int authorid) { var author = Members.GetAuthor(authorid); ProfileCommon prof = ProfileCommon.GetUserProfile(author.Username); if (prof.Gravatar) { Gravatar avatar = new Gravatar { Email = author.Email }; if (author.AvatarUrl != "" && author.AvatarUrl.StartsWith("http:")) { avatar.DefaultImage = author.AvatarUrl; } avatar.CssClass = "avatarsmall"; return(avatar); } else { SnitzMembershipUser mu = (SnitzMembershipUser)Membership.GetUser(author.Username); Literal avatar = new Literal { Text = author.AvatarImg }; if (mu != null && mu.IsActive && !(Config.AnonMembers.Contains(mu.UserName))) { avatar.Text = avatar.Text.Replace("'avatar'", "'avatarsmall online'"); } else { avatar.Text = avatar.Text.Replace("'avatar'", "'avatarsmall'"); } return(avatar); } }
public async Task GetContactsAsync() { if (IsBusy) { return; } IsBusy = true; try { Contacts.Clear(); var contacts = await ContactsAPI.GetContacts(); foreach (var contact in contacts) { #if NETFX_CORE contact.CompanyName = Gravatar.GetURL(contact.EmailAddresses[0].Address, 88); #endif Contacts.Add(contact); } SortContacts(); } catch (Exception ex) { //add pop up here for error } finally { IsBusy = false; } }
public void GetUrl_GetsUrlWithDefaultValues() { var actual = new Gravatar().GetUrl("*****@*****.**"); var expected = "http://www.gravatar.com/avatar/bccc2b381d103797427c161951be5fa5"; Assert.AreEqual(expected, actual); }
void StartImageDownload(ListView listView, int position, Person person) { if (imageDownloadsInProgress.Contains(person.Id)) { return; } var url = Gravatar.GetImageUrl(person.Email, 100); if (imageDownloader.HasLocallyCachedCopy(url)) { var image = imageDownloader.GetImage(url); FinishImageDownload(listView, position, person, (Bitmap)image); } else { imageDownloadsInProgress.Add(person.Id); imageDownloader.GetImageAsync(url).ContinueWith(t => { if (!t.IsFaulted) { FinishImageDownload(listView, position, person, (Bitmap)t.Result); } }, TaskScheduler.FromCurrentSynchronizationContext()); } }
public void GetUrl_UsesHttps() { var actual = new Gravatar().GetUrl("*****@*****.**", useHttps: true); var expected = "https://secure.gravatar.com/avatar/bccc2b381d103797427c161951be5fa5"; Assert.AreEqual(expected, actual); }
public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath) { var cell = tableView.DequeueReusableCell(cellIdentifier); if (cell == null) { cell = new UITableViewCell(UITableViewCellStyle.Subtitle, cellIdentifier); cell.Accessory = UITableViewCellAccessory.DisclosureIndicator; cell.ImageView.Layer.CornerRadius = 21.0F; cell.ImageView.Layer.MasksToBounds = false; cell.ImageView.Layer.BorderColor = new CGColor(1, 1, 1); cell.ImageView.Layer.BorderWidth = 2; cell.ImageView.ClipsToBounds = true; //cell.ImageView.Image = UIImage.FromBundle("missing.png"); } var contact = viewModel.ContactsGrouped[indexPath.Section][indexPath.Row]; cell.TextLabel.Text = contact.GivenName + " " + contact.Surname; cell.DetailTextLabel.Text = contact.BusinessPhones.Count > 0 ? contact.BusinessPhones[0] : contact.MobilePhone1; cell.ImageView.SetImage( url: new NSUrl(Gravatar.GetURL(contact.EmailAddresses[0].Address, 44)), placeholder: UIImage.FromBundle("missing.png") ); return(cell); }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); email = FindViewById <EditText>(Resource.Id.email); phone = FindViewById <EditText>(Resource.Id.phone); firstName = FindViewById <EditText>(Resource.Id.first_name); lastName = FindViewById <EditText>(Resource.Id.last_name); photo = FindViewById <ImageView>(Resource.Id.photo2); email.TextChanged += (sender, args) => { Koush.UrlImageViewHelper.SetUrlDrawable(photo, Gravatar.GetURL(email.Text, 88), Resource.Drawable.missing); }; if (ViewModel == null) { ViewModel = new DetailsViewModel(); } else { SupportActionBar.Title = ViewModel.FirstName + " " + ViewModel.LastName; email.Text = ViewModel.Email; firstName.Text = ViewModel.FirstName; lastName.Text = ViewModel.LastName; phone.Text = ViewModel.Phone; } var bottomToolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar_bottom); bottomToolbar.InflateMenu(Resource.Menu.detail_bottom); bottomToolbar.MenuItemClick += (sender, args) => { switch (args.Item.ItemId) { case Resource.Id.calendar: App.NewEventViewModel.Email = ViewModel.Email; App.NewEventViewModel.FirstName = ViewModel.FirstName; App.NewEventViewModel.LastName = ViewModel.LastName; StartActivity(typeof(NewEventActivity)); //ViewModel.AddEvent(new[] { ViewModel.Email }, new[] { ViewModel.FirstName }); break; case Resource.Id.phone: var uri = Android.Net.Uri.Parse("tel:" + ViewModel.Phone); var intent = new Intent(Intent.ActionView, uri); StartActivity(intent); break; case Resource.Id.email: App.SendEmailViewModel.Email = ViewModel.Email; App.SendEmailViewModel.FirstName = ViewModel.FirstName; App.SendEmailViewModel.LastName = ViewModel.LastName; StartActivity(typeof(SendEmailActivity)); break; } }; }
public void RenderUsesDefaultImage() { string render = Gravatar.GetHtml("*****@*****.**", defaultImage: "wavatar").ToString(); Assert.Equal( "<img src=\"http://www.gravatar.com/avatar/f3ada405ce890b6f8204094deb12d8a8?s=80&d=wavatar\" alt=\"gravatar\" />", render); }
/// <summary>Create <see cref="User"/>.</summary> /// <param name="repository">Related repository.</param> /// <param name="name">User name.</param> /// <param name="email">User email.</param> /// <param name="commits">Commit count.</param> internal User(Repository repository, string name, string email, int commits) : base(repository, name + "\n" + email) { Name = name; Email = email; _commits = commits; Avatar = new Gravatar(email); }
public void RenderUsesImageSize() { string render = Gravatar.GetHtml("*****@*****.**", imageSize: 512).ToString(); Assert.Equal( "<img src=\"http://www.gravatar.com/avatar/f3ada405ce890b6f8204094deb12d8a8?s=512\" alt=\"gravatar\" />", render); }
/// <summary> /// Gets the URI of the Gravatar image for the specifications. /// </summary> /// <param name="urlHelper">The UrlHelper object getting the URI.</param> /// <param name="email">The email whose Gravatar source should be returned.</param> /// <param name="size">The size of the requested Gravatar.</param> /// <param name="defaultImage">The default image to return if no Gravatar is found for the specified <paramref name="email"/>.</param> /// <param name="maxRating">The maximum Gravatar rating to allow for requested images..</param> /// <returns>The URI of the Gravatar for the specifications.</returns> public static string Gravatar(this UrlHelper urlHelper, string email, int? size, string defaultImage, Rating? maxRating) { var gravatar = new Gravatar(); gravatar.DefaultImage = defaultImage; if (size.HasValue) gravatar.Size = size.Value; if (maxRating.HasValue) gravatar.MaxRating = maxRating.Value; return gravatar.GetImageSource(email); }
public void DefaultInstance_IsInitiallyDefault() { var expected = new Gravatar(); var actual = Gravatar.DefaultInstance; Assert.IsNotNull(actual); Assert.AreEqual(expected.Default, actual.Default); Assert.AreEqual(expected.Rating, actual.Rating); Assert.AreEqual(expected.RenderedSize, actual.RenderedSize); Assert.AreEqual(expected.Size, actual.Size); }
public void Gravatar_ReturnsUrl() { var size = 274; var email = "*****@*****.**"; var defaultImage = "pathtodefault.img"; var maxRating = GravatarRating.X; var gravatarSrc = GravatarUrl.Gravatar(null, email, size, maxRating, defaultImage); var gravatar = new Gravatar(); gravatar.Size = size; gravatar.Default = defaultImage; gravatar.Rating = maxRating; Assert.AreEqual(gravatar.GetUrl(email), gravatarSrc); }
/// <summary> /// Gets an img tag of the Gravatar for the supplied specifications. /// </summary> /// <param name="htmlHelper">The HtmlHelper object that does the rendering.</param> /// <param name="email">The email address whose Gravatar should be rendered.</param> /// <param name="size">The size of the rendered Gravatar.</param> /// <param name="defaultImage">The default image to display if no Gravatar exists for the specified <paramref name="email"/>.</param> /// <param name="maxRating">The maximum Gravatar rating to allow for rendered Gravatars.</param> /// <param name="htmlAttributes">Additional attributes to include in the rendered tag.</param> /// <returns>An HTML string of the rendered img tag.</returns> public static MvcHtmlString Gravatar( this HtmlHelper htmlHelper, string email, int? size, string defaultImage, Rating? maxRating, IDictionary<string, string> htmlAttributes ) { var gravatar = new Gravatar(); gravatar.DefaultImage = defaultImage; if (size.HasValue) gravatar.Size = size.Value; if (maxRating.HasValue) gravatar.MaxRating = maxRating.Value; return MvcHtmlString.Create(gravatar.Render(email, htmlAttributes)); }
public void Gravatar_ReturnsRenderedHtml() { var email = "*****@*****.**"; var size = 110; var defaultImage = "pathtodefault.img"; var maxRating = GravatarRating.R; var attributes = new Dictionary<string, object> { { "name1", "val1" }, { "name2", "val2" } }; var gravatarHtml = GravatarHtml.Gravatar(null, email, size, maxRating, defaultImage, false, false, attributes); var gravatar = new Gravatar(); gravatar.Size = size; gravatar.Rating = maxRating; gravatar.Default = defaultImage; Assert.AreEqual(MvcHtmlString.Create(gravatar.Render(email, htmlAttributes: attributes)).ToString(), gravatarHtml.ToString()); }
public void GetUrl_UsesInstanceProperties() { var gravatar = new Gravatar { Default = "https://some.avatar.png/image", Rating = GravatarRating.PG, Size = 94 }; var actual = gravatar.GetUrl("*****@*****.**"); var expected = "http://www.gravatar.com/avatar/bccc2b381d103797427c161951be5fa5?s=94&r=pg&d=https%3a%2f%2fsome.avatar.png%2fimage"; Assert.AreEqual(expected, actual); }
public void GetUrl_UsesParameterSizeBeforeInstanceSize() { var gravatar = new Gravatar { Size = 88 }; var actual = gravatar.GetUrl("*****@*****.**", size: 87); var expected = "http://www.gravatar.com/avatar/bccc2b381d103797427c161951be5fa5?s=87"; Assert.AreEqual(expected, actual); }
public void GetUrl_UsesParameterRatingBeforeInstanceRating() { var gravatar = new Gravatar { Rating = GravatarRating.G }; var actual = gravatar.GetUrl("*****@*****.**", rating: GravatarRating.X); var expected = "http://www.gravatar.com/avatar/bccc2b381d103797427c161951be5fa5?r=x"; Assert.AreEqual(expected, actual); }
public void GetUrl_IncludesForceDefault() { var gravatar = new Gravatar { Default = "my_default.jpg" }; var actual = gravatar.GetUrl("*****@*****.**", forceDefault: true); var expected = "http://www.gravatar.com/avatar/bccc2b381d103797427c161951be5fa5?d=my_default.jpg&f=y"; Assert.AreEqual(expected, actual); }
public void SetUp() { avatarService = new Gravatar(); }
private Control GetTopicAuthorIcon(int authorid) { var author = Members.GetAuthor(authorid); ProfileCommon prof = ProfileCommon.GetUserProfile(author.Username); if (prof.Gravatar) { Gravatar avatar = new Gravatar { Email = author.Email }; if (author.AvatarUrl != "" && author.AvatarUrl.StartsWith("http:")) avatar.DefaultImage = author.AvatarUrl; avatar.CssClass = "avatarsmall"; return avatar; } else { SnitzMembershipUser mu = (SnitzMembershipUser)Membership.GetUser(author.Username); Literal avatar = new Literal { Text = author.AvatarImg }; if (mu != null && mu.IsActive && !(Config.AnonMembers.Contains(mu.UserName))) avatar.Text = avatar.Text.Replace("'avatar'", "'avatarsmall online'"); else avatar.Text = avatar.Text.Replace("'avatar'", "'avatarsmall'"); return avatar; } }
public void DefaultInstance_CanBeSet() { var expected = new Gravatar(); Assert.AreNotSame(expected, Gravatar.DefaultInstance); Gravatar.DefaultInstance = expected; Assert.AreSame(expected, Gravatar.DefaultInstance); }
private void SetProperties() { if (Config.ShowRankStars || Config.ShowRankTitle) { Literal litRank = (Literal)FindControl("Rank"); if (litRank != null) { string title = ""; RankInfo rInf = new RankInfo(_author.Username,ref title,_author.PostCount,SnitzCachedLists.GetRankings()); if (Config.ShowRankTitle) litRank.Text = title + @"<br/>"; if (Config.ShowRankStars) { litRank.Text += rInf.Stars; } } } ProfileCommon prof = ProfileCommon.GetUserProfile(_author.Username); if(prof.Gravatar) { Gravatar avatar = new Gravatar { Email = _author.Email }; if (_author.AvatarUrl != "" && _author.AvatarUrl.StartsWith("http:")) avatar.DefaultImage = _author.AvatarUrl; avatar.CssClass = "avatar"; phAvatar.Controls.Add(avatar); }else { SnitzMembershipUser mu = (SnitzMembershipUser)Membership.GetUser(_author.Username); Literal avatar = new Literal { Text = _author.AvatarImg }; if (mu != null && mu.IsActive && !(Config.AnonMembers.Contains(mu.UserName))) avatar.Text = avatar.Text.Replace("'avatar'", "'avatar online'"); phAvatar.Controls.Add(avatar); } country.Text = _author.Country.Trim(); if (!String.IsNullOrEmpty(country.Text)) { country.Text += "<br/>"; } posts.Text = String.Format("{0} {1}", Common.TranslateNumerals(_author.PostCount), webResources.lblPosts); hProf.Visible = _loggedonuser; hProf.OnClientClick = String.Format( "mainScreen.LoadServerControlHtml('Public Profile',{{'pageID':1,'data':{0}}}, 'methodHandlers.BeginRecieve');return false;", _author.Id); if (!String.IsNullOrEmpty(_author.HomePage)) { hHome.Visible = _loggedonuser && (_author.HomePage.Replace("http://", "").Trim() != string.Empty); hHome.NavigateUrl = string.Format("http://{0}", _author.HomePage.Replace("http://", "")); hHome.Text = hHome.ToolTip = webResources.lblHomePage; } if (!String.IsNullOrEmpty(_author.ICQ)) { hICQ.Visible = _loggedonuser && (_author.ICQ.Trim() != ""); hICQ.NavigateUrl = string.Format("http://www.icq.com/people/webmsg.php?to={0}", _author.ICQ.Trim()); hICQ.Text = hICQ.ToolTip = webResources.lblICQ; } if (!String.IsNullOrEmpty(_author.Yahoo)) { hYAHOO.Visible = _loggedonuser && (_author.Yahoo.Trim() != ""); hYAHOO.NavigateUrl = string.Format("http://edit.yahoo.com/config/send_webmesg?.target={0}&;.src=pg", _author.Yahoo.Trim()); hYAHOO.Text = hYAHOO.ToolTip = webResources.lblYAHOO; } hEmail.Visible = (((_loggedonuser || !Config.LogonForEmail) && _author.ReceiveEmails)) && Config.UseEmail; hEmail.NavigateUrl = "#"; hEmail.Attributes.Add("onclick", string.Format( "mainScreen.LoadServerControlHtml('Email Member',{{'pageID':10,'data':{0}}},'methodHandlers.BeginRecieve');return false;", _author.Id)); hAIM.Visible = _loggedonuser && (_author.AIM.Trim() != ""); hAIM.NavigateUrl = string.Format("aim:goim?screenname={0}", _author.AIM.Trim()); hAIM.Text = hAIM.ToolTip = webResources.lblAIM; hSKYPE.Visible = _loggedonuser && !String.IsNullOrEmpty(_author.Skype.Trim()); hSKYPE.NavigateUrl = String.Format("skype:{0}?chat",_author.Skype.Trim()); hSKYPE.Text = hSKYPE.ToolTip = webResources.lblSkype; hSendPm.Visible = (_loggedonuser || !Config.PrivateMessaging) && prof.PMReceive == 1; hSendPm.NavigateUrl = "#"; hSendPm.Attributes.Add("onclick", string.Format( "mainScreen.LoadServerControlHtml('Send Private Message',{{'pageID':13,'data':{0}}},'methodHandlers.BeginRecieve');return false;", _author.Id)); }
public void Render_EscapesHtml() { var attrs = new Dictionary<string, object> { { "title", "\"><script src=\"oops.js\"></script>\"" } }; var actual = new Gravatar().Render("*****@*****.**", htmlAttributes: attrs); var expected = "<img title=\""><script src="oops.js"></script>"\" src=\"http://www.gravatar.com/avatar/bccc2b381d103797427c161951be5fa5?s=80\" width=\"80\" height=\"80\" />"; Assert.AreEqual(expected, actual); }
public void Initialize() { testEmail = "*****@*****.**"; testEmailHash = Gravatar.CreateMD5Hash(testEmail); target = new Gravatar(testEmail); }
public void Render_IncludesHtmlAttributes() { var actual = new Gravatar().Render("*****@*****.**", htmlAttributes: new Dictionary<string, object> { { "class", "class-name" }, { "id", "idValue" } }); var expected = "<img class=\"class-name\" id=\"idValue\" src=\"http://www.gravatar.com/avatar/bccc2b381d103797427c161951be5fa5?s=80\" width=\"80\" height=\"80\" />"; Assert.AreEqual(expected, actual); }