]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - config/cfgroot/header.pl
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into next
[ipfire-2.x.git] / config / cfgroot / header.pl
index 299d7664599290d5a7a4c828746d58c820d0d633..974c4d8b22458ab33d1a65044858804f040af9cc 100644 (file)
@@ -12,6 +12,7 @@
 package Header;
 
 use CGI();
+use File::Basename;
 use HTML::Entities();
 use Socket;
 use Time::Local;
@@ -44,6 +45,7 @@ my %menuhash = ();
 my $menu = \%menuhash;
 %settings = ();
 %ethsettings = ();
+%pppsettings = ();
 @URI = ();
 
 ### Make sure this is an SSL request
@@ -56,12 +58,13 @@ if ($ENV{'SERVER_ADDR'} && $ENV{'HTTPS'} ne 'on') {
 ### Initialize environment
 &General::readhash("${swroot}/main/settings", \%settings);
 &General::readhash("${swroot}/ethernet/settings", \%ethsettings);
-$language = $settings{'LANGUAGE'};
+&General::readhash("${swroot}/ppp/settings", \%pppsettings);
 $hostname = $settings{'HOSTNAME'};
 $hostnameintitle = 0;
 
 ### Initialize language
-if ($language =~ /^(\w+)$/) {$language = $1;}
+require "${swroot}/lang.pl";
+$language = &Lang::FindWebLanguage($settings{"LANGUAGE"});
 
 ### Read English Files
 if ( -d "/var/ipfire/langs/en/" ) {
@@ -88,9 +91,11 @@ if ( -d "/var/ipfire/langs/${language}/" ) {
     };
 };
 
+our $THEME_NAME = $settings{'THEME'};
+
 require "${swroot}/langs/en.pl";
 require "${swroot}/langs/${language}.pl";
-eval `/bin/cat /srv/web/ipfire/html/themes/$settings{'THEME'}/include/functions.pl`;
+eval `/bin/cat /srv/web/ipfire/html/themes/$THEME_NAME/include/functions.pl`;
 
 sub orange_used () {
     if ($ethsettings{'CONFIG_TYPE'} =~ /^[24]$/) {
@@ -137,6 +142,8 @@ sub genmenu {
     my %sublogshash = ();
     my $sublogs = \%sublogshash;
 
+  if ( -e "/var/ipfire/main/gpl_accepted") {
+
     eval `/bin/cat /var/ipfire/menu.d/*.menu`;
     eval `/bin/cat /var/ipfire/menu.d/*.main`;
 
@@ -150,12 +157,16 @@ sub genmenu {
     if (&General::RedIsWireless()) {
         $menu->{'01.system'}{'subMenu'}->{'21.wlan'}{'enabled'} = 1;
     }
+
+    if ( $ethsettings{'RED_TYPE'} eq "PPPOE" && $pppsettings{'MONPORT'} ne "" ) {
+        $menu->{'02.status'}{'subMenu'}->{'74.modem-status'}{'enabled'} = 1;
+    }
+  }
 }
 
 sub showhttpheaders
 {
        print "Cache-control: private\n";
-       print "Connection: close\n";
        print "Content-type: text/html; charset=UTF-8\n\n";
 }
 
@@ -252,7 +263,7 @@ sub getcgihash {
        return if ($ENV{'REQUEST_METHOD'} ne 'POST');
        if (!$params->{'wantfile'}) {
                $CGI::DISABLE_UPLOADS = 1;
-               $CGI::POST_MAX        = 512 * 1024;
+               $CGI::POST_MAX        = 1024 * 1024;
        } else {
                $CGI::POST_MAX = 10 * 1024 * 1024;
        }
@@ -364,16 +375,16 @@ sub PrintActualLeases
 {
     &openbox('100%', 'left', $tr{'current dynamic leases'});
     print <<END
-<table width='100%'>
+<table width='100%' class='tbl'>
 <tr>
-<td width='25%' align='center'><a href='$ENV{'SCRIPT_NAME'}?IPADDR'><b>$tr{'ip address'}</b></a></td>
-<td width='25%' align='center'><a href='$ENV{'SCRIPT_NAME'}?ETHER'><b>$tr{'mac address'}</b></a></td>
-<td width='20%' align='center'><a href='$ENV{'SCRIPT_NAME'}?HOSTNAME'><b>$tr{'hostname'}</b></a></td>
-<td width='25%' align='center'><a href='$ENV{'SCRIPT_NAME'}?ENDTIME'><b>$tr{'lease expires'} (local time d/m/y)</b></a></td>
-<td width='5%' align='center'><b>Add to fix leases<b></td>
+<th width='25%' align='center'><a href='$ENV{'SCRIPT_NAME'}?IPADDR'><b>$tr{'ip address'}</b></a></th>
+<th width='25%' align='center'><a href='$ENV{'SCRIPT_NAME'}?ETHER'><b>$tr{'mac address'}</b></a></th>
+<th width='20%' align='center'><a href='$ENV{'SCRIPT_NAME'}?HOSTNAME'><b>$tr{'hostname'}</b></a></th>
+<th width='25%' align='center'><a href='$ENV{'SCRIPT_NAME'}?ENDTIME'><b>$tr{'lease expires'} (local time d/m/y)</b></a></th>
+<th width='5%' align='center'><b>Add to fix leases<b></th>
 </tr>
 END
-    ;
+;
 
     open(LEASES,"/var/state/dhcp/dhcpd.leases") or die "Can't open dhcpd.leases";
     while ($line = <LEASES>) {
@@ -415,24 +426,27 @@ END
     close(LEASES);
 
     my $id = 0;
+    my $col="";
     foreach my $key (sort leasesort keys %entries) {
        print "<form method='post' action='/cgi-bin/dhcp.cgi'>\n";
        my $hostname = &cleanhtml($entries{$key}->{HOSTNAME},"y");
 
        if ($id % 2) {
-           print "<tr bgcolor='$table1colour'>"; 
+           print "<tr>";
+           $col="bgcolor='$table1colour'";
        }
        else {
-           print "<tr bgcolor='$table2colour'>"; 
+           print "<tr>";
+           $col="bgcolor='$table2colour'";
        }
 
        print <<END
-<td align='center'><input type='hidden' name='FIX_ADDR' value='$entries{$key}->{IPADDR}' />$entries{$key}->{IPADDR}</td>
-<td align='center'><input type='hidden' name='FIX_MAC' value='$entries{$key}->{ETHER}' />$entries{$key}->{ETHER}</td>
-<td align='center'><input type='hidden' name='FIX_REMARK' value='$hostname' />&nbsp;$hostname</td>
-<td align='center'><input type='hidden' name='FIX_ENABLED' value='on' />
+<td align='center' $col><input type='hidden' name='FIX_ADDR' value='$entries{$key}->{IPADDR}' />$entries{$key}->{IPADDR}</td>
+<td align='center' $col><input type='hidden' name='FIX_MAC' value='$entries{$key}->{ETHER}' />$entries{$key}->{ETHER}</td>
+<td align='center' $col><input type='hidden' name='FIX_REMARK' value='$hostname' />&nbsp;$hostname</td>
+<td align='center' $col><input type='hidden' name='FIX_ENABLED' value='on' />
 END
-       ;
+;
 
        ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $dst) = localtime ($entries{$key}->{ENDTIME});
        $enddate = sprintf ("%02d/%02d/%d %02d:%02d:%02d",$mday,$mon+1,$year+1900,$hour,$min,$sec);
@@ -443,10 +457,10 @@ END
            print "$enddate";
        }
        print <<END
-<td><input type='hidden' name='ACTION' value='$Lang::tr{'add'}2' /><input type='submit' name='SUBMIT' value='$Lang::tr{'add'}' />
-</td></td></tr></form>
+</td><td $col><input type='hidden' name='ACTION' value='$Lang::tr{'add'}2' /><input type='submit' name='SUBMIT' value='$Lang::tr{'add'}' />
+</td></tr></form>
 END
-       ;
+;
        $id++;
     }