X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/aacd5750af1d2371dff2abd2db5f6f5f0cca02e6..9f055edb25f912aa2cb3dfd8e8a4cf20703f75a2:/bin/mozilla/common.pl diff --git a/bin/mozilla/common.pl b/bin/mozilla/common.pl index 4ca0b8a0c..67b9e076f 100644 --- a/bin/mozilla/common.pl +++ b/bin/mozilla/common.pl @@ -16,9 +16,14 @@ use SL::Common; sub save_form { $lxdebug->enter_sub(); - my $old_form = ""; - map({ $old_form .= "$_=" . $form->escape($form->{$_}) . '&'; } keys(%{$form})); - chop($old_form); + my (@names, @values); + foreach my $key (keys(%{$form})) { + push(@names, "\$form->{\"$key\"}"); + push(@values, $form->{$key}); + } + my $dumper = Data::Dumper->new(\@values, \@names); + $dumper->Indent(0); + my $old_form = $dumper->Dump(); $lxdebug->leave_sub(); @@ -28,14 +33,10 @@ sub save_form { sub restore_form { $lxdebug->enter_sub(); - my ($old_form) = @_; - - map({ delete($form->{$_}); } keys(%{$form})); + my ($old_form, $no_delete) = @_; - foreach my $pair (split('&', $old_form)) { - my ($key, $value) = split('=', $form->unescape($pair), 2); - $form->{$key} = $value; - } + map({ delete($form->{$_}); } keys(%{$form})) unless ($no_delete); + eval($old_form); $lxdebug->leave_sub(); }