diff options
author | Marius Halden <marius.h@lden.org> | 2016-06-11 14:12:04 +0200 |
---|---|---|
committer | Marius Halden <marius.h@lden.org> | 2016-06-11 14:12:04 +0200 |
commit | 1307e0674c8b0174f71b960785230c647320885c (patch) | |
tree | 305f74ebeaba78a01f1c0d919e8180941a3ee63d /perllib/FixMyStreet/App/Model/PhotoSet.pm | |
parent | 05310eb3ace46ab71d8d426359f17f5beeb7c115 (diff) | |
parent | 35e58052f4f1250a3c1bb40d126e36fcc735d209 (diff) |
Merge tag 'v1.8.3' into fiksgatami-dev
Diffstat (limited to 'perllib/FixMyStreet/App/Model/PhotoSet.pm')
-rw-r--r-- | perllib/FixMyStreet/App/Model/PhotoSet.pm | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/perllib/FixMyStreet/App/Model/PhotoSet.pm b/perllib/FixMyStreet/App/Model/PhotoSet.pm index b44bf4b38..1c8a86e3a 100644 --- a/perllib/FixMyStreet/App/Model/PhotoSet.pm +++ b/perllib/FixMyStreet/App/Model/PhotoSet.pm @@ -254,12 +254,25 @@ sub get_image_data { sub delete_cached { my ($self) = @_; my $object = $self->object or return; + my $id = $object->id or return; - unlink glob FixMyStreet->path_to( - 'web', - 'photo', - $object->id . '.*' - ); + my @dirs = ('web', 'photo'); + push @dirs, 'c' if ref $object eq 'FixMyStreet::DB::Result::Comment'; + + # Old files without an index number; will always be .jpeg + foreach my $size ("", ".fp", ".tn", ".full") { + unlink FixMyStreet->path_to(@dirs, "$id$size.jpeg"); + } + + # New files with index number + my @images = $self->all_ids; + foreach (map [ $_, $images[$_] ], 0 .. $#images) { + my ($i, $file) = @$_; + my ($fileid, $type) = split /\./, $file; + foreach my $size ("", ".fp", ".tn", ".full") { + unlink FixMyStreet->path_to(@dirs, "$id.$i$size.$type"); + } + } } sub remove_images { |