summaryrefslogtreecommitdiffstats
path: root/CGI.pl
diff options
context:
space:
mode:
authorterry%mozilla.org <>2000-01-28 10:01:36 +0100
committerterry%mozilla.org <>2000-01-28 10:01:36 +0100
commit8fdb0d3601e63fb8a07bff32945fb5d84fbd4678 (patch)
treedbed4ea3cefbe7b317f3f997860e12528499eb0a /CGI.pl
parentb23cb23b54adf11260e69dbc0c6294702ea42159 (diff)
downloadbugzilla-8fdb0d3601e63fb8a07bff32945fb5d84fbd4678.tar.gz
bugzilla-8fdb0d3601e63fb8a07bff32945fb5d84fbd4678.tar.xz
Massive stomp on the query page and buglist page. Added the ability
to use the "boolean charts" to do very powerful queries.
Diffstat (limited to 'CGI.pl')
-rw-r--r--CGI.pl30
1 files changed, 18 insertions, 12 deletions
diff --git a/CGI.pl b/CGI.pl
index 770a8d98b..a5c8c7321 100644
--- a/CGI.pl
+++ b/CGI.pl
@@ -78,10 +78,10 @@ sub url_quote {
}
-sub ProcessFormFields {
- my ($buffer) = (@_);
- undef %::FORM;
- undef %::MFORM;
+sub ParseUrlString {
+ my ($buffer, $f, $m) = (@_);
+ undef %$f;
+ undef %$m;
my %isnull;
my $remaining = $buffer;
@@ -105,13 +105,13 @@ sub ProcessFormFields {
$value = "";
}
if ($value ne "") {
- if (defined $::FORM{$name}) {
- $::FORM{$name} .= $value;
- my $ref = $::MFORM{$name};
+ if (defined $f->{$name}) {
+ $f->{$name} .= $value;
+ my $ref = $m->{$name};
push @$ref, $value;
} else {
- $::FORM{$name} = $value;
- $::MFORM{$name} = [$value];
+ $f->{$name} = $value;
+ $m->{$name} = [$value];
}
} else {
$isnull{$name} = 1;
@@ -119,15 +119,21 @@ sub ProcessFormFields {
}
if (defined %isnull) {
foreach my $name (keys(%isnull)) {
- if (!defined $::FORM{$name}) {
- $::FORM{$name} = "";
- $::MFORM{$name} = [];
+ if (!defined $f->{$name}) {
+ $f->{$name} = "";
+ $m->{$name} = [];
}
}
}
}
+sub ProcessFormFields {
+ my ($buffer) = (@_);
+ return ParseUrlString($buffer, \%::FORM, \%::MFORM);
+}
+
+
sub ProcessMultipartFormFields {
my ($boundary) = (@_);
$boundary =~ s/^-*//;