X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fcommon.pl;h=1bd92dc91c2a82ca2b8eef24fb2e48d8f901922c;hb=6ac037ceaeb565f385267b2f8794e28e7ce50af8;hp=16e1b46755df3ecbc95495a41984bcde2be67fc1;hpb=0975a120536e57a0f563e04b33f33f14ce8ba89e;p=kivitendo-erp.git diff --git a/bin/mozilla/common.pl b/bin/mozilla/common.pl index 16e1b4675..1bd92dc91 100644 --- a/bin/mozilla/common.pl +++ b/bin/mozilla/common.pl @@ -139,7 +139,7 @@ sub part_selection_internal { } } - map { $form->{$_} = $options{$_} if ($options{$_}) } qw(no_services no_assemblies click_button); + map { $form->{$_} = $options{$_} if ($options{$_}) } qw(no_services no_assemblies assemblies click_button); $parts = Common->retrieve_parts(\%myconfig, $form, $order_by, $order_dir); @@ -515,7 +515,15 @@ sub mark_as_paid_common { } else { my $referer = $ENV{HTTP_REFERER}; - $referer =~ s/^(.*)action\=.*\&(.*)$/$1action\=mark_as_paid\&mark_as_paid\=1\&id\=$form->{id}\&$2/; + if ($referer =~ /action/) { + $referer =~ /^(.*)\?action\=[^\&]*(\&.*)$/; + $script = $1; + $callback = $2; + } else { + $script = $referer; + $callback = ""; + } + $referer = $script . "?action=mark_as_paid&mark_as_paid=1&id=$form->{id}" . $callback; $form->header(); print qq||; print qq|

|.$locale->text('Mark as paid?').qq|

|; @@ -580,31 +588,4 @@ sub cov_selection_internal { $lxdebug->leave_sub(); } -sub cross(&\@\@) { - my $op = shift; - use vars qw/@A @B/; - local (*A, *B) = @_; # syms for caller's input arrays - - # Localise $a, $b - my ($caller_a, $caller_b) = do - { - my $pkg = caller(); - no strict 'refs'; - \*{$pkg.'::a'}, \*{$pkg.'::b'}; - }; - - my $limit = $#A > $#B? $#A : $#B; # loop iteration limit - - local(*$caller_a, *$caller_b); - - # This map expression is also the return value. - map { my $b_index = $_; - map { my $a_index = $_; - # assign to $a, $b as refs to caller's array elements - (*$caller_a, *$caller_b) = \($A[$a_index], $B[$b_index]); - $op->(); # perform the transformation - } 0 .. $#A; - } 0 .. $#B; -} - 1;