X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/dae0f48e91304afcb6ebe0936360e51b22a56548..0f25ec8eb640a850a8f1efe7081c03d05d04eda4:/IkiWiki/CGI.pm diff --git a/IkiWiki/CGI.pm b/IkiWiki/CGI.pm index 074971be1..f07a4e5a2 100644 --- a/IkiWiki/CGI.pm +++ b/IkiWiki/CGI.pm @@ -99,6 +99,9 @@ sub cgi_recentchanges ($) { #{{{ changelog => $changelog, baseurl => baseurl(), ); + run_hooks(pagetemplate => sub { + shift->(page => "", destpage => "", template => $template); + }); print $q->header(-charset => 'utf-8'), $template->output; } #}}} @@ -349,9 +352,19 @@ sub cgi_editpage ($$) { #{{{ my $q=shift; my $session=shift; - eval q{use CGI::FormBuilder}; + my @fields=qw(do rcsinfo subpage from page type editcontent comments); + my @buttons=("Save Page", "Preview", "Cancel"); + + eval q{use CGI::FormBuilder; use CGI::FormBuilder::Template::HTML}; + my $renderer=CGI::FormBuilder::Template::HTML->new( + fields => \@fields, + template_params("editpage.tmpl"), + ); + run_hooks(pagetemplate => sub { + shift->(page => "", destpage => "", template => $renderer->engine); + }); my $form = CGI::FormBuilder->new( - fields => [qw(do rcsinfo subpage from page type editcontent comments)], + fields => \@fields, header => 1, charset => "utf-8", method => 'POST', @@ -363,9 +376,8 @@ sub cgi_editpage ($$) { #{{{ params => $q, action => $config{cgiurl}, table => 0, - template => {template_params("editpage.tmpl")}, + template => $renderer, ); - my @buttons=("Save Page", "Preview", "Cancel"); decode_form_utf8($form); @@ -614,7 +626,7 @@ sub cgi () { #{{{ cgi_hyperestraier(); } - CGI::Session->name("ikiwiki_session_$config{wikiname}"); + CGI::Session->name("ikiwiki_session_".encode_utf8($config{wikiname})); my $oldmask=umask(077); my $session = CGI::Session->new("driver:DB_File", $q,