-use HTML::Template::Compiled;
-use POSIX qw/strftime/;
-use Gruntmaster::Page::Common qw/cook_templates reload_templates/;
-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 %orig_templates = (
+use constant TEMPLATES => {
-sub generate{
- %templates = cook_templates %orig_templates, log => 'Job log' if reload_templates;
- $_[0] =~ m,^(?:ct/([^/]+)/)?log/(\w+)\.html$,;
+ $path =~ m,^(?:ct/([^/]+)/)?log/(\w+)\.html$,;
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);