From 7723e94218a8c526fc8d869086c05dd382268649 Mon Sep 17 00:00:00 2001 From: Francois Marier Date: Sat, 5 Mar 2011 20:33:07 +1300 Subject: comments: add avatar picture of comment author Use Libravatar::URL to pull the avatar picture for the comment author if we have an email address for him/her. --- IkiWiki/Plugin/comments.pm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) mode change 100644 => 100755 IkiWiki/Plugin/comments.pm (limited to 'IkiWiki/Plugin/comments.pm') diff --git a/IkiWiki/Plugin/comments.pm b/IkiWiki/Plugin/comments.pm old mode 100644 new mode 100755 index 8d46ed579..00ab1c8bd --- a/IkiWiki/Plugin/comments.pm +++ b/IkiWiki/Plugin/comments.pm @@ -167,6 +167,7 @@ sub preprocess { my $commentip; my $commentauthor; my $commentauthorurl; + my $commentauthoravatar; my $commentopenid; if (defined $params{username}) { $commentuser = $params{username}; @@ -187,6 +188,16 @@ sub preprocess { $commentauthor = $commentuser; } + + eval 'use Libravatar::URL'; + + if (! $@) { + my $email = IkiWiki::userinfo_get($commentuser, 'email'); + + if (defined $email) { + $commentauthoravatar = libravatar_url(email => $email); + } + } } else { if (defined $params{ip}) { @@ -200,6 +211,7 @@ sub preprocess { $commentstate{$page}{commentip} = $commentip; $commentstate{$page}{commentauthor} = $commentauthor; $commentstate{$page}{commentauthorurl} = $commentauthorurl; + $commentstate{$page}{commentauthoravatar} = $commentauthoravatar; if (! defined $pagestate{$page}{meta}{author}) { $pagestate{$page}{meta}{author} = $commentauthor; } @@ -874,6 +886,11 @@ sub pagetemplate (@) { $commentstate{$page}{commentauthorurl}); } + if ($template->query(name => 'commentauthoravatar')) { + $template->param(commentauthoravatar => + $commentstate{$page}{commentauthoravatar}); + } + if ($template->query(name => 'removeurl') && IkiWiki::Plugin::remove->can("check_canremove") && length $config{cgiurl}) { -- cgit v1.2.3 From 83056abb8788e55041f2ea535236afd20736a659 Mon Sep 17 00:00:00 2001 From: Francois Marier Date: Thu, 24 Mar 2011 21:08:51 +1300 Subject: comments: serve avatars over https in https wikis --- IkiWiki/Plugin/comments.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'IkiWiki/Plugin/comments.pm') diff --git a/IkiWiki/Plugin/comments.pm b/IkiWiki/Plugin/comments.pm index 00ab1c8bd..2f2a515b9 100755 --- a/IkiWiki/Plugin/comments.pm +++ b/IkiWiki/Plugin/comments.pm @@ -195,7 +195,7 @@ sub preprocess { my $email = IkiWiki::userinfo_get($commentuser, 'email'); if (defined $email) { - $commentauthoravatar = libravatar_url(email => $email); + $commentauthoravatar = libravatar_url(email => $email, https => $ENV{HTTPS}); } } } -- cgit v1.2.3 From e2e1b1cd20928e2b80871e5daffaea60738d054e Mon Sep 17 00:00:00 2001 From: Francois Marier Date: Sun, 27 Mar 2011 16:22:49 +1300 Subject: comments: add OpenID-based avatars (libravatar.org) This requires version 1.04 or later of Libravatar::URL. --- IkiWiki/Plugin/comments.pm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'IkiWiki/Plugin/comments.pm') diff --git a/IkiWiki/Plugin/comments.pm b/IkiWiki/Plugin/comments.pm index 2f2a515b9..bccb977e3 100755 --- a/IkiWiki/Plugin/comments.pm +++ b/IkiWiki/Plugin/comments.pm @@ -192,9 +192,10 @@ sub preprocess { eval 'use Libravatar::URL'; if (! $@) { - my $email = IkiWiki::userinfo_get($commentuser, 'email'); - - if (defined $email) { + if (defined $commentopenid) { + $commentauthoravatar = libravatar_url(openid => $commentopenid, https => $ENV{HTTPS}); + } + elsif (my $email = IkiWiki::userinfo_get($commentuser, 'email')) { $commentauthoravatar = libravatar_url(email => $email, https => $ENV{HTTPS}); } } -- cgit v1.2.3