HTML-Templates vor und nicht nach der Verarbeitung durch die Template-Klasse mit...
authorMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 26 Jun 2008 09:53:20 +0000 (09:53 +0000)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 26 Jun 2008 09:53:20 +0000 (09:53 +0000)
SL/Form.pm

index d807752..0aa7fb6 100644 (file)
@@ -41,6 +41,7 @@ use Data::Dumper;
 use CGI;
 use CGI::Ajax;
 use Cwd;
+use IO::File;
 use SL::Auth;
 use SL::Auth::DB;
 use SL::Auth::LDAP;
@@ -729,13 +730,26 @@ sub parse_html_template {
 
   map { $additional_params->{$_} ||= $self->{$_} } keys %{ $self };
 
+  my $in = IO::File->new($file, 'r');
+
+  if (!$in) {
+    print STDERR "Error opening template file: $!";
+    $main::lxdebug->leave_sub();
+    return '';
+  }
+
+  my $input = join('', <$in>);
+  $in->close();
+
+  if ($main::locale) {
+    $input = $main::locale->{iconv}->convert($input);
+  }
+
   my $output;
-  if (!$template->process($file, $additional_params, \$output)) {
+  if (!$template->process(\$input, $additional_params, \$output)) {
     print STDERR $template->error();
   }
 
-  $output = $main::locale->{iconv}->convert($output) if ($main::locale);
-
   $main::lxdebug->leave_sub();
 
   return $output;