]> wagnertech.de Git - mfinanz.git/blobdiff - SL/Form.pm
Umstellung Funktionsaufrufe auf Dispatcher-Mechanismus
[mfinanz.git] / SL / Form.pm
index c75249bace8f10ff23219018f6f733b361df41bb..bf9deb4ba685714fcd9639cd0a9760b220ee7669 100644 (file)
@@ -63,10 +63,13 @@ use strict;
 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 {
@@ -240,20 +243,17 @@ sub new {
     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;
 
@@ -455,8 +455,8 @@ sub error {
     $self->show_generic_error($msg);
 
   } else {
-
-    die "Error: $msg\n";
+    print STDERR "Error: $msg\n";
+    ::end_of_request();
   }
 
   $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>|);
-      die($info);
+      ::end_of_request();
     }
 
     $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>|);
-    die($info);
+    ::end_of_request();
   }
 
   if ($self->{"DEBUG"}) {
@@ -895,9 +895,11 @@ sub show_generic_error {
   $self->header();
   print $self->parse_html_template("generic/error", $add_params);
 
+  print STDERR "Error: $error\n";
+
   $main::lxdebug->leave_sub();
 
-  die("Error: $error\n");
+  ::end_of_request();
 }
 
 sub show_generic_information {
@@ -917,7 +919,7 @@ sub show_generic_information {
 
   $main::lxdebug->leave_sub();
 
-  die("Information: $text\n");
+  ::end_of_request();
 }
 
 # write Trigger JavaScript-Code ($qty = quantity of Triggers)
@@ -975,7 +977,7 @@ sub redirect {
   if (!$self->{callback}) {
 
     $self->info($msg);
-    exit;
+    ::end_of_request();
   }
 
 #  my ($script, $argv) = split(/\?/, $self->{callback}, 2);