]> git.sesse.net Git - ccbs/blobdiff - html/do-edit-scores.pl
Make it possible to enter NULL values by leaving fields blank.
[ccbs] / html / do-edit-scores.pl
index 7d3d4352a7307504dbee14909403ceb84cee977b..8b28303e6162fff4238da4898075f399d6f38ea1 100755 (executable)
@@ -8,9 +8,29 @@ my $dbh = ccbs::db_connect();
 my $cgi = new CGI;
 
 my $tournament = $cgi->param('tournament');
+my $round = $cgi->param('round');
+my $group = $cgi->param('group');
 
+$dbh->{AutoCommit} = 0;
+
+# Loop through all parameters and see what parameters differ between old- and current
+# versions
+for my $p ($cgi->param()) {
+       next if ($p =~ /^old-(.*?)$/);
+       next unless (defined($cgi->param('old-' . $p)));
+       next if ($cgi->param($p) eq $cgi->param('old-' . $p));
+
+       my $val = $cgi->param($p);
+       undef $val if ($val =~ /^\s*$/);
+
+       if ($p =~ /^score(\d+)-(\d+)/) {
+               $dbh->do('UPDATE scores SET score=? WHERE tournament=? AND round=? AND parallel=? AND player=? AND songnumber=?', undef,
+                       $val, $tournament, $round, $group, $1, $2);
+       }
+}
+
+$dbh->commit;
 $dbh->disconnect;
 
-ccbs::print_header();
 ccbs::print_see_other('show-tournament.pl?id=' . $tournament);