Skip to content
This repository has been archived by the owner on Mar 11, 2022. It is now read-only.

thomaswelton/laravel-gravatar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Latest Stable Version Total Downloads Bitdeli Badge

Installation

Update your composer.json file to include this package as a dependency

"thomaswelton/laravel-gravatar": "~1.0"

This package supports the package discovery functionality provided in Laravel 5.5, so registering the classes as described below is no longer necessary if you use Laravel 5.5.

Register the Gravatar service provider by adding it to the providers array in the config/app.php file.

Thomaswelton\LaravelGravatar\LaravelGravatarServiceProvider::class

Alias the Gravatar facade by adding it to the aliases array in the config/app.php file.

'aliases' => [
     'Gravatar' => Thomaswelton\LaravelGravatar\Facades\Gravatar::class
]

Configuration - Optional

Copy the config file into your project by running

php artisan vendor:publish --provider="Thomaswelton\LaravelGravatar\LaravelGravatarServiceProvider"

Default Image

Update the config file to specify the default avatar size to use and a default image to be return if no Gravatar is found.

Allowed defaults:

  • (string) <custom URL>: the URL to an image of your choice (publicly available, with an image extension and without a query string).
  • (string) 404: do not load any image if none is associated with the email hash, instead return an HTTP 404.
  • (string) mm: (mystery-man) a simple, cartoon-style silhouetted outline of a person (does not vary by email hash).
  • (string) identicon: a geometric pattern based on an email hash.
  • (string) monsterid: a generated 'monster' with different colors, faces, etc.
  • (string) wavatar: generated faces with differing features and backgrounds.
  • (string) retro: awesome generated, 8-bit arcade-style pixelated faces.

Example images can be viewed on the Gravatar website.

Content Ratings

By default only "G" rated images will be shown. You can change this system wide in the config file by editing 'maxRating' => 'g' allowed values are

  • g: suitable for display on all websites with any audience type.
  • pg: may contain rude gestures, provocatively dressed individuals, the lesser swear words, or mild violence.
  • r: may contain such things as harsh profanity, intense violence, nudity, or hard drug use.
  • x: may contain hardcore sexual imagery or extremely disturbing violence.

The content rating can be changed by changing the $rating argument when calling Gravatar::src or Gravatar::image.

Usage

Gravatar::exists($email)

Returns a boolean telling if the given $email has got a Gravatar.

Gravatar::src($email, $size = null, $rating = null)

Returns the https URL for the Gravatar of the email address specified. Can optionally pass in the size required as an integer. The size will be contained within a range between 1 - 512 as gravatar will no return sizes greater than 512 of less than 1

<!-- Show image with default dimensions -->
<img src="{{ Gravatar::src('thomaswelton@me.com') }}">

<!-- Show image at 200px -->
<img src="{{ Gravatar::src('thomaswelton@me.com', 200) }}">

<!-- Show image at 512px scaled in HTML to 1024px -->
<img src="{{ Gravatar::src('thomaswelton@me.com', 1024) }}" width=1024>

Gravatar::image($email, $alt = null, $attributes = [], $rating = null)

Returns the HTML for an <img> tag

// Show image with default dimensions
echo Gravatar::image('thomaswelton@me.com');

// Show image at 200px
echo Gravatar::image('thomaswelton@me.com', 'Some picture', ['width' => 200, 'height' => 200]);

// Show image at 512px scaled in HTML to 1024px
echo Gravatar::image('thomaswelton@me.com', 'Some picture', ['width' => 1024, 'height' => 1024]);