From f099d75a86d13fe5696ac4c055fcf82149dc31b6 Mon Sep 17 00:00:00 2001 From: "Steinar H. Gunderson" Date: Sun, 10 Jun 2012 03:17:55 +0200 Subject: [PATCH] Unbreak/templatify scenario analysis. --- templates/scenario-not-found.xml | 13 +++++++++++++ templates/scenario.xml | 16 ++++++++++++++++ www/index.pl | 30 +++++++++++++++++------------- 3 files changed, 46 insertions(+), 13 deletions(-) create mode 100644 templates/scenario-not-found.xml create mode 100644 templates/scenario.xml diff --git a/templates/scenario-not-found.xml b/templates/scenario-not-found.xml new file mode 100644 index 0000000..b7be7bb --- /dev/null +++ b/templates/scenario-not-found.xml @@ -0,0 +1,13 @@ + + + + + WLoH-plasseringsannsynlighetsberegning + + + +

Fant ingen måte kan ende på plass på.

+ + diff --git a/templates/scenario.xml b/templates/scenario.xml new file mode 100644 index 0000000..7ea71e2 --- /dev/null +++ b/templates/scenario.xml @@ -0,0 +1,16 @@ + + + + + WLoH-plasseringsannsynlighetsberegning + + + +

Scenario der ender på plass:

+
    +
  • – :
  • +
+ + diff --git a/www/index.pl b/www/index.pl index 0bf3559..a01f514 100755 --- a/www/index.pl +++ b/www/index.pl @@ -243,7 +243,7 @@ sub make_table { push @player_ranks, { 'td/style' => "background-color: rgb($r, $g, $b)", 'a' => sprintf("%.1f%%", $pn * 100.0), - 'a/href' => "javascript:showScenario('$table_id', '/$locale/?divisjon=$division;avdeling=$subdivision;spiller=$pnum;posisjon=$i" + 'a/href' => "javascript:showScenario('$table_id', '/$locale/?divisjon=$division;avdeling=$subdivision;spiller=$pnum;posisjon=$i')" }; } } @@ -356,7 +356,6 @@ get_players_and_ratings($dbh, $locale, $season, $division, $subdivision); my $cov = get_covariance_matrix($dbh, keys %players); if (defined($match_player) && defined($match_position)) { - print_header($cgi, 'WLoH-plasseringsannsynlighetsberegning'); my $tmpnam = write_parms_to_file($aux_parms, $match_stddev, \%ratings, $cov); --$match_player; @@ -368,7 +367,11 @@ if (defined($match_player) && defined($match_position)) { while () { /(\d+) (\d+) (-?\d+)/ or next; chomp; - push @scenario, [ $1, $2, $3 ]; + push @scenario, { + 'player-1' => $players{$1}, + 'player-2' => $players{$2}, + 'result' => sprintf("%+d", $3), + }; } close MCCALC; unlink $tmpnam; @@ -377,18 +380,19 @@ if (defined($match_player) && defined($match_position)) { my $player_name = $players{$sorted_players[$match_player]}; if (scalar @scenario == 0) { - printf "

Fant ingen måte %s kan ende på %d. plass på.

\n", - $player_name, ($match_position + 1); + print CGI->header(-type=>'text/html; charset=utf-8', -expires=>'+5m'); + wloh_common::process_template('scenario-not-found.xml', { + '#nick' => $player_name, + '#rank' => sprintf("%d.", $match_position + 1) + }); } else { - printf "

Scenario der %s ender på %d. plass:

\n", - $player_name, ($match_position + 1); - print "
    \n"; - for my $m (@scenario) { - printf "
  • %s – %s: %+d
  • \n", $players{$m->[0]}, $players{$m->[1]}, $m->[2]; - } - print "
\n"; + print CGI->header(-type=>'text/html; charset=utf-8', -expires=>'+5m'); + wloh_common::process_template('scenario.xml', { + '#nick' => $player_name, + '#rank' => sprintf("%d.", $match_position + 1), + '#results' => \@scenario + }); } - print_footer(); } else { POSIX::setlocale(&POSIX::LC_ALL, 'nb_NO.UTF-8'); -- 2.39.2