kivitendo/SL/MoreCommon.pm @ 99ed8abf
6b293028 | Moritz Bunkus | package SL::MoreCommon;
|
|
require Exporter;
|
|||
@ISA = qw(Exporter);
|
|||
@EXPORT = qw(save_form restore_form);
|
|||
use YAML;
|
|||
sub save_form {
|
|||
$main::lxdebug->enter_sub();
|
|||
my $old_form = YAML::Dump($main::form);
|
|||
$old_form =~ s|!|!!|g;
|
|||
$old_form =~ s|\n|!n|g;
|
|||
$old_form =~ s|\r|!r|g;
|
|||
$main::lxdebug->leave_sub();
|
|||
return $old_form;
|
|||
}
|
|||
sub restore_form {
|
|||
$main::lxdebug->enter_sub();
|
|||
my ($old_form, $no_delete) = @_;
|
|||
my $form = $main::form;
|
|||
map { delete $form->{$_}; } keys %{$form} unless ($no_delete);
|
|||
$old_form =~ s|!r|\r|g;
|
|||
$old_form =~ s|!n|\n|g;
|
|||
$old_form =~ s|!!|!|g;
|
|||
my $new_form = YAML::Load($old_form);
|
|||
map { $form->{$_} = $new_form->{$_}; } keys %{$new_form};
|
|||
$main::lxdebug->leave_sub();
|
|||
}
|
|||
1;
|