]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - config/cfgroot/header.pl
Remove /var/ipfire/firebuild.
[people/teissler/ipfire-2.x.git] / config / cfgroot / header.pl
index a3949cba34b42ba51fbff24087e7cbe0caf705ee..299d7664599290d5a7a4c828746d58c820d0d633 100644 (file)
@@ -12,6 +12,7 @@
 package Header;
 
 use CGI();
+use HTML::Entities();
 use Socket;
 use Time::Local;
 
@@ -87,15 +88,6 @@ if ( -d "/var/ipfire/langs/${language}/" ) {
     };
 };
 
-### Read IPFire Buildversion
-$FIREBUILD = "File not found: firebuild\n";
-if (open(MYFile, "<${swroot}/firebuild")) {
-    $FIREBUILD = <MYFile>;
-    chomp($FIREBUILD);
-    $FIREBUILD = "(Build: $FIREBUILD)";
-    close(MYFile);
-};
-
 require "${swroot}/langs/en.pl";
 require "${swroot}/langs/${language}.pl";
 eval `/bin/cat /srv/web/ipfire/html/themes/$settings{'THEME'}/include/functions.pl`;
@@ -148,23 +140,23 @@ sub genmenu {
     eval `/bin/cat /var/ipfire/menu.d/*.menu`;
     eval `/bin/cat /var/ipfire/menu.d/*.main`;
 
-    if (! blue_used() && ! orange_used()) {
-       $menu->{'05.firewall'}{'subMenu'}->{'40.dmz'}{'enabled'} = 0;
-    }
     if (! blue_used()) {
-       $menu->{'05.firewall'}{'subMenu'}->{'30.wireless'}{'enabled'} = 0;
+       $menu->{'05.firewall'}{'subMenu'}->{'60.wireless'}{'enabled'} = 0;
     }
     if ( $ethsettings{'CONFIG_TYPE'} =~ /^(1|2|3|4)$/ && $ethsettings{'RED_TYPE'} eq 'STATIC' ) {
        $menu->{'03.network'}{'subMenu'}->{'70.aliases'}{'enabled'} = 1;
     }
+
+    if (&General::RedIsWireless()) {
+        $menu->{'01.system'}{'subMenu'}->{'21.wlan'}{'enabled'} = 1;
+    }
 }
 
 sub showhttpheaders
 {
-       print "Pragma: no-cache\n";
-       print "Cache-control: no-cache\n";
+       print "Cache-control: private\n";
        print "Connection: close\n";
-       print "Content-type: text/html\n\n";
+       print "Content-type: text/html; charset=UTF-8\n\n";
 }
 
 sub is_menu_visible($) {
@@ -302,16 +294,16 @@ sub IpInSubnet
     return (($ip >= $start) && ($ip <= $end));
 }
 
-sub cleanhtml
-{
+sub escape($) {
+       my $s = shift;
+       return HTML::Entities::encode_entities($s);
+}
+
+sub cleanhtml {
        my $outstring =$_[0];
        $outstring =~ tr/,/ / if not defined $_[1] or $_[1] ne 'y';
-       $outstring =~ s/&/&amp;/g;
-       $outstring =~ s/\'/&#039;/g;
-       $outstring =~ s/\"/&quot;/g; #" This is just a workaround for the syntax highlighter
-       $outstring =~ s/</&lt;/g;
-       $outstring =~ s/>/&gt;/g;
-       return $outstring;
+
+       return escape($outstring);
 }
 
 sub connectionstatus
@@ -331,16 +323,18 @@ sub connectionstatus
 
     my ($timestr, $connstate);
 
-               my $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'idle'} $profileused</span>";
+               my $connstate = "<span>$Lang::tr{'idle'} $profileused</span>";
 
                if (-e "${General::swroot}/red/active") {
                        $timestr = &General::age("${General::swroot}/red/active");
-                       $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'connected'} - (<span class='ipcop_StatusBigRed'>$timestr</span>) $profileused</span>";
+                       $connstate = "<span>$Lang::tr{'connected'} - (<span>$timestr</span>) $profileused</span>";
                } else {
-                       if (($pppsettings{'RECONNECTION'} eq "dialondemand") && ( -e "${General::swroot}/red/dial-on-demand")) {
-                               $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'dod waiting'} $profileused</span>";
+                 if ((open(KEEPCONNECTED, "</var/ipfire/red/keepconnected") == false) && ($pppsettings{'RECONNECTION'} eq "persistent")) {
+                               $connstate = "<span>$Lang::tr{'connection closed'} $profileused</span>";
+      } elsif (($pppsettings{'RECONNECTION'} eq "dialondemand") && ( -e "${General::swroot}/red/dial-on-demand")) {
+                               $connstate = "<span>$Lang::tr{'dod waiting'} $profileused</span>";
                        } else {
-                               $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'connecting'} $profileused</span>" if (system("ps -ef | grep -q '[p]ppd'"));
+                               $connstate = "<span>$Lang::tr{'connecting'} $profileused</span>" if (system("ps -ef | grep -q '[p]ppd'"));
                        }
                }
                
