]>
iEval git - plack-app-gruntmaster.git/blob - St.pm
b91137e883f2f45cfea0933b3ed58db83970994a
1 package Gruntmaster
::Page
::St
;
6 use Gruntmaster
::Page
::Base st
=> 'Standings';
7 our @ISA = qw
/Gruntmaster::Page::Base/;
8 our $VERSION = '0.001';
10 use constant TEMPLATES
=> {
14 <tr><th>Username<tmpl_loop problems><th><tmpl_var _></tmpl_loop><th>Total
16 <tmpl_loop st><tr><td><tmpl_var user>
17 <tmpl_loop scores><td><tmpl_var _>
18 </tmpl_loop><td><tmpl_var score>
25 my ($self, $htc, $path, $lang) = @_;
27 $path =~ m
,^(?
:ct
/([^/]+)/)?
,;
28 local $Gruntmaster::Data
::contest
= $1;
30 my @problems = problems
;
31 @problems = sort @problems;
34 if (job_result_text
=~ m/^(\d+)/) {
35 $scores{job_user
()}{job_problem
()} = $1;
37 $scores{job_user
()}{job_problem
()} = job_result
() ?
0 : 100;
41 my @st = sort { $b->{score
} <=> $a->{score
} } map {
45 score
=> sum
(values $scores{$user}),
46 scores
=> [map { $scores{$user}{$_} // '-'} @problems],
49 $htc->param(problems
=> [map { problem_name
} @problems ]);
50 $htc->param(st
=> \
@st);
This page took 0.049594 seconds and 3 git commands to generate.