1 |
diff -Nur -x '*.orig' -x '*.rej' CGI-Persistent-1.00/lib/CGI/Persistent.pm mezzanine_patched_CGI-Persistent-1.00/lib/CGI/Persistent.pm |
2 |
--- CGI-Persistent-1.00/lib/CGI/Persistent.pm 2007-11-25 15:56:19.000000000 -0700 |
3 |
+++ mezzanine_patched_CGI-Persistent-1.00/lib/CGI/Persistent.pm 2007-11-25 15:54:42.000000000 -0700 |
4 |
@@ -10,7 +10,7 @@ |
5 |
|
6 |
package CGI::Persistent; |
7 |
|
8 |
-use CGI; |
9 |
+use CGI '-no_xhtml'; |
10 |
use Persistence::Object::Simple; |
11 |
use vars qw(@ISA $VERSION); |
12 |
use Data::Dumper; |
13 |
@@ -22,18 +22,18 @@ |
14 |
my ( $class, $dope, $id ) = @_ ; |
15 |
$dope = "." unless $dope; |
16 |
my $cgi = new CGI; # print $cgi->header (); |
17 |
- $cgi->{sessiondir} = dirname($id) if $id; |
18 |
- my $fn = basename($cgi->param( '.id' ) || $id); |
19 |
+ my $fn = fileparse($cgi->param( '.id' ) || $id || ''); |
20 |
|
21 |
unless ( $fn ) { |
22 |
my $po = new Persistence::Object::Simple ( __Dope => $dope ); |
23 |
- $cgi->append( -name => '.id', -values => basename $po->{ __Fn } ); |
24 |
- $fn = basename $po->{ __Fn }; undef $po; |
25 |
+ $fn = fileparse $po->{ __Fn }; |
26 |
+ $cgi->append( -name => '.id', -values => $fn ); |
27 |
+ undef $po; |
28 |
} |
29 |
|
30 |
- my $po = new Persistence::Object::Simple __Fn => |
31 |
- join "/", ($cgi->{sessiondir},$fn); |
32 |
+ my $po = new Persistence::Object::Simple __Fn => "$dope/$fn"; |
33 |
$po->{ __DOPE } = undef; |
34 |
+ $po->{sessiondir} = $dope; |
35 |
my @names = $cgi->param (); |
36 |
|
37 |
my $st = $cgi->param('.sailthru'); |
38 |
@@ -43,7 +43,16 @@ |
39 |
|
40 |
foreach $key ( keys %$po ) { |
41 |
$cgi->param( -name => $key, -values => $po->{$key} ) |
42 |
- unless ( grep /$key/, @names ) || $key eq "__Fn" |
43 |
+ unless ( grep /$key/, @names ) || $key eq "__Fn"; |
44 |
+ } |
45 |
+ |
46 |
+ $cgi->{sessiondir} = $po->{sessiondir}; |
47 |
+ |
48 |
+ # Stringify the params. This is black magic to work around an interpreter |
49 |
+ # crash in Data::Dumper. |
50 |
+ foreach my $param ($cgi->param) |
51 |
+ { |
52 |
+ my $s = "param $param is " . $cgi->param($param) . "\n"; |
53 |
} |
54 |
|
55 |
$po->commit (); |