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 0.877 second using v1.01-cache-2.11-cpan-b16cb0d3907 )