diff --git a/lib/App/Controller/Paste.pm b/lib/App/Controller/Paste.pm index 680429d..c577eaf 100644 --- a/lib/App/Controller/Paste.pm +++ b/lib/App/Controller/Paste.pm @@ -88,10 +88,11 @@ sub get_paste { my ($delay, $evalout) = @_; $c->stash($row); $c->stash({language => $c->languages->get_language_hash->{$row->{language}}}); + $c->stash({all_langs => $c->languages->get_language_hash}); $c->stash({page_tmpl => 'viewer.html'}); $c->stash({paste_id => $pasteid}); $c->stash({eval => $evalout}); - $c->stash({perl_sort_versions => \&{$c->languages->perl_sort_versions}}); + $c->stash({perl_sort_versions => \&App::Model::Languages::perl_sort_versions}); $c->render('page'); }); diff --git a/lib/App/Model/Languages.pm b/lib/App/Model/Languages.pm index 7354640..3bd6fa9 100644 --- a/lib/App/Model/Languages.pm +++ b/lib/App/Model/Languages.pm @@ -61,8 +61,11 @@ sub get_languages { return \@langs } -sub perl_sort_languages { - return sort {$langs{$a}//0 <=> $langs{$b}//0} @_; +sub perl_sort_versions { + my @in = @{shift()}; + my @ranks = map {$langs{$_}{rank}} @in; + my @ret = sort {$langs{$a}{rank} <=> $langs{$b}{rank}} @in; + return @ret; } 1; diff --git a/templates/viewer.html b/templates/viewer.html index 2f7fca2..5ee0241 100755 --- a/templates/viewer.html +++ b/templates/viewer.html @@ -88,7 +88,7 @@
Language | Output |
---|---|
[% lang %] | [% eval.$lang | html %] |
[% all_langs.$lang.description %] | [% eval.$lang | html %] |