aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/App/Controller/Photo.pm
diff options
context:
space:
mode:
authorMarius Halden <marius.h@lden.org>2015-08-26 13:43:10 +0200
committerMarius Halden <marius.h@lden.org>2015-08-26 13:43:10 +0200
commitcc0acdd34052e79f3df368ac1f524de31df19a1b (patch)
tree505f561b5f16c5b78f07514e8c2b2bdc18fef51d /perllib/FixMyStreet/App/Controller/Photo.pm
parent1c5c685d0b0904e7ddc6e764e58e8fae08632d1d (diff)
parent6b84622fb7d58531baa7943abdcc7620999c34ee (diff)
Merge tag 'v1.6.1' into fiksgatami-dev
Diffstat (limited to 'perllib/FixMyStreet/App/Controller/Photo.pm')
-rw-r--r--perllib/FixMyStreet/App/Controller/Photo.pm9
1 files changed, 7 insertions, 2 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Photo.pm b/perllib/FixMyStreet/App/Controller/Photo.pm
index 09afabecf..a2ec7d4c8 100644
--- a/perllib/FixMyStreet/App/Controller/Photo.pm
+++ b/perllib/FixMyStreet/App/Controller/Photo.pm
@@ -8,6 +8,7 @@ use DateTime::Format::HTTP;
use Digest::SHA qw(sha1_hex);
use File::Path;
use File::Slurp;
+use Image::Size;
use Path::Class;
use if !$ENV{TRAVIS}, 'Image::Magick';
@@ -181,7 +182,11 @@ sub process_photo_upload : Private {
my $photo_blob = eval {
my $filename = $upload->tempname;
my $out = `jhead -se -autorot $filename 2>&1`;
- die _("Please upload a JPEG image only"."\n") if $out =~ /Not JPEG:/;
+ unless (defined $out) {
+ my ($w, $h, $err) = Image::Size::imgsize($filename);
+ die _("Please upload a JPEG image only") . "\n" if !defined $w || $err ne 'JPG';
+ }
+ die _("Please upload a JPEG image only") . "\n" if $out && $out =~ /Not JPEG:/;
my $photo = $upload->slurp;
return $photo;
};
@@ -221,7 +226,7 @@ sub process_photo_cache : Private {
my ( $self, $c ) = @_;
# get the fileid and make sure it is just a hex number
- my $fileid = $c->req->param('upload_fileid') || '';
+ my $fileid = $c->get_param('upload_fileid') || '';
$fileid =~ s{[^0-9a-f]}{}gi;
return unless $fileid;