]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/attachment.pm
fix expensive move code path
[git.ikiwiki.info.git] / IkiWiki / Plugin / attachment.pm
index d2989bb8b8b45d625269a6ae7b96fd37428dad0e..a474f6e75f58b178b2b049fd1c4e590740a4d6f2 100644 (file)
@@ -4,18 +4,21 @@ package IkiWiki::Plugin::attachment;
 use warnings;
 use strict;
 use IkiWiki 2.00;
-use CGI;
-$CGI::DISABLE_UPLOADS=0;
 
 # TODO move to admin prefs
 $config{valid_attachments}="(*.mp3 and maxsize(15mb)) or (!ispage() and maxsize(50kb))";
 
 sub import { #{{{
+       hook(type => "checkconfig", id => "attachment", call => \&checkconfig);
        hook(type => "formbuilder_setup", id => "attachment", call => \&formbuilder_setup);
        hook(type => "formbuilder", id => "attachment", call => \&formbuilder);
 } # }}}
 
-sub formbuilder_setup { #{{{
+sub checkconfig () { #{{{
+       $config{cgi_disable_uploads}=0;
+} #}}}
+
+sub formbuilder_setup (@) { #{{{
        my %params=@_;
        my $form=$params{form};
 
@@ -69,6 +72,9 @@ sub formbuilder (@) { #{{{
                        }
                }
 
+               # Needed for fast_file_copy.
+               require IkiWiki::Render;
+
                # Move the attachment into place.
                # Try to use a fast rename; fall back to copying.
                IkiWiki::prep_writefile($filename, $config{srcdir});