]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Plugin/openid.pm
allow misctemplate callers to pass params to suppress actions etc
[ikiwiki.git] / IkiWiki / Plugin / openid.pm
index 7e4d0844ac3ead92a6c36a060f05597da9784d18..e10e21f4d6f9eed60be8cfa8650b9ddf9391b1a6 100644 (file)
@@ -9,7 +9,6 @@ use IkiWiki 3.00;
 sub import {
        add_underlay("openid-selector");
        hook(type => "checkconfig", id => "openid", call => \&checkconfig);
-       hook(type => "getopt", id => "openid", call => \&getopt);
        hook(type => "getsetup", id => "openid", call => \&getsetup);
        hook(type => "auth", id => "openid", call => \&auth);
        hook(type => "formbuilder_setup", id => "openid",
@@ -34,13 +33,6 @@ sub checkconfig () {
        }
 }
 
-sub getopt () {
-       eval q{use Getopt::Long};
-       error($@) if $@;
-       Getopt::Long::Configure('pass_through');
-       GetOptions("openidsignup=s" => \$config{openidsignup});
-}
-
 sub getsetup () {
        return
                plugin => {
@@ -48,13 +40,6 @@ sub getsetup () {
                        rebuild => 0,
                        section => "auth",
                },
-               openidsignup => {
-                       type => "string",
-                       example => "http://myopenid.com/",
-                       description => "an url where users can signup for an OpenID",
-                       safe => 1,
-                       rebuild => 0,
-               },
 }
 
 sub openid_selector {
@@ -77,17 +62,13 @@ sub openid_selector {
                        $openid_error=shift;
                });
        }
-       elsif ($q->param("do") eq "signin" && $real_cgi_signin) {
-               $real_cgi_signin->($q, $session);
-               exit;
-       }
 
        my $template=IkiWiki::template("openid-selector.tmpl");
        $template->param(
                cgiurl => $config{cgiurl},
                (defined $openid_error ? (openid_error => $openid_error) : ()),
                (defined $openid_url ? (openid_url => $openid_url) : ()),
-               ($real_cgi_signin ? (nonopenidurl => IkiWiki::cgiurl(do => "signin")) : ()),
+               ($real_cgi_signin ? (nonopenidform => $real_cgi_signin->($q, $session, 1)) : ()),
        );
 
        IkiWiki::printheader($session);
@@ -107,7 +88,7 @@ sub formbuilder_setup (@) {
                $form->field(name => "openid_identifier", disabled => 1,
                        label => htmllink("", "", "ikiwiki/OpenID", noimageinline => 1),
                        value => $session->param("name"), 
-                       size => 50, force => 1,
+                       size => length($session->param("name")), force => 1,
                        fieldset => "login");
                $form->field(name => "email", type => "hidden");
        }