X-Git-Url: https://git.sesse.net/?p=pr0n;a=blobdiff_plain;f=perl%2FSesse%2Fpr0n%2FSelect.pm;h=53dc8a019d7695eee5e6fe83b682302800c7f338;hp=1086587ae77769df03fbf93864e662de94d370ba;hb=290a2bdcb92997fd2537603dee5c67350b2bb7b1;hpb=2d6536cab108c937e2af49f7dcf15f2230f44d1a diff --git a/perl/Sesse/pr0n/Select.pm b/perl/Sesse/pr0n/Select.pm index 1086587..53dc8a0 100644 --- a/perl/Sesse/pr0n/Select.pm +++ b/perl/Sesse/pr0n/Select.pm @@ -23,20 +23,18 @@ sub handler { local $dbh->{AutoCommit} = 0; local $dbh->{RaiseError} = 1; - $dbh->do('UPDATE images SET selected=\'f\' WHERE event=?', undef, $event); - - my @params = $apr->param(); - my $key; - for $key (@params) { - if ($key =~ /^sel-(\d+)/ && $apr->param($key) eq 'on') { - my $id = $1; - my $q = $dbh->do('UPDATE images SET selected=\'t\' WHERE id=?', undef, $id) - or dberror($r, "Selection of $id failed: $!"); - $r->print("

Selected image ID `$id'.

\n"); - } + my $filename = $apr->param('filename'); + my $selected = $apr->param('selected'); + my $sql_selected = 'f'; + if (!defined($selected) || $selected eq '1') { + $sql_selected = 't'; } + $dbh->do('UPDATE images SET selected=? WHERE vhost=? AND event=? AND filename=?', undef, $sql_selected, $r->get_server_name, $event, $filename); } + $dbh->do('UPDATE last_picture_cache SET last_update=CURRENT_TIMESTAMP WHERE vhost=? AND event=?', undef, $r->get_server_name, $event) + or dberror($r, "Cache invalidation failed"); + Sesse::pr0n::Common::purge_cache($r, "/$event/"); Sesse::pr0n::Common::footer($r); return Apache2::Const::OK;