Index: ossp-pkg/flow2rrd/flow2rrd.pl RCS File: /v/ossp/cvs/ossp-pkg/flow2rrd/flow2rrd.pl,v rcsdiff -q -kk '-r1.19' '-r1.20' -u '/v/ossp/cvs/ossp-pkg/flow2rrd/flow2rrd.pl,v' 2>/dev/null --- flow2rrd.pl 2004/12/30 15:56:00 1.19 +++ flow2rrd.pl 2004/12/30 16:17:25 1.20 @@ -835,7 +835,7 @@ if ($opt->{-cgi}) { my $cgi = new CGI; - # error handler + # CGI error handler $SIG{__DIE__} = sub { my ($msg) = @_; my $hint = ''; @@ -871,8 +871,9 @@ # output Cascading Style Sheet (CSS) # + # define CSS content my $css = q{ - body { + BODY { background: #c0c0c0; color: #ffffff; font-family: helvetica,arial,tahoma,verdana,sans-serif; @@ -924,7 +925,7 @@ } }; - # send out page + # send out CSS data $css =~ s|^ ||mg; print STDOUT $cgi->header( -type => 'text/css', @@ -943,7 +944,7 @@ # generate graph image my $rc = system("GATEWAY_INTERFACE=none $0 --config=\"$opt->{-config}\" --graph $graph"); - if ($rc != 0) { # or not -s $tmpfile) { + if ($rc != 0 or not -s $tmpfile) { die "failed to generate graph image: $!"; } @@ -971,6 +972,7 @@ my $html = new String::Divert; $html->overload(1); + # generate HTML page skeleton $html .= "\n" . " \n" . @@ -981,10 +983,13 @@ " \n" . "\n"; + # generate HTML header $html >> "head"; + $html .= "OSSP flow2rrd: Real-Time Network Statistics\n"; $html .= "url(-relative => 1)."?css=1\">\n"; $html << 1; + # generate HTML body page skeleton $html >> "body"; $html .= "\n"; $html .= " \n"; @@ -1005,6 +1010,7 @@ $html .= "
\n"; $html << 1; + # generate page header & footer $html >> "header"; $html .= "url(-relative => 1)."\">Real-Time Network Statistics"; $html << 1; @@ -1012,6 +1018,7 @@ $html .= "{-proghome}\">$my->{-progname} $my->{-progvers}"; $html << 1; + # determine input parameters (and their defaults) my $width = ($cgi->param("width") || "800"); my $height = ($cgi->param("height") || "200"); my $start = ($cgi->param("start") || "-48h"); @@ -1019,6 +1026,7 @@ my $ulimit = ($cgi->param("ulimit") || "0"); my $llimit = ($cgi->param("llimit") || "0"); + # generate page canvas skeleton $html >> "canvas"; $html .= $cgi->start_form( -method => "POST", @@ -1041,14 +1049,15 @@ $html .= $cgi->end_form(); $html << 1; + # generate page view part my $img = $cgi->url(-relative => 1) . "?graph=$explore\@$width:$height:$start:$end:$ulimit:$llimit"; $html >> "view"; $html .= "\n"; $html << 1; + # generate page toolbar part $html >> "toolbar"; $html .= "\n"; - $html .= ""; - $html .= ""; - $html .= ""; - $html .= " \n"; $html .= " \n"; $html .= " \n"; - $html .= "
Graph Size:" . $cgi->textfield( -name => 'width', -default => $width, @@ -1062,7 +1071,6 @@ -maxlength => 4, -class => 'textfield', ) . "(pixels)Examples: '400 x 100', '800 x 200', ...
Data X-Range:" . $cgi->textfield( -name => 'start', -default => $start, @@ -1076,7 +1084,6 @@ -maxlength => 20, -class => 'textfield', ) . "(time)Examples: '-2d - now', '24-Dec-2004 - +48h', ...
Data Y-Range:" . $cgi->textfield( -name => 'ulimit', -default => $ulimit, @@ -1090,15 +1097,12 @@ -maxlength => 10, -class => 'textfield', ) . "(Bit/s)Examples: '2K - -1K', '4M - 2M', ...
". $cgi->submit(-name => "Update Graph", -class => "submit") . "
\n"; $html << 1; - # send out page $html->undivert(0); print STDOUT $cgi->header( @@ -1119,6 +1123,7 @@ my $html = new String::Divert; $html->overload(1); + # generate HTML page skeleton $html .= "\n" . " \n" . @@ -1129,10 +1134,13 @@ " \n" . "\n"; + # generate HTML header $html >> "head"; + $html .= "OSSP flow2rrd: Real-Time Network Statistics\n"; $html .= "url(-relative => 1)."?css=1\">\n"; $html << 1; + # generate HTML body page skeleton $html >> "body"; $html .= "\n"; $html .= " \n"; @@ -1153,6 +1161,7 @@ $html .= "
\n"; $html << 1; + # generate page header & footer $html >> "header"; $html .= "url(-relative => 1)."\">Real-Time Network Statistics"; $html << 1; @@ -1160,6 +1169,7 @@ $html .= "{-proghome}\">$my->{-progname} $my->{-progvers}"; $html << 1; + # generate page canvas structure $html >> "canvas"; $html .= "\n"; $html .= " \n"; @@ -1172,6 +1182,7 @@ $html .= "
\n"; $html << 1; + # generate page canvas cells for (my $i = 0; $i < @{$cfg->{'Host'}}; $i++) { my $host = $cfg->{'Host'}->[$i]; $html >> "col$i";