Brick
view release on metacpan or search on metacpan
lib/Brick/Files.pm view on Meta::CPAN
my $mm = File::MMagic->new;
my $format = $mm->checktype_filename( $file || '' );
## File::MMagic returns the illegal "application/msword" for all
## microsoft junk.
## We map this to either application/x-msword (default)
## or application/vnd.ms-excel, depending on the extension
my( $uploaded_ext ) = $file =~ m/\.(\w*)?$/g;
if( $format eq "application/msword" ) {
no warnings 'uninitialized';
$format = ($uploaded_ext =~ /^xl[st]$/)
?
"application/vnd.ms-excel"
:
"application/x-msword";
}
elsif( $format =~ m|x-system/x-error| ) {
$format = undef;
}
return $format;
lib/Brick/Files.pm view on Meta::CPAN
# exec call. Use local to temporarily clear it out in the context
# of this sub.
local $ENV{PATH} = q{};
$q->UNIVERSAL::can('param') or
die 'valid_file_clamav_clean: data object missing param() method';
my $field = $dfv->get_current_constraint_field;
my $img = $q->upload($field);
if (not $img and my $err = $q->cgi_error) {
warn $err;
return undef;
}
my $tmp_file = $q->tmpFileName($q->param($field)) or
(warn "$0: can't find tmp file for field named $field"),
return undef;
t/files/has_file_extension.t view on Meta::CPAN
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
my @good_extensions = qw(jpg png gif);
my @bad_extensions = qw(eps jpeg xls);
my $sub = Brick::Bucket::has_file_extension(
bless( {}, Brick->bucket_class ),
{
extensions => [ @good_extensions ],
field => 'upload_filename',
name => 'Image file checker',
}
);
isa_ok( $sub, ref sub {}, "I get back a sub" );
foreach my $extension ( @good_extensions )
{
my $result = $sub->(
{
upload_filename => "foo.$extension",
}
);
ok( $result, "Sub returns true for good extension" );
}
foreach my $extension ( @bad_extensions )
{
my $result = eval {
$sub->(
{
upload_filename => "foo.$extension",
}
)
};
ok( ! defined $result, "Sub returns false for bad extension" );
ok( $@, "\$@ set for bad extension" );
}
( run in 2.234 seconds using v1.01-cache-2.11-cpan-b16cb0d3907 )