]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/openid.pm
Update IkiWiki::openiduser to work with Net::OpenID 2.x
[git.ikiwiki.info.git] / IkiWiki / Plugin / openid.pm
index 574c42f0ed83efd2e4e4690d2680a4cc1a92df56..87569915bec309e8e3e8243299f1f0db05828208 100644 (file)
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::openid;
 
 use warnings;
 use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
 
 sub import {
        hook(type => "getopt", id => "openid", call => \&getopt);
@@ -189,8 +189,18 @@ sub openiduser ($) {
 
        if ($user =~ m!^https?://! &&
            eval q{use Net::OpenID::VerifiedIdentity; 1} && !$@) {
-               my $oid=Net::OpenID::VerifiedIdentity->new(identity => $user);
-               my $display=$oid->display;
+               my $display;
+
+               if (Net::OpenID::VerifiedIdentity->can("DisplayOfURL")) {
+                       # this works in at least 2.x
+                       $display = Net::OpenID::VerifiedIdentity::DisplayOfURL($user);
+               }
+               else {
+                       # this only works in 1.x
+                       my $oid=Net::OpenID::VerifiedIdentity->new(identity => $user);
+                       $display=$oid->display;
+               }
+
                # Convert "user.somehost.com" to "user [somehost.com]"
                # (also "user.somehost.co.uk")
                if ($display !~ /\[/) {