diff options
author | terry%mozilla.org <> | 2000-01-28 10:01:36 +0100 |
---|---|---|
committer | terry%mozilla.org <> | 2000-01-28 10:01:36 +0100 |
commit | 8fdb0d3601e63fb8a07bff32945fb5d84fbd4678 (patch) | |
tree | dbed4ea3cefbe7b317f3f997860e12528499eb0a /CGI.pl | |
parent | b23cb23b54adf11260e69dbc0c6294702ea42159 (diff) | |
download | bugzilla-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.pl | 30 |
1 files changed, 18 insertions, 12 deletions
@@ -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/^-*//; |