aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2020-01-27 13:12:36 -0800
committerRobin H. Johnson <robbat2@gentoo.org>2020-01-27 13:13:19 -0800
commitc1ddf99fe3ca365adabae0b64f2b1eb9cd95e77c (patch)
tree8bd404f3de72b7275d531997a130a971db52f8e8
parentMerge commit '7f3a749d7bd78a3e4aee163f562d7e95b0954b44' into bugstest (diff)
parentbump version and add release notes for 5.0.6 (diff)
downloadbugzilla-c1ddf99fe3ca365adabae0b64f2b1eb9cd95e77c.tar.gz
bugzilla-c1ddf99fe3ca365adabae0b64f2b1eb9cd95e77c.tar.bz2
bugzilla-c1ddf99fe3ca365adabae0b64f2b1eb9cd95e77c.zip
Merge tag 'release-5.0.6' into bugstest
Merge upstream 5.0.6 release, now without conflicts after the problematic code reformatting change. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
-rw-r--r--Bugzilla/Attachment.pm2
-rw-r--r--Bugzilla/Auth/Verify/DB.pm2
-rw-r--r--Bugzilla/Bug.pm49
-rw-r--r--Bugzilla/BugMail.pm8
-rw-r--r--Bugzilla/BugUrl.pm4
-rw-r--r--Bugzilla/CGI.pm8
-rw-r--r--Bugzilla/Chart.pm4
-rw-r--r--Bugzilla/Comment.pm2
-rw-r--r--Bugzilla/Component.pm2
-rw-r--r--Bugzilla/Config/Common.pm6
-rw-r--r--Bugzilla/Constants.pm2
-rw-r--r--Bugzilla/DB.pm8
-rw-r--r--Bugzilla/DB/Mysql.pm14
-rw-r--r--Bugzilla/DB/Oracle.pm8
-rw-r--r--Bugzilla/DB/Schema.pm20
-rw-r--r--Bugzilla/DB/Schema/Mysql.pm14
-rw-r--r--Bugzilla/DB/Schema/Oracle.pm2
-rw-r--r--Bugzilla/DB/Schema/Sqlite.pm2
-rw-r--r--Bugzilla/DB/Sqlite.pm2
-rw-r--r--Bugzilla/Extension.pm4
-rw-r--r--Bugzilla/Field.pm2
-rw-r--r--Bugzilla/Field/Choice.pm2
-rw-r--r--Bugzilla/Flag.pm8
-rw-r--r--Bugzilla/FlagType.pm4
-rw-r--r--Bugzilla/Group.pm2
-rw-r--r--Bugzilla/Hook.pm2
-rw-r--r--Bugzilla/Install/DB.pm54
-rw-r--r--Bugzilla/Install/Filesystem.pm4
-rw-r--r--Bugzilla/Install/Requirements.pm10
-rw-r--r--Bugzilla/Install/Util.pm2
-rw-r--r--Bugzilla/Job/Mailer.pm2
-rw-r--r--Bugzilla/JobQueue/Runner.pm4
-rw-r--r--Bugzilla/Migrate.pm2
-rw-r--r--Bugzilla/Migrate/Gnats.pm2
-rw-r--r--Bugzilla/Milestone.pm2
-rw-r--r--Bugzilla/Object.pm8
-rw-r--r--Bugzilla/Product.pm6
-rw-r--r--Bugzilla/Search.pm28
-rw-r--r--Bugzilla/Search/Quicksearch.pm12
-rw-r--r--Bugzilla/Search/Saved.pm6
-rw-r--r--Bugzilla/Series.pm2
-rw-r--r--Bugzilla/Template.pm10
-rw-r--r--Bugzilla/User.pm34
-rw-r--r--Bugzilla/User/Setting.pm10
-rw-r--r--Bugzilla/Util.pm10
-rw-r--r--Bugzilla/Version.pm2
-rw-r--r--Bugzilla/WebService/Bug.pm10
-rw-r--r--Bugzilla/WebService/Bugzilla.pm2
-rw-r--r--Bugzilla/WebService/Server/JSONRPC.pm2
-rw-r--r--Bugzilla/WebService/Server/REST.pm6
-rw-r--r--Bugzilla/WebService/Server/XMLRPC.pm2
-rwxr-xr-xattachment.cgi4
-rwxr-xr-xbuglist.cgi8
-rwxr-xr-xchart.cgi2
-rwxr-xr-xchecksetup.pl2
-rwxr-xr-xcolchange.cgi2
-rwxr-xr-xcollectstats.pl8
-rwxr-xr-xcontrib/bzdbcopy.pl2
-rwxr-xr-xcontrib/console.pl2
-rwxr-xr-xcontrib/extension-convert.pl4
-rwxr-xr-xcontrib/merge-users.pl4
-rwxr-xr-xcontrib/perl-fmt24
-rwxr-xr-xcontrib/recode.pl6
-rw-r--r--docs/lib/Pod/Simple/HTMLBatch/Bugzilla.pm2
-rwxr-xr-xeditfields.cgi2
-rwxr-xr-xeditgroups.cgi2
-rwxr-xr-xeditmilestones.cgi2
-rwxr-xr-xeditproducts.cgi6
-rwxr-xr-xeditsettings.cgi2
-rwxr-xr-xeditvalues.cgi2
-rwxr-xr-xeditwhines.cgi4
-rwxr-xr-xeditworkflow.cgi2
-rwxr-xr-xemail_in.pl4
-rwxr-xr-xenter_bug.cgi2
-rw-r--r--extensions/BmpConvert/Extension.pm2
-rw-r--r--extensions/Example/Extension.pm2
-rw-r--r--extensions/MoreBugUrl/Extension.pm3
-rw-r--r--extensions/OldBugMove/Extension.pm2
-rw-r--r--extensions/Voting/Extension.pm6
-rwxr-xr-ximportxml.pl4
-rwxr-xr-xpost_bug.cgi2
-rwxr-xr-xquips.cgi2
-rwxr-xr-xrelogin.cgi2
-rwxr-xr-xreport.cgi2
-rwxr-xr-xreports.cgi10
-rwxr-xr-xrequest.cgi2
-rwxr-xr-xsanitycheck.cgi23
-rwxr-xr-xshow_bug.cgi2
-rwxr-xr-xshowdependencygraph.cgi8
-rwxr-xr-xshowdependencytree.cgi4
-rwxr-xr-xsummarize_time.cgi2
-rw-r--r--t/001compile.t2
-rw-r--r--t/002goodperl.t2
-rw-r--r--t/012throwables.t2
-rw-r--r--template/en/default/pages/release-notes.html.tmpl13
-rwxr-xr-xtestserver.pl8
-rwxr-xr-xuserprefs.cgi4
-rwxr-xr-xvotes.cgi2
-rwxr-xr-xwhine.pl6
-rw-r--r--xt/lib/Bugzilla/Test/Search.pm20
-rw-r--r--xt/lib/Bugzilla/Test/Search/Constants.pm6
-rw-r--r--xt/lib/Bugzilla/Test/Search/CustomTest.pm2
-rw-r--r--xt/lib/Bugzilla/Test/Search/FieldTest.pm10
-rw-r--r--xt/lib/Bugzilla/Test/Search/OrTest.pm2
104 files changed, 349 insertions, 321 deletions
diff --git a/Bugzilla/Attachment.pm b/Bugzilla/Attachment.pm
index 326534dd8..26f768c2f 100644
--- a/Bugzilla/Attachment.pm
+++ b/Bugzilla/Attachment.pm
@@ -76,7 +76,7 @@ use constant DB_COLUMNS => qw(
submitter_id
);
-use constant REQUIRED_FIELD_MAP => {bug_id => 'bug',};
+use constant REQUIRED_FIELD_MAP => {bug_id => 'bug',};
use constant EXTRA_REQUIRED_FIELDS => qw(data);
use constant UPDATE_COLUMNS => qw(
diff --git a/Bugzilla/Auth/Verify/DB.pm b/Bugzilla/Auth/Verify/DB.pm
index 951aaaf9f..6ed9ba15c 100644
--- a/Bugzilla/Auth/Verify/DB.pm
+++ b/Bugzilla/Auth/Verify/DB.pm
@@ -23,7 +23,7 @@ sub check_credentials {
my $dbh = Bugzilla->dbh;
my $username = $login_data->{username};
- my $user = new Bugzilla::User({name => $username});
+ my $user = new Bugzilla::User({name => $username});
return {failure => AUTH_NO_SUCH_USER} unless $user;
diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm
index 42bccaeba..b6b44b262 100644
--- a/Bugzilla/Bug.pm
+++ b/Bugzilla/Bug.pm
@@ -208,7 +208,7 @@ sub UPDATE_COLUMNS {
my @custom
= grep { $_->type != FIELD_TYPE_MULTI_SELECT } Bugzilla->active_custom_fields;
my @custom_names = map { $_->name } @custom;
- my @columns = qw(
+ my @columns = qw(
assigned_to
bug_file_loc
bug_severity
@@ -313,10 +313,10 @@ sub new {
# make it the "name" param.
if ( !defined $param
|| (!ref($param) && $param !~ /^[0-9]+$/)
- || (ref($param) && $param->{id} !~ /^[0-9]+$/))
+ || (ref($param) && $param->{id} !~ /^[0-9]+$/))
{
if ($param) {
- my $alias = ref($param) ? $param->{id} : $param;
+ my $alias = ref($param) ? $param->{id} : $param;
my $bug_id = bug_alias_to_id($alias);
if (!$bug_id) {
my $error_self = {};
@@ -365,7 +365,7 @@ sub initialize {
sub object_cache_key {
my $class = shift;
- my $key = $class->SUPER::object_cache_key(@_) || return;
+ my $key = $class->SUPER::object_cache_key(@_) || return;
return $key . ',' . Bugzilla->user->id;
}
@@ -467,7 +467,7 @@ sub match {
# so include them in the list if they have been specified.
if (exists $params->{"${field}_id"}) {
my $current_ids = $params->{"${field}_id"};
- my @id_array = ref $current_ids ? @$current_ids : ($current_ids);
+ my @id_array = ref $current_ids ? @$current_ids : ($current_ids);
push(@ids, @id_array);
}
@@ -556,7 +556,7 @@ sub _extract_bug_ids {
push @bug_ids, $comment->extra_data;
next;
}
- my $s = $comment->already_wrapped ? qr/\s/ : qr/\h/;
+ my $s = $comment->already_wrapped ? qr/\s/ : qr/\h/;
my $text = $comment->body;
# Full bug links
@@ -803,7 +803,7 @@ sub create {
if ($see_also) {
my $see_also_array = $see_also;
if (!ref $see_also_array) {
- $see_also = trim($see_also);
+ $see_also = trim($see_also);
$see_also_array = [split(/[\s,]+/, $see_also)];
}
foreach my $value (@$see_also_array) {
@@ -838,13 +838,10 @@ sub create {
Bugzilla::Hook::process('bug_end_of_create',
{bug => $bug, timestamp => $timestamp,});
- $dbh->bz_commit_transaction();
-
- # Because MySQL doesn't support transactions on the fulltext table,
- # we do this after we've committed the transaction. That way we're
- # sure we're inserting a good Bug ID.
$bug->_sync_fulltext(new_bug => 1);
+ $dbh->bz_commit_transaction();
+
return $bug;
}
@@ -1211,17 +1208,13 @@ sub update {
delete $user->{bugs_ignored} if $bug_ignored_changed;
}
- $dbh->bz_commit_transaction();
-
- # The only problem with this here is that update() is often called
- # in the middle of a transaction, and if that transaction is rolled
- # back, this change will *not* be rolled back. As we expect rollbacks
- # to be extremely rare, that is OK for us.
$self->_sync_fulltext(
update_short_desc => $changes->{short_desc},
update_comments => $self->{added_comments} || $self->{comment_isprivate}
);
+ $dbh->bz_commit_transaction();
+
# Remove obsolete internal variables.
delete $self->{'_old_assigned_to'};
delete $self->{'_old_qa_contact'};
@@ -1900,7 +1893,7 @@ sub _check_keywords {
my $keyword_array = $keywords_in;
if (!ref $keyword_array) {
- $keywords_in = trim($keywords_in);
+ $keywords_in = trim($keywords_in);
$keyword_array = [split(/[\s,]+/, $keywords_in)];
}
@@ -1963,7 +1956,7 @@ sub _check_qa_contact {
my $id;
if ($qa_contact) {
$qa_contact = Bugzilla::User->check($qa_contact) if !ref $qa_contact;
- $id = $qa_contact->id;
+ $id = $qa_contact->id;
# create() checks this another way, so we don't have to run this
# check during create().
@@ -2024,7 +2017,7 @@ sub _check_resolution {
&& scalar @$dependson
)
{
- my $dep_bugs = Bugzilla::Bug->new_from_list($dependson);
+ my $dep_bugs = Bugzilla::Bug->new_from_list($dependson);
my $count_open = grep { $_->isopened } @$dep_bugs;
if ($count_open) {
my $bug_id = ref($invocant) ? $invocant->id : undef;
@@ -2648,7 +2641,7 @@ sub set_dependencies {
my ($self, $dependson, $blocked) = @_;
my %extra = (blocked => $blocked);
$dependson = $self->_check_dependencies($dependson, 'dependson', \%extra);
- $blocked = $extra{blocked};
+ $blocked = $extra{blocked};
# These may already be detainted, but all setters are supposed to
# detaint their input if they've run a validator (just as though
@@ -3058,7 +3051,7 @@ sub add_comment {
$params ||= {};
# Fill out info that doesn't change and callers may not pass in
- $params->{'bug_id'} = $self;
+ $params->{'bug_id'} = $self;
$params->{'thetext'} = defined($comment) ? $comment : '';
# Validate all the entered data
@@ -3146,7 +3139,7 @@ sub add_group {
# So we have to store and pass the name as entered by the user to
# the error message, if we have it.
my $group_name = blessed($group) ? $group->name : $group;
- my $args = {
+ my $args = {
name => $group_name,
product => $self->product,
bug_id => $self->id,
@@ -3182,7 +3175,7 @@ sub remove_group {
# See add_group() for the reason why we store the user input.
my $group_name = blessed($group) ? $group->name : $group;
- my $args = {
+ my $args = {
name => $group_name,
product => $self->product,
bug_id => $self->id,
@@ -4448,7 +4441,7 @@ sub LogActivityEntry {
if (length($removestr) > MAX_LINE_LENGTH) {
my $commaposition = find_wrap_point($removed, MAX_LINE_LENGTH);
$removestr = substr($removed, 0, $commaposition);
- $removed = substr($removed, $commaposition);
+ $removed = substr($removed, $commaposition);
}
else {
$removed = ""; # no more entries
@@ -4456,7 +4449,7 @@ sub LogActivityEntry {
if (length($addstr) > MAX_LINE_LENGTH) {
my $commaposition = find_wrap_point($added, MAX_LINE_LENGTH);
$addstr = substr($added, 0, $commaposition);
- $added = substr($added, $commaposition);
+ $added = substr($added, $commaposition);
}
else {
$added = ""; # no more entries
@@ -4761,7 +4754,7 @@ sub ValidateDependencies {
@{$deps{$target}} = @{$deptree{$target}};
my @stack = @{$deps{$target}};
while (@stack) {
- my $i = shift @stack;
+ my $i = shift @stack;
my $dep_list = $dbh->selectcol_arrayref($sth{$target}, undef, $i);
foreach my $t (@$dep_list) {
diff --git a/Bugzilla/BugMail.pm b/Bugzilla/BugMail.pm
index 90eed0d8e..18795d735 100644
--- a/Bugzilla/BugMail.pm
+++ b/Bugzilla/BugMail.pm
@@ -59,7 +59,7 @@ sub Send {
# Bugzilla::User objects of people in various roles. More than one person
# can 'have' a role, if the person in that role has changed, or people are
# watching.
- my @assignees = ($bug->assigned_to);
+ my @assignees = ($bug->assigned_to);
my @qa_contacts = $bug->qa_contact || ();
my @ccs = @{$bug->cc_users};
@@ -455,7 +455,7 @@ sub _flatten_object {
# the same objects are used for each recipient, so cache the flattened hash
my $cache = Bugzilla->request_cache->{bugmail_flat_objects} ||= {};
- my $key = blessed($object) . '-' . $object->id;
+ my $key = blessed($object) . '-' . $object->id;
return $cache->{$key} ||= $object->flatten_to_hash;
}
@@ -559,7 +559,7 @@ sub _get_diffs {
&& $diff->{field_name} eq $changes[-1]->{field_name}
&& $diff->{bug_when} eq $changes[-1]->{bug_when}
&& $diff->{who} eq $changes[-1]->{who}
- && ($diff->{attach_id} // 0) == ($changes[-1]->{attach_id} // 0)
+ && ($diff->{attach_id} // 0) == ($changes[-1]->{attach_id} // 0)
&& ($diff->{comment_id} // 0) == ($changes[-1]->{comment_id} // 0))
{
my $old_change = pop @changes;
@@ -575,7 +575,7 @@ sub _get_diffs {
}
sub _get_new_bugmail_fields {
- my $bug = shift;
+ my $bug = shift;
my @fields = @{Bugzilla->fields({obsolete => 0, in_new_bugmail => 1})};
my @diffs;
my $params = Bugzilla->params;
diff --git a/Bugzilla/BugUrl.pm b/Bugzilla/BugUrl.pm
index b7a11b120..5d62d1b17 100644
--- a/Bugzilla/BugUrl.pm
+++ b/Bugzilla/BugUrl.pm
@@ -84,7 +84,7 @@ sub new {
if (ref $param) {
my $bug_id = $param->{bug_id};
- my $name = $param->{name} || $param->{value};
+ my $name = $param->{name} || $param->{value};
if (!defined $bug_id) {
ThrowCodeError('bad_arg', {argument => 'bug_id', function => "${class}::new"});
}
@@ -93,7 +93,7 @@ sub new {
}
my $condition = 'bug_id = ? AND value = ?';
- my @values = ($bug_id, $name);
+ my @values = ($bug_id, $name);
$param = {condition => $condition, values => \@values};
}
diff --git a/Bugzilla/CGI.pm b/Bugzilla/CGI.pm
index 527b54996..8558a384a 100644
--- a/Bugzilla/CGI.pm
+++ b/Bugzilla/CGI.pm
@@ -35,10 +35,8 @@ sub _init_bz_cgi_globals {
# We don't precompile any functions here, that's done specially in
# mod_perl code.
- $invocant->_setup_symbols(
- qw(:no_xhtml :oldstyle_urls :private_tempfiles
- :unique_headers)
- );
+ $invocant->_setup_symbols(qw(:no_xhtml :oldstyle_urls :private_tempfiles
+ :unique_headers));
}
BEGIN { __PACKAGE__->_init_bz_cgi_globals() if i_am_cgi(); }
@@ -357,7 +355,7 @@ sub _prevent_unsafe_response {
my $is_safe_content_type = $content_type =~ $safe_content_type_re;
# Safe referers are ones that begin with the urlbase.
- my $referer = $self->referer;
+ my $referer = $self->referer;
my $is_safe_referer = $referer && $referer =~ $safe_referer_re;
if (!$is_safe_referer && !$is_safe_content_type) {
diff --git a/Bugzilla/Chart.pm b/Bugzilla/Chart.pm
index 3aee1aafb..1abf3dbe4 100644
--- a/Bugzilla/Chart.pm
+++ b/Bugzilla/Chart.pm
@@ -27,7 +27,7 @@ use List::Util qw(max);
sub new {
my $invocant = shift;
- my $class = ref($invocant) || $invocant;
+ my $class = ref($invocant) || $invocant;
# Create a ref to an empty hash and bless it
my $self = {};
@@ -255,7 +255,7 @@ sub readData {
my $sth = $dbh->prepare($query);
- my $gt_index = $self->{'gt'} ? scalar(@{$self->{'lines'}}) : undef;
+ my $gt_index = $self->{'gt'} ? scalar(@{$self->{'lines'}}) : undef;
my $line_index = 0;
$maxvals[$gt_index] = 0 if $gt_index;
diff --git a/Bugzilla/Comment.pm b/Bugzilla/Comment.pm
index 02a044ff5..575703b4b 100644
--- a/Bugzilla/Comment.pm
+++ b/Bugzilla/Comment.pm
@@ -305,7 +305,7 @@ sub remove_tag {
my ($self, $tag) = @_;
$tag = $self->_check_tag($tag);
- my $tags = $self->tags;
+ my $tags = $self->tags;
my $index = first { lc($tags->[$_]) eq lc($tag) } 0 .. scalar(@$tags) - 1;
return unless defined $index;
splice(@$tags, $index, 1);
diff --git a/Bugzilla/Component.pm b/Bugzilla/Component.pm
index 3cdee9d63..ef8180eb0 100644
--- a/Bugzilla/Component.pm
+++ b/Bugzilla/Component.pm
@@ -83,7 +83,7 @@ sub new {
}
my $condition = 'product_id = ? AND name = ?';
- my @values = ($product->id, $name);
+ my @values = ($product->id, $name);
$param = {condition => $condition, values => \@values};
}
diff --git a/Bugzilla/Config/Common.pm b/Bugzilla/Config/Common.pm
index 756dbb0dd..a0077b5b2 100644
--- a/Bugzilla/Config/Common.pm
+++ b/Bugzilla/Config/Common.pm
@@ -104,7 +104,7 @@ sub check_sslbase {
my $proto = getprotobyname('tcp');
socket(SOCK, PF_INET, SOCK_STREAM, $proto);
my $iaddr = inet_aton($host) || return "The host $host cannot be resolved";
- my $sin = sockaddr_in($port, $iaddr);
+ my $sin = sockaddr_in($port, $iaddr);
if (!connect(SOCK, $sin)) {
return "Failed to connect to $host:$port ($!); unable to enable SSL";
}
@@ -115,7 +115,7 @@ sub check_sslbase {
sub check_ip {
my $inbound_proxies = shift;
- my @proxies = split(/[\s,]+/, $inbound_proxies);
+ my @proxies = split(/[\s,]+/, $inbound_proxies);
foreach my $proxy (@proxies) {
validate_ip($proxy) || return "$proxy is not a valid IPv4 or IPv6 address";
}
@@ -176,7 +176,7 @@ sub check_opsys {
}
sub check_bug_status {
- my $bug_status = shift;
+ my $bug_status = shift;
my @closed_bug_statuses = map { $_->name } closed_bug_statuses();
if (!grep($_ eq $bug_status, @closed_bug_statuses)) {
return "Must be a valid closed status: one of "
diff --git a/Bugzilla/Constants.pm b/Bugzilla/Constants.pm
index 426a63b66..764c24e0e 100644
--- a/Bugzilla/Constants.pm
+++ b/Bugzilla/Constants.pm
@@ -200,7 +200,7 @@ use Memoize;
# CONSTANTS
#
# Bugzilla version
-use constant BUGZILLA_VERSION => "5.0.4+";
+use constant BUGZILLA_VERSION => "5.0.6";
# A base link to the current REST Documentation. We place it here
# as it will need to be updated to whatever the current release is.
diff --git a/Bugzilla/DB.pm b/Bugzilla/DB.pm
index 029e05f03..c528e77d1 100644
--- a/Bugzilla/DB.pm
+++ b/Bugzilla/DB.pm
@@ -202,7 +202,7 @@ sub bz_check_server_version {
my $sql_vers = $self->bz_server_version;
$self->disconnect;
- my $sql_want = $db->{db_version};
+ my $sql_want = $db->{db_version};
my $version_ok = vers_cmp($sql_vers, $sql_want) > -1 ? 1 : 0;
my $sql_server = $db->{name};
@@ -238,7 +238,7 @@ sub bz_create_database {
# See if we can connect to the actual Bugzilla database.
my $conn_success = eval { $dbh = connect_main() };
- my $db_name = Bugzilla->localconfig->{db_name};
+ my $db_name = Bugzilla->localconfig->{db_name};
if (!$conn_success) {
$dbh = _get_no_db_connection();
@@ -1136,7 +1136,7 @@ sub _bz_schema {
my ($self) = @_;
return $self->{private_bz_schema} if exists $self->{private_bz_schema};
my @module_parts = split('::', ref $self);
- my $module_name = pop @module_parts;
+ my $module_name = pop @module_parts;
$self->{private_bz_schema} = Bugzilla::DB::Schema->new($module_name);
return $self->{private_bz_schema};
}
@@ -1499,7 +1499,7 @@ sub _bz_populate_enum_table {
my $insert
= $self->prepare("INSERT INTO $sql_table (value,sortkey) VALUES (?,?)");
my $sortorder = 0;
- my $maxlen = max(map(length($_), @$valuelist)) + 2;
+ my $maxlen = max(map(length($_), @$valuelist)) + 2;
foreach my $value (@$valuelist) {
$sortorder += 100;
$insert->execute($value, $sortorder);
diff --git a/Bugzilla/DB/Mysql.pm b/Bugzilla/DB/Mysql.pm
index 96a1fcb21..a58d88df4 100644
--- a/Bugzilla/DB/Mysql.pm
+++ b/Bugzilla/DB/Mysql.pm
@@ -283,7 +283,7 @@ sub bz_explain {
$i++;
}
- my $first_row = sprintf($format_string, @$columns);
+ my $first_row = sprintf($format_string, @$columns);
my @explain_rows = ($first_row, '-' x length($first_row));
while (my $row = $sth->fetchrow_arrayref) {
my @fixed = map { defined $_ ? $_ : 'NULL' } @$row;
@@ -328,7 +328,7 @@ sub bz_setup_database {
# This parameter is not yet defined when the DB is being built for
# the very first time. The code below still works properly, however,
# because the default maxattachmentsize is smaller than $min_max_allowed.
- my $max_attachment = (Bugzilla->params->{'maxattachmentsize'} || 0) * 1024;
+ my $max_attachment = (Bugzilla->params->{'maxattachmentsize'} || 0) * 1024;
my $needed_max_allowed = max($min_max_allowed, $max_attachment);
if ($current_max_allowed < $needed_max_allowed) {
warn install_string('max_allowed_packet',
@@ -737,7 +737,7 @@ sub bz_setup_database {
my ($binary, $utf8) = ($sql_def, $sql_def);
my $type = $self->_bz_schema->convert_type($col_info->{TYPE});
$binary =~ s/(\Q$type\E)/$1 CHARACTER SET binary/;
- $utf8 =~ s/(\Q$type\E)/$1 CHARACTER SET utf8/;
+ $utf8 =~ s/(\Q$type\E)/$1 CHARACTER SET utf8/;
push(@binary_sql, "MODIFY COLUMN $name $binary");
push(@utf8_sql, "MODIFY COLUMN $name $utf8");
}
@@ -809,13 +809,13 @@ sub bz_setup_database {
# looks like. So we remove defaults from columns that aren't supposed
# to have them
sub _fix_defaults {
- my $self = shift;
+ my $self = shift;
my $maj_version = substr($self->bz_server_version, 0, 1);
return if $maj_version < 5;
# The oldest column that could have this problem is bugs.assigned_to,
# so if it doesn't have the problem, we just skip doing this entirely.
- my $assi_def = $self->_bz_raw_column_info('bugs', 'assigned_to');
+ my $assi_def = $self->_bz_raw_column_info('bugs', 'assigned_to');
my $assi_default = $assi_def->{COLUMN_DEF};
# This "ne ''" thing is necessary because _raw_column_info seems to
@@ -834,7 +834,7 @@ sub _fix_defaults {
# Get the exact default from the database without any
# "fixing" by bz_column_info_real.
- my $raw_info = $self->_bz_raw_column_info($table, $column);
+ my $raw_info = $self->_bz_raw_column_info($table, $column);
my $raw_default = $raw_info->{COLUMN_DEF};
if (defined $raw_default) {
if ($raw_default eq '') {
@@ -856,7 +856,7 @@ sub _fix_defaults {
print "Fixing defaults...\n";
foreach my $table (reverse sort keys %fix_columns) {
my @alters = map("ALTER COLUMN $_ DROP DEFAULT", @{$fix_columns{$table}});
- my $sql = "ALTER TABLE $table " . join(',', @alters);
+ my $sql = "ALTER TABLE $table " . join(',', @alters);
$self->do($sql);
}
}
diff --git a/Bugzilla/DB/Oracle.pm b/Bugzilla/DB/Oracle.pm
index 337a0b5ba..930270ccc 100644
--- a/Bugzilla/DB/Oracle.pm
+++ b/Bugzilla/DB/Oracle.pm
@@ -310,7 +310,7 @@ sub adjust_statement {
# Oracle requires a FROM clause in all SELECT statements, so append
# "FROM dual" to queries without one (e.g., "SELECT NOW()")
my $is_select = ($part =~ m/^\s*SELECT\b/io);
- my $has_from = ($part =~ m/\bFROM\b/io) if $is_select;
+ my $has_from = ($part =~ m/\bFROM\b/io) if $is_select;
# Oracle includes the time in CURRENT_DATE.
$part =~ s/\bCURRENT_DATE\b/TRUNC(CURRENT_DATE)/io;
@@ -669,7 +669,7 @@ sub bz_setup_database {
# triggers ourselves.
if ($def->{TYPE} =~ /SERIAL/i) {
my $sequence = "${table}_${column}_SEQ";
- my $exists = $self->selectrow_array($sth, undef, $sequence);
+ my $exists = $self->selectrow_array($sth, undef, $sequence);
if (!$exists) {
my @sql = $self->_get_create_seq_ddl($table, $column);
$self->do($_) foreach @sql;
@@ -688,7 +688,7 @@ sub bz_setup_database {
$to_table = 'tag';
}
if ($update =~ /CASCADE/i) {
- my $trigger_name = uc($fk_name . "_UC");
+ my $trigger_name = uc($fk_name . "_UC");
my $exist_trigger = $self->selectcol_arrayref($sth, undef, $trigger_name);
if (@$exist_trigger) {
$self->do("DROP TRIGGER $trigger_name");
@@ -713,7 +713,7 @@ sub bz_setup_database {
}
# Drop the trigger which causes bug 541553
- my $trigger_name = "PRODUCTS_MILESTONEURL";
+ my $trigger_name = "PRODUCTS_MILESTONEURL";
my $exist_trigger = $self->selectcol_arrayref($sth, undef, $trigger_name);
if (@$exist_trigger) {
$self->do("DROP TRIGGER $trigger_name");
diff --git a/Bugzilla/DB/Schema.pm b/Bugzilla/DB/Schema.pm
index 4fc9ce8e2..94b8734f3 100644
--- a/Bugzilla/DB/Schema.pm
+++ b/Bugzilla/DB/Schema.pm
@@ -626,7 +626,7 @@ use constant ABSTRACT_SCHEMA => {
FIELDS => [
id => {TYPE => 'MEDIUMSERIAL', NOTNULL => 1, PRIMARYKEY => 1},
type_id => {
- TYPE => 'INT2',
+ TYPE => 'INT3',
NOTNULL => 1,
REFERENCES => {TABLE => 'flagtypes', COLUMN => 'id', DELETE => 'CASCADE'}
},
@@ -662,7 +662,7 @@ use constant ABSTRACT_SCHEMA => {
# "flagtypes" defines the types of flags that can be set.
flagtypes => {
FIELDS => [
- id => {TYPE => 'SMALLSERIAL', NOTNULL => 1, PRIMARYKEY => 1},
+ id => {TYPE => 'MEDIUMSERIAL', NOTNULL => 1, PRIMARYKEY => 1},
name => {TYPE => 'varchar(50)', NOTNULL => 1},
description => {TYPE => 'MEDIUMTEXT', NOTNULL => 1},
cc_list => {TYPE => 'varchar(200)'},
@@ -689,7 +689,7 @@ use constant ABSTRACT_SCHEMA => {
flaginclusions => {
FIELDS => [
type_id => {
- TYPE => 'INT2',
+ TYPE => 'INT3',
NOTNULL => 1,
REFERENCES => {TABLE => 'flagtypes', COLUMN => 'id', DELETE => 'CASCADE'}
},
@@ -711,7 +711,7 @@ use constant ABSTRACT_SCHEMA => {
flagexclusions => {
FIELDS => [
type_id => {
- TYPE => 'INT2',
+ TYPE => 'INT3',
NOTNULL => 1,
REFERENCES => {TABLE => 'flagtypes', COLUMN => 'id', DELETE => 'CASCADE'}
},
@@ -2048,7 +2048,7 @@ sub _column_fks_to_ddl {
my ($self, $table, $column_fks) = @_;
my @ddl;
foreach my $column (keys %$column_fks) {
- my $def = $column_fks->{$column};
+ my $def = $column_fks->{$column};
my $fk_string = $self->get_fk_ddl($table, $column, $def);
push(@ddl, $fk_string);
}
@@ -2147,7 +2147,7 @@ sub get_table_columns {
sub get_table_indexes_abstract {
my ($self, $table) = @_;
my $table_def = $self->get_table_abstract($table);
- my %indexes = @{$table_def->{INDEXES} || []};
+ my %indexes = @{$table_def->{INDEXES} || []};
return \%indexes;
}
@@ -2217,7 +2217,7 @@ sub _get_create_table_ddl {
my $finfo = shift(@fields);
push(@col_lines, "\t$field\t" . $self->get_type_ddl($finfo));
if ($self->FK_ON_CREATE and $finfo->{REFERENCES}) {
- my $fk = $finfo->{REFERENCES};
+ my $fk = $finfo->{REFERENCES};
my $fk_ddl = $self->get_fk_ddl($table, $field, $fk);
push(@fk_lines, $fk_ddl);
}
@@ -2352,7 +2352,7 @@ sub get_alter_column_ddl {
my ($table, $column, $new_def, $set_nulls_to) = @_;
my @statements;
- my $old_def = $self->get_column_abstract($table, $column);
+ my $old_def = $self->get_column_abstract($table, $column);
my $specific = $self->{db_specific};
# If the types have changed, we have to deal with that.
@@ -2711,7 +2711,7 @@ sub delete_column {
my ($self, $table, $column) = @_;
my $abstract_fields = $self->{abstract_schema}{$table}{FIELDS};
- my $name_position = firstidx { $_ eq $column } @$abstract_fields;
+ my $name_position = firstidx { $_ eq $column } @$abstract_fields;
die "Attempted to delete nonexistent column ${table}.${column}"
if $name_position == -1;
@@ -2859,7 +2859,7 @@ sub _set_object {
sub delete_index {
my ($self, $table, $name) = @_;
- my $indexes = $self->{abstract_schema}{$table}{INDEXES};
+ my $indexes = $self->{abstract_schema}{$table}{INDEXES};
my $name_position = firstidx { $_ eq $name } @$indexes;
die "Attempted to delete nonexistent index $name on the $table table"
if $name_position == -1;
diff --git a/Bugzilla/DB/Schema/Mysql.pm b/Bugzilla/DB/Schema/Mysql.pm
index fe2191486..4c0d43523 100644
--- a/Bugzilla/DB/Schema/Mysql.pm
+++ b/Bugzilla/DB/Schema/Mysql.pm
@@ -85,7 +85,7 @@ use constant REVERSE_MAPPING => {
# as in their db-specific version, so no reverse mapping is needed.
};
-use constant MYISAM_TABLES => qw(bugs_fulltext);
+use constant MYISAM_TABLES => qw();
#------------------------------------------------------------------------------
sub _initialize {
@@ -135,8 +135,12 @@ sub _get_create_table_ddl {
my $charset = Bugzilla->dbh->bz_db_is_utf8 ? "CHARACTER SET utf8" : '';
my $type = grep($_ eq $table, MYISAM_TABLES) ? 'MYISAM' : 'InnoDB';
- return (
- $self->SUPER::_get_create_table_ddl($table) . " ENGINE = $type $charset");
+
+ my $ddl = $self->SUPER::_get_create_table_ddl($table);
+ $ddl =~ s/CREATE TABLE (.*) \(/CREATE TABLE `$1` (/;
+ $ddl .= " ENGINE = $type $charset";
+
+ return $ddl;
} #eosub--_get_create_table_ddl
@@ -151,7 +155,7 @@ sub _get_create_index_ddl {
my $sql = "CREATE ";
$sql .= "$index_type "
if ($index_type eq 'UNIQUE' || $index_type eq 'FULLTEXT');
- $sql .= "INDEX \`$index_name\` ON $table_name \("
+ $sql .= "INDEX \`$index_name\` ON \`$table_name\` \("
. join(", ", @$index_fields) . "\)";
return ($sql);
@@ -174,7 +178,7 @@ sub get_create_database_sql {
# MySQL has a simpler ALTER TABLE syntax than ANSI.
sub get_alter_column_ddl {
my ($self, $table, $column, $new_def, $set_nulls_to) = @_;
- my $old_def = $self->get_column($table, $column);
+ my $old_def = $self->get_column($table, $column);
my %new_def_copy = %$new_def;
if ($old_def->{PRIMARYKEY} && $new_def->{PRIMARYKEY}) {
diff --git a/Bugzilla/DB/Schema/Oracle.pm b/Bugzilla/DB/Schema/Oracle.pm
index 0cf2b6c4b..416e9204b 100644
--- a/Bugzilla/DB/Schema/Oracle.pm
+++ b/Bugzilla/DB/Schema/Oracle.pm
@@ -228,7 +228,7 @@ sub get_alter_column_ddl {
my ($self, $table, $column, $new_def, $set_nulls_to) = @_;
my @statements;
- my $old_def = $self->get_column_abstract($table, $column);
+ my $old_def = $self->get_column_abstract($table, $column);
my $specific = $self->{db_specific};
# If the types have changed, we have to deal with that.
diff --git a/Bugzilla/DB/Schema/Sqlite.pm b/Bugzilla/DB/Schema/Sqlite.pm
index 73ee7cfc5..57361d2bb 100644
--- a/Bugzilla/DB/Schema/Sqlite.pm
+++ b/Bugzilla/DB/Schema/Sqlite.pm
@@ -288,7 +288,7 @@ sub get_rename_column_ddl {
sub get_add_fks_sql {
my ($self, $table, $column_fks) = @_;
my @clauses = $self->_sqlite_table_lines($table);
- my @add = $self->_column_fks_to_ddl($table, $column_fks);
+ my @add = $self->_column_fks_to_ddl($table, $column_fks);
push(@clauses, @add);
return $self->_sqlite_alter_schema($table, \@clauses);
}
diff --git a/Bugzilla/DB/Sqlite.pm b/Bugzilla/DB/Sqlite.pm
index 68180414c..c180fd0d7 100644
--- a/Bugzilla/DB/Sqlite.pm
+++ b/Bugzilla/DB/Sqlite.pm
@@ -250,7 +250,7 @@ sub bz_setup_database {
# If we created TheSchwartz tables with COLLATE bugzilla (during the
# 4.1.x development series) re-create them without it.
- my @tables = $self->bz_table_list();
+ my @tables = $self->bz_table_list();
my @ts_tables = grep {/^ts_/} @tables;
my $drop_ok;
foreach my $table (@ts_tables) {
diff --git a/Bugzilla/Extension.pm b/Bugzilla/Extension.pm
index 746fc4bfd..a5522583e 100644
--- a/Bugzilla/Extension.pm
+++ b/Bugzilla/Extension.pm
@@ -155,7 +155,7 @@ sub my_inc {
# a "require" on Windows, for example.)
return if $file !~ /^Bugzilla/;
- my $lib_dir = __do_call($class, 'lib_dir');
+ my $lib_dir = __do_call($class, 'lib_dir');
my @class_parts = split('::', $class);
my ($vol, $dir, $file_name) = File::Spec->splitpath($file);
my @dir_parts = File::Spec->splitdir($dir);
@@ -190,7 +190,7 @@ sub my_inc {
use constant enabled => 1;
sub lib_dir {
- my $invocant = shift;
+ my $invocant = shift;
my $package_dir = __do_call($invocant, 'package_dir');
# For extensions that are just files in the extensions/ directory,
diff --git a/Bugzilla/Field.pm b/Bugzilla/Field.pm
index a7b543974..3f587b05f 100644
--- a/Bugzilla/Field.pm
+++ b/Bugzilla/Field.pm
@@ -153,7 +153,7 @@ use constant SQL_DEFINITIONS => {
{TYPE => 'varchar(64)', NOTNULL => 1, DEFAULT => "'---'"}, FIELD_TYPE_TEXTAREA,
{TYPE => 'MEDIUMTEXT', NOTNULL => 1, DEFAULT => "''"}, FIELD_TYPE_DATETIME,
{TYPE => 'DATETIME'}, FIELD_TYPE_DATE, {TYPE => 'DATE'}, FIELD_TYPE_BUG_ID,
- {TYPE => 'INT3'}, FIELD_TYPE_INTEGER,
+ {TYPE => 'INT3'}, FIELD_TYPE_INTEGER,
{TYPE => 'INT4', NOTNULL => 1, DEFAULT => 0},
};
diff --git a/Bugzilla/Field/Choice.pm b/Bugzilla/Field/Choice.pm
index 360f851aa..bd82a8e3f 100644
--- a/Bugzilla/Field/Choice.pm
+++ b/Bugzilla/Field/Choice.pm
@@ -77,7 +77,7 @@ use constant DEFAULT_MAP => {
sub type {
my ($class, $field) = @_;
- my $field_obj = blessed $field ? $field : Bugzilla::Field->check($field);
+ my $field_obj = blessed $field ? $field : Bugzilla::Field->check($field);
my $field_name = $field_obj->name;
if (my $package = $class->CLASS_MAP->{$field_name}) {
diff --git a/Bugzilla/Flag.pm b/Bugzilla/Flag.pm
index 5151e2dba..b065f4ea5 100644
--- a/Bugzilla/Flag.pm
+++ b/Bugzilla/Flag.pm
@@ -450,7 +450,7 @@ sub create {
my ($class, $flag, $timestamp) = @_;
$timestamp ||= Bugzilla->dbh->selectrow_array('SELECT LOCALTIMESTAMP(0)');
- my $params = {};
+ my $params = {};
my @columns = grep { $_ ne 'id' } $class->_get_db_columns;
# Some columns use date formatting so use alias instead
@@ -513,7 +513,7 @@ sub update_flags {
my ($class, $self, $old_self, $timestamp) = @_;
my @old_summaries = $class->snapshot($old_self->flags);
- my %old_flags = map { $_->id => $_ } @{$old_self->flags};
+ my %old_flags = map { $_->id => $_ } @{$old_self->flags};
foreach my $new_flag (@{$self->flags}) {
if (!$new_flag->id) {
@@ -549,7 +549,7 @@ sub update_flags {
}
my @new_summaries = $class->snapshot($self->flags);
- my @changes = $class->update_activity(\@old_summaries, \@new_summaries);
+ my @changes = $class->update_activity(\@old_summaries, \@new_summaries);
Bugzilla::Hook::process(
'flag_end_of_update',
@@ -628,7 +628,7 @@ sub force_retarget {
foreach my $flag (@$flags) {
# $bug is undefined when e.g. editing inclusion and exclusion lists.
- my $obj = $flag->attachment || $bug || $flag->bug;
+ my $obj = $flag->attachment || $bug || $flag->bug;
my $is_retargetted = $flag->retarget($obj);
if ($is_retargetted) {
$dbh->do('UPDATE flags SET type_id = ? WHERE id = ?',
diff --git a/Bugzilla/FlagType.pm b/Bugzilla/FlagType.pm
index 78123d548..a08ee83b9 100644
--- a/Bugzilla/FlagType.pm
+++ b/Bugzilla/FlagType.pm
@@ -615,7 +615,7 @@ sub match {
my $dbh = Bugzilla->dbh;
# Depending on the criteria, we may have to append additional tables.
- my $tables = [DB_TABLE];
+ my $tables = [DB_TABLE];
my @criteria = sqlify_criteria($criteria, $tables);
$tables = join(' ', @$tables);
$criteria = join(' AND ', @criteria);
@@ -643,7 +643,7 @@ sub count {
my $dbh = Bugzilla->dbh;
# Depending on the criteria, we may have to append additional tables.
- my $tables = [DB_TABLE];
+ my $tables = [DB_TABLE];
my @criteria = sqlify_criteria($criteria, $tables);
$tables = join(' ', @$tables);
$criteria = join(' AND ', @criteria);
diff --git a/Bugzilla/Group.pm b/Bugzilla/Group.pm
index 157f8cd32..8715c4cfe 100644
--- a/Bugzilla/Group.pm
+++ b/Bugzilla/Group.pm
@@ -180,7 +180,7 @@ sub check_members_are_visible {
my $user = Bugzilla->user;
return if !Bugzilla->params->{'usevisibilitygroups'};
- my $group_id = $self->id;
+ my $group_id = $self->id;
my $is_visible = grep { $_ == $group_id } @{$user->visible_groups_inherited};
if (!$is_visible) {
ThrowUserError('group_not_visible', {group => $self});
diff --git a/Bugzilla/Hook.pm b/Bugzilla/Hook.pm
index 3575d30c1..f5c67c692 100644
--- a/Bugzilla/Hook.pm
+++ b/Bugzilla/Hook.pm
@@ -26,7 +26,7 @@ sub process {
}
sub in {
- my $hook_name = shift;
+ my $hook_name = shift;
my $currently_in = Bugzilla->request_cache->{hook_stack}->[-1] || '';
return $hook_name eq $currently_in ? 1 : 0;
}
diff --git a/Bugzilla/Install/DB.pm b/Bugzilla/Install/DB.pm
index ffd179948..d3cfcdeeb 100644
--- a/Bugzilla/Install/DB.pm
+++ b/Bugzilla/Install/DB.pm
@@ -475,9 +475,8 @@ sub update_table_definitions {
$dbh->bz_drop_column('profiles', 'refreshed_when');
$dbh->bz_drop_column('groups', 'last_changed');
- # 2006-08-06 LpSolit@gmail.com - Bug 347521
- $dbh->bz_alter_column('flagtypes', 'id',
- {TYPE => 'SMALLSERIAL', NOTNULL => 1, PRIMARYKEY => 1});
+ # 2019-01-31 dylan@hardison.net - Bug TODO
+ _update_flagtypes_id();
$dbh->bz_alter_column('keyworddefs', 'id',
{TYPE => 'SMALLSERIAL', NOTNULL => 1, PRIMARYKEY => 1});
@@ -820,6 +819,30 @@ sub _update_product_name_definition {
}
}
+sub _update_flagtypes_id {
+ my $dbh = Bugzilla->dbh;
+ my @fixes = (
+ {table => 'flaginclusions', column => 'type_id'},
+ {table => 'flagexclusions', column => 'type_id'},
+ {table => 'flags', column => 'type_id'},
+ );
+ my $flagtypes_def = $dbh->bz_column_info('flagtypes', 'id');
+ foreach my $fix (@fixes) {
+ my $def = $dbh->bz_column_info($fix->{table}, $fix->{column});
+ if ($def->{TYPE} eq 'INT2') {
+ warn "Dropping $fix->{table}\n";
+ $dbh->bz_drop_related_fks($fix->{table}, $fix->{column});
+ $def->{TYPE} = 'INT3';
+ $dbh->bz_alter_column($fix->{table}, $fix->{column}, $def);
+ }
+ }
+
+ if ($flagtypes_def->{TYPE} eq 'SMALLSERIAL') {
+ $flagtypes_def->{TYPE} = 'MEDIUMSERIAL';
+ $dbh->bz_alter_column('flagtypes', 'id', $flagtypes_def);
+ }
+}
+
# A helper for the function below.
sub _write_one_longdesc {
my ($id, $who, $when, $buffer) = (@_);
@@ -1843,8 +1866,7 @@ sub _convert_groups_system_from_groupset {
my ($admin_gid)
= $dbh->selectrow_array("SELECT id FROM groups WHERE name = 'admin'");
if (!$admin_gid) {
- $dbh->do(
- q{INSERT INTO groups (name, description)
+ $dbh->do(q{INSERT INTO groups (name, description)
VALUES ('admin', 'Administrators')}
);
$admin_gid = $dbh->bz_last_key('groups', 'id');
@@ -2255,7 +2277,7 @@ sub _copy_old_charts_into_database {
# We also add a new query for "Open", so that migrated products get
# the same set as new products (see editproducts.cgi.)
my @openedstatuses = ("UNCONFIRMED", "NEW", "ASSIGNED", "REOPENED");
- my $query = join("&", map {"bug_status=$_"} @openedstatuses);
+ my $query = join("&", map {"bug_status=$_"} @openedstatuses);
my $series
= new Bugzilla::Series(undef, $product, $all_name, $open_name, undef, 1,
$query_prod . $query, 1);
@@ -3362,8 +3384,7 @@ sub _initialize_workflow_for_upgrade {
sub _make_lang_setting_dynamic {
my $dbh = Bugzilla->dbh;
- my $count = $dbh->selectrow_array(
- q{SELECT 1 FROM setting
+ my $count = $dbh->selectrow_array(q{SELECT 1 FROM setting
WHERE name = 'lang'
AND subclass IS NULL}
);
@@ -3654,7 +3675,7 @@ sub _set_attachment_comment_type {
my $text = $comments{$id};
next if $text !~ /^\Q$string\E(\d+)/;
my $attachment_id = $1;
- my @lines = split("\n", $text);
+ my @lines = split("\n", $text);
if ($type == CMT_ATTACHMENT_CREATED) {
# Now we have to remove the text up until we find a line that's
@@ -3723,7 +3744,7 @@ sub _convert_flagtypes_fks_to_set_null {
}
sub _fix_decimal_types {
- my $dbh = Bugzilla->dbh;
+ my $dbh = Bugzilla->dbh;
my $type = {TYPE => 'decimal(7,2)', NOTNULL => 1, DEFAULT => '0'};
$dbh->bz_alter_column('bugs', 'estimated_time', $type);
$dbh->bz_alter_column('bugs', 'remaining_time', $type);
@@ -3732,7 +3753,7 @@ sub _fix_decimal_types {
sub _fix_series_creator_fk {
my $dbh = Bugzilla->dbh;
- my $fk = $dbh->bz_fk_info('series', 'creator');
+ my $fk = $dbh->bz_fk_info('series', 'creator');
if ($fk and $fk->{DELETE} eq 'SET NULL') {
$fk->{DELETE} = 'CASCADE';
$dbh->bz_alter_fk('series', 'creator', $fk);
@@ -3889,7 +3910,7 @@ sub _migrate_user_tags {
indicate_progress({current => ++$current, total => $total, every => 25});
- my $uri = URI->new("buglist.cgi?$query", 'http');
+ my $uri = URI->new("buglist.cgi?$query", 'http');
my $bug_id_list = $uri->query_param_delete('bug_id');
if (!$bug_id_list) {
warn "No bug_id param for tag $name from user $user_id: $query";
@@ -3986,7 +4007,7 @@ sub _rename_tags_to_tag {
sub _on_delete_set_null_for_audit_log_userid {
my $dbh = Bugzilla->dbh;
- my $fk = $dbh->bz_fk_info('audit_log', 'user_id');
+ my $fk = $dbh->bz_fk_info('audit_log', 'user_id');
if ($fk and !defined $fk->{DELETE}) {
$fk->{DELETE} = 'SET NULL';
$dbh->bz_alter_fk('audit_log', 'user_id', $fk);
@@ -4025,7 +4046,7 @@ sub _fix_longdescs_primary_key {
}
sub _fix_longdescs_indexes {
- my $dbh = Bugzilla->dbh;
+ my $dbh = Bugzilla->dbh;
my $bug_id_idx = $dbh->bz_index_info('longdescs', 'longdescs_bug_id_idx');
if ($bug_id_idx && scalar @{$bug_id_idx->{'FIELDS'}} < 2) {
$dbh->bz_drop_index('longdescs', 'longdescs_bug_id_idx');
@@ -4124,7 +4145,7 @@ sub _add_password_salt_separator {
sub _fix_flagclusions_indexes {
my $dbh = Bugzilla->dbh;
foreach my $table ('flaginclusions', 'flagexclusions') {
- my $index = $table . '_type_id_idx';
+ my $index = $table . '_type_id_idx';
my $idx_info = $dbh->bz_index_info($table, $index);
if ($idx_info && $idx_info->{'TYPE'} ne 'UNIQUE') {
@@ -4185,8 +4206,7 @@ sub _update_alias {
return unless $dbh->bz_column_info('bugs', 'alias');
# We need to move the aliases from the bugs table to the bugs_aliases table
- $dbh->do(
- q{
+ $dbh->do(q{
INSERT INTO bugs_aliases (bug_id, alias)
SELECT bug_id, alias FROM bugs WHERE alias IS NOT NULL
}
diff --git a/Bugzilla/Install/Filesystem.pm b/Bugzilla/Install/Filesystem.pm
index 5aaf01537..79118de59 100644
--- a/Bugzilla/Install/Filesystem.pm
+++ b/Bugzilla/Install/Filesystem.pm
@@ -459,7 +459,7 @@ EOT
);
my %all_files = (%create_files, %htaccess, %index_html, %files);
- my %all_dirs = (%create_dirs, %non_recurse_dirs);
+ my %all_dirs = (%create_dirs, %non_recurse_dirs);
return {
create_dirs => \%create_dirs,
@@ -683,7 +683,7 @@ sub _create_files {
unless (-e $file) {
print "Creating $file...\n";
my $info = $files{$file};
- my $fh = new IO::File($file, O_WRONLY | O_CREAT, $info->{perms}) || die $!;
+ my $fh = new IO::File($file, O_WRONLY | O_CREAT, $info->{perms}) || die $!;
print $fh $info->{contents} if $info->{contents};
$fh->close;
}
diff --git a/Bugzilla/Install/Requirements.pm b/Bugzilla/Install/Requirements.pm
index 4c10263ee..852f7f78e 100644
--- a/Bugzilla/Install/Requirements.pm
+++ b/Bugzilla/Install/Requirements.pm
@@ -63,14 +63,12 @@ use constant APACHE => qw(apachectl httpd apache2 apache);
# If we don't find any of the above binaries in the normal PATH,
# these are extra places we look.
-use constant APACHE_PATH => [
- qw(
+use constant APACHE_PATH => [qw(
/usr/sbin
/usr/local/sbin
/usr/libexec
/usr/local/libexec
- )
-];
+ )];
# The below two constants are subroutines so that they can implement
# a hook. Other than that they are actually constants.
@@ -475,7 +473,7 @@ sub check_requirements {
my ($output) = @_;
print "\n", install_string('checking_modules'), "\n" if $output;
- my $root = ROOT_USER;
+ my $root = ROOT_USER;
my $missing = _check_missing(REQUIRED_MODULES, $output);
print "\n", install_string('checking_dbd'), "\n" if $output;
@@ -608,7 +606,7 @@ sub print_module_instructions {
if (my @missing = @{$check_results->{apache}}) {
print install_string('modules_message_apache');
my $missing_string = join(', ', @missing);
- my $size = TABLE_WIDTH - 7;
+ my $size = TABLE_WIDTH - 7;
printf "* \%-${size}s *\n", $missing_string;
my $spaces = TABLE_WIDTH - 2;
print "*", (' ' x $spaces), "*\n";
diff --git a/Bugzilla/Install/Util.pm b/Bugzilla/Install/Util.pm
index 26e58c772..617977241 100644
--- a/Bugzilla/Install/Util.pm
+++ b/Bugzilla/Install/Util.pm
@@ -620,7 +620,7 @@ sub set_output_encoding {
sub init_console {
eval { ON_WINDOWS && require Win32::Console::ANSI; };
$ENV{'ANSI_COLORS_DISABLED'} = 1 if ($@ || !-t *STDOUT);
- $SIG{__DIE__} = \&_console_die;
+ $SIG{__DIE__} = \&_console_die;
prevent_windows_dialog_boxes();
set_output_encoding();
}
diff --git a/Bugzilla/Job/Mailer.pm b/Bugzilla/Job/Mailer.pm
index 4a32f0d05..544d86107 100644
--- a/Bugzilla/Job/Mailer.pm
+++ b/Bugzilla/Job/Mailer.pm
@@ -34,7 +34,7 @@ sub retry_delay {
sub work {
my ($class, $job) = @_;
- my $msg = $job->arg->{msg};
+ my $msg = $job->arg->{msg};
my $success = eval { MessageToMTA($msg, 1); 1; };
if (!$success) {
$job->failed($@);
diff --git a/Bugzilla/JobQueue/Runner.pm b/Bugzilla/JobQueue/Runner.pm
index a1803be6e..a9eb0bca4 100644
--- a/Bugzilla/JobQueue/Runner.pm
+++ b/Bugzilla/JobQueue/Runner.pm
@@ -146,7 +146,7 @@ END
else {
print "Please edit $dest_file to configure the daemon.\n";
}
- }
+ }
}
sub gd_can_uninstall {
@@ -160,7 +160,7 @@ sub gd_can_uninstall {
}
system($chkconfig, '--del', $initscript);
print "$initscript disabled.", " To stop it, run: $initd/$initscript stop\n";
- }
+ }
}
return $self->SUPER::gd_can_install(@_);
diff --git a/Bugzilla/Migrate.pm b/Bugzilla/Migrate.pm
index 1aa73a9a0..887e553ee 100644
--- a/Bugzilla/Migrate.pm
+++ b/Bugzilla/Migrate.pm
@@ -689,7 +689,7 @@ sub insert_bugs {
my $dbh = Bugzilla->dbh;
say get_text('migrate_creating_bugs');
- my $init_statuses = Bugzilla::Status->can_change_to();
+ my $init_statuses = Bugzilla::Status->can_change_to();
my %allowed_statuses = map { lc($_->name) => 1 } @$init_statuses;
# Bypass the question of whether or not we can file UNCONFIRMED
diff --git a/Bugzilla/Migrate/Gnats.pm b/Bugzilla/Migrate/Gnats.pm
index 3d51aa60d..a5aa642e1 100644
--- a/Bugzilla/Migrate/Gnats.pm
+++ b/Bugzilla/Migrate/Gnats.pm
@@ -280,7 +280,7 @@ sub _read_products {
my %product = (name => $name, description => $description);
my @initial_cc = split(',', $cc);
- @initial_cc = @{$self->translate_value('user', \@initial_cc)};
+ @initial_cc = @{$self->translate_value('user', \@initial_cc)};
$assigned_to = $self->translate_value('user', $assigned_to);
my %component = (
name => $self->config('component_name'),
diff --git a/Bugzilla/Milestone.pm b/Bugzilla/Milestone.pm
index be49df536..815a111f8 100644
--- a/Bugzilla/Milestone.pm
+++ b/Bugzilla/Milestone.pm
@@ -73,7 +73,7 @@ sub new {
}
my $condition = 'product_id = ? AND value = ?';
- my @values = ($product->id, $name);
+ my @values = ($product->id, $name);
$param = {condition => $condition, values => \@values};
}
diff --git a/Bugzilla/Object.pm b/Bugzilla/Object.pm
index 6fc3fecc0..e38a44448 100644
--- a/Bugzilla/Object.pm
+++ b/Bugzilla/Object.pm
@@ -300,7 +300,7 @@ sub check {
sub match {
my ($invocant, $criteria) = @_;
my $class = ref($invocant) || $invocant;
- my $dbh = Bugzilla->dbh;
+ my $dbh = Bugzilla->dbh;
return [$class->get_all] if !$criteria;
@@ -546,7 +546,7 @@ sub update {
Bugzilla->memcached->clear({table => $table, id => $self->id});
Bugzilla->memcached->clear_config() if $self->IS_CONFIG;
}
- $self->_object_cache_remove({id => $self->id});
+ $self->_object_cache_remove({id => $self->id});
$self->_object_cache_remove({name => $self->name}) if $self->name;
if (wantarray) {
@@ -571,7 +571,7 @@ sub remove_from_db {
Bugzilla->memcached->clear({table => $table, id => $self->id});
Bugzilla->memcached->clear_config() if $self->IS_CONFIG;
}
- $self->_object_cache_remove({id => $self->id});
+ $self->_object_cache_remove({id => $self->id});
$self->_object_cache_remove({name => $self->name}) if $self->name;
undef $self;
}
@@ -594,7 +594,7 @@ sub audit_log {
# We put the object's name in the "added" or "removed" field.
# We do this thing with NAME_FIELD because $self->name returns
# the wrong thing for Bugzilla::User.
- my $name = $self->{$self->NAME_FIELD};
+ my $name = $self->{$self->NAME_FIELD};
my @added_removed = $changes eq AUDIT_CREATE ? (undef, $name) : ($name, undef);
$sth->execute($user_id, $class, $self->id, $changes, @added_removed);
return;
diff --git a/Bugzilla/Product.pm b/Bugzilla/Product.pm
index 7be17fc9f..09c2c5922 100644
--- a/Bugzilla/Product.pm
+++ b/Bugzilla/Product.pm
@@ -112,7 +112,7 @@ sub create {
# of products.
sub preload {
my ($products, $preload_flagtypes) = @_;
- my %prods = map { $_->id => $_ } @$products;
+ my %prods = map { $_->id => $_ } @$products;
my @prod_ids = keys %prods;
return unless @prod_ids;
@@ -120,7 +120,7 @@ sub preload {
require Bugzilla::Component;
foreach my $field (qw(component version milestone)) {
my $classname = "Bugzilla::" . ucfirst($field);
- my $objects = $classname->match({product_id => \@prod_ids});
+ my $objects = $classname->match({product_id => \@prod_ids});
# Now populate the products with this set of objects.
foreach my $obj (@$objects) {
@@ -841,7 +841,7 @@ sub flag_types {
# We cache flag types to avoid useless calls to get_clusions().
my $cache = Bugzilla->request_cache->{flag_types_per_product} ||= {};
$self->{flag_types} = {};
- my $prod_id = $self->id;
+ my $prod_id = $self->id;
my $flagtypes = Bugzilla::FlagType::match({product_id => $prod_id});
foreach my $type ('bug', 'attachment') {
diff --git a/Bugzilla/Search.pm b/Bugzilla/Search.pm
index b15cbabd4..a6e85f35b 100644
--- a/Bugzilla/Search.pm
+++ b/Bugzilla/Search.pm
@@ -412,7 +412,7 @@ use constant COLUMN_DEPENDS => {
# fields it needs a little help.
sub COLUMN_JOINS {
my $invocant = shift;
- my $user = blessed($invocant) ? $invocant->_user : Bugzilla->user;
+ my $user = blessed($invocant) ? $invocant->_user : Bugzilla->user;
my $joins = {
actual_time => {
@@ -614,7 +614,7 @@ sub COLUMNS {
sub REPORT_COLUMNS {
my $invocant = shift;
- my $user = blessed($invocant) ? $invocant->_user : Bugzilla->user;
+ my $user = blessed($invocant) ? $invocant->_user : Bugzilla->user;
my $columns = dclone(blessed($invocant) ? $invocant->COLUMNS : COLUMNS);
@@ -658,7 +658,7 @@ use constant GROUP_BY_SKIP => qw(
# Note that the params argument may be modified by Bugzilla::Search
sub new {
my $invocant = shift;
- my $class = ref($invocant) || $invocant;
+ my $class = ref($invocant) || $invocant;
my $self = {@_};
bless($self, $class);
@@ -674,7 +674,7 @@ sub new {
# do it, because there's no way to know if we were passed a tied hash
# or not.
my $params_in = $self->_params;
- my %params = map { $_ => $params_in->{$_} } keys %$params_in;
+ my %params = map { $_ => $params_in->{$_} } keys %$params_in;
$self->{params} = \%params;
return $self;
@@ -707,7 +707,7 @@ sub data {
my $sql = $self->_sql;
# Do we just want bug IDs to pass to the 2nd query or all the data immediately?
- my $func = $all_in_bugs_table ? 'selectall_arrayref' : 'selectcol_arrayref';
+ my $func = $all_in_bugs_table ? 'selectall_arrayref' : 'selectcol_arrayref';
my $bug_ids = $dbh->$func($sql);
my @extra_data = ({sql => $sql, time => tv_interval($start_time)});
@@ -806,13 +806,13 @@ sub search_description {
sub boolean_charts_to_custom_search {
my ($self, $cgi_buffer) = @_;
my $boolean_charts = $self->_boolean_charts;
- my @as_params = $boolean_charts ? $boolean_charts->as_params : ();
+ my @as_params = $boolean_charts ? $boolean_charts->as_params : ();
# We need to start our new ids after the last custom search "f" id.
# We can just pick the last id in the array because they are sorted
# numerically.
my $last_id = ($self->_field_ids)[-1];
- my $count = defined($last_id) ? $last_id + 1 : 0;
+ my $count = defined($last_id) ? $last_id + 1 : 0;
foreach my $param_set (@as_params) {
foreach my $name (keys %$param_set) {
my $value = $param_set->{$name};
@@ -1327,7 +1327,7 @@ sub _sql_where {
# The newline and this particular spacing makes the resulting
# SQL a bit more readable for debugging.
- my $where = join("\n AND ", $self->_standard_where);
+ my $where = join("\n AND ", $self->_standard_where);
my $clause_sql = $main_clause->as_string;
$where .= "\n AND " . $clause_sql if $clause_sql;
return $where;
@@ -1683,7 +1683,7 @@ sub _boolean_charts {
my @param_list = keys %$params;
my @all_field_params = grep {/^field-?\d+/} @param_list;
- my @chart_ids = map { /^field(-?\d+)/; $1 } @all_field_params;
+ my @chart_ids = map { /^field(-?\d+)/; $1 } @all_field_params;
@chart_ids = sort { $a <=> $b } uniq @chart_ids;
my $clause = new Bugzilla::Search::Clause();
@@ -1774,7 +1774,7 @@ sub _field_ids {
my @param_list = keys %$params;
my @field_params = grep {/^f\d+$/} @param_list;
- my @field_ids = map { /(\d+)/; $1 } @field_params;
+ my @field_ids = map { /(\d+)/; $1 } @field_params;
@field_ids = sort { $a <=> $b } @field_ids;
return @field_ids;
}
@@ -2843,7 +2843,7 @@ sub _multiselect_negative {
my ($field, $operator) = @$args{qw(field operator)};
$args->{operator} = $self->_reverse_operator($operator);
- $args->{term} = $self->_multiselect_term($args, 1);
+ $args->{term} = $self->_multiselect_term($args, 1);
}
sub _multiselect_multiple {
@@ -2968,7 +2968,7 @@ sub _multiselect_table {
}
elsif ($field eq 'longdesc') {
$args->{_extra_where} = " AND isprivate = 0" if !$self->_user->is_insider;
- $args->{full_field} = 'thetext';
+ $args->{full_field} = 'thetext';
return "longdescs";
}
elsif ($field eq 'longdescs.isprivate') {
@@ -3284,7 +3284,7 @@ sub _changedbefore_changedafter {
}
my $sql_operator = ($operator =~ /before/) ? '<=' : '>=';
- my $field_id = $field_object->id;
+ my $field_id = $field_object->id;
# Charts on changed* fields need to be field-specific. Otherwise,
# OR chart rows make no sense if they contain multiple fields.
@@ -3308,7 +3308,7 @@ sub _changedfrom_changedto {
my ($chart_id, $joins, $field, $operator, $quoted)
= @$args{qw(chart_id joins field operator quoted)};
- my $column = ($operator =~ /from/) ? 'removed' : 'added';
+ my $column = ($operator =~ /from/) ? 'removed' : 'added';
my $field_object = $self->_chart_fields->{$field}
|| ThrowCodeError("invalid_field_name", {field => $field});
my $field_id = $field_object->id;
diff --git a/Bugzilla/Search/Quicksearch.pm b/Bugzilla/Search/Quicksearch.pm
index 278172e01..e4093fcb5 100644
--- a/Bugzilla/Search/Quicksearch.pm
+++ b/Bugzilla/Search/Quicksearch.pm
@@ -85,12 +85,10 @@ sub FIELD_MAP {
# Also, don't allow searching the _accessible stuff via quicksearch
# (both because it's unnecessary and because otherwise
# "reporter_accessible" and "reporter" both match "rep".
- delete @full_map{
- qw(rep_platform bug_status bug_file_loc bug_group
+ delete @full_map{qw(rep_platform bug_status bug_file_loc bug_group
bug_severity bug_status
status_whiteboard
- cclist_accessible reporter_accessible)
- };
+ cclist_accessible reporter_accessible)};
Bugzilla::Hook::process('quicksearch_map', {'map' => \%full_map});
@@ -256,7 +254,7 @@ sub quicksearch {
}
# List of quicksearch-specific CGI parameters to get rid of.
- my @params_to_strip = ('quicksearch', 'load', 'run');
+ my @params_to_strip = ('quicksearch', 'load', 'run');
my $modified_query_string = $cgi->canonicalise_query(@params_to_strip);
if ($cgi->param('load')) {
@@ -382,7 +380,7 @@ sub _handle_special_first_chars {
return 0 if !defined $qsword || length($qsword) <= 1;
my $firstChar = substr($qsword, 0, 1);
- my $baseWord = substr($qsword, 1);
+ my $baseWord = substr($qsword, 1);
my @subWords = split(/,/, $baseWord);
if ($firstChar eq '#') {
@@ -510,7 +508,7 @@ sub _translate_field_name {
# Check if we match, as a starting substring, exactly one field.
my @field_names = keys %$field_map;
- my @matches = grep { $_ =~ /^\Q$field\E/ } @field_names;
+ my @matches = grep { $_ =~ /^\Q$field\E/ } @field_names;
# Eliminate duplicates that are actually the same field
# (otherwise "assi" matches both "assignee" and "assigned_to", and
diff --git a/Bugzilla/Search/Saved.pm b/Bugzilla/Search/Saved.pm
index 1611cea56..c988e8997 100644
--- a/Bugzilla/Search/Saved.pm
+++ b/Bugzilla/Search/Saved.pm
@@ -66,7 +66,7 @@ sub new {
ThrowCodeError('bad_arg', {argument => 'name', function => "${class}::new"});
}
my $condition = 'userid = ? AND name = ?';
- my $user_id = blessed $user ? $user->id : $user;
+ my $user_id = blessed $user ? $user->id : $user;
detaint_natural($user_id)
|| ThrowCodeError('param_must_be_numeric',
{function => $class . '::_init', param => 'user'});
@@ -206,7 +206,7 @@ sub preload {
return unless scalar @$searches;
- my @query_ids = map { $_->id } @$searches;
+ my @query_ids = map { $_->id } @$searches;
my $queries_in_footer = $dbh->selectcol_arrayref(
'SELECT namedquery_id
FROM namedqueries_link_in_footer
@@ -252,7 +252,7 @@ sub link_in_footer {
# We only cache link_in_footer for the current Bugzilla->user.
return $self->{link_in_footer} if exists $self->{link_in_footer} && !$user;
- my $user_id = $user ? $user->id : Bugzilla->user->id;
+ my $user_id = $user ? $user->id : Bugzilla->user->id;
my $link_in_footer = Bugzilla->dbh->selectrow_array(
'SELECT 1 FROM namedqueries_link_in_footer
WHERE namedquery_id = ? AND user_id = ?', undef, $self->id, $user_id
diff --git a/Bugzilla/Series.pm b/Bugzilla/Series.pm
index 36b6d13ad..ec0a16e34 100644
--- a/Bugzilla/Series.pm
+++ b/Bugzilla/Series.pm
@@ -28,7 +28,7 @@ use constant ID_FIELD => 'series_id';
sub new {
my $invocant = shift;
- my $class = ref($invocant) || $invocant;
+ my $class = ref($invocant) || $invocant;
# Create a ref to an empty hash and bless it
my $self = {};
diff --git a/Bugzilla/Template.pm b/Bugzilla/Template.pm
index cee7d9363..b23d711be 100644
--- a/Bugzilla/Template.pm
+++ b/Bugzilla/Template.pm
@@ -90,7 +90,7 @@ sub _load_constants {
# If no Accept-Language is present it uses the defined default
# Templates may also be found in the extensions/ tree
sub _include_path {
- my $lang = shift || '';
+ my $lang = shift || '';
my $cache = Bugzilla->request_cache;
$cache->{"template_include_path_$lang"}
||= template_include_path({language => $lang});
@@ -392,7 +392,7 @@ sub multiline_sprintf {
my @parts;
my @my_sizes = @$sizes; # Copy this so we don't modify the input array.
foreach my $string (@$args) {
- my $size = shift @my_sizes;
+ my $size = shift @my_sizes;
my @pieces = split("\n", wrap_hard($string, $size));
push(@parts, \@pieces);
}
@@ -793,7 +793,7 @@ sub create {
my ($context, $isinactive) = @_;
return sub {
return $isinactive ? '<span class="bz_inactive">' . $_[0] . '</span>' : $_[0];
- }
+ }
},
1
],
@@ -803,7 +803,7 @@ sub create {
my ($context, $isclosed) = @_;
return sub {
return $isclosed ? '<span class="bz_closed">' . $_[0] . '</span>' : $_[0];
- }
+ }
},
1
],
@@ -813,7 +813,7 @@ sub create {
my ($context, $isobsolete) = @_;
return sub {
return $isobsolete ? '<span class="bz_obsolete">' . $_[0] . '</span>' : $_[0];
- }
+ }
},
1
],
diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm
index 857b56801..420aaf0fa 100644
--- a/Bugzilla/User.pm
+++ b/Bugzilla/User.pm
@@ -153,16 +153,14 @@ sub _update_groups {
my $dbh = Bugzilla->dbh;
# Update group settings.
- my $sth_add_mapping = $dbh->prepare(
- qq{INSERT INTO user_group_map (
+ my $sth_add_mapping = $dbh->prepare(qq{INSERT INTO user_group_map (
user_id, group_id, isbless, grant_type
) VALUES (
?, ?, ?, ?
)
}
);
- my $sth_remove_mapping = $dbh->prepare(
- qq{DELETE FROM user_group_map
+ my $sth_remove_mapping = $dbh->prepare(qq{DELETE FROM user_group_map
WHERE user_id = ?
AND group_id = ?
AND isbless = ?
@@ -753,7 +751,7 @@ sub save_last_search {
# prevents people from writing over their whole
# recent-search list by just refreshing a saved search
# (which doesn't have list_id in the header) over and over.
- my $list_string = join(',', @$bug_ids);
+ my $list_string = join(',', @$bug_ids);
my $existing_search = Bugzilla::Search::Recent->match(
{user_id => $self->id, bug_list => $list_string});
@@ -917,7 +915,7 @@ sub groups {
# Add all its members to the FIFO check list
# %group_membership contains arrays of group members
# for all groups. Accessible by group number.
- my $members = $group_membership{$member_id};
+ my $members = $group_membership{$member_id};
my @new_to_check = grep(!$checked_groups{$_}, @$members);
push(@$groups_to_check, @new_to_check);
@@ -1095,7 +1093,7 @@ sub get_products_by_permission {
# We will restrict the list to products the user can see.
my $selectable_products = $self->get_selectable_products;
- my @products = grep { $product_map{$_->id} } @$selectable_products;
+ my @products = grep { $product_map{$_->id} } @$selectable_products;
return \@products;
}
@@ -1177,7 +1175,7 @@ sub visible_bugs {
# Bugzilla::Bug->update automatically removes updated bugs
# from the cache to force them to be checked again.
my $visible_cache = $self->{_visible_bugs_cache} ||= {};
- my @check_ids = grep(!exists $visible_cache->{$_}, @bug_ids);
+ my @check_ids = grep(!exists $visible_cache->{$_}, @bug_ids);
if (@check_ids) {
foreach my $id (@check_ids) {
@@ -1357,7 +1355,7 @@ sub get_selectable_classifications {
my ($self) = @_;
if (!defined $self->{selectable_classifications}) {
- my $products = $self->get_selectable_products;
+ my $products = $self->get_selectable_products;
my %class_ids = map { $_->classification_id => 1 } @$products;
$self->{selectable_classifications}
@@ -1536,7 +1534,7 @@ sub check_can_admin_product {
sub check_can_admin_flagtype {
my ($self, $flagtype_id) = @_;
- my $flagtype = Bugzilla::FlagType->check({id => $flagtype_id});
+ my $flagtype = Bugzilla::FlagType->check({id => $flagtype_id});
my $can_fully_edit = 1;
if (!$self->in_group('editcomponents')) {
@@ -1700,13 +1698,11 @@ sub derive_regexp_groups {
);
$sth->execute($id, GRANT_REGEXP);
- my $group_insert = $dbh->prepare(
- q{INSERT INTO user_group_map
+ my $group_insert = $dbh->prepare(q{INSERT INTO user_group_map
(user_id, group_id, isbless, grant_type)
VALUES (?, ?, 0, ?)}
);
- my $group_delete = $dbh->prepare(
- q{DELETE FROM user_group_map
+ my $group_delete = $dbh->prepare(q{DELETE FROM user_group_map
WHERE user_id = ?
AND group_id = ?
AND isbless = 0
@@ -1752,7 +1748,7 @@ sub product_responsibilities {
# We cannot |use| it, because Component.pm already |use|s User.pm.
require Bugzilla::Component;
- my @comp_ids = map { $_->{'id'} } @$list;
+ my @comp_ids = map { $_->{'id'} } @$list;
my $components = Bugzilla::Component->new_from_list(\@comp_ids);
my @prod_list;
@@ -1884,8 +1880,8 @@ sub match {
}
sub match_field {
- my $fields = shift; # arguments as a hash
- my $data = shift || Bugzilla->input_params; # hash to look up fields in
+ my $fields = shift; # arguments as a hash
+ my $data = shift || Bugzilla->input_params; # hash to look up fields in
my $behavior = shift || 0; # A constant that tells us how to act
my $matches = {}; # the values sent to the template
my $matchsuccess = 1; # did the match fail?
@@ -2379,7 +2375,7 @@ sub create {
# Add the creation date to the profiles_activity table.
# $who is the user who created the new user account, i.e. either an
# admin or the new user himself.
- my $who = Bugzilla->user->id || $user->id;
+ my $who = Bugzilla->user->id || $user->id;
my $creation_date_fieldid = get_field_id('creation_ts');
$dbh->do(
@@ -2532,7 +2528,7 @@ sub check_and_send_account_creation_confirmation {
# do check() and pull all the user data from the database.
sub login_to_id {
my ($login, $throw_error) = @_;
- my $dbh = Bugzilla->dbh;
+ my $dbh = Bugzilla->dbh;
my $cache = Bugzilla->request_cache->{user_login_to_id} ||= {};
# We cache lookups because this function showed up as taking up a
diff --git a/Bugzilla/User/Setting.pm b/Bugzilla/User/Setting.pm
index 94171a5d9..67f5c5684 100644
--- a/Bugzilla/User/Setting.pm
+++ b/Bugzilla/User/Setting.pm
@@ -35,7 +35,7 @@ sub new {
my $setting_name = shift;
my $user_id = shift;
- my $class = ref($invocant) || $invocant;
+ my $class = ref($invocant) || $invocant;
my $subclass = '';
# Create a ref to an empty hash and bless it
@@ -149,8 +149,7 @@ sub add_setting {
VALUES (?, ?, 1, ?)}, undef, ($name, $default_value, $subclass)
);
- my $sth = $dbh->prepare(
- q{INSERT INTO setting_value (name, value, sortindex)
+ my $sth = $dbh->prepare(q{INSERT INTO setting_value (name, value, sortindex)
VALUES (?, ?, ?)}
);
@@ -167,7 +166,7 @@ sub get_all_settings {
my $dbh = Bugzilla->dbh;
my $cache_key = "user_settings.$user_id";
- my $rows = Bugzilla->memcached->get_config({key => $cache_key});
+ my $rows = Bugzilla->memcached->get_config({key => $cache_key});
if (!$rows) {
$rows = $dbh->selectall_arrayref(
q{SELECT name, default_value, is_enabled, setting_value, subclass
@@ -232,8 +231,7 @@ sub set_default {
my ($setting_name, $default_value, $is_enabled) = @_;
my $dbh = Bugzilla->dbh;
- my $sth = $dbh->prepare(
- q{UPDATE setting
+ my $sth = $dbh->prepare(q{UPDATE setting
SET default_value = ?, is_enabled = ?
WHERE name = ?}
);
diff --git a/Bugzilla/Util.pm b/Bugzilla/Util.pm
index 0edd361ce..572479777 100644
--- a/Bugzilla/Util.pm
+++ b/Bugzilla/Util.pm
@@ -147,7 +147,7 @@ sub html_light_quote {
if (!Bugzilla->feature('html_desc')) {
my $safe = join('|', @allow);
- my $chr = chr(1);
+ my $chr = chr(1);
# First, escape safe elements.
$text =~ s#<($safe)>#$chr$1$chr#go;
@@ -168,7 +168,7 @@ sub html_light_quote {
push(@allow, qw(a blockquote q span));
# Allowed protocols.
- my $safe_protocols = join('|', SAFE_PROTOCOLS);
+ my $safe_protocols = join('|', SAFE_PROTOCOLS);
my $protocol_regexp = qr{(^(?:$safe_protocols):|^[^:]+$)}i;
# Deny all elements and attributes unless explicitly authorized.
@@ -225,7 +225,7 @@ sub email_filter {
if (!Bugzilla->user->id) {
my @emails = Email::Address->parse($toencode);
if (scalar @emails) {
- my @hosts = map { quotemeta($_->host) } @emails;
+ my @hosts = map { quotemeta($_->host) } @emails;
my $hosts_re = join('|', @hosts);
$toencode =~ s/\@(?:$hosts_re)//g;
return $toencode;
@@ -320,7 +320,7 @@ sub correct_urlbase {
}
sub remote_ip {
- my $ip = $ENV{'REMOTE_ADDR'} || '127.0.0.1';
+ my $ip = $ENV{'REMOTE_ADDR'} || '127.0.0.1';
my @proxies = split(/[\s,]+/, Bugzilla->params->{'inbound_proxies'});
# If the IP address is one of our trusted proxies, then we look at
@@ -778,7 +778,7 @@ sub validate_date {
if ($ts) {
$date2 = time2str("%Y-%m-%d", $ts);
- $date =~ s/(\d+)-0*(\d+?)-0*(\d+?)/$1-$2-$3/;
+ $date =~ s/(\d+)-0*(\d+?)-0*(\d+?)/$1-$2-$3/;
$date2 =~ s/(\d+)-0*(\d+?)-0*(\d+?)/$1-$2-$3/;
}
my $ret = ($ts && $date eq $date2);
diff --git a/Bugzilla/Version.pm b/Bugzilla/Version.pm
index 6a5930574..dfc5a8e0f 100644
--- a/Bugzilla/Version.pm
+++ b/Bugzilla/Version.pm
@@ -76,7 +76,7 @@ sub new {
}
my $condition = 'product_id = ? AND value = ?';
- my @values = ($product->id, $name);
+ my @values = ($product->id, $name);
$param = {condition => $condition, values => \@values};
}
diff --git a/Bugzilla/WebService/Bug.pm b/Bugzilla/WebService/Bug.pm
index 2cdc37443..04c4eae2e 100644
--- a/Bugzilla/WebService/Bug.pm
+++ b/Bugzilla/WebService/Bug.pm
@@ -133,7 +133,7 @@ sub fields {
foreach my $field (@fields) {
my $visibility_field
= $field->visibility_field ? $field->visibility_field->name : undef;
- my $vis_values = $field->visibility_values;
+ my $vis_values = $field->visibility_values;
my $value_field = $field->value_field ? $field->value_field->name : undef;
my (@values, $has_values);
@@ -142,7 +142,7 @@ sub fields {
or $field->name eq 'keywords')
{
$has_values = 1;
- @values = @{$self->_legal_field_values({field => $field})};
+ @values = @{$self->_legal_field_values({field => $field})};
}
if (grep($_ eq $field->name, PRODUCT_SPECIFIC_FIELDS)) {
@@ -162,7 +162,7 @@ sub fields {
);
if ($has_values) {
$field_data{value_field} = $self->type('string', $value_field);
- $field_data{values} = \@values;
+ $field_data{values} = \@values;
}
push(@fields_out, filter $params, \%field_data);
}
@@ -316,7 +316,7 @@ sub comments {
my %comments;
if (scalar @$comment_ids) {
- my @ids = map { trim($_) } @$comment_ids;
+ my @ids = map { trim($_) } @$comment_ids;
my $comment_data = Bugzilla::Comment->new_from_list(\@ids);
# See if we were passed any invalid comment ids.
@@ -706,7 +706,7 @@ sub update {
my %changes = %{$all_changes{$bug->id}};
foreach my $field (keys %changes) {
- my $change = $changes{$field};
+ my $change = $changes{$field};
my $api_field = $api_name{$field} || $field;
# We normalize undef to an empty string, so that the API
diff --git a/Bugzilla/WebService/Bugzilla.pm b/Bugzilla/WebService/Bugzilla.pm
index 6d9563d61..f93892068 100644
--- a/Bugzilla/WebService/Bugzilla.pm
+++ b/Bugzilla/WebService/Bugzilla.pm
@@ -92,7 +92,7 @@ sub extensions {
my %retval;
foreach my $extension (@{Bugzilla->extensions}) {
my $version = $extension->VERSION || 0;
- my $name = $extension->NAME;
+ my $name = $extension->NAME;
$retval{$name}->{version} = $self->type('string', $version);
}
return {extensions => \%retval};
diff --git a/Bugzilla/WebService/Server/JSONRPC.pm b/Bugzilla/WebService/Server/JSONRPC.pm
index 66640beb7..7847029ba 100644
--- a/Bugzilla/WebService/Server/JSONRPC.pm
+++ b/Bugzilla/WebService/Server/JSONRPC.pm
@@ -364,7 +364,7 @@ sub _argument_type_check {
# Now, convert dateTime fields on input.
$self->_bz_method_name =~ /^(\S+)\.(\S+)$/;
my ($class, $method) = ($1, $2);
- my $pkg = $self->{dispatch_path}->{$class};
+ my $pkg = $self->{dispatch_path}->{$class};
my @date_fields = @{$pkg->DATE_FIELDS->{$method} || []};
foreach my $field (@date_fields) {
if (defined $params->{$field}) {
diff --git a/Bugzilla/WebService/Server/REST.pm b/Bugzilla/WebService/Server/REST.pm
index 8108e1d4f..143b938b6 100644
--- a/Bugzilla/WebService/Server/REST.pm
+++ b/Bugzilla/WebService/Server/REST.pm
@@ -53,7 +53,7 @@ sub handle {
# unless we were looking for OPTIONS
if (!$self->_find_resource($self->cgi->path_info)) {
if ($self->request->method eq 'OPTIONS' && $self->bz_rest_options) {
- my $response = $self->response_header(STATUS_OK, "");
+ my $response = $self->response_header(STATUS_OK, "");
my $options_string = join(', ', @{$self->bz_rest_options});
$response->header(
'Allow' => $options_string,
@@ -121,7 +121,7 @@ sub response {
my $result = {};
if (exists $json_data->{error}) {
$result = $json_data->{error};
- $result->{error} = $self->type('boolean', 1);
+ $result->{error} = $self->type('boolean', 1);
$result->{documentation} = REST_DOC;
delete $result->{'name'}; # Remove JSONRPCError
}
@@ -510,7 +510,7 @@ sub _get_content_prefs {
# Parse the Accept header, and save type name, score, and position.
my @accept_types = split /,/, $self->cgi->http('accept') || '';
- my $order = 0;
+ my $order = 0;
for my $accept_type (@accept_types) {
my ($weight) = ($accept_type =~ /q=(\d\.\d+|\d+)/);
my ($name) = ($accept_type =~ m#(\S+/[^;]+)#);
diff --git a/Bugzilla/WebService/Server/XMLRPC.pm b/Bugzilla/WebService/Server/XMLRPC.pm
index b0eae8e19..f96f960da 100644
--- a/Bugzilla/WebService/Server/XMLRPC.pm
+++ b/Bugzilla/WebService/Server/XMLRPC.pm
@@ -379,7 +379,7 @@ sub BEGIN {
my $super_method = "SUPER::$method";
return $self->$super_method($value);
}
- }
+ }
}
}
diff --git a/attachment.cgi b/attachment.cgi
index e437fe8e5..0d87c7fcd 100755
--- a/attachment.cgi
+++ b/attachment.cgi
@@ -205,7 +205,7 @@ sub get_attachment {
}
$attachments{$field_name} = $attachment;
}
- my @args = map { $_ . '=' . $attachments{$_}->id } @field_names;
+ my @args = map { $_ . '=' . $attachments{$_}->id } @field_names;
my $cgi_params = $cgi->canonicalise_query(@field_names, 't', 'Bugzilla_login',
'Bugzilla_password');
push(@args, $cgi_params) if $cgi_params;
@@ -804,7 +804,7 @@ sub delete_attachment {
# The token is valid. Delete the content of the attachment.
my $msg;
$vars->{'attachment'} = $attachment;
- $vars->{'reason'} = clean_text($cgi->param('reason') || '');
+ $vars->{'reason'} = clean_text($cgi->param('reason') || '');
$template->process("attachment/delete_reason.txt.tmpl", $vars, \$msg)
|| ThrowTemplateError($template->error());
diff --git a/buglist.cgi b/buglist.cgi
index d8b48c048..df40bd6c3 100755
--- a/buglist.cgi
+++ b/buglist.cgi
@@ -369,7 +369,7 @@ if ($cmdtype eq "dorem") {
$vars->{'search_id'} = $query_id;
}
$params = new Bugzilla::CGI($buffer);
- $order = $params->param('order') || $order;
+ $order = $params->param('order') || $order;
}
elsif ($remaction eq "runseries") {
@@ -912,7 +912,7 @@ $vars->{'buglist'} = \@bugidlist;
$vars->{'columns'} = $columns;
$vars->{'displaycolumns'} = \@displaycolumns;
-$vars->{'openstates'} = [BUG_STATE_OPEN];
+$vars->{'openstates'} = [BUG_STATE_OPEN];
$vars->{'closedstates'} = [map { $_->name } closed_bug_statuses()];
# The iCal file needs priorities ordered from 1 to 9 (highest to lowest)
@@ -1018,7 +1018,7 @@ if ($dotweak && scalar @bugs) {
= _get_common_flag_types([keys %$bugcomponentids]);
# Convert bug statuses to their ID.
- my @bug_statuses = map { $dbh->quote($_) } keys %$bugstatuses;
+ my @bug_statuses = map { $dbh->quote($_) } keys %$bugstatuses;
my $bug_status_ids = $dbh->selectcol_arrayref(
'SELECT id FROM bug_status
WHERE ' . $dbh->sql_in('value', \@bug_statuses)
@@ -1122,7 +1122,7 @@ my $disposition = "inline";
if ($format->{'extension'} eq "html") {
my $list_id = $cgi->param('list_id') || $cgi->param('regetlastlist');
- my $search = $user->save_last_search(
+ my $search = $user->save_last_search(
{bugs => \@bugidlist, order => $order, vars => $vars, list_id => $list_id});
$cgi->param('list_id', $search->id) if $search;
$contenttype = "text/html";
diff --git a/chart.cgi b/chart.cgi
index a8c609fce..bfbbf300e 100755
--- a/chart.cgi
+++ b/chart.cgi
@@ -76,7 +76,7 @@ $vars->{'doc_section'} = 'using/reports-and-charts.html#charts';
# series_id they apply to (e.g. subscribe, unsubscribe).
my @actions = grep(/^action-/, $cgi->param());
if ($actions[0] && $actions[0] =~ /^action-([^\d]+)(\d*)$/) {
- $action = $1;
+ $action = $1;
$series_id = $2 if $2;
}
diff --git a/checksetup.pl b/checksetup.pl
index 76564e2f0..857584937 100755
--- a/checksetup.pl
+++ b/checksetup.pl
@@ -50,7 +50,7 @@ pod2usage({-verbose => 1, -exitval => 1}) if $switch{'help'};
# Read in the "answers" file if it exists, for running in
# non-interactive mode.
my $answers_file = $ARGV[0];
-my $silent = $answers_file && !$switch{'verbose'};
+my $silent = $answers_file && !$switch{'verbose'};
print(install_string('header', get_version_and_os()) . "\n") unless $silent;
exit 0 if $switch{'version'};
diff --git a/colchange.cgi b/colchange.cgi
index 8add4f2f7..c5f08b794 100755
--- a/colchange.cgi
+++ b/colchange.cgi
@@ -174,7 +174,7 @@ else {
@collist = DEFAULT_COLUMN_LIST;
}
-$vars->{'collist'} = \@collist;
+$vars->{'collist'} = \@collist;
$vars->{'splitheader'} = $cgi->cookie('SPLITHEADER') ? 1 : 0;
$vars->{'buffer'} = $cgi->query_string();
diff --git a/collectstats.pl b/collectstats.pl
index 818f36366..f7a926499 100755
--- a/collectstats.pl
+++ b/collectstats.pl
@@ -165,7 +165,7 @@ sub collect_stats {
my $when = localtime(time);
my $dbh = Bugzilla->dbh;
- my $file = join '/', $dir, $product->id;
+ my $file = join '/', $dir, $product->id;
my $exists = -f $file;
# if the file exists, get the old status and resolution list for that product.
@@ -214,7 +214,7 @@ sub collect_stats {
}
if (!$exists || scalar(@data)) {
- my $fields = join('|', ('DATE', @statuses, @resolutions));
+ my $fields = join('|', ('DATE', @statuses, @resolutions));
my $product_name = $product->name;
print DATA <<FIN;
# Bugzilla Daily Bug Stats
@@ -325,7 +325,7 @@ sub regenerate_stats {
}
if (open DATA, ">", $file) {
- my $fields = join('|', ('DATE', @statuses, @resolutions));
+ my $fields = join('|', ('DATE', @statuses, @resolutions));
my $product_name = $product->name;
print DATA <<FIN;
# Bugzilla Daily Bug Stats
@@ -456,7 +456,7 @@ sub CollectSeriesData {
# (days_since_epoch + series_id) % frequency = 0. So they'll run every
# <frequency> days, but the start date depends on the series_id.
my $days_since_epoch = int(time() / (60 * 60 * 24));
- my $today = today_dash();
+ my $today = today_dash();
# We save a copy of the main $dbh and then switch to the shadow and get
# that one too. Remember, these may be the same.
diff --git a/contrib/bzdbcopy.pl b/contrib/bzdbcopy.pl
index 5556a167e..b92d9205d 100755
--- a/contrib/bzdbcopy.pl
+++ b/contrib/bzdbcopy.pl
@@ -101,7 +101,7 @@ foreach my $table (@table_list) {
my ($total) = $source_db->selectrow_array("SELECT COUNT(*) FROM $table");
my $select_query = "SELECT " . join(',', @table_columns) . " FROM $table";
- my $select_sth = $source_db->prepare($select_query);
+ my $select_sth = $source_db->prepare($select_query);
$select_sth->execute();
my $insert_query
diff --git a/contrib/console.pl b/contrib/console.pl
index a3e042236..7c1748064 100755
--- a/contrib/console.pl
+++ b/contrib/console.pl
@@ -27,7 +27,7 @@ $Data::Dumper::Maxdepth = 1;
$Data::Dumper::Deparse = 0;
my $sysname = get_text('term', {term => 'Bugzilla'});
-my $term = new Term::ReadLine "$sysname Console";
+my $term = new Term::ReadLine "$sysname Console";
read_history($term);
END { write_history($term) }
diff --git a/contrib/extension-convert.pl b/contrib/extension-convert.pl
index d0fc791b2..a70888dc1 100755
--- a/contrib/extension-convert.pl
+++ b/contrib/extension-convert.pl
@@ -225,7 +225,7 @@ sub code_files_to_subroutines {
next if $file =~ /install-requirements/;
print "Moving $file code into Extension.pm...\n";
my ($modules, $code) = process_code_file($file);
- my @code_lines = map {" $_"} @$code;
+ my @code_lines = map {" $_"} @$code;
my $code_string = join('', @code_lines);
$code_string =~ s/Bugzilla->hook_args/\$args/g;
$code_string =~ s/my\s+\$args\s+=\s+\$args;//gs;
@@ -244,7 +244,7 @@ END
push(@subroutines, $subroutine);
}
- my %seen_modules = map { trim($_) => 1 } @all_modules;
+ my %seen_modules = map { trim($_) => 1 } @all_modules;
my $module_string = join("\n", sort keys %seen_modules);
my $subroutine_string = join("\n", @subroutines);
return ($module_string, $subroutine_string);
diff --git a/contrib/merge-users.pl b/contrib/merge-users.pl
index dbc9b10fe..02129980d 100755
--- a/contrib/merge-users.pl
+++ b/contrib/merge-users.pl
@@ -44,7 +44,7 @@ use Pod::Usage;
my $dbh = Bugzilla->dbh;
# Display the help if called with --help or -?.
-my $help = 0;
+my $help = 0;
my $result = GetOptions("help|?" => \$help);
pod2usage(0) if $help;
@@ -179,7 +179,7 @@ foreach my $table (keys %changes) {
# Get all columns to consider. There is always at least
# one column given: the one to update.
- my @columns = split(/[\s]+/, $column_list);
+ my @columns = split(/[\s]+/, $column_list);
my $cols_to_check = join(' AND ', map {"$_ = ?"} @columns);
# The first column of the list is the one to update.
diff --git a/contrib/perl-fmt b/contrib/perl-fmt
new file mode 100755
index 000000000..7ac47eeb8
--- /dev/null
+++ b/contrib/perl-fmt
@@ -0,0 +1,24 @@
+#!/usr/bin/env perl
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
+
+use 5.10.1;
+use strict;
+use warnings;
+
+use File::Basename qw(dirname);
+use Cwd qw(realpath);
+use File::Spec::Functions qw(catfile catdir);
+use Env qw(@PATH @PERL5LIB);
+
+my $bugzilla_dir = realpath(catdir( dirname(__FILE__), '..' ));
+unshift @PERL5LIB, catdir($bugzilla_dir, 'local', 'lib', 'perl5');
+unshift @PATH, catdir($bugzilla_dir, 'local', 'bin');
+
+my $profile = catfile($bugzilla_dir, ".perltidyrc" );
+warn "formatting @ARGV\n";
+exec( perltidy => "--profile=$profile", '-nst', '-b', '-bext=/', '-conv', @ARGV );
diff --git a/contrib/recode.pl b/contrib/recode.pl
index 9dc1d1bf5..fdb3ae0ac 100755
--- a/contrib/recode.pl
+++ b/contrib/recode.pl
@@ -186,8 +186,8 @@ foreach my $table ($dbh->bz_table_list_real) {
AND $column != ''"
);
- my @pk_array = map {"$_ = ?"} split(',', $pk);
- my $pk_where = join(' AND ', @pk_array);
+ my @pk_array = map {"$_ = ?"} split(',', $pk);
+ my $pk_where = join(' AND ', @pk_array);
my $update_sth = $dbh->prepare("UPDATE $table SET $column = ? WHERE $pk_where");
$sth->execute();
@@ -197,7 +197,7 @@ foreach my $table ($dbh->bz_table_list_real) {
# Wide characters cause md5_base64() to die.
my $digest_data = utf8::is_utf8($data) ? Encode::encode_utf8($data) : $data;
- my $digest = md5_base64($digest_data);
+ my $digest = md5_base64($digest_data);
my @primary_keys = reverse split(',', $pk);
diff --git a/docs/lib/Pod/Simple/HTMLBatch/Bugzilla.pm b/docs/lib/Pod/Simple/HTMLBatch/Bugzilla.pm
index ae05ecf87..bc96c9a0e 100644
--- a/docs/lib/Pod/Simple/HTMLBatch/Bugzilla.pm
+++ b/docs/lib/Pod/Simple/HTMLBatch/Bugzilla.pm
@@ -61,7 +61,7 @@ sub _write_contents_middle {
foreach my $e (@downlines) {
$row_count++;
my $even_or_odd = $row_count % 2 ? 'even' : 'odd';
- my $name = esc($e->[0]);
+ my $name = esc($e->[0]);
my $path = join("/", '.', esc(@{$e->[3]})) . $Pod::Simple::HTML::HTML_EXTENSION;
my $description = $self->{bugzilla_desc}->{$name} || '';
$description = esc($description);
diff --git a/editfields.cgi b/editfields.cgi
index 0bada4598..633887db2 100755
--- a/editfields.cgi
+++ b/editfields.cgi
@@ -30,7 +30,7 @@ $user->in_group('admin')
{group => 'admin', action => 'edit', object => 'custom_fields'});
my $action = trim($cgi->param('action') || '');
-my $token = $cgi->param('token');
+my $token = $cgi->param('token');
print $cgi->header();
diff --git a/editgroups.cgi b/editgroups.cgi
index 4f759540f..b93254ebc 100755
--- a/editgroups.cgi
+++ b/editgroups.cgi
@@ -36,7 +36,7 @@ $user->in_group('creategroups')
{group => "creategroups", action => "edit", object => "groups"});
my $action = trim($cgi->param('action') || '');
-my $token = $cgi->param('token');
+my $token = $cgi->param('token');
# CheckGroupID checks that a positive integer is given and is
# actually a valid group ID. If all tests are successful, the
diff --git a/editmilestones.cgi b/editmilestones.cgi
index 51202ddba..4da579ac2 100755
--- a/editmilestones.cgi
+++ b/editmilestones.cgi
@@ -193,7 +193,7 @@ if ($action eq 'edit') {
if ($action eq 'update') {
check_token_data($token, 'edit_milestone');
my $milestone_old_name = trim($cgi->param('milestoneold') || '');
- my $milestone = Bugzilla::Milestone->check(
+ my $milestone = Bugzilla::Milestone->check(
{product => $product, name => $milestone_old_name});
$milestone->set_name($milestone_name);
diff --git a/editproducts.cgi b/editproducts.cgi
index 205269a61..f98225e6f 100755
--- a/editproducts.cgi
+++ b/editproducts.cgi
@@ -69,7 +69,7 @@ if ( Bugzilla->params->{'useclassification'}
else {
# Only keep classifications containing at least one product
# which you can administer.
- my $products = $user->get_products_by_permission('editcomponents');
+ my $products = $user->get_products_by_permission('editcomponents');
my %class_ids = map { $_->classification_id => 1 } @$products;
$class = Bugzilla::Classification->new_from_list([keys %class_ids]);
}
@@ -107,7 +107,7 @@ if (!$action && !$product_name) {
@$products = grep { $_->classification_id == $classification->id } @$products;
}
}
- $vars->{'products'} = $products;
+ $vars->{'products'} = $products;
$vars->{'showbugcounts'} = $cgi->param('showbugcounts') ? 1 : 0;
$template->process("admin/products/list.html.tmpl", $vars)
@@ -298,7 +298,7 @@ if ($action eq 'edit' || (!$action && $product_name)) {
if ($action eq 'update') {
check_token_data($token, 'edit_product');
my $product_old_name = trim($cgi->param('product_old_name') || '');
- my $product = $user->check_can_admin_product($product_old_name);
+ my $product = $user->check_can_admin_product($product_old_name);
$product->set_all({
name => $product_name,
diff --git a/editsettings.cgi b/editsettings.cgi
index 998ed0c5d..3f0ab6827 100755
--- a/editsettings.cgi
+++ b/editsettings.cgi
@@ -31,7 +31,7 @@ $user->in_group('tweakparams')
{group => "tweakparams", action => "modify", object => "settings"});
my $action = trim($cgi->param('action') || '');
-my $token = $cgi->param('token');
+my $token = $cgi->param('token');
if ($action eq 'update') {
check_token_data($token, 'edit_settings');
diff --git a/editvalues.cgi b/editvalues.cgi
index 0031312c0..59e4d639f 100755
--- a/editvalues.cgi
+++ b/editvalues.cgi
@@ -59,7 +59,7 @@ $user->in_group('admin')
# often-used variables
#
my $action = trim($cgi->param('action') || '');
-my $token = $cgi->param('token');
+my $token = $cgi->param('token');
#
# field = '' -> Show nice list of fields
diff --git a/editwhines.cgi b/editwhines.cgi
index c0cfea43b..c677273bd 100755
--- a/editwhines.cgi
+++ b/editwhines.cgi
@@ -168,7 +168,7 @@ if ($cgi->param('update')) {
# to be altered or deleted
# Check schedules for changes
- my $schedules = Bugzilla::Whine::Schedule->match({eventid => $eventid});
+ my $schedules = Bugzilla::Whine::Schedule->match({eventid => $eventid});
my @scheduleids = ();
foreach my $schedule (@$schedules) {
push @scheduleids, $schedule->id;
@@ -347,7 +347,7 @@ for my $event_id (keys %{$events}) {
my $schedules = Bugzilla::Whine::Schedule->match({eventid => $event_id});
foreach my $schedule (@$schedules) {
my $mailto_type = $schedule->mailto_is_group ? MAILTO_GROUP : MAILTO_USER;
- my $mailto = '';
+ my $mailto = '';
if ($mailto_type == MAILTO_USER) {
$mailto = $schedule->mailto->login;
}
diff --git a/editworkflow.cgi b/editworkflow.cgi
index 3741e825e..81b665e42 100755
--- a/editworkflow.cgi
+++ b/editworkflow.cgi
@@ -29,7 +29,7 @@ $user->in_group('admin')
{group => 'admin', action => 'modify', object => 'workflow'});
my $action = $cgi->param('action') || 'edit';
-my $token = $cgi->param('token');
+my $token = $cgi->param('token');
sub get_workflow {
my $dbh = Bugzilla->dbh;
diff --git a/email_in.pl b/email_in.pl
index babe868ed..a03935830 100755
--- a/email_in.pl
+++ b/email_in.pl
@@ -250,7 +250,7 @@ sub process_bug {
# Make it possible to remove CCs.
if ($fields{'removecc'}) {
- $fields{'cc'} = [split(',', $fields{'removecc'})];
+ $fields{'cc'} = [split(',', $fields{'removecc'})];
$fields{'removecc'} = 1;
}
@@ -374,7 +374,7 @@ sub get_text_alternative {
my @parts = $email->parts;
my $body;
foreach my $part (@parts) {
- my $ct = $part->content_type || 'text/plain';
+ my $ct = $part->content_type || 'text/plain';
my $charset = 'iso-8859-1';
# The charset may be quoted.
diff --git a/enter_bug.cgi b/enter_bug.cgi
index 3b6106235..7d290ad7c 100755
--- a/enter_bug.cgi
+++ b/enter_bug.cgi
@@ -246,7 +246,7 @@ if ($cloned_bug_id) {
# We need to ensure that we respect the 'insider' status of
# the first comment, if it has one. Either way, make a note
# that this bug was cloned from another bug.
- my $bug_desc = $cloned_bug->comments({order => 'oldest_to_newest'})->[0];
+ my $bug_desc = $cloned_bug->comments({order => 'oldest_to_newest'})->[0];
my $isprivate = $bug_desc->is_private;
$vars->{'comment'} = "";
diff --git a/extensions/BmpConvert/Extension.pm b/extensions/BmpConvert/Extension.pm
index d9e3d0ef4..84a2c81dc 100644
--- a/extensions/BmpConvert/Extension.pm
+++ b/extensions/BmpConvert/Extension.pm
@@ -22,7 +22,7 @@ sub attachment_process_data {
return unless $args->{attributes}->{mimetype} eq 'image/bmp';
my $data = ${$args->{data}};
- my $img = Image::Magick->new(magick => 'bmp');
+ my $img = Image::Magick->new(magick => 'bmp');
# $data is a filehandle.
if (ref $data) {
diff --git a/extensions/Example/Extension.pm b/extensions/Example/Extension.pm
index d76c71c06..1ecb3e692 100644
--- a/extensions/Example/Extension.pm
+++ b/extensions/Example/Extension.pm
@@ -481,7 +481,7 @@ sub error_catch {
return unless $args->{error} eq 'bad_page_cgi_id';
my $page_id = $args->{vars}->{page_id};
- my $login = Bugzilla->user->identity || "Someone";
+ my $login = Bugzilla->user->identity || "Someone";
warn "$login attempted to access page.cgi with id = $page_id";
my $page = $args->{message};
diff --git a/extensions/MoreBugUrl/Extension.pm b/extensions/MoreBugUrl/Extension.pm
index 0fc29b2aa..3158de294 100644
--- a/extensions/MoreBugUrl/Extension.pm
+++ b/extensions/MoreBugUrl/Extension.pm
@@ -30,8 +30,7 @@ use constant MORE_SUB_CLASSES => qw(
sub install_update_db {
my $dbh = Bugzilla->dbh;
- my $should_rename = $dbh->selectrow_array(
- q{SELECT 1 FROM bug_see_also
+ my $should_rename = $dbh->selectrow_array(q{SELECT 1 FROM bug_see_also
WHERE class IN ('Bugzilla::BugUrl::Rietveld',
'Bugzilla::BugUrl::ReviewBoard')}
);
diff --git a/extensions/OldBugMove/Extension.pm b/extensions/OldBugMove/Extension.pm
index 53c26fc8d..70dc5ad30 100644
--- a/extensions/OldBugMove/Extension.pm
+++ b/extensions/OldBugMove/Extension.pm
@@ -29,7 +29,7 @@ use constant VERSION => BUGZILLA_VERSION;
use constant CMT_MOVED_TO => 4;
sub install_update_db {
- my $reso_type = Bugzilla::Field::Choice->type('resolution');
+ my $reso_type = Bugzilla::Field::Choice->type('resolution');
my $moved_reso = $reso_type->new({name => 'MOVED'});
# We make the MOVED resolution inactive, so that it doesn't show up
diff --git a/extensions/Voting/Extension.pm b/extensions/Voting/Extension.pm
index 2fd7d2e22..a46162ed2 100644
--- a/extensions/Voting/Extension.pm
+++ b/extensions/Voting/Extension.pm
@@ -276,7 +276,7 @@ sub sanitycheck_check {
my $needs_rebuild;
foreach my $id (keys %cached_counts) {
my $cached_count = $cached_counts{$id};
- my $real_count = $real_counts{$id} || 0;
+ my $real_count = $real_counts{$id} || 0;
if ($cached_count < 0) {
$status->('voting_count_alert', {id => $id}, 'alert');
}
@@ -447,7 +447,7 @@ sub _page_user {
($who->id, $product->id)
);
- my %votes = map { $_->[0] => $_->[1] } @$vote_list;
+ my %votes = map { $_->[0] => $_->[1] } @$vote_list;
my @bug_ids = sort keys %votes;
# Exclude bugs that the user can no longer see.
@@ -878,7 +878,7 @@ sub _remove_votes {
# If a user votes for a bug, or the number of votes required to
# confirm a bug has been reduced, check if the bug is now confirmed.
sub _confirm_if_vote_confirmed {
- my $id = shift;
+ my $id = shift;
my $bug = ref $id ? $id : new Bugzilla::Bug({id => $id, cache => 1});
my $ret = 0;
diff --git a/importxml.pl b/importxml.pl
index a23d2e1bb..a65f2db92 100755
--- a/importxml.pl
+++ b/importxml.pl
@@ -621,7 +621,7 @@ sub process_bug {
$err .= " Using default product and component set ";
$err .= "at the command line.\n";
- $product = new Bugzilla::Product({name => $default_product_name});
+ $product = new Bugzilla::Product({name => $default_product_name});
$component = new Bugzilla::Component(
{name => $default_component_name, product => $product});
if (!$component) {
@@ -1082,7 +1082,7 @@ sub process_bug {
$query .= ")";
$dbh->do($query, undef, @values);
- my $id = $dbh->bz_last_key('bugs', 'bug_id');
+ my $id = $dbh->bz_last_key('bugs', 'bug_id');
my $bug_obj = Bugzilla::Bug->new($id);
# We are almost certain to get some uninitialized warnings
diff --git a/post_bug.cgi b/post_bug.cgi
index 6428f5892..757db7fdf 100755
--- a/post_bug.cgi
+++ b/post_bug.cgi
@@ -216,7 +216,7 @@ $vars->{'bug'} = $bug;
Bugzilla::Hook::process('post_bug_after_creation', {vars => $vars});
my $recipients = {changer => $user};
-my $bug_sent = Bugzilla::BugMail::Send($id, $recipients);
+my $bug_sent = Bugzilla::BugMail::Send($id, $recipients);
$bug_sent->{type} = 'created';
$bug_sent->{id} = $id;
my @all_mail_results = ($bug_sent);
diff --git a/quips.cgi b/quips.cgi
index 6378bd615..671ec1f09 100755
--- a/quips.cgi
+++ b/quips.cgi
@@ -27,7 +27,7 @@ my $template = Bugzilla->template;
my $vars = {};
my $action = $cgi->param('action') || "";
-my $token = $cgi->param('token');
+my $token = $cgi->param('token');
if ($action eq "show") {
diff --git a/relogin.cgi b/relogin.cgi
index 8fefe5daa..2cd9bb25c 100755
--- a/relogin.cgi
+++ b/relogin.cgi
@@ -100,7 +100,7 @@ elsif ($action eq 'begin-sudo') {
my $user = Bugzilla->login(LOGIN_REQUIRED);
my $target_login = $cgi->param('target_login');
- my $reason = $cgi->param('reason') || '';
+ my $reason = $cgi->param('reason') || '';
# At this point, the user is logged in. However, if they used a method
# where they could have provided a username/password (i.e. CGI), but they
diff --git a/report.cgi b/report.cgi
index ecb99dbcf..1a616b453 100755
--- a/report.cgi
+++ b/report.cgi
@@ -41,7 +41,7 @@ if (grep(/^cmd-/, $cgi->param())) {
Bugzilla->login();
my $action = $cgi->param('action') || 'menu';
-my $token = $cgi->param('token');
+my $token = $cgi->param('token');
if ($action eq "menu") {
diff --git a/reports.cgi b/reports.cgi
index a88a4332e..860a537d8 100755
--- a/reports.cgi
+++ b/reports.cgi
@@ -57,7 +57,7 @@ if (!defined($product_id)) {
foreach my $dataset (@data) {
my $datasets = {};
- $datasets->{'value'} = $dataset;
+ $datasets->{'value'} = $dataset;
$datasets->{'selected'} = $default_sel{$dataset} ? 1 : 0;
push(@datasets, $datasets);
}
@@ -94,9 +94,9 @@ else {
# Filenames must not be guessable as they can point to products
# you are not allowed to see. Also, different projects can have
# the same product IDs.
- my $project = bz_locations()->{'project'} || '';
+ my $project = bz_locations()->{'project'} || '';
my $image_file = join(':', ($project, $product->id, @datasets));
- my $key = Bugzilla->localconfig->{'site_wide_secret'};
+ my $key = Bugzilla->localconfig->{'site_wide_secret'};
$image_file = hmac_sha256_base64($image_file, $key) . '.png';
$image_file =~ s/\+/-/g;
$image_file =~ s/\//_/g;
@@ -146,7 +146,7 @@ sub generate_chart {
my $product_in_title = $product->id ? $product->name : 'All Products';
my @fields;
- my @labels = qw(DATE);
+ my @labels = qw(DATE);
my %datasets = map { $_ => 1 } @$datasets;
my %data = ();
@@ -198,7 +198,7 @@ sub generate_chart {
}
my $img = Chart::Lines->new(800, 600);
- my $i = 0;
+ my $i = 0;
my $MAXTICKS = 20; # Try not to show any more x ticks than this.
my $skip = 1;
diff --git a/request.cgi b/request.cgi
index fce25bd39..989e5356d 100755
--- a/request.cgi
+++ b/request.cgi
@@ -54,7 +54,7 @@ if ($action eq 'queue') {
}
else {
my $flagtypes = get_flag_types();
- my @types = ('all', @$flagtypes);
+ my @types = ('all', @$flagtypes);
my $vars = {};
$vars->{'types'} = \@types;
diff --git a/sanitycheck.cgi b/sanitycheck.cgi
index 737f2ef89..3d4334e93 100755
--- a/sanitycheck.cgi
+++ b/sanitycheck.cgi
@@ -104,14 +104,12 @@ if ($cgi->param('createmissinggroupcontrolmapentries')) {
my $na = CONTROLMAPNA;
my $shown = CONTROLMAPSHOWN;
- my $insertsth = $dbh->prepare(
- qq{INSERT INTO group_control_map
+ my $insertsth = $dbh->prepare(qq{INSERT INTO group_control_map
(group_id, product_id, membercontrol, othercontrol)
VALUES (?, ?, $shown, $na)}
);
- my $updatesth = $dbh->prepare(
- qq{UPDATE group_control_map
+ my $updatesth = $dbh->prepare(qq{UPDATE group_control_map
SET membercontrol = $shown
WHERE group_id = ?
AND product_id = ?}
@@ -251,8 +249,7 @@ if ($cgi->param('rescanallBugMail')) {
Status('send_bugmail_start');
my $time = $dbh->sql_date_math('NOW()', '-', 30, 'MINUTE');
- my $list = $dbh->selectcol_arrayref(
- qq{
+ my $list = $dbh->selectcol_arrayref(qq{
SELECT bug_id
FROM bugs
WHERE (lastdiffed IS NULL
@@ -742,8 +739,7 @@ sub check_keywords {
Status('keyword_check_start');
my %keywordids;
- my $keywords = $dbh->selectall_arrayref(
- q{SELECT id, name
+ my $keywords = $dbh->selectall_arrayref(q{SELECT id, name
FROM keyworddefs}
);
@@ -758,8 +754,7 @@ sub check_keywords {
}
}
- my $sth = $dbh->prepare(
- q{SELECT bug_id, keywordid
+ my $sth = $dbh->prepare(q{SELECT bug_id, keywordid
FROM keywords
ORDER BY bug_id, keywordid}
);
@@ -860,8 +855,7 @@ sub BugCheck {
my ($middlesql, $errortext, $repairparam, $repairtext) = @_;
my $dbh = Bugzilla->dbh;
- my $badbugs = $dbh->selectcol_arrayref(
- qq{SELECT DISTINCT bugs.bug_id
+ my $badbugs = $dbh->selectcol_arrayref(qq{SELECT DISTINCT bugs.bug_id
FROM $middlesql
ORDER BY bugs.bug_id}
);
@@ -995,9 +989,8 @@ BugCheck(
Status('unsent_bugmail_check');
-my $time = $dbh->sql_date_math('NOW()', '-', 30, 'MINUTE');
-my $badbugs = $dbh->selectcol_arrayref(
- qq{
+my $time = $dbh->sql_date_math('NOW()', '-', 30, 'MINUTE');
+my $badbugs = $dbh->selectcol_arrayref(qq{
SELECT bug_id
FROM bugs
WHERE (lastdiffed IS NULL OR lastdiffed < delta_ts)
diff --git a/show_bug.cgi b/show_bug.cgi
index cf75a8f6f..bed27b8d9 100755
--- a/show_bug.cgi
+++ b/show_bug.cgi
@@ -102,7 +102,7 @@ else {
Bugzilla::Bug->preload(\@bugs);
-$vars->{'bugs'} = [@bugs, @illegal_bugs];
+$vars->{'bugs'} = [@bugs, @illegal_bugs];
$vars->{'marks'} = \%marks;
my @bugids = map { $_->bug_id } grep { !$_->error } @bugs;
diff --git a/showdependencygraph.cgi b/showdependencygraph.cgi
index dac0c1900..666a6626e 100755
--- a/showdependencygraph.cgi
+++ b/showdependencygraph.cgi
@@ -108,7 +108,7 @@ if (!grep { $_ eq $rankdir } @valid_rankdirs) {
$rankdir = 'TB';
}
-my $display = $cgi->param('display') || 'tree';
+my $display = $cgi->param('display') || 'tree';
my $webdotdir = bz_locations()->{'webdotdir'};
my ($fh, $filename) = File::Temp::tempfile(
@@ -139,8 +139,7 @@ foreach my $i (split('[\s,]+', $cgi->param('id'))) {
my @stack = keys(%baselist);
if ($display eq 'web') {
- my $sth = $dbh->prepare(
- q{SELECT blocked, dependson
+ my $sth = $dbh->prepare(q{SELECT blocked, dependson
FROM dependencies
WHERE blocked = ? OR dependson = ?}
);
@@ -184,8 +183,7 @@ foreach my $k (keys(%baselist)) {
$seen{$k} = 1;
}
-my $sth = $dbh->prepare(
- q{SELECT bug_status, resolution, short_desc
+my $sth = $dbh->prepare(q{SELECT bug_status, resolution, short_desc
FROM bugs
WHERE bugs.bug_id = ?}
);
diff --git a/showdependencytree.cgi b/showdependencytree.cgi
index 501c47621..94ac15107 100755
--- a/showdependencytree.cgi
+++ b/showdependencytree.cgi
@@ -53,7 +53,7 @@ local our $realdepth = 0;
# Generate the tree of bugs that this bug depends on and a list of IDs
# appearing in the tree.
my $dependson_tree = {$id => $bug};
-my $dependson_ids = {};
+my $dependson_ids = {};
GenerateTree($id, "dependson", 1, $dependson_tree, $dependson_ids);
$vars->{'dependson_tree'} = $dependson_tree;
$vars->{'dependson_ids'} = [keys(%$dependson_ids)];
@@ -61,7 +61,7 @@ $vars->{'dependson_ids'} = [keys(%$dependson_ids)];
# Generate the tree of bugs that this bug blocks and a list of IDs
# appearing in the tree.
my $blocked_tree = {$id => $bug};
-my $blocked_ids = {};
+my $blocked_ids = {};
GenerateTree($id, "blocked", 1, $blocked_tree, $blocked_ids);
$vars->{'blocked_tree'} = $blocked_tree;
$vars->{'blocked_ids'} = [keys(%$blocked_ids)];
diff --git a/summarize_time.cgi b/summarize_time.cgi
index 9dbe03db3..9f4e658f3 100755
--- a/summarize_time.cgi
+++ b/summarize_time.cgi
@@ -172,7 +172,7 @@ sub sqlize_dates {
sub get_blocker_ids {
my ($bug_id, $unique) = @_;
$unique ||= {$bug_id => 1};
- my $deps = Bugzilla::Bug::EmitDependList("blocked", "dependson", $bug_id);
+ my $deps = Bugzilla::Bug::EmitDependList("blocked", "dependson", $bug_id);
my @unseen = grep { !$unique->{$_}++ } @$deps;
foreach $bug_id (@unseen) {
get_blocker_ids($bug_id, $unique);
diff --git a/t/001compile.t b/t/001compile.t
index bfd065dc0..ad29975af 100644
--- a/t/001compile.t
+++ b/t/001compile.t
@@ -62,7 +62,7 @@ sub compile_file {
ok(!$return_val, $file) or diag('--ERROR');
}
-my @testitems = (@Support::Files::testitems, @Support::Files::test_files);
+my @testitems = (@Support::Files::testitems, @Support::Files::test_files);
my $file_features = map_files_to_features();
# Test the scripts by compiling them
diff --git a/t/002goodperl.t b/t/002goodperl.t
index c59692229..837849282 100644
--- a/t/002goodperl.t
+++ b/t/002goodperl.t
@@ -22,7 +22,7 @@ use Test::More tests =>
(scalar(@Support::Files::testitems) + scalar(@Support::Files::test_files))
* 6;
-my @testitems = (@Support::Files::test_files, @Support::Files::testitems);
+my @testitems = (@Support::Files::test_files, @Support::Files::testitems);
my @require_taint = qw(email_in.pl importxml.pl mod_perl.pl whine.pl);
foreach my $file (@testitems) {
diff --git a/t/012throwables.t b/t/012throwables.t
index 3cfa211dc..6b092d8c2 100644
--- a/t/012throwables.t
+++ b/t/012throwables.t
@@ -45,7 +45,7 @@ foreach my $module (@Support::Files::testitems) {
foreach my $include_path (@include_paths) {
foreach my $path (@{$actual_files{$include_path}}) {
my $file = File::Spec->catfile($include_path, $path);
- $file =~ s/\s.*$//; # nuke everything after the first space
+ $file =~ s/\s.*$//; # nuke everything after the first space
$file =~ s|\\|/|g if ON_WINDOWS; # convert \ to / in path if on windows
$test_templates{$file} = () if $file =~ m#global/(code|user)-error\.html\.tmpl#;
diff --git a/template/en/default/pages/release-notes.html.tmpl b/template/en/default/pages/release-notes.html.tmpl
index b89e3a61d..fd6c9e00d 100644
--- a/template/en/default/pages/release-notes.html.tmpl
+++ b/template/en/default/pages/release-notes.html.tmpl
@@ -43,6 +43,19 @@
<h2 id="point">Updates in this 5.0.x Release</h2>
+<h3>5.0.6</h3>
+<p>This release contains a schema change to the flagtypes table, allowing for many more flagtypes.</p>.
+<p>The flagtypes table should have been using a mediumint for several releases, but due to a bug in the schema migration code this never happened.</p>
+
+<h3>5.0.5</h3>
+
+<p>This release reformats the code according to the same conventions as the popular Mojolicious product and includes a <code>.perltidyrc</code> to do the same.
+You may use whatever coding style you want, but all files commited to the repo must be reformatted according to those rules.</p>
+
+<p>Additionally, we no longer follow the same release process as before. Releases will be more frequent.</p>
+
+<p>As it is now 2019, the bugs_fulltext table is now InnoDB instead of MyISAM. This may cause upgrade headaches.</p>
+
<h3>5.0.4</h3>
<p>This release fixes one security issue. See the
diff --git a/testserver.pl b/testserver.pl
index db88f7c0f..3c01a550e 100755
--- a/testserver.pl
+++ b/testserver.pl
@@ -145,7 +145,7 @@ if ($@ eq '') {
my $verstring = "GD version $gd, libgd version $gdlib";
$gdlib =~ s/^([^\.]+)\..*/$1/;
- $gd =~ s/^([^\.]+)\..*/$1/;
+ $gd =~ s/^([^\.]+)\..*/$1/;
if ($gdlib == $gd) {
say "TEST-OK $verstring; Major versions match.";
@@ -159,10 +159,10 @@ if ($@ eq '') {
# Test GD
eval {
my $image = new GD::Image(100, 100);
- my $black = $image->colorAllocate(0, 0, 0);
+ my $black = $image->colorAllocate(0, 0, 0);
my $white = $image->colorAllocate(255, 255, 255);
- my $red = $image->colorAllocate(255, 0, 0);
- my $blue = $image->colorAllocate(0, 0, 255);
+ my $red = $image->colorAllocate(255, 0, 0);
+ my $blue = $image->colorAllocate(0, 0, 255);
$image->transparent($white);
$image->rectangle(0, 0, 99, 99, $black);
$image->arc(50, 50, 95, 75, 0, 360, $blue);
diff --git a/userprefs.cgi b/userprefs.cgi
index 9dcdb5254..6f79160c0 100755
--- a/userprefs.cgi
+++ b/userprefs.cgi
@@ -305,7 +305,7 @@ sub SaveEmail {
# The new information given to us by the user.
my $new_watched_users = join(',', $cgi->param('new_watchedusers')) || '';
- my @new_watch_names = split(/[,\s]+/, $new_watched_users);
+ my @new_watch_names = split(/[,\s]+/, $new_watched_users);
my %new_watch_ids;
foreach my $username (@new_watch_names) {
@@ -546,7 +546,7 @@ sub DoApiKey {
my $user = Bugzilla->user;
my $api_keys = Bugzilla::User::APIKey->match({user_id => $user->id});
- $vars->{api_keys} = $api_keys;
+ $vars->{api_keys} = $api_keys;
$vars->{any_revoked} = grep { $_->revoked } @$api_keys;
}
diff --git a/votes.cgi b/votes.cgi
index 2d8a11f83..83f36dc6b 100755
--- a/votes.cgi
+++ b/votes.cgi
@@ -21,7 +21,7 @@ use Bugzilla::Error;
my $is_enabled = grep { $_->NAME eq 'Voting' } @{Bugzilla->extensions};
$is_enabled || ThrowUserError('extension_disabled', {name => 'Voting'});
-my $cgi = Bugzilla->cgi;
+my $cgi = Bugzilla->cgi;
my $action = $cgi->param('action') || 'show_user';
if ($action eq "show_bug") {
diff --git a/whine.pl b/whine.pl
index 67faaeaf2..691df886f 100755
--- a/whine.pl
+++ b/whine.pl
@@ -253,7 +253,7 @@ sub get_next_event {
my $sth = $dbh->prepare("SELECT name FROM groups " . "WHERE id=?");
$sth->execute($mailto);
my $groupname = $sth->fetch->[0];
- my $group_id = Bugzilla::Group::ValidateGroupName($groupname, $owner);
+ my $group_id = Bugzilla::Group::ValidateGroupName($groupname, $owner);
if ($group_id) {
my $glist = join(',', @{Bugzilla::Group->flatten_group_membership($group_id)});
$sth = $dbh->prepare(
@@ -417,7 +417,7 @@ sub run_queries {
push @{$thisquery->{'columnlist'}}, @searchfields;
my @orderstrings = split(/,\s*/, $searchparams->param('order') || '');
- my $search = new Bugzilla::Search(
+ my $search = new Bugzilla::Search(
'fields' => \@searchfields,
'params' => scalar $searchparams->Vars,
'user' => $args->{'recipient'}, # the search runs as the recipient
@@ -628,7 +628,7 @@ sub get_next_date {
# if it's today
if ($daysinmonth[$now_month] == $now_day) {
my $month = $now_month + 1;
- $month = 1 if $month > 12;
+ $month = 1 if $month > 12;
$add_days = $daysinmonth[$month] + 1;
}
else {
diff --git a/xt/lib/Bugzilla/Test/Search.pm b/xt/lib/Bugzilla/Test/Search.pm
index 9a445aff7..31ba8bea3 100644
--- a/xt/lib/Bugzilla/Test/Search.pm
+++ b/xt/lib/Bugzilla/Test/Search.pm
@@ -481,7 +481,7 @@ sub _create_field_values {
foreach my $field (@multi_selects) {
my $new_value = create_legal_value($field, 6);
- my $name = $field->name;
+ my $name = $field->name;
$values{$name} = [$values{$name}, $new_value->name];
}
push(@{$values{'tag'}}, "6-tag-" . random());
@@ -602,7 +602,7 @@ sub _create_one_bug {
# We need bug 6 to have a unique alias that is not a clone of bug 1's,
# so we get the alias separately from the other parameters.
- my $alias = $self->bug_create_value($number, 'alias');
+ my $alias = $self->bug_create_value($number, 'alias');
my $update_alias = $self->bug_update_value($number, 'alias');
# Otherwise, make bug 6 a clone of bug 1.
@@ -630,11 +630,9 @@ sub _create_one_bug {
# These are necessary for the changedfrom tests.
my $extra_values = $self->_extra_bug_create_values->{$number};
- foreach my $field (
- qw(comments remaining_time percentage_complete
+ foreach my $field (qw(comments remaining_time percentage_complete
keyword_objects everconfirmed dependson blocked
- groups_in classification actual_time)
- )
+ groups_in classification actual_time))
{
$extra_values->{$field} = $bug->$field;
}
@@ -670,7 +668,7 @@ sub _create_one_bug {
# writing this test, Bug->create doesn't support setting resolution).
#
# Same for see_also.
- my $timestamp = timestamp($number, $number - 1);
+ my $timestamp = timestamp($number, $number - 1);
my $creation_ts = $timestamp->ymd . ' ' . $timestamp->hms;
$bug->{creation_ts} = $creation_ts;
$dbh->do('UPDATE longdescs SET bug_when = ? WHERE bug_id = ?',
@@ -743,8 +741,8 @@ sub _create_one_bug {
$update_params{cc} = {add => \@cc_add, remove => \@cc_remove};
my $see_also_remove = $bug->see_also;
my $see_also_add = [$update_params{see_also}];
- $update_params{see_also} = {add => $see_also_add, remove => $see_also_remove};
- $update_params{comment} = {body => $update_params{comment}};
+ $update_params{see_also} = {add => $see_also_add, remove => $see_also_remove};
+ $update_params{comment} = {body => $update_params{comment}};
$update_params{work_time} = $number;
# Setting work_time kills the remaining_time, so we need to
@@ -937,7 +935,7 @@ sub run {
}
# Rollbacks won't get rid of bugs_fulltext entries, so we do that ourselves.
- my @bug_ids = map { $_->id } $self->bugs;
+ my @bug_ids = map { $_->id } $self->bugs;
my $bug_id_string = join(',', @bug_ids);
$dbh->do("DELETE FROM bugs_fulltext WHERE bug_id IN ($bug_id_string)");
$dbh->bz_rollback_transaction();
@@ -962,7 +960,7 @@ sub _setup_dependencies {
my $bug2 = $self->bug(2);
my $bug3 = $self->bug(3);
foreach my $number (1, 6) {
- my $bug = $self->bug($number);
+ my $bug = $self->bug($number);
my @original_delta = ($bug2->delta_ts, $bug3->delta_ts);
Bugzilla->set_user($bug->reporter);
$bug->set_dependencies([$bug2->id], [$bug3->id]);
diff --git a/xt/lib/Bugzilla/Test/Search/Constants.pm b/xt/lib/Bugzilla/Test/Search/Constants.pm
index 5ff9bd4a9..84080cfe8 100644
--- a/xt/lib/Bugzilla/Test/Search/Constants.pm
+++ b/xt/lib/Bugzilla/Test/Search/Constants.pm
@@ -957,13 +957,11 @@ use constant INJECTION_BROKEN_FIELD => {
'longdescs.count' => {
search => 1,
db_skip => ['Pg'],
- operator_ok => [
- qw(allwords allwordssubstr anywordssubstr casesubstring
+ operator_ok => [qw(allwords allwordssubstr anywordssubstr casesubstring
changedbefore changedafter greaterthan greaterthaneq
lessthan lessthaneq notregexp notsubstring
nowordssubstr regexp substring anywords
- notequals nowords equals anyexact)
- ],
+ notequals nowords equals anyexact)],
},
};
diff --git a/xt/lib/Bugzilla/Test/Search/CustomTest.pm b/xt/lib/Bugzilla/Test/Search/CustomTest.pm
index 7423ae367..7455d4828 100644
--- a/xt/lib/Bugzilla/Test/Search/CustomTest.pm
+++ b/xt/lib/Bugzilla/Test/Search/CustomTest.pm
@@ -70,7 +70,7 @@ sub invalid_field_operator_combination { return undef }
sub search_params {
my ($self) = @_;
- my %params = %{$self->test->{top_params} || {}};
+ my %params = %{$self->test->{top_params} || {}};
my $counter = 0;
foreach my $row (@{$self->test->{params}}) {
$row->{v} = $self->translate_value($row) if exists $row->{v};
diff --git a/xt/lib/Bugzilla/Test/Search/FieldTest.pm b/xt/lib/Bugzilla/Test/Search/FieldTest.pm
index 19ceb8d5c..2ccaab735 100644
--- a/xt/lib/Bugzilla/Test/Search/FieldTest.pm
+++ b/xt/lib/Bugzilla/Test/Search/FieldTest.pm
@@ -158,7 +158,7 @@ sub translated_value {
sub debug_fail {
my ($self, $number, $results, $sql) = @_;
my @expected = @{$self->test->{contains}};
- my @results = sort map { $self->number($_) } map { $_->[0] } @$results;
+ my @results = sort map { $self->number($_) } map { $_->[0] } @$results;
return
" Value: '"
. $self->translated_value . "'\n"
@@ -354,7 +354,7 @@ sub _field_values_for_bug {
if ($field =~ /^attach.+\.(.+)$/) {
my $attach_field = $1;
$attach_field = ATTACHMENT_FIELDS->{$attach_field} || $attach_field;
- @values = $self->_values_for($number, 'attachments', $attach_field);
+ @values = $self->_values_for($number, 'attachments', $attach_field);
}
elsif (my $flag_field = FLAG_FIELDS->{$field}) {
@values = $self->_values_for($number, 'flags', $flag_field);
@@ -410,7 +410,7 @@ sub _field_values_for_bug {
# requestees.login_name is empty for most bugs (but checking
# blessed(undef) handles that.
# Values that come from %original_values aren't User objects.
- @values = map { blessed($_) ? $_->login : $_ } @values;
+ @values = map { blessed($_) ? $_->login : $_ } @values;
@values = grep { defined $_ } @values;
}
@@ -503,7 +503,7 @@ sub _translate_value_for_bug {
}
if (my $func = $self->test->{transform}) {
my $transformed = $func->(@bug_values);
- my $is_equal = $transformed eq $bug_values[0] ? 1 : 0;
+ my $is_equal = $transformed eq $bug_values[0] ? 1 : 0;
$self->transformed_value_was_equal($number, $is_equal);
$string_value = $transformed;
}
@@ -619,7 +619,7 @@ sub _test_content_for_bug {
my $contains_known_broken = $self->contains_known_broken($number);
my %result_ids = map { $_->[0] => 1 } @$results;
- my $bug_id = $self->bug($number)->id;
+ my $bug_id = $self->bug($number)->id;
TODO: {
local $TODO = $contains_known_broken if $contains_known_broken;
diff --git a/xt/lib/Bugzilla/Test/Search/OrTest.pm b/xt/lib/Bugzilla/Test/Search/OrTest.pm
index 32af7dac4..ebb16089d 100644
--- a/xt/lib/Bugzilla/Test/Search/OrTest.pm
+++ b/xt/lib/Bugzilla/Test/Search/OrTest.pm
@@ -21,7 +21,7 @@ use constant type => 'OR';
sub new {
my $class = shift;
- my $self = {field_tests => [@_]};
+ my $self = {field_tests => [@_]};
return bless $self, $class;
}