X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/8380a9d0009fee740f980aee3d45a933a5b24219..2a5f37172d35112cf910ff583dab90281f2624e2:/IkiWiki/Plugin/passwordauth.pm diff --git a/IkiWiki/Plugin/passwordauth.pm b/IkiWiki/Plugin/passwordauth.pm index c07065b7d..35ebd961f 100644 --- a/IkiWiki/Plugin/passwordauth.pm +++ b/IkiWiki/Plugin/passwordauth.pm @@ -19,6 +19,7 @@ sub getsetup () { plugin => { safe => 1, rebuild => 0, + section => "auth", }, account_creation_password => { type => "string", @@ -104,11 +105,13 @@ sub formbuilder_setup (@) { my $session=$params{session}; my $cgi=$params{cgi}; - if ($form->title eq "signin" || $form->title eq "register" || $cgi->param("do") eq "register") { + my $do_register=defined $cgi->param("do") && $cgi->param("do") eq "register"; + + if ($form->title eq "signin" || $form->title eq "register" || $do_register) { $form->field(name => "name", required => 0); $form->field(name => "password", type => "password", required => 0); - if ($form->submitted eq "Register" || $form->submitted eq "Create Account" || $cgi->param("do") eq "register") { + if ($form->submitted eq "Register" || $form->submitted eq "Create Account" || $do_register) { $form->field(name => "confirm_password", type => "password"); $form->field(name => "account_creation_password", type => "password") if (defined $config{account_creation_password} && @@ -246,8 +249,10 @@ sub formbuilder (@) { my $cgi=$params{cgi}; my $buttons=$params{buttons}; + my $do_register=defined $cgi->param("do") && $cgi->param("do") eq "register"; + if ($form->title eq "signin" || $form->title eq "register") { - if (($form->submitted && $form->validate) || $cgi->param("do") eq "register") { + if (($form->submitted && $form->validate) || $do_register) { if ($form->submitted eq 'Login') { $session->param("name", $form->field("name")); IkiWiki::cgi_postsignin($cgi, $session); @@ -292,7 +297,7 @@ sub formbuilder (@) { ), wikiurl => $config{url}, wikiname => $config{wikiname}, - REMOTE_ADDR => $ENV{REMOTE_ADDR}, + remote_addr => $session->remote_addr(), ); eval q{use Mail::Sendmail}; @@ -310,7 +315,7 @@ sub formbuilder (@) { $form->field(name => "name", required => 0); push @$buttons, "Reset Password"; } - elsif ($form->submitted eq "Register" || $cgi->param("do") eq "register") { + elsif ($form->submitted eq "Register" || $do_register) { @$buttons="Create Account"; } }