[1/2] dhcp.cgi: Fix for bug#10629 - update bgcolor to css
Commit Message
- bgcolor was deprecated in HTML 4.01 and is not supported by HTML 5
- The orange colour for IP's that are outside the IPFire green and blue subnets does not
work on any browser I am using.
- I used the CSS approach that @Leo used in the Zone Configuration cgi page
- This patch changes all existing bgcolor entries to the css based background-color
- Tested on my vm testbed and confirmed to work. The Orange colour for IP's outside of
the subnet now shows up.
Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
html/cgi-bin/dhcp.cgi | 44 ++++++++++++++++++++++++++++++++-----------
1 file changed, 33 insertions(+), 11 deletions(-)
Comments
Reviewed-by: Bernhard Bitsch <bbitsch@ipfire.org>
Am 13.02.2023 um 18:55 schrieb Adolf Belka:
> - bgcolor was deprecated in HTML 4.01 and is not supported by HTML 5
> - The orange colour for IP's that are outside the IPFire green and blue subnets does not
> work on any browser I am using.
> - I used the CSS approach that @Leo used in the Zone Configuration cgi page
> - This patch changes all existing bgcolor entries to the css based background-color
> - Tested on my vm testbed and confirmed to work. The Orange colour for IP's outside of
> the subnet now shows up.
>
> Tested-by: Adolf Belka <adolf.belka@ipfire.org>
> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
> ---
> html/cgi-bin/dhcp.cgi | 44 ++++++++++++++++++++++++++++++++-----------
> 1 file changed, 33 insertions(+), 11 deletions(-)
>
> diff --git a/html/cgi-bin/dhcp.cgi b/html/cgi-bin/dhcp.cgi
> index 125713285..2d162b204 100644
> --- a/html/cgi-bin/dhcp.cgi
> +++ b/html/cgi-bin/dhcp.cgi
> @@ -113,6 +113,27 @@ foreach my $itf (@ITFs) {
> &General::readhash("${General::swroot}/time/settings", \%timesettings);
> &General::readhash("/srv/web/ipfire/html/themes/ipfire/include/colors.txt", \%color);
>
> +###--- HTML HEAD ---###
> +my $extraHead = <<END
> +<style>
> + .row-color20 {
> + background-color: $color{'color20'};
> + }
> + .row-color22 {
> + background-color: $color{'color22'};
> + }
> + .row-colouryellow {
> + background-color: $Header::colouryellow;
> + }
> + .cell-orange {
> + background-color: orange;
> + }
> +</style>
> +END
> +;
> +###--- END HTML HEAD ---###
> +
> +
> #Get GUI values
> &Header::getcgihash(\%dhcpsettings);
>
> @@ -547,7 +568,8 @@ if ($dhcpsettings{'ACTION'} eq '' ) { # First launch from GUI
> $dhcpsettings{'ADVOPT_ENABLED'} = 'on';
> }
>
> -&Header::openpage($Lang::tr{'dhcp configuration'}, 1, '');
> +### START PAGE ###
> +&Header::openpage($Lang::tr{'dhcp configuration'}, 1, $extraHead);
> &Header::openbigbox('100%', 'left', '', $errormessage);
>
> if ($errormessage) {
> @@ -843,11 +865,11 @@ foreach my $line (@current1) {
> }
>
> if ($dhcpsettings{'KEY1'} eq $key) {
> - print "<tr bgcolor='${Header::colouryellow}'>";
> + print "<tr class='row-colouryellow'>";
> } elsif ($key % 2) {
> - print "<tr bgcolor='$color{'color22'}'>";
> + print "<tr class='row-color22'>";
> } else {
> - print "<tr bgcolor='$color{'color20'}'>";
> + print "<tr class='row-color20'>";
> }
>
> print <<END
> @@ -1069,13 +1091,13 @@ foreach my $line (@current2) {
>
> if ($dhcpsettings{'KEY2'} eq $key) {
> print "<tr>";
> - $col="bgcolor='${Header::colouryellow}'";
> + $col="class='row-colouryellow'";
> } elsif ($key % 2) {
> print "<tr>";
> - $col="bgcolor='$color{'color20'}'";
> + $col="class='row-color20'";
> } else {
> print "<tr>";
> - $col="bgcolor='$color{'color22'}'";
> + $col="class='row-color22'";
> }
> my $TAG0 = '';
> my $TAG1 = '';
> @@ -1091,12 +1113,12 @@ foreach my $line (@current2) {
> $TAG3 = '</b>';
> }
> if ($ipoutside{$temp[1]} > 0) {
> - $TAG4 = "bgcolor='orange'" if ($dhcpsettings{'KEY2'} ne $key);
> + $TAG4 = "class='cell-orange'" if ($dhcpsettings{'KEY2'} ne $key);
> }
>
> print <<END
> <td align='center' $col>$TAG2$temp[0]$TAG3</td>
> -<td align='center' $col $TAG4>$TAG0$temp[1]$TAG1</td>
> +<td align='center' $TAG4 $col>$TAG0$temp[1]$TAG1</td>
> <td align='center' $col>$temp[6] </td>
> <td align='center' $col>$temp[3] </td>
> <td align='center' $col>$temp[4] </td>
> @@ -1153,8 +1175,8 @@ print <<END
> </tr>
> <tr>
> <td> </td>
> - <td bgcolor='orange'> </td>
> - <td class='base'>$Lang::tr{'ip address outside subnets'}</td>
> + <td> </td>
> + <td class='base cell-orange'>$Lang::tr{'ip address outside subnets'}</td>
> <td> </td>
> <td> </td>
> $dup
@@ -113,6 +113,27 @@ foreach my $itf (@ITFs) {
&General::readhash("${General::swroot}/time/settings", \%timesettings);
&General::readhash("/srv/web/ipfire/html/themes/ipfire/include/colors.txt", \%color);
+###--- HTML HEAD ---###
+my $extraHead = <<END
+<style>
+ .row-color20 {
+ background-color: $color{'color20'};
+ }
+ .row-color22 {
+ background-color: $color{'color22'};
+ }
+ .row-colouryellow {
+ background-color: $Header::colouryellow;
+ }
+ .cell-orange {
+ background-color: orange;
+ }
+</style>
+END
+;
+###--- END HTML HEAD ---###
+
+
#Get GUI values
&Header::getcgihash(\%dhcpsettings);
@@ -547,7 +568,8 @@ if ($dhcpsettings{'ACTION'} eq '' ) { # First launch from GUI
$dhcpsettings{'ADVOPT_ENABLED'} = 'on';
}
-&Header::openpage($Lang::tr{'dhcp configuration'}, 1, '');
+### START PAGE ###
+&Header::openpage($Lang::tr{'dhcp configuration'}, 1, $extraHead);
&Header::openbigbox('100%', 'left', '', $errormessage);
if ($errormessage) {
@@ -843,11 +865,11 @@ foreach my $line (@current1) {
}
if ($dhcpsettings{'KEY1'} eq $key) {
- print "<tr bgcolor='${Header::colouryellow}'>";
+ print "<tr class='row-colouryellow'>";
} elsif ($key % 2) {
- print "<tr bgcolor='$color{'color22'}'>";
+ print "<tr class='row-color22'>";
} else {
- print "<tr bgcolor='$color{'color20'}'>";
+ print "<tr class='row-color20'>";
}
print <<END
@@ -1069,13 +1091,13 @@ foreach my $line (@current2) {
if ($dhcpsettings{'KEY2'} eq $key) {
print "<tr>";
- $col="bgcolor='${Header::colouryellow}'";
+ $col="class='row-colouryellow'";
} elsif ($key % 2) {
print "<tr>";
- $col="bgcolor='$color{'color20'}'";
+ $col="class='row-color20'";
} else {
print "<tr>";
- $col="bgcolor='$color{'color22'}'";
+ $col="class='row-color22'";
}
my $TAG0 = '';
my $TAG1 = '';
@@ -1091,12 +1113,12 @@ foreach my $line (@current2) {
$TAG3 = '</b>';
}
if ($ipoutside{$temp[1]} > 0) {
- $TAG4 = "bgcolor='orange'" if ($dhcpsettings{'KEY2'} ne $key);
+ $TAG4 = "class='cell-orange'" if ($dhcpsettings{'KEY2'} ne $key);
}
print <<END
<td align='center' $col>$TAG2$temp[0]$TAG3</td>
-<td align='center' $col $TAG4>$TAG0$temp[1]$TAG1</td>
+<td align='center' $TAG4 $col>$TAG0$temp[1]$TAG1</td>
<td align='center' $col>$temp[6] </td>
<td align='center' $col>$temp[3] </td>
<td align='center' $col>$temp[4] </td>
@@ -1153,8 +1175,8 @@ print <<END
</tr>
<tr>
<td> </td>
- <td bgcolor='orange'> </td>
- <td class='base'>$Lang::tr{'ip address outside subnets'}</td>
+ <td> </td>
+ <td class='base cell-orange'>$Lang::tr{'ip address outside subnets'}</td>
<td> </td>
<td> </td>
$dup