getsource: run as plain CGI, rather than sessioncgi
authorSimon McVittie <smcv@ http://smcv.pseudorandom.co.uk/>
Sun, 26 Jul 2009 15:33:12 +0000 (16:33 +0100)
committerSimon McVittie <smcv@ http://smcv.pseudorandom.co.uk/>
Sun, 26 Jul 2009 15:33:12 +0000 (16:33 +0100)
As I suggested when reviewing Will's code, calling loadindex() should be
sufficient.

IkiWiki/Plugin/getsource.pm

index 4e74eaea0f0078bd7c56a13467a62b36299f0721..2e65df9500230a309e50c41b19ce359e86074536 100644 (file)
@@ -9,7 +9,7 @@ use open qw{:utf8 :std};
 sub import {
        hook(type => "getsetup", id => "getsource", call => \&getsetup);
        hook(type => "pagetemplate", id => "getsource", call => \&pagetemplate);
-       hook(type => "sessioncgi", id => "getsource", call => \&cgi_getsource);
+       hook(type => "cgi", id => "getsource", call => \&cgi_getsource);
 }
 
 sub getsetup () {
@@ -39,9 +39,8 @@ sub pagetemplate (@) {
        }
 }
 
-sub cgi_getsource ($$) {
+sub cgi_getsource ($) {
        my $cgi=shift;
-       my $session=shift;
 
        # Note: we use sessioncgi rather than just cgi
        # because we need $IkiWiki::pagesources{} to be
@@ -54,6 +53,8 @@ sub cgi_getsource ($$) {
 
        my $page=$cgi->param('page');
 
+       IkiWiki::loadindex();
+
        if ($IkiWiki::pagesources{$page}) {
                
                my $data = IkiWiki::readfile(IkiWiki::srcfile($IkiWiki::pagesources{$page}));