Commit 77417e27 authored by mkanat%bugzilla.org's avatar mkanat%bugzilla.org

Bug 517793: Use the ENCODING parameter of Template Toolkit instead of having a…

Bug 517793: Use the ENCODING parameter of Template Toolkit instead of having a custom parser object. This also fixes a memory leak on mod_perl. Patch by Max Kanat-Alexander <mkanat@buzgilla.org> r=LpSolit, a=LpSolit
parent 9d90201c
......@@ -45,7 +45,6 @@ use Bugzilla::User;
use Bugzilla::Error;
use Bugzilla::Status;
use Bugzilla::Token;
use Bugzilla::Template::Parser;
use Cwd qw(abs_path);
use MIME::Base64;
......@@ -59,28 +58,6 @@ use Scalar::Util qw(blessed);
use base qw(Template);
# As per the Template::Base documentation, the _init() method is being called
# by the new() constructor. We take advantage of this in order to plug our
# UTF-8-aware Parser object in neatly after the original _init() method has
# happened, in particular, after having set up the constants namespace.
# See bug 413121 for details.
sub _init {
my $self = shift;
my $config = $_[0];
$self->SUPER::_init(@_) || return undef;
$self->{PARSER} = $config->{PARSER}
= new Bugzilla::Template::Parser($config);
# Now we need to re-create the default Service object, making it aware
# of our Parser object.
$self->{SERVICE} = $config->{SERVICE}
= Template::Config->service($config);
return $self;
}
# Convert the constants in the Bugzilla::Constants module into a hash we can
# pass to the template object for reflection into its "constants" namespace
# (which is like its "variables" namespace, but for constants). To do so, we
......@@ -480,6 +457,8 @@ sub create {
# Initialize templates (f.e. by loading plugins like Hook).
PRE_PROCESS => "global/initialize.none.tmpl",
ENCODING => Bugzilla->params->{'utf8'} ? 'UTF-8' : undef,
# Functions for processing text within templates in various ways.
# IMPORTANT! When adding a filter here that does not override a
# built-in filter, please also add a stub filter to t/004template.t.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment