X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/132e41500f54d5e5d92ebf0a53349511e5ade6c3..8c0d441fee35d6d5ba50d8cae65d9166aeecabfd:/IkiWiki/CGI.pm diff --git a/IkiWiki/CGI.pm b/IkiWiki/CGI.pm index 4c15be0ae..8e0339dc5 100644 --- a/IkiWiki/CGI.pm +++ b/IkiWiki/CGI.pm @@ -9,6 +9,18 @@ use Encode; package IkiWiki; +sub printheader ($) { #{{{ + my $session=shift; + + if ($config{sslcookie}) { + print $session->header(-charset => 'utf-8', + -cookie => $session->cookie(-secure => 1)); + } else { + print $session->header(-charset => 'utf-8'); + } + +} #}}} + sub redirect ($$) { #{{{ my $q=shift; my $url=shift; @@ -70,10 +82,9 @@ sub cgi_recentchanges ($) { #{{{ indexlink => indexlink(), wikiname => $config{wikiname}, changelog => [rcs_recentchanges(100)], - styleurl => styleurl(), - baseurl => "$config{url}/", + baseurl => baseurl(), ); - print $q->header(-charset=>'utf-8'), $template->output; + print $q->header(-charset => 'utf-8'), $template->output; } #}}} sub cgi_signin ($$) { #{{{ @@ -100,7 +111,7 @@ sub cgi_signin ($$) { #{{{ header => 0, template => (-e "$config{templatedir}/signin.tmpl" ? {template_params("signin.tmpl")} : ""), - stylesheet => styleurl(), + stylesheet => baseurl()."style.css", ); decode_form_utf8($form); @@ -205,7 +216,7 @@ sub cgi_signin ($$) { #{{{ $form->field(name => "confirm_password", type => "hidden"); $form->field(name => "email", type => "hidden"); $form->text("Registration successful. Now you can Login."); - print $session->header(-charset=>'utf-8'); + printheader($session); print misctemplate($form->title, $form->render(submit => ["Login"])); } else { @@ -233,12 +244,12 @@ sub cgi_signin ($$) { #{{{ $form->text("Your password has been emailed to you."); $form->field(name => "name", required => 0); - print $session->header(-charset=>'utf-8'); + printheader($session); print misctemplate($form->title, $form->render(submit => ["Login", "Register", "Mail Password"])); } } else { - print $session->header(-charset=>'utf-8'); + printheader($session); print misctemplate($form->title, $form->render(submit => ["Login", "Register", "Mail Password"])); } } #}}} @@ -267,7 +278,7 @@ sub cgi_prefs ($$) { #{{{ action => $config{cgiurl}, template => (-e "$config{templatedir}/prefs.tmpl" ? {template_params("prefs.tmpl")} : ""), - stylesheet => styleurl(), + stylesheet => baseurl()."style.css", ); my @buttons=("Save Preferences", "Logout", "Cancel"); @@ -315,7 +326,7 @@ sub cgi_prefs ($$) { #{{{ $form->text("Preferences saved."); } - print $session->header(-charset=>'utf-8'); + printheader($session); print misctemplate($form->title, $form->render(submit => \@buttons)); } #}}} @@ -394,8 +405,7 @@ sub cgi_editpage ($$) { #{{{ $form->tmpl_param("indexlink", indexlink()); $form->tmpl_param("helponformattinglink", htmllink("", "", "HelpOnFormatting", 1)); - $form->tmpl_param("styleurl", styleurl()); - $form->tmpl_param("baseurl", "$config{url}/"); + $form->tmpl_param("baseurl", baseurl()); if (! $form->submitted) { $form->field(name => "rcsinfo", value => rcs_prepedit($file), force => 1); @@ -413,8 +423,12 @@ sub cgi_editpage ($$) { #{{{ value => $content, force => 1); $form->field(name => "comments", value => $comments, force => 1); + $config{rss}=0; # avoid preview writing an rss feed! $form->tmpl_param("page_preview", - htmlize($type, linkify($page, $page, filter($page, $content)))); + htmlize($type, + linkify($page, "", + preprocess($page, $page, + filter($page, $content))))); } else { $form->tmpl_param("page_preview", ""); @@ -594,7 +608,7 @@ sub cgi () { #{{{ umask($oldmask); # Everything below this point needs the user to be signed in. - if ((! $config{anonok} && + if (((! $config{anonok} || $do eq 'prefs') && (! defined $session->param("name") || ! userinfo_get($session->param("name"), "regdate"))) || $do eq 'signin') { cgi_signin($q, $session);