]> git.etc.gen.nz Git - spong.git/commitdiff
added code to preserve order of groups as in the spong.groups file in output
authorStephen L Johnson <sjohnson@monsters.org>
Thu, 14 Dec 2000 21:18:40 +0000 (21:18 +0000)
committerStephen L Johnson <sjohnson@monsters.org>
Thu, 14 Dec 2000 21:18:40 +0000 (21:18 +0000)
src/lib/Spong/HostGroups.pm
src/lib/Spong/ServiceList.pm

index da45e78aaad62a06fbe3537fb9305454e2fee820..3bd7cff6eab533903080c0ae3377da8865cb9c01 100755 (executable)
@@ -18,7 +18,7 @@
 # + add           - adds a specific host group to the instance
 #
 
-# $Id: HostGroups.pm,v 1.9 2000/10/26 19:06:52 sljohnson Exp $
+# $Id: HostGroups.pm,v 1.10 2000/12/14 21:18:40 sljohnson Exp $
 
 use Spong::Host;
 use Spong::HostList;
@@ -83,7 +83,17 @@ sub group {
    return $_[0]->{'group_hash'}->{$_[1]}; }
 
 sub group_names { 
-   return keys %{$_[0]->{'group_hash'}}; 
+   my( @grps, @ret );
+   # Try to use GROUPS_LIST list order, else use sorted group names
+   if ( defined @main::GROUPS_LIST ) { @grps = @main::GROUPS_LIST; }
+   else { @grps = (sort keys %main::GROUPS ); }
+   # Go thru list order, in order to sort the group names
+   foreach my $grp ( @grps ) {
+      if ( defined %{$_[0]->{'group_hash'}}->{$grp} ) {
+         push @ret,$grp;
+      }
+   }
+   return (@ret);
 }
 
 sub groups { 
index 74c600ae5201671b3ea5360ec7099020aa3f4fdf..c3f2a73ba956d93af97b4ddb09a1af3362555b2a 100755 (executable)
@@ -233,6 +233,7 @@ sub display_wml {
          my $name = $service->name();
          my $color = substr($service->color(),0,2);
          $color =~ tr/a-z/A-Z/;
+
          print "<b><anchor title=\"$name\">$color";
          print "<go href=\"!!WAPSPONG!!/service/$host/$name\"/>";
          print "</anchor></b> $name<br/>\n";