]> git.etc.gen.nz Git - spong.git/commitdiff
fixed problem with code handling host group 'display' attribute spong-2_7_0
authorStephen L Johnson <sjohnson@monsters.org>
Thu, 26 Oct 2000 19:06:52 +0000 (19:06 +0000)
committerStephen L Johnson <sjohnson@monsters.org>
Thu, 26 Oct 2000 19:06:52 +0000 (19:06 +0000)
src/lib/Spong/HostGroups.pm

index 78d4cac30f6313bd5616937c1f2898e7423ce294..da45e78aaad62a06fbe3537fb9305454e2fee820 100755 (executable)
@@ -18,6 +18,8 @@
 # + add           - adds a specific host group to the instance
 #
 
+# $Id: HostGroups.pm,v 1.9 2000/10/26 19:06:52 sljohnson Exp $
+
 use Spong::Host;
 use Spong::HostList;
 
@@ -49,7 +51,8 @@ sub new {
    } elsif ( $grps eq "ALL" ) {
       foreach $group ( keys %main::GROUPS ) {
          next if $group eq 'all' && ! $main::HOSTGROUPSALL;
-         next if $group->{'display'} == 0;   # skip if display attr = 0 
+         next if ( defined $main::GROUPS{$group}->{'display'} &&
+                   $main::GROUPS{$group}->{'display'} == 0);
          my $object = Spong::HostList->new( $group );
          if( $object ) { $groups{$group} = $object; }
       }
@@ -98,6 +101,7 @@ sub add {
    $self->{'group_hash'}->{$name} = $hostlist;
 }
 
+
 # Display routines.  Does both text and html, does rely on both the Host and
 # Service objects for some help.
 #
@@ -110,6 +114,7 @@ sub display {
 
    $self->display_text( $view ) if $type eq "text";
    $self->display_html( $view ) if $type eq "html";
+   $self->display_wml( $view ) if $type eq "wml";
 }
 
 # This displays a summary of all the hosts in this list in a text format 
@@ -480,4 +485,35 @@ sub display_problems {
 }
 
 
+# This displays a summary of all the hosts in this list in an WML format
+# suitable for displaying on WAP enabled devices
+
+sub display_wml { 
+   my( $self, $format ) = @_;
+
+   if( $format eq "brief" ) {
+
+      # Go through each HostList
+      foreach $hostlist ( $self->groups() ) {
+         my $color = substr($hostlist->summary_color(),0,2);
+         $color =~ tr/a-z/A-Z/;
+         my $name = $hostlist->name();
+         print "<b><anchor title=\"$name\">$color";
+         print "<go href=\"!!WAPSPONG!!/grp-summary/$name\"/></anchor></b> ";
+         print $main::GROUPS{$hostlist->name()}->{'name'}, "<br/>\n";
+      }
+
+   }
+   elsif( $format eq "standard" ) {
+
+      # Go through each HostList
+      foreach $group ( $self->groups() ) {
+         print "<b> ",$main::GROUPS{$group->name()}->{'name'}, " </b><br/><br/>\n";
+         $group->display_wml("standard");
+         print "<br/>\n";
+      }
+   }
+}
+
+
 1;