diff options
-rw-r--r-- | CHANGES | 2 | ||||
-rw-r--r-- | lib/Smokeping.pm | 11 |
2 files changed, 5 insertions, 8 deletions
@@ -1,3 +1,5 @@ +* fixe ordering of menu versus overview page --tobi + 2008/2/17 -- released version 2.3.1 * Master should not generate alerts for nomasterpoll targets --tobi diff --git a/lib/Smokeping.pm b/lib/Smokeping.pm index f582263..11b896c 100644 --- a/lib/Smokeping.pm +++ b/lib/Smokeping.pm @@ -600,15 +600,10 @@ sub target_menu($$$$;$){ my $print; my $current = shift @{$open} || ""; my @hashes; - if (not defined $tree->{_order}){ - foreach my $prop ( sort grep { ref $tree->{$_} eq 'HASH' and not /^__/} keys %{$tree}) { - push @hashes, $prop; - } - } else { - foreach my $prop (sort { $tree->{$a}{_order} <=> $tree->{$b}{_order}} - grep { ref $tree->{$_} eq 'HASH' } keys %{$tree}) { + foreach my $prop (sort {$tree->{$a}{_order} ? ($tree->{$a}{_order} <=> $tree->{$b}{_order}) : ($a cmp $b)} + grep { ref $tree->{$_} eq 'HASH' and not /^__/ } + keys %$tree) { push @hashes, $prop; - } } return wantarray ? () : "" unless @hashes; |