]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/CGI.pm
minor improvements
[ikiwiki.git] / IkiWiki / CGI.pm
index def0549c5d10367cb2dc7dd90f0f091e7028e0e8..c399ad8a6c414de4af8b374918542398a1e84ce2 100644 (file)
@@ -85,7 +85,16 @@ sub cgi_recentchanges ($) { #{{{
        my $changelog=[rcs_recentchanges(100)];
        foreach my $change (@$changelog) {
                $change->{when} = concise(ago($change->{when}));
-               $change->{user} = htmllink("", "", escapeHTML($change->{user}), 1);
+
+               if ($change->{user} =~ m!^https?://! &&
+                   eval q{use Net::OpenID::VerifiedIdentity; 1} && !$@) {
+                       # Munge user-urls, as used by eg, OpenID.
+                       my $oid=Net::OpenID::VerifiedIdentity->new(identity => $change->{user});
+                       $change->{user} = "<a href=\"".$change->{user}."\">".escapeHTML($oid->display)."</a>";
+               }
+               else {
+                       $change->{user} = htmllink("", "", escapeHTML($change->{user}), 1);
+               }
 
                my $is_excess = exists $change->{pages}[10]; # limit pages to first 10
                delete @{$change->{pages}}[10 .. @{$change->{pages}}] if $is_excess;
@@ -150,7 +159,8 @@ sub cgi_signin ($$) { #{{{
        $form->field(name => "subpage", type => "hidden");
        $form->field(name => "password", type => "password", required => 0);
        if ($config{openid}) {
-               $form->field(name => "openid_url", label => "OpenID", comment => "to log in via OpenID");
+               $form->field(name => "openid_url", label => "OpenID",
+                       comment => '('.htmllink("", "", "OpenID", 1, 0, "What's this?").')');
        }
        else {
                $form->field(name => "openid_url", type => "hidden");