X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;ds=sidebyside;f=lib%2FPlack%2FApp%2FGruntmaster%2FHTML.pm;h=427b197002a5fff16c0dc299f85fde0e88003c95;hb=ea99634e69cd1345da3be64824c4d0ebd8635ead;hp=21bb9d4edb648537e8a78a24af00ff59483d1721;hpb=e2c74da60e49fefe027701ff143af2c5e0e109a4;p=plack-app-gruntmaster.git diff --git a/lib/Plack/App/Gruntmaster/HTML.pm b/lib/Plack/App/Gruntmaster/HTML.pm index 21bb9d4..427b197 100644 --- a/lib/Plack/App/Gruntmaster/HTML.pm +++ b/lib/Plack/App/Gruntmaster/HTML.pm @@ -9,7 +9,6 @@ use HTML::TreeBuilder; use POSIX qw//; use Data::Dumper qw/Dumper/; use Sort::ByExample - sorter => {-as => 'pb_sort', example => [qw/beginner easy medium hard/], xform => sub {$_->{level}}}, sorter => {-as => 'ct_sort', example => [qw/Running Pending Finished/], xform => sub {$_->{status}}}; my $optional_end_tags = {%HTML::Tagset::optionalEndTag, tr => 1, td => 1, th => 1}; @@ -83,7 +82,7 @@ sub render_article { $lang //= 'en'; my $title = read_file "a/$art.$lang.title"; chomp $title; - my $meat = read_file "a/$art.$lang"; + my $meat = read_file "a/$art.$lang", binmode => ':utf8'; _render('skel', $lang, title => $title , meat => $meat, %args) } @@ -211,6 +210,8 @@ sub process_pb { my $iter = sub { my ($data, $tr) = @_; $tr->set_child_content(class => 'author', $data->{author}); + $tr->set_child_content(class => 'value', $data->{value}) if $args{args}{contest}; + $tr->fclass('value')->detach unless $args{args}{contest}; $tr->set_child_content(class => 'level', ucfirst $data->{level}); $tr->fclass('name')->namedlink($data->{id}, $data->{name}); $tr->fclass('name')->find('a')->edit_href(sub {$_ .= "?contest=$args{args}{contest}"}) if $args{args}{contest}; @@ -218,7 +219,9 @@ sub process_pb { $tr->find('td')->attr(class => $tr->find('td')->attr('class').' warning') if $data->{private} && !$args{args}{contest}; }; - $tree->find('tbody')->find('tr')->iter3([pb_sort @{$args{pb}}], $iter); + $tree->find('thead')->fclass('value')->detach unless $args{args}{contest}; + + $tree->find('tbody')->find('tr')->iter3([sort { $a->{value} <=> $b->{value} } @{$args{pb}}], $iter); $tree->fid('open-alert')->detach unless $args{args}{contest}; }