-use HTML::Template::Compiled;
-use POSIX qw/strftime/;
-use Gruntmaster::Page::Common qw/header footer/;
-use Gruntmaster::Data qw/jobcard job_date job_extension job_filesize problem_name job_private job_problem job_result job_result_text job_user/;
-
-my %templates = (
+use constant TEMPLATES => {
-$templates{$_} = header($_, TITLE) . $templates{$_} for keys %templates;
-$templates{$_} .= footer $_ for keys %templates;
+sub _generate{
+ my ($self, $htc, $path, $lang) = @_;
local $Gruntmaster::Data::contest = $1;
my $pages = jobcard / PAGE_SIZE;
my $page = $2 eq 'index' ? $pages : $2;
local $Gruntmaster::Data::contest = $1;
my $pages = jobcard / PAGE_SIZE;
my $page = $2 eq 'index' ? $pages : $2;
my @log = sort { $b->{id} <=> $a->{id} } map +{
id => $_,
(job_private() ? (private => job_private) : ()),
my @log = sort { $b->{id} <=> $a->{id} } map +{
id => $_,
(job_private() ? (private => job_private) : ()),
size => sprintf ("%.2f KiB", job_filesize() / 1024),
user => job_user}, ($page - 1) * PAGE_SIZE + 1 .. $page == $pages ? jobcard : $page * PAGE_SIZE;
$htc->param(log => \@log);
size => sprintf ("%.2f KiB", job_filesize() / 1024),
user => job_user}, ($page - 1) * PAGE_SIZE + 1 .. $page == $pages ? jobcard : $page * PAGE_SIZE;
$htc->param(log => \@log);