X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FBase.pm;h=6d94347420aa07566877b379f0bbaec61697b61b;hb=02cb7e02771247f3106001076366d119277a7d30;hp=f8eee88a6cd0e141af4bfa7aa806c5fb36f5b579;hpb=ad9811f427c748aae4874b9f746fdce3568d94ef;p=kivitendo-erp.git diff --git a/SL/Controller/Base.pm b/SL/Controller/Base.pm index f8eee88a6..6d9434742 100644 --- a/SL/Controller/Base.pm +++ b/SL/Controller/Base.pm @@ -30,7 +30,7 @@ sub redirect_to { my $self = shift; my $url = $self->url_for(@_); - print $::cgi->redirect($url); + print $::request->{cgi}->redirect($url); } sub render { @@ -45,6 +45,9 @@ sub render { if ($options->{inline}) { $source = \$template; + } elsif($options->{raw}) { + $source = $template; + } else { $source = "templates/webpages/${template}." . $options->{type}; croak "Template file ${source} not found" unless -f $source; @@ -77,8 +80,12 @@ sub render { ); my $output; - my $parser = $self->_template_obj; - $parser->process($source, \%params, \$output) || croak $parser->error; + if (!$options->{raw}) { + my $parser = $self->_template_obj; + $parser->process($source, \%params, \$output) || croak $parser->error; + } else { + $output = $$source; + } print $output unless $options->{inline} || $options->{no_output}; @@ -322,6 +329,10 @@ containing the template code to interprete. Additionally the output will not be sent to the browser. Instead it is only returned to the caller. +If C<< $options->{raw} >> is trueish, the function will treat the input as +already parsed, and will not filter the input through Template. Unlike +C, the input is taked as a reference. + If C<< $options->{inline} >> is falsish then C<$template> is interpreted as the name of a template file. It is prefixed with "templates/webpages/" and postfixed with a file extension based on