X-Git-Url: https://git.sesse.net/?p=pr0n;a=blobdiff_plain;f=perl%2FSesse%2Fpr0n%2FRotate.pm;h=c3769f532730cd43c3b037a705307e71d159b4eb;hp=5a3fe868efc9df2325f35361befcb1eee5efdfbc;hb=7ed166d00c60530874566d5e67130464e6fc0415;hpb=1a9cbb3a4dd482391f3a3d9f36d4f8ab3282fe58 diff --git a/perl/Sesse/pr0n/Rotate.pm b/perl/Sesse/pr0n/Rotate.pm index 5a3fe86..c3769f5 100644 --- a/perl/Sesse/pr0n/Rotate.pm +++ b/perl/Sesse/pr0n/Rotate.pm @@ -36,8 +36,8 @@ sub handler { if ($rotval == 90 || $rotval == 270) { my $q = $dbh->do('UPDATE images SET height=width,width=height WHERE id=?', undef, $id) - or dberror($r, "Size clear of $id failed: $!"); - $dbh->do('UPDATE events SET last_update=CURRENT_TIMESTAMP WHERE event=( SELECT event FROM images WHERE id=? )', + or dberror($r, "Size clear of $id failed"); + $dbh->do('UPDATE events SET last_update=CURRENT_TIMESTAMP WHERE (vhost,event)=( SELECT vhost,event FROM images WHERE id=? )', undef, $id) or dberror($r, "Cache invalidation at $id failed"); } @@ -46,12 +46,14 @@ sub handler { { eval { - $dbh->do('UPDATE events SET last_update=CURRENT_TIMESTAMP WHERE event=( SELECT event FROM images WHERE id=? )', + $dbh->do('UPDATE events SET last_update=CURRENT_TIMESTAMP WHERE (vhost,event)=( SELECT vhost,event FROM images WHERE id=? )', undef, $id); $dbh->do('INSERT INTO deleted_images SELECT * FROM images WHERE id=?', - undef, $id); + undef, $id); + $dbh->do('DELETE FROM exif_info WHERE image=?', + undef, $id); $dbh->do('DELETE FROM images WHERE id=?', - undef, $id); + undef, $id); }; if ($@) { # Some error occurred, rollback and bomb out @@ -63,6 +65,10 @@ sub handler { } } } + + my $event = $apr->param('event'); + $dbh->do('UPDATE events SET last_update=CURRENT_TIMESTAMP WHERE vhost=? AND event=?', undef, $r->get_server_name, $event) + or dberror($r, "Cache invalidation failed"); Sesse::pr0n::Common::footer($r);