Rechnungsadresse aus den Stammdaten bei periodischen Rechnungen verwenden (Anzeige...
[kivitendo-erp.git] / SL / Dispatcher.pm
index 7126513..abc5ec8 100644 (file)
@@ -7,15 +7,6 @@ use strict;
 #   parse_html_template('login_screen/user_login')
 #   parse_html_template('generic/error')
 
-BEGIN {
-  use SL::System::Process;
-  my $exe_dir = SL::System::Process::exe_dir;
-
-  unshift @INC, "${exe_dir}/modules/override"; # Use our own versions of various modules (e.g. YAML).
-  push    @INC, "${exe_dir}/modules/fallback"; # Only use our own versions of modules if there's no system version.
-  unshift @INC, $exe_dir;
-}
-
 use Carp;
 use CGI qw( -no_xhtml);
 use Config::Std;
@@ -27,6 +18,7 @@ use File::Basename;
 use IO::File;
 use List::MoreUtils qw(all);
 use List::Util qw(first);
+use POSIX qw(setlocale);
 use SL::ArchiveZipFixes;
 use SL::Auth;
 use SL::Dispatcher::AuthHandler;
@@ -60,6 +52,11 @@ sub new {
 
   SL::ArchiveZipFixes->apply_fixes;
 
+  # Initialize character type locale to be UTF-8 instead of C:
+  foreach my $locale (qw(de_DE.UTF-8 en_US.UTF-8)) {
+    last if setlocale('LC_CTYPE', $locale);
+  }
+
   return $self;
 }
 
@@ -143,7 +140,7 @@ sub show_error {
   print $::form->parse_html_template($template, \%params);
   $::lxdebug->leave_sub;
 
-  ::end_of_request();
+  end_request();
 }
 
 sub pre_startup_setup {
@@ -305,7 +302,7 @@ sub handle_request {
       action       => $action,
     );
 
-    ::end_of_request() unless $auth_result{auth_ok};
+    $self->end_request unless $auth_result{auth_ok};
 
     delete @{ $::form }{ grep { m/^\{AUTH\}/ } keys %{ $::form } } unless $auth_result{keep_auth_vars};
 
@@ -353,11 +350,10 @@ sub handle_request {
 
   $::locale   = undef;
   $::form     = undef;
-  $::myconfig = ();
+  %::myconfig = ();
   $::request  = undef;
 
   SL::DBConnect::Cache->reset_all;
-  Form::disconnect_standard_dbh;
 
   $self->_watch_for_changed_files;
 
@@ -370,7 +366,7 @@ sub redirect_to_login {
   $action            .= '&error=' . $params{error} if $params{error};
 
   print $::request->cgi->redirect("controller.pl?action=${action}");
-  ::end_of_request();
+  $self->end_request;
 }
 
 sub unrequire_bin_mozilla {
@@ -498,7 +494,7 @@ sub _check_for_old_config_files {
   $::form->header;
   print $::form->parse_html_template('login_screen/old_configuration_files', { FILES => \@old_files });
 
-  ::end_of_request();
+  end_request();
 }
 
 sub _parse_number_with_unit {
@@ -549,11 +545,7 @@ sub _memory_usage_is_too_high {
   return 0;
 }
 
-package main;
-
-use strict;
-
-sub end_of_request {
+sub end_request {
   die SL::Dispatcher->END_OF_REQUEST;
 }