minor improvements
parent
0a37c45f32
commit
622033f5d6
|
@ -8,7 +8,7 @@ use CGI;
|
||||||
$CGI::DISABLE_UPLOADS=0;
|
$CGI::DISABLE_UPLOADS=0;
|
||||||
|
|
||||||
# TODO move to admin prefs
|
# TODO move to admin prefs
|
||||||
$config{valid_attachments}="(*.mp3 and maxsize(15mb)) or (* and maxsize(.50kb))";
|
$config{valid_attachments}="(*.mp3 and maxsize(15mb)) or (* and maxsize(50kb))";
|
||||||
|
|
||||||
sub import { #{{{
|
sub import { #{{{
|
||||||
hook(type => "formbuilder_setup", id => "attachment", call => \&formbuilder_setup);
|
hook(type => "formbuilder_setup", id => "attachment", call => \&formbuilder_setup);
|
||||||
|
@ -49,12 +49,14 @@ sub formbuilder (@) { #{{{
|
||||||
error(gettext("bad attachment filename"));
|
error(gettext("bad attachment filename"));
|
||||||
}
|
}
|
||||||
|
|
||||||
# Check that the attachment matches the configured
|
# Use a pagespec to test that the attachment is valid.
|
||||||
# pagespec.
|
if (exists $config{valid_attachments} &&
|
||||||
my $result=pagespec_match($filename, $config{valid_attachments},
|
length $config{valid_attachments}) {
|
||||||
tempfile => $tempfile);
|
my $result=pagespec_match($filename, $config{valid_attachments},
|
||||||
if (! $result) {
|
tempfile => $tempfile);
|
||||||
error(gettext("attachment rejected")." ($result)");
|
if (! $result) {
|
||||||
|
error(gettext("attachment rejected")." ($result)");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
my $fh=$q->upload('attachment');
|
my $fh=$q->upload('attachment');
|
||||||
|
@ -75,20 +77,20 @@ sub parsesize { #{{{
|
||||||
no warnings;
|
no warnings;
|
||||||
my $base=$size+0; # force to number
|
my $base=$size+0; # force to number
|
||||||
use warnings;
|
use warnings;
|
||||||
my $exponent=1;
|
my $multiple=1;
|
||||||
if ($size=~/kb?$/i) {
|
if ($size=~/kb?$/i) {
|
||||||
$exponent=10;
|
$multiple=2**10;
|
||||||
}
|
}
|
||||||
elsif ($size=~/mb?$/i) {
|
elsif ($size=~/mb?$/i) {
|
||||||
$exponent=20;
|
$multiple=2**20;
|
||||||
}
|
}
|
||||||
elsif ($size=~/gb?$/i) {
|
elsif ($size=~/gb?$/i) {
|
||||||
$exponent=30;
|
$multiple=2**30;
|
||||||
}
|
}
|
||||||
elsif ($size=~/tb?$/i) {
|
elsif ($size=~/tb?$/i) {
|
||||||
$exponent=40;
|
$multiple=2**40;
|
||||||
}
|
}
|
||||||
return $base * 2**$exponent;
|
return $base * $multiple;
|
||||||
} #}}}
|
} #}}}
|
||||||
|
|
||||||
sub match_maxsize ($$;@) { #{{{
|
sub match_maxsize ($$;@) { #{{{
|
||||||
|
|
Loading…
Reference in New Issue