X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/93c6d2c340b9529eedf611d6e753030cc9c29ae9..98f08ddaabeaf7983993d91293cc2816ed2f921b:/IkiWiki/CGI.pm diff --git a/IkiWiki/CGI.pm b/IkiWiki/CGI.pm index b1caff96d..d3f0203d8 100644 --- a/IkiWiki/CGI.pm +++ b/IkiWiki/CGI.pm @@ -137,6 +137,7 @@ sub cgi_signin ($$) { #{{{ error($@) if $@; my $form = CGI::FormBuilder->new( title => "signin", + name => "signin", header => 1, charset => "utf-8", method => 'POST', @@ -145,7 +146,7 @@ sub cgi_signin ($$) { #{{{ params => $q, action => $config{cgiurl}, header => 0, - template => scalar template_params("signin.tmpl"), + template => {type => 'div'}, stylesheet => baseurl()."style.css", ); my $buttons=["Login"]; @@ -206,6 +207,7 @@ sub cgi_prefs ($$) { #{{{ error($@) if $@; my $form = CGI::FormBuilder->new( title => "preferences", + name => "preferences", header => 0, charset => "utf-8", method => 'POST', @@ -216,7 +218,7 @@ sub cgi_prefs ($$) { #{{{ javascript => 0, params => $q, action => $config{cgiurl}, - template => scalar template_params("prefs.tmpl"), + template => {type => 'div'}, stylesheet => baseurl()."style.css", fieldsets => [ [login => gettext("Login")], @@ -314,8 +316,10 @@ sub cgi_editpage ($$) { #{{{ javascript => 0, params => $q, action => $config{cgiurl}, + header => 0, table => 0, template => scalar template_params("editpage.tmpl"), + wikiname => $config{wikiname}, ); run_hooks(formbuilder_setup => sub { @@ -398,7 +402,7 @@ sub cgi_editpage ($$) { #{{{ htmlize($page, $type, linkify($page, "", preprocess($page, $page, - filter($page, $form->field('editcontent')), 0, 1)))); + filter($page, $page, $form->field('editcontent')), 0, 1)))); } else { $form->tmpl_param("page_preview", ""); @@ -469,6 +473,7 @@ sub cgi_editpage ($$) { #{{{ $form->field(name => "type", type => 'select', options => \@page_types); $form->title(sprintf(gettext("creating %s"), pagetitle($page))); + } elsif ($form->field("do") eq "edit") { check_canedit($page, $q, $session); @@ -488,7 +493,8 @@ sub cgi_editpage ($$) { #{{{ $form->title(sprintf(gettext("editing %s"), pagetitle($page))); } - print $form->render(submit => \@buttons); + printheader($session); + print misctemplate($form->title, $form->render(submit => \@buttons)); } else { # save page @@ -501,7 +507,8 @@ sub cgi_editpage ($$) { #{{{ $form->field(name => "page", type => 'hidden'); $form->field(name => "type", type => 'hidden'); $form->title(sprintf(gettext("editing %s"), $page)); - print $form->render(submit => \@buttons); + printheader($session); + print misctemplate($form->title, $form->render(submit => \@buttons)); return; } elsif (-e "$config{srcdir}/$file" && @@ -516,7 +523,8 @@ sub cgi_editpage ($$) { #{{{ value => readfile("$config{srcdir}/$file"). "\n\n\n".$form->field("editcontent"), force => 1); - print $form->render(submit => \@buttons); + printheader($session); + print misctemplate($form->title, $form->render(submit => \@buttons)); return; } @@ -538,7 +546,8 @@ sub cgi_editpage ($$) { #{{{ $form->field(name => "page", type => 'hidden'); $form->field(name => "type", type => 'hidden'); $form->title(sprintf(gettext("editing %s"), $page)); - print $form->render(submit => \@buttons); + printheader($session); + print misctemplate($form->title, $form->render(submit => \@buttons)); return; } @@ -582,7 +591,8 @@ sub cgi_editpage ($$) { #{{{ $form->field(name => "page", type => 'hidden'); $form->field(name => "type", type => 'hidden'); $form->title(sprintf(gettext("editing %s"), $page)); - print $form->render(submit => \@buttons); + printheader($session); + print misctemplate($form->title, $form->render(submit => \@buttons)); return; } else { @@ -645,9 +655,6 @@ sub cgi (;$$) { #{{{ cgi_recentchanges($q); return; } - elsif ($do eq 'hyperestraier') { - cgi_hyperestraier(); - } # Need to lock the wiki before getting a session. lockwiki(); @@ -681,7 +688,10 @@ sub cgi (;$$) { #{{{ print gettext("You are banned."); cgi_savesession($session); } - elsif ($do eq 'signin') { + + run_hooks(sessioncgi => sub { shift->($q, $session) }); + + if ($do eq 'signin') { cgi_signin($q, $session); cgi_savesession($session); } @@ -694,21 +704,6 @@ sub cgi (;$$) { #{{{ elsif ($do eq 'create' || $do eq 'edit') { cgi_editpage($q, $session); } - elsif ($do eq 'blog') { - my $page=decode_utf8($q->param('title')); - $page=~s/\///g; # no slashes in blog posts - # if the page already exists, munge it to be unique - my $from=$q->param('from'); - my $add=""; - while (exists $pagecase{lc($from."/".titlepage($page).$add)}) { - $add=1 unless length $add; - $add++; - } - $q->param('page', $page.$add); - # now run same as create - $q->param('do', 'create'); - cgi_editpage($q, $session); - } elsif ($do eq 'postsignin') { error(gettext("login failed, perhaps you need to turn on cookies?")); }