X-Git-Url: https://git.sesse.net/?p=ccbs;a=blobdiff_plain;f=html%2Fdo-edit-scores.pl;h=be93df0536c9ef0871822406f37b1dd92bb1195a;hp=7d3d4352a7307504dbee14909403ceb84cee977b;hb=a5bef5a751fddcaa09f7d4281e2452ea778436ca;hpb=2af69ca729a57a65bc0afdded897ccdaa04bf315 diff --git a/html/do-edit-scores.pl b/html/do-edit-scores.pl index 7d3d435..be93df0 100755 --- a/html/do-edit-scores.pl +++ b/html/do-edit-scores.pl @@ -8,9 +8,42 @@ 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+)/) { + if (defined($val) && ($val < 0 || $val > 10000)) { + ccbs::user_error("Alle poengsummer må være mellom 0 og 10000 (inklusive)."); + } + + $dbh->do('UPDATE scores SET score=? WHERE tournament=? AND round=? AND parallel=? AND player=? AND songnumber=?', undef, + $val, $tournament, $round, $group, $1, $2); + } elsif ($p =~ /^playmode(\d+)-(\d+)/) { + $dbh->do('UPDATE scores SET playmode=? WHERE tournament=? AND round=? AND parallel=? AND player=? AND songnumber=?', undef, + $val, $tournament, $round, $group, $1, $2); + } elsif ($p =~ /^difficulty(\d+)-(\d+)/) { + $dbh->do('UPDATE scores SET difficulty=? WHERE tournament=? AND round=? AND parallel=? AND player=? AND songnumber=?', undef, + $val, $tournament, $round, $group, $1, $2); + } elsif ($p =~ /^song(\d+)-(\d+)/) { + $dbh->do('UPDATE scores SET song=? WHERE tournament=? AND round=? AND parallel=? AND player=? AND songnumber=? AND chosen=\'t\'', undef, + $val, $tournament, $round, $group, $1, $2); + } +} + +$dbh->commit; $dbh->disconnect; -ccbs::print_header(); ccbs::print_see_other('show-tournament.pl?id=' . $tournament);