]> wagnertech.de Git - mfinanz.git/blobdiff - SL/Form.pm
Requests nicht timen, wenn begin_request nicht aufgerufen wurde.
[mfinanz.git] / SL / Form.pm
index 25c4ab09bc753ace464f2c50d6818f28fa34eb3f..c75249bace8f10ff23219018f6f733b361df41bb 100644 (file)
@@ -566,12 +566,17 @@ sub create_http_response {
 
   my $session_cookie;
   if (defined $main::auth) {
+    my $uri      = $self->_get_request_uri;
+    my @segments = $uri->path_segments;
+    pop @segments;
+    $uri->path_segments(@segments);
+
     my $session_cookie_value   = $main::auth->get_session_id();
     $session_cookie_value    ||= 'NO_SESSION';
 
     $session_cookie = $cgi->cookie('-name'   => $main::auth->get_session_cookie_name(),
                                    '-value'  => $session_cookie_value,
-                                   '-path'   => $self->_get_request_uri->path,
+                                   '-path'   => $uri->path,
                                    '-secure' => $ENV{HTTPS});
   }
 
@@ -738,6 +743,17 @@ sub redirect_header {
   return $cgi->redirect($new_uri);
 }
 
+sub set_standard_title {
+  $::lxdebug->enter_sub;
+  my $self = shift;
+
+  $self->{titlebar}  = "Lx-Office " . $::locale->text('Version') . " $self->{version}";
+  $self->{titlebar} .= "- $::myconfig{name}"   if $::myconfig{name};
+  $self->{titlebar} .= "- $::myconfig{dbname}" if $::myconfig{name};
+
+  $::lxdebug->leave_sub;
+}
+
 sub _prepare_html_template {
   $main::lxdebug->enter_sub();
 
@@ -751,20 +767,16 @@ sub _prepare_html_template {
   }
   $language = "de" unless ($language);
 
-  if (-f "templates/webpages/${file}_${language}.html") {
-    if ((-f ".developer") &&
-        (-f "templates/webpages/${file}_master.html") &&
-        ((stat("templates/webpages/${file}_master.html"))[9] >
-         (stat("templates/webpages/${file}_${language}.html"))[9])) {
-      my $info = "Developer information: templates/webpages/${file}_master.html is newer than the localized version.\n" .
+  if (-f "templates/webpages/${file}.html") {
+    if ((-f ".developer") && ((stat("templates/webpages/${file}.html"))[9] > (stat("locale/${language}/all"))[9])) {
+      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);
     }
 
-    $file = "templates/webpages/${file}_${language}.html";
-  } elsif (-f "templates/webpages/${file}.html") {
     $file = "templates/webpages/${file}.html";
+
   } else {
     my $info = "Web page template '${file}' not found.\n" .
       "Please re-run 'locales.pl' in 'locale/${language}'.";
@@ -788,6 +800,7 @@ sub _prepare_html_template {
     $jsc_dateformat =~ s/m+/\%m/gi;
     $jsc_dateformat =~ s/y+/\%Y/gi;
     $additional_params->{"myconfig_jsc_dateformat"} = $jsc_dateformat;
+    $additional_params->{"myconfig"} ||= \%::myconfig;
   }
 
   $additional_params->{"conf_dbcharset"}              = $main::dbcharset;
@@ -843,10 +856,6 @@ sub parse_html_template {
   my $input = join('', <$in>);
   $in->close();
 
-  if ($main::locale) {
-    $input = $main::locale->{iconv}->convert($input);
-  }
-
   my $output;
   if (!$template->process(\$input, $additional_params, \$output)) {
     print STDERR $template->error();
@@ -963,19 +972,19 @@ sub redirect {
 
   my ($self, $msg) = @_;
 
-  if ($self->{callback}) {
-
-    my ($script, $argv) = split(/\?/, $self->{callback}, 2);
-    $script =~ s|.*/||;
-    $script =~ s|[^a-zA-Z0-9_\.]||g;
-    exec("perl", "$script", $argv);
-
-  } else {
+  if (!$self->{callback}) {
 
     $self->info($msg);
     exit;
   }
 
+#  my ($script, $argv) = split(/\?/, $self->{callback}, 2);
+#  $script =~ s|.*/||;
+#  $script =~ s|[^a-zA-Z0-9_\.]||g;
+#  exec("perl", "$script", $argv);
+
+  print $::form->redirect_header($self->{callback});
+
   $main::lxdebug->leave_sub();
 }