X-Git-Url: https://git.sesse.net/?p=ccbs;a=blobdiff_plain;f=html%2Fshow-tournament.pl;fp=html%2Fshow-tournament.pl;h=d69dc3219989f35a425eb4df2a4d52100335dbc6;hp=1de3b0c7cf0295b3390b5ba33d8635e5e87211e5;hb=29622ff6c28f9e8e44c022f71b62f1d6685718f9;hpb=4d850240c7ff389bf6ad596287abb7d542af72bb diff --git a/html/show-tournament.pl b/html/show-tournament.pl index 1de3b0c..d69dc32 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,nick || \' (\' || countrycode || \')\' 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,COALESCE(nick || \' (\' || clubcode || \')\', 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 || \')\' 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 || \')\', 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 = ();