git.shiar.nl
/
perl
/
plp
/
.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
v3.11 release
[perl/plp/.git]
/
PLP
/
Fields.pm
diff --git
a/PLP/Fields.pm
b/PLP/Fields.pm
index 99455110d1b53cef47f84db3dad37d12dd52d518..14d30b65b83028156ec4d440dd08d7daaa618179 100644
(file)
--- a/
PLP/Fields.pm
+++ b/
PLP/Fields.pm
@@
-10,14
+10,18
@@
PLP::Script. Also generates %cookie immediately.
PLP::Fields::doit();
PLP::Fields::doit();
+This module is part of the PLP internals. Don't use it yourself.
+
=cut
sub doit {
tie %PLP::Script::get, 'PLP::Tie::Delay', 'PLP::Script::get', sub {
my %get;
=cut
sub doit {
tie %PLP::Script::get, 'PLP::Tie::Delay', 'PLP::Script::get', sub {
my %get;
- if ($ENV{QUERY_STRING} ne ''){
- for (split /[&;]/, $ENV{QUERY_STRING}) {
- my @keyval = split /=/;
+ my $get;
+ $get = $ENV{QUERY_STRING};
+ if ($get ne ''){
+ for (split /[&;]/, $get) {
+ my @keyval = split /=/, $_, 2;
PLP::Functions::DecodeURI(@keyval);
$get{$keyval[0]} = $keyval[1] unless $keyval[0] =~ /^\@/;
push @{ $get{'@' . $keyval[0]} }, $keyval[1];
PLP::Functions::DecodeURI(@keyval);
$get{$keyval[0]} = $keyval[1] unless $keyval[0] =~ /^\@/;
push @{ $get{'@' . $keyval[0]} }, $keyval[1];
@@
-28,11
+32,16
@@
sub doit {
tie %PLP::Script::post, 'PLP::Tie::Delay', 'PLP::Script::post', sub {
my %post;
tie %PLP::Script::post, 'PLP::Tie::Delay', 'PLP::Script::post', sub {
my %post;
- our $post = <STDIN>;
+ my $post;
+ if ($ENV{MOD_PERL}) {
+ $post = Apache->request->content;
+ } else {
+ read(*STDIN, $post, $ENV{CONTENT_LENGTH});
+ }
if (defined($post) && $post ne '' &&
($ENV{CONTENT_TYPE} eq '' || $ENV{CONTENT_TYPE} eq 'application/x-www-form-urlencoded')){
if (defined($post) && $post ne '' &&
($ENV{CONTENT_TYPE} eq '' || $ENV{CONTENT_TYPE} eq 'application/x-www-form-urlencoded')){
- for (split /
[&;]
/, $post) {
- my @keyval = split /=/;
+ for (split /
&
/, $post) {
+ my @keyval = split /=/
, $_, 2
;
PLP::Functions::DecodeURI(@keyval);
$post{$keyval[0]} = $keyval[1] unless $keyval[0] =~ /^\@/;
push @{ $post{'@' . $keyval[0]} }, $keyval[1];
PLP::Functions::DecodeURI(@keyval);
$post{$keyval[0]} = $keyval[1] unless $keyval[0] =~ /^\@/;
push @{ $post{'@' . $keyval[0]} }, $keyval[1];
@@
-50,7
+59,7
@@
sub doit {
if (defined($ENV{HTTP_COOKIE}) && $ENV{HTTP_COOKIE} ne ''){
for (split /; ?/, $ENV{HTTP_COOKIE}) {
if (defined($ENV{HTTP_COOKIE}) && $ENV{HTTP_COOKIE} ne ''){
for (split /; ?/, $ENV{HTTP_COOKIE}) {
- my @keyval = split /=/;
+ my @keyval = split /=/
, $_, 2
;
$PLP::Script::cookie{$keyval[0]} ||= $keyval[1];
}
}
$PLP::Script::cookie{$keyval[0]} ||= $keyval[1];
}
}