+ # User images
+
+ def user_image(user, options = {})
+ options[:class] ||= "user_image"
+ options[:alt] ||= ""
+
+ if user.image_use_gravatar
+ user_gravatar_tag(user, options)
+ elsif user.avatar.attached?
+ image_tag user.avatar.variant(:resize => "100x100>"), options
+ elsif user.image.file?
+ image_tag user.image.url(:large), options
+ else
+ image_tag "avatar_large.png", options
+ end
+ end
+
+ def user_thumbnail(user, options = {})
+ options[:class] ||= "user_thumbnail"
+ options[:alt] ||= ""
+
+ if user.image_use_gravatar
+ user_gravatar_tag(user, options)
+ elsif user.avatar.attached?
+ image_tag user.avatar.variant(:resize => "50x50>"), options
+ elsif user.image.file?
+ image_tag user.image.url(:small), options
+ else
+ image_tag "avatar_small.png", options
+ end
+ end
+
+ def user_thumbnail_tiny(user, options = {})
+ options[:class] ||= "user_thumbnail_tiny"
+ options[:alt] ||= ""
+
+ if user.image_use_gravatar
+ user_gravatar_tag(user, options)
+ elsif user.avatar.attached?
+ image_tag user.avatar.variant(:resize => "50x50>"), options
+ elsif user.image.file?
+ image_tag user.image.url(:small), options
+ else
+ image_tag "avatar_small.png", options
+ end
+ end
+
+ def user_image_url(user, options = {})
+ if user.image_use_gravatar
+ user_gravatar_url(user, options)
+ elsif user.avatar.attached?
+ url_for(user.avatar.variant(:resize => "100x100>"))
+ elsif user.image.file?
+ image_url(user.image.url(:large))
+ else
+ image_url("avatar_large.png")
+ end
+ end
+
+ # External authentication support
+