X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=html%2Fshow-tournament.pl;h=ab58b647f476c7bd04f2e606c3d75ce3592b19e2;hb=fec946b9a1cd41abf89a8fd83312d0cd9cd2688c;hp=1de3b0c7cf0295b3390b5ba33d8635e5e87211e5;hpb=8d6dd33b77319cdf11131da25ba3e3b462dfbca0;p=ccbs diff --git a/html/show-tournament.pl b/html/show-tournament.pl index 1de3b0c..ab58b64 100755 --- a/html/show-tournament.pl +++ b/html/show-tournament.pl @@ -10,7 +10,14 @@ my $id = $cgi->param('id'); my $dbh = ccbs::db_connect(); my $tournament = $dbh->selectrow_hashref('SELECT * FROM tournaments NATURAL JOIN seasons NATURAL JOIN countries NATURAL JOIN machines NATURAL JOIN scoringsystems WHERE tournament=?', undef, $id); -my $rankings = ccbs::db_fetch_all($dbh, 'SELECT ranking,nick,COALESCE(points,-1) AS points FROM tournamentrankings NATURAL JOIN players WHERE tournament=? ORDER BY ranking', $id); + +my $rankings; +if ($tournament->{'country'} == 1) { + $rankings = ccbs::db_fetch_all($dbh, 'SELECT ranking,player,nick || \' (\' || countrycode::varchar || \')\' AS nick,COALESCE(points,-1) AS points FROM tournamentrankings NATURAL JOIN players NATURAL JOIN countries WHERE tournament=? ORDER BY ranking', $id); +} else { + $rankings = ccbs::db_fetch_all($dbh, 'SELECT ranking,player,COALESCE(nick || \' (\' || clubcode::varchar || \')\', nick) AS nick,COALESCE(points,-1) AS points FROM tournamentrankings NATURAL JOIN players NATURAL LEFT JOIN clubs WHERE tournament=? ORDER BY ranking', $id); +} + my $songs = ccbs::db_fetch_all($dbh, 'SELECT song,title FROM machinesongs NATURAL JOIN songs WHERE machine=? ORDER BY LOWER(title)', $tournament->{'machine'}); # Check if the last round is valid for closing (by checking if all scores @@ -36,9 +43,16 @@ if ($bigscreen) { # Swoop all the data in in a big join, then order it over to quasi-sane Perl objects. # (round -> parallel -> player -> songs -> title,chosen,score) -my $scores = ccbs::db_fetch_all($dbh, - 'SELECT round,parallel,position,playmode,difficulty,songnumber,player,nick,song,title,chosen,score FROM roundparticipation NATURAL JOIN players NATURAL JOIN scores NATURAL LEFT JOIN songs WHERE tournament=? ORDER BY round,parallel,position,songnumber', +my $scores; +if ($tournament->{'country'} == 1) { + $scores = ccbs::db_fetch_all($dbh, + 'SELECT round,parallel,position,playmode,difficulty,songnumber,player,nick || \' (\' || countrycode::varchar || \')\' AS nick,song,title,chosen,score FROM roundparticipation NATURAL JOIN players NATURAL JOIN countries NATURAL JOIN scores NATURAL LEFT JOIN songs WHERE tournament=? ORDER BY round,parallel,position,songnumber', $id); +} else { + $scores = ccbs::db_fetch_all($dbh, + 'SELECT round,parallel,position,playmode,difficulty,songnumber,player,COALESCE(nick || \' (\' || clubcode::varchar || \')\', nick) AS nick,song,title,chosen,score FROM roundparticipation NATURAL JOIN players NATURAL JOIN scores NATURAL LEFT JOIN songs NATURAL LEFT JOIN clubs WHERE tournament=? ORDER BY round,parallel,position,songnumber', + $id); +} my @rounds = (); @@ -143,7 +157,9 @@ if ($num_rounds == 0) { if ($num_rankings > 0) { $closing_valid = 0; $finishing_valid = 0; - $rounds[$#rounds]->{'locked'} = 1; + if ($#rounds > -1) { + $rounds[$#rounds]->{'locked'} = 1; + } } ccbs::print_header();