[calc]$CGI->{mv_data_table} = 'variable'; return;[/calc] [set table_perm]1[/set] [set page_title]Tax configuration[/set] [set help_name]tax.main[/set] [set icon_name]admin/icon_config.gif[/set] @_UI_STD_HEAD_@ [flag type=write table=variable] [perl tables=variable] return unless $CGI->{tax_format} eq 'do'; for (my $i = 0; $i < 1000; $i++) { last unless defined $CGI->{"taxarea$i"}; next if defined $CGI->{"Delete$i.x"}; my $area = $CGI->{"taxarea$i"}; my $rate = $CGI->{"taxrate$i"}; my $ship = $CGI->{"taxship$i"}; push @areas, ($area || 'new'); push @rates, "$area=$rate"; push (@taxes, $area) if $CGI->{"taxship$i"}; } $Scratch->{taxarea} = join " ", @areas; $Scratch->{taxrate} = join ",", @rates; $Scratch->{taxship} = join " ", @taxes; return; [/perl] [if scratch taxarea] [set taxarea][/set] [set taxrate][/set] [/if] [calc] @areas = grep /\S/, split /\s+/, tag_data(qw/variable Variable TAXAREA/); @rates = grep /\S/, split /,/, tag_data(qw/variable Variable TAXRATE/); my $taxship = tag_data(qw/variable Variable TAXSHIPPING/); $taxship = " $taxship "; my $i; for ($i = 0; $i < scalar @areas; $i++) { my $rate = $rates[$i]; $rate =~ s/.*=//; $rate =~ s/[^\d.]//g; my $ship = ($taxship =~ / $areas[$i] /i) ? $areas[$i] : ''; push @out, "$i\t$areas[$i]\t$rate\t$ship"; $last = $i; } if ($CGI->{addnewtax}) { $last++; push @out, "$last\tnew"; } $Scratch->{its} = join "\n", @out; return; [/calc]
@_UI_STD_FOOTER_@