1 package Sesse::pr0n::Select;
5 use Sesse::pr0n::Common qw(error dberror);
10 my $apr = Apache2::Request->new($r);
11 my $dbh = Sesse::pr0n::Common::get_dbh();
12 my ($user, $takenby) = Sesse::pr0n::Common::check_access($r);
13 if (!defined($user)) {
14 return Apache2::Const::OK;
17 my $event = $apr->param('event');
19 Sesse::pr0n::Common::header($r, "Selection results");
22 # Enable transactions and error raising temporarily
23 local $dbh->{AutoCommit} = 0;
24 local $dbh->{RaiseError} = 1;
26 if (defined($apr->param('mode')) && $apr->param('mode') eq 'single') {
27 # single mode; enable one (FIXME: need to support disable too)
28 my $filename = $apr->param('filename');
29 $dbh->do('UPDATE images SET selected=\'t\' WHERE event=? AND filename=?', undef, $event, $filename);
31 # traditional multi-mode
32 $dbh->do('UPDATE images SET selected=\'f\' WHERE event=?', undef, $event);
34 my @params = $apr->param();
37 if ($key =~ /^sel-(\d+)/ && $apr->param($key) eq 'on') {
39 my $q = $dbh->do('UPDATE images SET selected=\'t\' WHERE id=?', undef, $id)
40 or dberror($r, "Selection of $id failed: $!");
41 $r->print(" <p>Selected image ID `$id'.</p>\n");
47 Sesse::pr0n::Common::footer($r);
49 return Apache2::Const::OK;