X-Git-Url: https://git.sesse.net/?p=ccbs;a=blobdiff_plain;f=html%2Fdo-edit-scores.pl;h=8b28303e6162fff4238da4898075f399d6f38ea1;hp=4b5d4828034597a8f2fe487ec1beb755a928d2ce;hb=ed77839b314639904743a85ff4ea4c5079102464;hpb=50e6991fc69f8bace6489c40dbbe6b5ba9df8572 diff --git a/html/do-edit-scores.pl b/html/do-edit-scores.pl index 4b5d482..8b28303 100755 --- a/html/do-edit-scores.pl +++ b/html/do-edit-scores.pl @@ -8,18 +8,28 @@ my $dbh = ccbs::db_connect(); my $cgi = new CGI; my $tournament = $cgi->param('tournament'); +my $round = $cgi->param('round'); +my $group = $cgi->param('group'); -# Loop through all parameters until we find the update button -my $player; -for my $param ($cgi->param()) { - if ($param =~ /^update(\d+)$/) { - $player = $1; - last; +$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); } } -die "Form-submit uten å trykke på noen update-knapp?" unless (defined($player)); - +$dbh->commit; $dbh->disconnect; ccbs::print_see_other('show-tournament.pl?id=' . $tournament);