X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=inline;f=SL%2FForm.pm;h=6b1ee5009f2aeb16548934aa4319f63ded479a37;hb=fededc52e1b1c530a7e0f1e11c0268862d0c3581;hp=7b7746d0c5a6052f32977e01efa3510e7295ad26;hpb=1fce9d15e621be38ea5ce59c7f44ad30b770959e;p=kivitendo-erp.git diff --git a/SL/Form.pm b/SL/Form.pm index 7b7746d0c..6b1ee5009 100644 --- a/SL/Form.pm +++ b/SL/Form.pm @@ -263,9 +263,6 @@ sub new { _recode_recursively(SL::Iconv->new($encoding, $db_charset), $self); - $self->{action} = lc $self->{action}; - $self->{action} =~ s/( |-|,|\#)/_/g; - #$self->{version} = "2.6.1"; # Old hardcoded but secure style open VERSION_FILE, "VERSION"; # New but flexible code reads version from VERSION-file $self->{version} = ; @@ -397,6 +394,7 @@ sub unescape { $str =~ s/\\$//; $str =~ s/%([0-9a-fA-Z]{2})/pack("c",hex($1))/eg; + $str = Encode::decode('utf-8-strict', $str) if $::locale->is_utf8; $main::lxdebug->leave_sub(2); @@ -594,20 +592,21 @@ sub create_http_response { pop @segments; $uri->path_segments(@segments); - my $session_cookie_value = $main::auth->get_session_id(); - $session_cookie_value ||= 'NO_SESSION'; + my $session_cookie_value = $main::auth->get_session_id(); - $session_cookie = $cgi->cookie('-name' => $main::auth->get_session_cookie_name(), - '-value' => $session_cookie_value, - '-path' => $uri->path, - '-secure' => $ENV{HTTPS}); + if ($session_cookie_value) { + $session_cookie = $cgi->cookie('-name' => $main::auth->get_session_cookie_name(), + '-value' => $session_cookie_value, + '-path' => $uri->path, + '-secure' => $ENV{HTTPS}); + } } my %cgi_params = ('-type' => $params{content_type}); $cgi_params{'-charset'} = $params{charset} if ($params{charset}); + $cgi_params{'-cookie'} = $session_cookie if ($session_cookie); - my $output = $cgi->header('-cookie' => $session_cookie, - %cgi_params); + my $output = $cgi->header(%cgi_params); $main::lxdebug->leave_sub(); @@ -681,7 +680,6 @@ EOT print < -