]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/CGI.pm
add allowed attachments field to admin prefs
[ikiwiki.git] / IkiWiki / CGI.pm
index 532f9c5f6f85f88ea57e00ec98fdc0d603d7520c..07e92322f4cbf94b9af112890077bd093f94b89d 100644 (file)
@@ -281,7 +281,6 @@ sub cgi_editpage ($$) { #{{{
        eval q{use CGI::FormBuilder};
        error($@) if $@;
        my $form = CGI::FormBuilder->new(
-               title => "editpage",
                fields => \@fields,
                charset => "utf-8",
                method => 'POST',
@@ -304,7 +303,7 @@ sub cgi_editpage ($$) { #{{{
        
        # This untaint is safe because titlepage removes any problematic
        # characters.
-       my ($page)=$form->field('page');
+       my $page=$form->field('page');
        $page=titlepage(possibly_foolish_untaint($page));
        if (! defined $page || ! length $page ||
            file_pruned($page, $config{srcdir}) || $page=~/^\//) {
@@ -396,11 +395,17 @@ sub cgi_editpage ($$) { #{{{
                                session => $session,
                        );
                });
-               $form->tmpl_param("page_preview",
-                       htmlize($page, $type,
+               my $preview=htmlize($page, $page, $type,
                        linkify($page, $page,
                        preprocess($page, $page,
-                       filter($page, $page, $content), 0, 1))));
+                       filter($page, $page, $content), 0, 1)));
+               run_hooks(format => sub {
+                       $preview=shift->(
+                               page => $page,
+                               content => $preview,
+                       );
+               });
+               $form->tmpl_param("page_preview", $preview);
        
                if ($new) {
                        delete $pagesources{$page};
@@ -661,10 +666,11 @@ sub cgi (;$$) { #{{{
        my $q=shift;
        my $session=shift;
 
+       eval q{use CGI};
+       error($@) if $@;
+       $CGI::DISABLE_UPLOADS=$config{cgi_disable_uploads};
+
        if (! $q) {
-               eval q{use CGI};
-               error($@) if $@;
-       
                binmode(STDIN);
                $q=CGI->new;
                binmode(STDIN, ":utf8");