]> git.sesse.net Git - pr0n/blobdiff - perl/Sesse/pr0n/Select.pm
When using WebDAV, make sure the entire body is in before we start sending
[pr0n] / perl / Sesse / pr0n / Select.pm
index 1086587ae77769df03fbf93864e662de94d370ba..777e02b37cd3adc236f1ef7d161afc0eb0e2c4bb 100644 (file)
@@ -23,16 +23,23 @@ 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("    <p>Selected image ID `$id'.</p>\n");
+               if (defined($apr->param('mode')) && $apr->param('mode') eq 'single') {
+                       # single mode; enable one (FIXME: need to support disable too)
+                       my $filename = $apr->param('filename');
+                       $dbh->do('UPDATE images SET selected=\'t\' WHERE event=? AND filename=?', undef, $event, $filename);
+               } else {
+                       # traditional multi-mode
+                       $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("    <p>Selected image ID `$id'.</p>\n");
+                               }
                        }
                }
        }