Generate a large size Gravatar URL for a specified email address

@param string $email The email address
@param string $default The image type or URL when email do not have a Gravatar image
@param string $rating The image rating
@return string
559770
public function large($email, $default = null, $rating = null)
    {
        return $this->__invoke($email, $this->largeSize, $default, $rating);
    }
1044343
public function buildGravatarUrl()
    {
        $base_url = self::HTTPS_GRAVATAR_URL;
        if (!$this->secure) {
            $base_url = self::HTTP_GRAVATAR_URL;
        }
        return $base_url . 'avatar/' . $this->generateAddressHash() . '?s=' . $this->size . '&r=' . $this->rating . '&d=' . $this->default_avatar;
    }
305511
public function getAttribute($attribute, $default = NULL) {

		if (!$this->attributes || !array_key_exists(strtolower($attribute), $this->attributes)) {
			return $default;
		}
		return $this->attributes[strtolower($attribute)];
	
	}
1132858
public function mailto($email, $title = null, $attributes = [], $escape = true)
    {
        $email = $this->email($email);

        $title = $title ?: $email;

        if ($escape) {
            $title = $this->entities($title);
        }

        $email = $this->obfuscate('mailto:') . $email;

        return $this->toHtmlString('<a href="' . $email . '"' . $this->attributes($attributes) . '>' . $title . '</a>');
    }
1017134
public function profile(string $email, ?bool $secure = null): string
    {
        return $this->buildUrl($this->createEmailHash($email), $secure);
    }
306724
public function getUrlForHash($hash, $size = null, $rating = null, $default = null, $secure = null)
    {
        $map = array(
            's' => $size ?: $this->defaults['size'],
            'r' => $rating ?: $this->defaults['rating'],
            'd' => $default ?: $this->defaults['default'],
        );

        if (null === $secure) {
            $secure = $this->defaults['secure'];
        }

        return ($secure ? 'https://secure' : 'http://www') . '.gravatar.com/avatar/' . $hash . '?' . http_build_query(array_filter($map));
    }
9798
public function build(Email $email): Email
    {
        foreach ($this->parts as $part) {
            $resolver = $this->registry->getResolverForPart($part);
            $resolver->addPart($email, $part);
        }

        $this->parts = [];

        return $email;
    }
623872
public function img($email = '', $alt = '', array $attr = [])
    {
        if (empty($email)) {
            $email = $this->_options['email'];
        }

        $img = '<img src="'.$this->src($email, $attr).'"';

        if (!empty($alt)) {
            $img .= ' alt="'.$alt.'"';
        }

        if (isset($attr['width'])) {
            $img .= ' width="'.$attr['width'].'"';
        }

        if (isset($attr['height'])) {
            $img .= ' height="'.$attr['height'].'"';
        }

        return $img.'>';
    }
588033
public function getGravatarParams($email)
    {
        $params = array();
        $params[] = 's=' . $this->getAvatarSize();
        $params[] = 'r=' . $this->getRating();
        if($this->getDefaultImage()) {
            $params[] = 'd=' . $this->getDefaultImage();
        }
        if (empty($email)) {
            $params[] = 'f=y'; // Force l'image par defaut
        }
        return (!empty($params)) ? '?'.implode('&', $params) : '';
    }
743311
public function mailto($email, $title = null, $attributes = [])
    {
        $email = $this->email($email);

        $title = $title ?: $email;

        $email = $this->obfuscate('mailto:') . $email;

        return '<a href="' . $email . '"' . $this->attributes($attributes) . '>' . $this->entities($title) . '</a>';
    }
465754
public function objectUrl($object, $defaultIfNotFound = null)
    {
        try {
            $ret = $this->provider->url($object);
        } catch (UnsupportedException $e) {
            if (null === $defaultIfNotFound) {
                throw $e;
            } else {
                if (true === $defaultIfNotFound) {
                    $ret = (string)$object;
                } else {
                    $ret = $defaultIfNotFound;
                }
            }
        }
        return $ret;
    }
357967
public function gravatar()
    {
        // Check for valid gravatar
        $gravCheck = 'http://www.gravatar.com/avatar/'. md5( strtolower( trim( $this->email ) ) ) .'.png?d=404';
        $response  = get_headers($gravCheck);

        // If a valid gravatar URL is found, use the gravatar image
        if ($response[0] != "HTTP/1.0 404 Not Found"){
            return 'http://www.gravatar.com/avatar/'. md5( strtolower( trim( $this->email ) ) ) .'.png?s=200&d=blank';
        }

        // If no other image is set, use the default
        return '/img/no_user.png';
    }
33333
public static function profile($email)
    {
        $url = sprintf('%s/%s.json', self::$gravatarURL, md5($email));
        
        $client = new Client();
        
        return json_decode($client->get($url)->getBody()->getContents());
    }
346518
public function url($default = null): ?string
    {
        $disk = $this->getAttribute('disk');

        if (Storage::disk($disk)->exists($this->physicalPath())) {
            return Storage::disk($disk)->url($this->physicalPath());
        }

        return $default;
    }
1193613
public function getDescription($default = false)
    {
        if (($ob = $this->_headers['content-description']) &&
            strlen($ob->value)) {
            return $ob->value;
        }

        return $default
            ? $this->getName()
            : '';
    }
1240930
public static function avatar($email, $size = null)
    {
        $url = sprintf('%s/avatar/%s', self::$gravatarURL, md5($email));
        
        if (!is_null($size)) {
            $url .= '?s=' . $size;
        }
        
        return $url;
    }
1075656
public function getProfileUrl($email, $format = 'json', array $options = [])
    {
        $url = 'https://www.gravatar.com/';

        $url .= md5(strtolower(trim($email))).'.';
        $url .= in_array($format, ['json', 'xml', 'php', 'vcf', 'qr']) ? $format : 'json';

        if ($options) {
            $url .= '?'.http_build_query($options);
        }

        return $url;
    }