projects
/
kivitendo-erp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Scriptname steht nicht mehr in $form
[kivitendo-erp.git]
/
SL
/
Form.pm
diff --git
a/SL/Form.pm
b/SL/Form.pm
index
c75249b
..
b0e25d7
100644
(file)
--- a/
SL/Form.pm
+++ b/
SL/Form.pm
@@
-63,10
+63,13
@@
use strict;
my $standard_dbh;
END {
my $standard_dbh;
END {
- if ($standard_dbh) {
- $standard_dbh->disconnect();
- undef $standard_dbh;
- }
+ disconnect_standard_dbh();
+}
+
+sub disconnect_standard_dbh {
+ return unless $standard_dbh;
+ $standard_dbh->disconnect();
+ undef $standard_dbh;
}
sub _store_value {
}
sub _store_value {
@@
-240,20
+243,17
@@
sub new {
tie %{ $self }, 'SL::Watchdog';
}
tie %{ $self }, 'SL::Watchdog';
}
-
read(STDIN, $_, $ENV{CONTENT_LENGTH})
;
+
bless $self, $type
;
- if ($ENV{QUERY_STRING}) {
- $_ = $ENV{QUERY_STRING};
- }
+ $self->_input_to_hash($ENV{QUERY_STRING}) if $ENV{QUERY_STRING};
+ $self->_input_to_hash($ARGV[0]) if @ARGV && $ARGV[0];
- if ($ARGV[0]) {
- $_ = $ARGV[0];
+ if ($ENV{CONTENT_LENGTH}) {
+ my $content;
+ read STDIN, $content, $ENV{CONTENT_LENGTH};
+ $self->_request_to_hash($content);
}
}
- bless $self, $type;
-
- $self->_request_to_hash($_);
-
my $db_charset = $main::dbcharset;
$db_charset ||= Common::DEFAULT_CHARSET;
my $db_charset = $main::dbcharset;
$db_charset ||= Common::DEFAULT_CHARSET;
@@
-455,8
+455,8
@@
sub error {
$self->show_generic_error($msg);
} else {
$self->show_generic_error($msg);
} else {
-
-
die "Error: $msg\n"
;
+ print STDERR "Error: $msg\n";
+
::end_of_request()
;
}
$main::lxdebug->leave_sub();
}
$main::lxdebug->leave_sub();
@@
-772,7
+772,7
@@
sub _prepare_html_template {
my $info = "Developer information: templates/webpages/${file}.html is newer than the translation file locale/${language}/all.\n" .
"Please re-run 'locales.pl' in 'locale/${language}'.";
print(qq|<pre>$info</pre>|);
my $info = "Developer information: templates/webpages/${file}.html is newer than the translation file locale/${language}/all.\n" .
"Please re-run 'locales.pl' in 'locale/${language}'.";
print(qq|<pre>$info</pre>|);
-
die($info
);
+
::end_of_request(
);
}
$file = "templates/webpages/${file}.html";
}
$file = "templates/webpages/${file}.html";
@@
-781,7
+781,7
@@
sub _prepare_html_template {
my $info = "Web page template '${file}' not found.\n" .
"Please re-run 'locales.pl' in 'locale/${language}'.";
print(qq|<pre>$info</pre>|);
my $info = "Web page template '${file}' not found.\n" .
"Please re-run 'locales.pl' in 'locale/${language}'.";
print(qq|<pre>$info</pre>|);
-
die($info
);
+
::end_of_request(
);
}
if ($self->{"DEBUG"}) {
}
if ($self->{"DEBUG"}) {
@@
-895,9
+895,11
@@
sub show_generic_error {
$self->header();
print $self->parse_html_template("generic/error", $add_params);
$self->header();
print $self->parse_html_template("generic/error", $add_params);
+ print STDERR "Error: $error\n";
+
$main::lxdebug->leave_sub();
$main::lxdebug->leave_sub();
-
die("Error: $error\n"
);
+
::end_of_request(
);
}
sub show_generic_information {
}
sub show_generic_information {
@@
-917,7
+919,7
@@
sub show_generic_information {
$main::lxdebug->leave_sub();
$main::lxdebug->leave_sub();
-
die("Information: $text\n"
);
+
::end_of_request(
);
}
# write Trigger JavaScript-Code ($qty = quantity of Triggers)
}
# write Trigger JavaScript-Code ($qty = quantity of Triggers)
@@
-975,7
+977,7
@@
sub redirect {
if (!$self->{callback}) {
$self->info($msg);
if (!$self->{callback}) {
$self->info($msg);
-
exit
;
+
::end_of_request()
;
}
# my ($script, $argv) = split(/\?/, $self->{callback}, 2);
}
# my ($script, $argv) = split(/\?/, $self->{callback}, 2);
@@
-1257,20
+1259,23
@@
sub parse_template {
$self->{OUT} = ">$self->{tmpfile}";
}
$self->{OUT} = ">$self->{tmpfile}";
}
+ my $result;
+
if ($self->{OUT}) {
if ($self->{OUT}) {
- open(OUT, "$self->{OUT}") or $self->error("$self->{OUT} : $!");
+ open OUT, "$self->{OUT}" or $self->error("$self->{OUT} : $!");
+ $result = $template->parse(*OUT);
+ close OUT;
+
} else {
} else {
- open(OUT, ">-") or $self->error("STDOUT : $!");
$self->header;
$self->header;
+ $result = $template->parse(*STDOUT);
}
}
- if (!$
template->parse(*OUT)
) {
+ if (!$
result
) {
$self->cleanup();
$self->error("$self->{IN} : " . $template->get_error());
}
$self->cleanup();
$self->error("$self->{IN} : " . $template->get_error());
}
- close(OUT);
-
if ($template->uses_temp_file() || $self->{media} eq 'email') {
if ($self->{media} eq 'email') {
if ($template->uses_temp_file() || $self->{media} eq 'email') {
if ($self->{media} eq 'email') {
@@
-1334,8
+1339,11
@@
sub parse_template {
#print(STDERR "OUT $self->{OUT}\n");
for my $i (1 .. $self->{copies}) {
if ($self->{OUT}) {
#print(STDERR "OUT $self->{OUT}\n");
for my $i (1 .. $self->{copies}) {
if ($self->{OUT}) {
- open(OUT, $self->{OUT})
- or $self->error($self->cleanup . "$self->{OUT} : $!");
+ open OUT, $self->{OUT} or $self->error($self->cleanup . "$self->{OUT} : $!");
+ print OUT while <IN>;
+ close OUT;
+ seek IN, 0, 0;
+
} else {
$self->{attachment_filename} = ($self->{attachment_filename})
? $self->{attachment_filename}
} else {
$self->{attachment_filename} = ($self->{attachment_filename})
? $self->{attachment_filename}
@@
-1348,18
+1356,8
@@
Content-Length: $numbytes
|;
|;
- open(OUT, ">-") or $self->error($self->cleanup . "$!: STDOUT");
-
+ $::locale->with_raw_io(\*STDOUT, sub { print while <IN> });
}
}
-
- while (<IN>) {
- print OUT $_;
-
- }
-
- close(OUT);
-
- seek IN, 0, 0;
}
close(IN);
}
close(IN);