/// <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
            }));
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
 }
Exemple #6
0
        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");
        }
Exemple #8
0
        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);
        }
Exemple #9
0
        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());
        }
Exemple #12
0
        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);
        }
Exemple #14
0
        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");
        }
Exemple #16
0
        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);
        }
Exemple #17
0
 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);
            }
        }
Exemple #19
0
        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);
        }
Exemple #20
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;
            }
        }
Exemple #22
0
        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;
            }
        }
Exemple #24
0
        public void GetUrl_GetsUrlWithDefaultValues()
        {
            var actual   = new Gravatar().GetUrl("*****@*****.**");
            var expected = "http://www.gravatar.com/avatar/bccc2b381d103797427c161951be5fa5";

            Assert.AreEqual(expected, actual);
        }
Exemple #25
0
        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());
            }
        }
Exemple #26
0
        public void GetUrl_UsesHttps()
        {
            var actual   = new Gravatar().GetUrl("*****@*****.**", useHttps: true);
            var expected = "https://secure.gravatar.com/avatar/bccc2b381d103797427c161951be5fa5";

            Assert.AreEqual(expected, actual);
        }
Exemple #27
0
            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);
            }
Exemple #28
0
        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&amp;d=wavatar\" alt=\"gravatar\" />",
                render);
        }
Exemple #30
0
 /// <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);
        }
Exemple #33
0
 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());
        }
Exemple #37
0
 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);
 }
Exemple #38
0
 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);
 }
Exemple #39
0
 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);
 }
Exemple #40
0
 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);
 }
Exemple #41
0
 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 SetUp()
 {
     avatarService = new Gravatar();
 }
Exemple #43
0
    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;
        }
    }
Exemple #44
0
 public void DefaultInstance_CanBeSet() {
     var expected = new Gravatar();
     Assert.AreNotSame(expected, Gravatar.DefaultInstance);
     Gravatar.DefaultInstance = expected;
     Assert.AreSame(expected, Gravatar.DefaultInstance);
 }
Exemple #45
0
 public void GetEmailHash_HashesEmailAddress() {
     var actual = new Gravatar().GetHash("*****@*****.**");
     var expected = "bccc2b381d103797427c161951be5fa5";
     Assert.AreEqual(expected, actual);
 }
Exemple #46
0
 public void GetUrl_GetsUrlWithDefaultValues() {
     var actual = new Gravatar().GetUrl("*****@*****.**");
     var expected = "http://www.gravatar.com/avatar/bccc2b381d103797427c161951be5fa5";
     Assert.AreEqual(expected, actual);
 }
    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));
    }
Exemple #48
0
 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);
 }
Exemple #49
0
 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);
 }
Exemple #50
0
 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=\"&quot;>&lt;script src=&quot;oops.js&quot;>&lt;/script>&quot;\" src=\"http://www.gravatar.com/avatar/bccc2b381d103797427c161951be5fa5?s=80\" width=\"80\" height=\"80\" />";
     Assert.AreEqual(expected, actual);
 }
Exemple #51
0
 public void Initialize()
 {
     testEmail = "*****@*****.**";
     testEmailHash = Gravatar.CreateMD5Hash(testEmail);
     target = new Gravatar(testEmail);
 }
Exemple #52
0
 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);
 }
Exemple #53
0
 public void GetUrl_UsesHttps() {
     var actual = new Gravatar().GetUrl("*****@*****.**", useHttps: true);
     var expected = "https://secure.gravatar.com/avatar/bccc2b381d103797427c161951be5fa5";
     Assert.AreEqual(expected, actual);
 }
Exemple #54
0
 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);
 }