]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Plugin/openid.pm
calendar: nextchange calculation bugfix
[ikiwiki.git] / IkiWiki / Plugin / openid.pm
index 0454a43faaaba8cd82f0f2c19fd4ec6283a2f569..d75099ce9c0baa4e3127f442f9ba38d9157aced9 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",
@@ -23,9 +22,9 @@ sub checkconfig () {
                # 
                # When other auth hooks are registered, give the selector
                # a reference to the normal signin form.
+               require IkiWiki::CGI;
                my $real_cgi_signin;
                if (keys %{$IkiWiki::hooks{auth}} > 1) {
-                       require IkiWiki::CGI;
                        $real_cgi_signin=\&IkiWiki::cgi_signin;
                }
                inject(name => "IkiWiki::cgi_signin", call => sub ($$) {
@@ -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 {
@@ -68,6 +53,7 @@ sub openid_selector {
        if (! load_openid_module()) {
                if ($real_cgi_signin) {
                        $real_cgi_signin->($q, $session);
+                       exit;
                }
                error(sprintf(gettext("failed to load openid module: "), @_));
        }
@@ -106,7 +92,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");
        }