Reviewed-by: Bernhard Bitsch <bbitsch(a)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(a)ipfire.org>
> Signed-off-by: Adolf Belka <adolf.belka(a)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]&nbsp;</td>
>   <td align='center' $col>$temp[3]&nbsp;</td>
>   <td align='center' $col>$temp[4]&nbsp;</td>
> @@ -1153,8 +1175,8 @@ print <<END
>   </tr>
>   <tr>
>   	<td>&nbsp;</td>
> -	<td bgcolor='orange'>&nbsp;</td>
> -	<td class='base'>$Lang::tr{'ip address outside subnets'}</td>
> +	<td>&nbsp;</td>
> +	<td class='base cell-orange'>$Lang::tr{'ip address outside subnets'}</td>
>   	<td>&nbsp;</td>
>   	<td>&nbsp;</td>
>   	$dup