From cb2d1876d776ae6b8ec1d172f1f64169fe1efd5c Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 20 Sep 2015 09:34:52 +0000 Subject: nntp: add "newsgroup" parameter and sort grouplist Using non-hierarchical mailing list names for newsgroups might confuse traditional newsreader software and perhaps some humans. Allow administrators to configure newsgroups names and hierarchies to their liking. Sorting the grouplist alphabetically should probably be done anyways to improve usability for some clients which won't sort themselves. --- lib/PublicInbox/NNTP.pm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'lib/PublicInbox/NNTP.pm') diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm index 8f866859..79f2c2f8 100644 --- a/lib/PublicInbox/NNTP.pm +++ b/lib/PublicInbox/NNTP.pm @@ -93,7 +93,7 @@ sub list_overview_fmt ($$) { sub list_active ($;$) { my ($self, $wildmat) = @_; wildmat2re($wildmat); - foreach my $ng (values %{$self->{nntpd}->{groups}}) { + foreach my $ng (@{$self->{nntpd}->{grouplist}}) { $ng->{name} =~ $wildmat or next; group_line($self, $ng); } @@ -102,7 +102,7 @@ sub list_active ($;$) { sub list_active_times ($;$) { my ($self, $wildmat) = @_; wildmat2re($wildmat); - foreach my $ng (values %{$self->{nntpd}->{groups}}) { + foreach my $ng (@{$self->{nntpd}->{grouplist}}) { $ng->{name} =~ $wildmat or next; my $c = eval { $ng->mm->created_at } || time; more($self, "$ng->{name} $c $ng->{address}"); @@ -112,7 +112,7 @@ sub list_active_times ($;$) { sub list_newsgroups ($;$) { my ($self, $wildmat) = @_; wildmat2re($wildmat); - foreach my $ng (values %{$self->{nntpd}->{groups}}) { + foreach my $ng (@{$self->{nntpd}->{grouplist}}) { $ng->{name} =~ $wildmat or next; my $d = $ng->description; more($self, "$ng->{name} $d"); @@ -137,7 +137,7 @@ sub cmd_list ($;$$) { $arg->($self, @args); } else { more($self, '215 list of newsgroups follows'); - foreach my $ng (values %{$self->{nntpd}->{groups}}) { + foreach my $ng (@{$self->{nntpd}->{grouplist}}) { group_line($self, $ng); } } @@ -200,7 +200,7 @@ sub cmd_newgroups ($$$;$$) { # TODO dists more($self, '231 list of new newsgroups follows'); - foreach my $ng (values %{$self->{nntpd}->{groups}}) { + foreach my $ng (@{$self->{nntpd}->{grouplist}}) { my $c = eval { $ng->mm->created_at } || 0; next unless $c > $ts; group_line($self, $ng); @@ -249,7 +249,7 @@ sub cmd_newnews ($$$$;$$) { ngpat2re($keep); ngpat2re($skip); my @srch; - foreach my $ng (values %{$self->{nntpd}->{groups}}) { + foreach my $ng (@{$self->{nntpd}->{grouplist}}) { $ng->{name} =~ $keep or next; $ng->{name} =~ $skip and next; my $srch = $ng->search or next; -- cgit v1.2.3-24-ge0c7