зеркало из https://github.com/mozilla/gecko-dev.git
Fix for bug 171420: fixes usage of $template, $vars, and &Param in Flag.pm.
r=bbaetz
This commit is contained in:
Родитель
74e937d354
Коммит
e8f16e93a1
|
@ -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;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче