X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fcommon.pl;h=86f797bb5b45787fd3fe5936856cc28d64f893f5;hb=ebef09a8bde1d401fc7b0d60cfe09393e9a84c0f;hp=30548f63f04c300905b21b98c5a024668e29aee0;hpb=acc2b53b75b38658aaf5652f5a86adf213265942;p=kivitendo-erp.git diff --git a/bin/mozilla/common.pl b/bin/mozilla/common.pl index 30548f63f..86f797bb5 100644 --- a/bin/mozilla/common.pl +++ b/bin/mozilla/common.pl @@ -9,21 +9,20 @@ # ###################################################################### -use Data::Dumper; +use SL::Form; +use YAML; use SL::Common; sub save_form { $lxdebug->enter_sub(); - 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(); + my $yaml = new YAML; + $yaml->Indent(1); + my $old_form = $yaml->dump($form); + $old_form =~ s|!|!!|g; + $old_form =~ s|\n|!n|g; + $old_form =~ s|\r|!r|g; $lxdebug->leave_sub(); @@ -36,9 +35,34 @@ sub restore_form { my ($old_form, $no_delete) = @_; map({ delete($form->{$_}); } keys(%{$form})) unless ($no_delete); - eval($old_form); + $old_form =~ s|!r|\r|g; + $old_form =~ s|!n|\n|g; + $old_form =~ s|!!|!|g; + $form = YAML::Load($old_form); + + $lxdebug->leave_sub(); +} + +sub build_std_url { + $lxdebug->enter_sub(); + + my $url = "$form->{script}?"; + my $first = 1; + foreach my $key ((qw(login password path), @_)) { + next unless ($key); + $url .= "&" unless ($first); + $first = 0; + + if ($key =~ /=/) { + $url .= $key; + } else { + $url .= "${key}=" . E($form->{$key}); + } + } $lxdebug->leave_sub(); + + return $url; } sub select_employee { @@ -420,6 +444,21 @@ sub H { return $form->quote_html($_[0]); } +sub Q { + return $form->quote($_[0]); +} + +sub E { + return $form->escape($_[0]); +} + +sub NTI { + my ($element) = @_; + + $element =~ s/tabindex\s*=\s*"\d+"//; + return $element; +} + sub format_dates { $lxdebug->enter_sub(); @@ -490,4 +529,19 @@ sub reformat_numbers { $lxdebug->leave_sub(); } +sub show_history { + $lxdebug->enter_sub(); + my $dbh = $form->dbconnect(\%myconfig); + + $form->{title} = $locale->text("History"); + $form->header(); + print $form->parse_html_template( "common/show_history", { + "DATEN" => $form->get_history($dbh,$form->{input_name}), + "SUCCESS" => ($form->get_history($dbh,$form->{input_name}) ne "0") + } ); + + $dbh->disconnect(); + $lxdebug->leave_sub(); +} + 1;