diff options
author | Nicolas Vigier <boklm@mageia.org> | 2013-06-13 21:25:36 +0000 |
---|---|---|
committer | Nicolas Vigier <boklm@mageia.org> | 2013-06-13 21:25:36 +0000 |
commit | 89134371188781298679c98fe0cc4da86a0c8b36 (patch) | |
tree | b79f5feb2f0c5b1ce44275b3ef2fed811f02906f | |
parent | 23a41e0e089b65cf2223a846abc545a649c3efb1 (diff) | |
download | mgaadvisories-89134371188781298679c98fe0cc4da86a0c8b36.tar mgaadvisories-89134371188781298679c98fe0cc4da86a0c8b36.tar.gz mgaadvisories-89134371188781298679c98fe0cc4da86a0c8b36.tar.bz2 mgaadvisories-89134371188781298679c98fe0cc4da86a0c8b36.tar.xz mgaadvisories-89134371188781298679c98fe0cc4da86a0c8b36.zip |
Sort advisories by publish time and ID
-rw-r--r-- | lib/MGA/Advisories.pm | 15 | ||||
-rw-r--r-- | tmpl/advisories.html | 2 | ||||
-rw-r--r-- | tmpl/by_cve.html | 2 | ||||
-rw-r--r-- | tmpl/by_rel.html | 2 | ||||
-rw-r--r-- | tmpl/by_src.html | 2 |
5 files changed, 19 insertions, 4 deletions
diff --git a/lib/MGA/Advisories.pm b/lib/MGA/Advisories.pm index 9146242..398f9af 100644 --- a/lib/MGA/Advisories.pm +++ b/lib/MGA/Advisories.pm @@ -118,6 +118,15 @@ sub publish_advisories { } } +sub adv_sort { + my $advdb = shift; + sort { + my $pa = $advdb->{advisories}{$a}{status}{published}; + my $pb = $advdb->{advisories}{$b}{status}{published}; + return $pa == $pb ? $b cmp $a : $pb cmp $pa; + } @_; +} + sub sort_advisories { my ($advdb) = @_; foreach my $adv (keys %{$advdb->{advisories}}) { @@ -138,6 +147,12 @@ sub sort_advisories { } } } + foreach my $by ('by_type', 'by_cve', 'by_rel', 'by_media', 'by_src') { + foreach my $k (keys %{$advdb->{$by}}) { + $advdb->{$by}{$k} = [ adv_sort($advdb, @{$advdb->{$by}{$k}}) ]; + } + } + $advdb->{sorted} = [ adv_sort($advdb, keys $advdb->{advisories}) ]; } sub process_template { diff --git a/tmpl/advisories.html b/tmpl/advisories.html index 513672a..7daaeb3 100644 --- a/tmpl/advisories.html +++ b/tmpl/advisories.html @@ -7,6 +7,6 @@ <body> <h1>Mageia Advisories</h1> - [% INCLUDE advisories_table.html advlst = advdb.advisories.keys.sort.reverse %] + [% INCLUDE advisories_table.html advlst = advdb.sorted %] </body> </html> diff --git a/tmpl/by_cve.html b/tmpl/by_cve.html index 788f19a..bd4aedd 100644 --- a/tmpl/by_cve.html +++ b/tmpl/by_cve.html @@ -7,6 +7,6 @@ <body> <h1><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=[% CVE %]">[% CVE %]</a></h1> - [% INCLUDE advisories_table.html advlst = advdb.by_cve.$CVE.sort.reverse %] + [% INCLUDE advisories_table.html advlst = advdb.by_cve.$CVE %] </body> </html> diff --git a/tmpl/by_rel.html b/tmpl/by_rel.html index f3729e3..ac7dc82 100644 --- a/tmpl/by_rel.html +++ b/tmpl/by_rel.html @@ -7,6 +7,6 @@ <body> <h1>Mageia [% rel %] Advisories</h1> - [% INCLUDE advisories_table.html advlst = advdb.by_rel.$rel.sort.reverse %] + [% INCLUDE advisories_table.html advlst = advdb.by_rel.$rel %] </body> </html> diff --git a/tmpl/by_src.html b/tmpl/by_src.html index a792c81..4e58347 100644 --- a/tmpl/by_src.html +++ b/tmpl/by_src.html @@ -7,6 +7,6 @@ <body> <h1>Mageia advisories for package [% src %]</h1> - [% INCLUDE advisories_table.html advlst = advdb.by_src.$src.sort.reverse %] + [% INCLUDE advisories_table.html advlst = advdb.by_src.$src %] </body> </html> |