X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDispatcher.pm;h=30a4b819ccb2e70c2a008a7fc7ade4d479b5eb7b;hb=fe8f7c08e7c9e002f2501cb5afb3ff372d6dd535;hp=03f1c5776bf5ef28af9ef806b82dfdf0aaa6c168;hpb=891411c15c60f4099e7d2f687de8efe84b2e0fbb;p=kivitendo-erp.git diff --git a/SL/Dispatcher.pm b/SL/Dispatcher.pm index 03f1c5776..30a4b819c 100644 --- a/SL/Dispatcher.pm +++ b/SL/Dispatcher.pm @@ -68,7 +68,6 @@ sub show_error { $::form->{error} = $::locale->text('The session is invalid or has expired.') if ($error_type eq 'session'); $::form->{error} = $::locale->text('Incorrect password!.') if ($error_type eq 'password'); $::myconfig{countrycode} = $::lx_office_conf{system}->{language}; - $::form->{stylesheet} = 'css/lx-office-erp.css'; $::form->header; print $::form->parse_html_template($template); @@ -81,7 +80,6 @@ sub pre_startup_setup { my ($self) = @_; SL::LxOfficeConf->read; - _init_environment(); eval { package main; @@ -96,7 +94,7 @@ sub pre_startup_setup { $::auth = SL::Auth->new; $::form = undef; %::myconfig = (); - %::called_subs = (); # currently used for recursion detection + $::request = undef; } $SIG{__WARN__} = sub { @@ -169,11 +167,10 @@ sub handle_request { $self->unrequire_bin_mozilla; - $::cgi = CGI->new(''); - $::locale = Locale->new($::lx_office_conf{system}->{language}); - $::form = Form->new; - %::called_subs = (); + $::locale = Locale->new($::lx_office_conf{system}->{language}); + $::form = Form->new; $::instance_conf = SL::InstanceConfiguration->new; + $::request = { cgi => CGI->new({}) }; my $session_result = $::auth->restore_session; $::auth->create_or_refresh_session; @@ -207,7 +204,7 @@ sub handle_request { } else { show_error('login/password_error', 'session') if SL::Auth::SESSION_EXPIRED == $session_result; - %::myconfig = $::auth->read_user($::form->{login}); + %::myconfig = $::auth->read_user(login => $::form->{login}); show_error('login/password_error', 'password') unless $::myconfig{login}; @@ -223,7 +220,7 @@ sub handle_request { if ($action) { $::instance_conf->init; - map { $::form->{$_} = $::myconfig{$_} } qw(stylesheet charset) + map { $::form->{$_} = $::myconfig{$_} } qw(charset) unless $action eq 'save' && $::form->{type} eq 'preferences'; $::form->set_standard_title; @@ -241,7 +238,7 @@ sub handle_request { } or do { if ($EVAL_ERROR ne END_OF_REQUEST) { print STDERR $EVAL_ERROR; - $::form->{label_error} = $::cgi->pre($EVAL_ERROR); + $::form->{label_error} = $::request->{cgi}->pre($EVAL_ERROR); eval { show_error('generic/error') }; } }; @@ -254,6 +251,7 @@ sub handle_request { $::locale = undef; $::form = undef; $::myconfig = (); + $::request = undef; Form::disconnect_standard_dbh; $::lxdebug->end_request; @@ -311,7 +309,7 @@ sub _route_dispatcher_request { 1; } or do { - $::form->{label_error} = $::cgi->pre($EVAL_ERROR); + $::form->{label_error} = $::request->{cgi}->pre($EVAL_ERROR); show_error('generic/error'); }; @@ -328,7 +326,7 @@ sub _route_controller_request { 1; } or do { - $::form->{label_error} = $::cgi->pre($EVAL_ERROR); + $::form->{label_error} = $::request->{cgi}->pre($EVAL_ERROR); show_error('generic/error'); }; @@ -370,33 +368,11 @@ sub get_standard_filehandles { return $self->{interface} =~ m/f(?:ast)cgi/i ? $self->{request}->GetHandles() : (\*STDIN, \*STDOUT, \*STDERR); } -sub _init_environment { - my %key_map = ( lib => { name => 'PERL5LIB', append_path => 1 }, - path => { name => 'PATH', append_path => 1 }, - ); - my $cfg = $::lx_office_conf{environment} || {}; - - while (my ($key, $value) = each %{ $cfg }) { - next unless $value; - - my $info = $key_map{$key} || {}; - $key = $info->{name} || $key; - - if ($info->{append_path}) { - $value = ':' . $value unless $value =~ m/^:/ || !$ENV{$key}; - $value = $ENV{$key} . $value; - } - - $ENV{$key} = $value; - } -} - sub _check_for_old_config_files { my @old_files = grep { -f "config/${_}" } qw(authentication.pl console.conf lx-erp.conf lx-erp-local.conf); return unless @old_files; $::form->{title} = $::locale->text('Old configuration files'); - $::form->{stylesheet} = 'lx-office-erp.css'; $::form->header; print $::form->parse_html_template('login/old_configuration_files', { FILES => \@old_files });