1 package Blog
::Helper
::Gravatar
;
8 use base
'Blog::Helper';
10 my $gravatar_base = "http://www.gravatar.com/avatar.php";
15 $self = $self->next::method
( @_ );
17 my $conf = $self->{ c
}->config->{ gravatar
};
19 $self->{ base
} = $conf->{ base
} || $gravatar_base;
21 my $default = $conf->{ default };
22 if ( $default !~ m/^http/x ) {
24 $default = $self->{ c
}->req->base . $default;
26 $self->{ default } = $default;
27 $self->{ default_escaped
} = URI
::Escape
::uri_escape
( $default );
29 $self->{ rating
} = $conf->{ rating
} || 'G';
30 $self->{ size
} = $conf->{ size
} || 80;
31 $self->{ border
} = $conf->{ border
} || undef;
37 my ( $self, $email ) = @_;
39 return $self->{ default } unless $email;
42 gravatar_id
=> Digest
::MD5
::md5_hex
( $email ),
43 default => $self->{ default_escaped
},
44 rating
=> $self->{ rating
},
45 size
=> $self->{ size
},
46 border
=> $self->{ border
}
50 for my $key ( keys %$args ) {
51 next unless $args->{ $key };
52 push @pairs, join( '=', $key, $args->{ $key } );
55 return join( '?', $self->{ base
}, join( '&', @pairs ) );
64 This library is free software, you can redistribute it and/or modify
65 it under the same terms as Perl itself.