From: Simon McVittie Date: Thu, 18 Dec 2008 19:56:36 +0000 (+0000) Subject: _comment directive: if the user looks like an OpenID, store that X-Git-Tag: 2.71~33^2~5 X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/f4e69ed815ca65f38ee9d19219f33dabeb92b97e?ds=sidebyside _comment directive: if the user looks like an OpenID, store that --- diff --git a/IkiWiki/Plugin/comments.pm b/IkiWiki/Plugin/comments.pm index c50729a34..336ed1a82 100644 --- a/IkiWiki/Plugin/comments.pm +++ b/IkiWiki/Plugin/comments.pm @@ -151,11 +151,28 @@ sub preprocess { my $commentip; my $commentauthor; my $commentauthorurl; + my $commentopenid; if (defined $params{username}) { $commentuser = $params{username}; - ($commentauthorurl, $commentauthor) = - linkuser($params{username}); + + my $oiduser = eval { IkiWiki::openiduser($commentuser) }; + + if (defined $oiduser) { + # looks like an OpenID + $commentauthorurl = $commentuser; + $commentauthor = $oiduser; + $commentopenid = $commentuser; + } + else { + $commentauthorurl = IkiWiki::cgiurl( + do => 'commenter', + page => (length $config{userdir} + ? "$config{userdir}/$commentuser" + : "$commentuser")); + + $commentauthor = $commentuser; + } } else { if (defined $params{ip}) { @@ -165,6 +182,7 @@ sub preprocess { } $pagestate{$page}{comments}{commentuser} = $commentuser; + $pagestate{$page}{comments}{commentopenid} = $commentopenid; $pagestate{$page}{comments}{commentip} = $commentip; $pagestate{$page}{comments}{commentauthor} = $commentauthor; $pagestate{$page}{comments}{commentauthorurl} = $commentauthorurl;