]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - html/cgi-bin/network.cgi
Updated samba to stable 30
[people/pmueller/ipfire-2.x.git] / html / cgi-bin / network.cgi
index 70bdf35c685b67421c611bd267b0c35a4ecadbe7..b191d43e45684bc6000f5cd616fa98857cc960b9 100644 (file)
@@ -1,18 +1,29 @@
 #!/usr/bin/perl
-#
-# SmoothWall CGIs
-#
-# This code is distributed under the terms of the GPL
-#
-# (c) The SmoothWall Team
-#
-#
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
 
 use strict;
 
 # enable only the following on debugging purpose
-use warnings;
-use CGI::Carp 'fatalsToBrowser';
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
 
 require '/var/ipfire/general-functions.pl';
 require "${General::swroot}/lang.pl";
@@ -24,6 +35,7 @@ my %pppsettings=();
 my %netsettings=();
 my @cgiparams=();
 my @graphs=();
+my @pings=();
 my $iface='';
 my %dhcpsettings=();
 my %dhcpinfo=();
@@ -39,35 +51,54 @@ $cgiparams[1] = '' unless defined $cgiparams[1];
 
 if ($cgiparams[1] =~ /red/) {
        &Header::openpage($Lang::tr{'network traffic graphs external'}, 1, '');
-       push (@graphs, ("RED"));
-       push (@graphs, ('lq'));
-} else {
+       push (@graphs, ($netsettings{'RED_DEV'}));
+       if (-e "/var/log/rrd/collectd/localhost/interface/if_octets-ipsec0.rrd") {push (@graphs, ("ipsec0"));}
+}elsif ($cgiparams[1] =~ /other/) {
+       &Header::openpage($Lang::tr{'network traffic graphs others'}, 1, '');
+       my @pinggraphs = `ls -dA /var/log/rrd/collectd/localhost/ping/*`;
+       foreach (@pinggraphs){
+               $_ =~ /(.*)\/ping\/ping-(.*)\.rrd/;
+               push(@pings,$2);
+       }
+       push (@graphs, ("fwhits"));
+}else {
        &Header::openpage($Lang::tr{'network traffic graphs internal'}, 1, '');
-       push (@graphs, ('GREEN'));
+       push (@graphs, ($netsettings{'GREEN_DEV'}));
        if ($netsettings{'BLUE_DEV'}) {
-               push (@graphs, ('BLUE')); }
+               push (@graphs, ($netsettings{'BLUE_DEV'})); }
        if ($netsettings{'ORANGE_DEV'}) {
-               push (@graphs, ('ORANGE')); }
+               push (@graphs, ($netsettings{'ORANGE_DEV'})); }
 }
 
 &Header::openbigbox('100%', 'left');
 
+foreach my $graphname (@pings) {
+
+  if ($graphname eq "gateway" )
+  {  &Graphs::updatepinggraph("day","gateway"); }
+  else
+  {  &Graphs::updatepinggraph("day","$graphname"); }
+
+       &Header::openbox('100%', 'center', "$graphname $Lang::tr{'graph'}");
+       if (-e "$Header::graphdir/${graphname}-day.png") {
+               my $ftime = localtime((stat("$Header::graphdir/${graphname}-day.png"))[9]);
+               print "<center><b>$Lang::tr{'the statistics were last updated at'}: $ftime</b></center><br />\n";
+               print "<a href='/cgi-bin/graphs.cgi?graph=$graphname&graph=ping'>";
+               print "<img alt='' src='/graphs/${graphname}-day.png' border='0' />";
+               print "</a>";
+       } else {
+               print $Lang::tr{'no information available'};
+       }
+       print "<br />\n";
+       &Header::closebox();
+}
+
 foreach my $graphname (@graphs) {
 
-  if ($graphname eq "lq" )
-  {
-  &Graphs::updatelqgraph("day");
-  &Graphs::updatelqgraph("week");
-  &Graphs::updatelqgraph("month");
-  &Graphs::updatelqgraph("year");
-  }
+  if ($graphname eq "fwhits" )
+  {  &Graphs::updatefwhitsgraph("day");  }
   else
-  {
-  &Graphs::updateifgraph($graphname, "day");
-  &Graphs::updateifgraph($graphname, "week");
-  &Graphs::updateifgraph($graphname, "month");
-  &Graphs::updateifgraph($graphname, "year");
-  }
+  {  &Graphs::updateifgraph($graphname, "day");  }
   
        &Header::openbox('100%', 'center', "$graphname $Lang::tr{'graph'}");
        if (-e "$Header::graphdir/${graphname}-day.png") {
@@ -85,7 +116,7 @@ foreach my $graphname (@graphs) {
 
 if ($cgiparams[1] =~ /red/) {
        
-       if ( $netsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/  && $netsettings{'RED_TYPE'} eq "DHCP") {
+       if ( $netsettings{'CONFIG_TYPE'} =~ /^(1|2|3|4)$/  && $netsettings{'RED_TYPE'} eq "DHCP") {
 
                &Header::openbox('100%', 'left', "RED $Lang::tr{'dhcp configuration'}");
                if (-s "${General::swroot}/dhcpc/dhcpcd-$netsettings{'RED_DEV'}.info") {