Fix for bug 171420: fixes usage of $template, $vars, and &Param in Flag.pm.

r=bbaetz
This commit is contained in:
myk%mozilla.org 2002-09-29 16:04:24 +00:00
Родитель 74e937d354
Коммит e8f16e93a1
1 изменённых файлов: 17 добавлений и 18 удалений

Просмотреть файл

@ -31,8 +31,12 @@ package Bugzilla::Flag;
use Bugzilla::FlagType; use Bugzilla::FlagType;
use Bugzilla::User; use Bugzilla::User;
use Bugzilla::Config;
use Attachment; use Attachment;
# Note that this line doesn't actually import these variables for some reason,
# so I have to use them as $::template and $::vars in the package code.
use vars qw($template $vars); use vars qw($template $vars);
# Note! This module requires that its caller have said "require CGI.pl" # Note! This module requires that its caller have said "require CGI.pl"
@ -402,14 +406,14 @@ sub FormToNewFlags {
} }
if ($verify_requestees) { if ($verify_requestees) {
$vars->{'target'} = $target; $::vars->{'target'} = $target;
$vars->{'flags'} = \@flags; $::vars->{'flags'} = \@flags;
$vars->{'form'} = $data; $::vars->{'form'} = $data;
$vars->{'mform'} = \%::MFORM || \%::MFORM; $::vars->{'mform'} = \%::MFORM || \%::MFORM;
print "Content-Type: text/html\n\n" unless $vars->{'header_done'}; print "Content-Type: text/html\n\n" unless $::vars->{'header_done'};
$::template->process("request/verify.html.tmpl", $vars) $::template->process("request/verify.html.tmpl", $::vars)
|| &::ThrowTemplateError($template->error()); || &::ThrowTemplateError($::template->error());
exit; exit;
} }
@ -427,7 +431,7 @@ sub MatchRequestees {
# automatically appends an email suffix to each user's login name, # automatically appends an email suffix to each user's login name,
# in which case we can't guarantee their names are at least three # in which case we can't guarantee their names are at least three
# characters long. # characters long.
if (!&Param('emailsuffix') && length($requestee_str) < 3) { if (!Param('emailsuffix') && length($requestee_str) < 3) {
&::ThrowUserError("requestee_too_short"); &::ThrowUserError("requestee_too_short");
} }
@ -510,22 +514,17 @@ sub notify {
my ($flag, $template_file) = @_; my ($flag, $template_file) = @_;
# Work around the intricacies of globals.pl not being templatized $::vars->{'flag'} = $flag;
# by defining local variables for the $::template and $::vars globals.
my $template = $::template;
my $vars = $::vars;
$vars->{'flag'} = $flag;
my $message; my $message;
my $rv = my $rv =
$template->process($template_file, $vars, \$message); $::template->process($template_file, $::vars, \$message);
if (!$rv) { if (!$rv) {
print "Content-Type: text/html\n\n" unless $vars->{'header_done'}; print "Content-Type: text/html\n\n" unless $::vars->{'header_done'};
&::ThrowTemplateError($template->error()); &::ThrowTemplateError($::template->error());
} }
my $delivery_mode = &::Param("sendmailnow") ? "" : "-ODeliveryMode=deferred"; my $delivery_mode = Param("sendmailnow") ? "" : "-ODeliveryMode=deferred";
open(SENDMAIL, "|/usr/lib/sendmail $delivery_mode -t -i") open(SENDMAIL, "|/usr/lib/sendmail $delivery_mode -t -i")
|| die "Can't open sendmail"; || die "Can't open sendmail";
print SENDMAIL $message; print SENDMAIL $message;