@@ -351,7 +345,7 @@ sub CheckSortOrder {
 #Sorting of allocated leases
     if ($ENV{'QUERY_STRING'} =~ /^IPADDR|^ETHER|^HOSTNAME|^ENDTIME/ ) {
         my $newsort=$ENV{'QUERY_STRING'};
-        &readhash("${swroot}/dhcp/settings", \%dhcpsettings);
+        &General::readhash("${swroot}/dhcp/settings", \%dhcpsettings);
         $act=$dhcpsettings{'SORT_LEASELIST'};
         #Reverse actual ?
         if ($act =~ $newsort) {
@@ -360,7 +354,7 @@ sub CheckSortOrder {
         };
 
         $dhcpsettings{'SORT_LEASELIST'}=$newsort;
-        &writehash("${swroot}/dhcp/settings", \%dhcpsettings);
+        &General::writehash("${swroot}/dhcp/settings", \%dhcpsettings);
         $dhcpsettings{'ACTION'} = 'SORT';  # avoid the next test "First lauch"
     }
 
@@ -492,3 +486,29 @@ sub leasesort {
        }
     }
 }
+
+sub colorize {
+       my $string =  $_[0];
+       my @array = split(/\//,$string);
+       my $string2 = $array[0];
+
+       if ( $string eq "*" or $string eq "" ){
+               return $string;
+       } elsif ( $string =~ "ipsec" ){
+               return "<font color='".${Header::colourvpn}."'>".$string."</font>";
+       } elsif ( $string =~ "tun" ){
+               return "<font color='".${Header::colourovpn}."'>".$string."</font>";
+       } elsif ( $string =~ "lo" or $string =~ "127.0.0.0" ){
+               return "<font color='".${Header::colourfw}."'>".$string."</font>";
+       } elsif ( $string =~ $ethsettings{'GREEN_DEV'} or &IpInSubnet($string2,$ethsettings{'GREEN_NETADDRESS'},$ethsettings{'GREEN_NETMASK'}) ){
+               return "<font color='".${Header::colourgreen}."'>".$string."</font>";
+       } elsif (  $string =~ "ppp0" or $string =~ $ethsettings{'RED_DEV'} or $string =~ "0.0.0.0" or $string =~ $ethsettings{'RED_ADDRESS'} ){
+               return "<font color='".${Header::colourred}."'>".$string."</font>";
+       } elsif ( $ethsettings{'CONFIG_TYPE'}>1 and ( $string =~ $ethsettings{'BLUE_DEV'} or &IpInSubnet($string2,$ethsettings{'BLUE_NETADDRESS'},$ethsettings{'BLUE_NETMASK'}) )){
+               return "<font color='".${Header::colourblue}."'>".$string."</font>";
+       } elsif ( $ethsettings{'CONFIG_TYPE'}>2 and ( $string =~ $ethsettings{'ORANGE_DEV'} or &IpInSubnet($string2,$ethsettings{'ORANGE_NETADDRESS'},$ethsettings{'ORANGE_NETMASK'}) )){
+               return "<font color='".${Header::colourorange}."'>".$string."</font>";
+       } else {
+               return $string;
+       }
+}