Lines 43-48
use C4::Members;
Link Here
|
43 |
|
43 |
|
44 |
use MARC::File::XML; |
44 |
use MARC::File::XML; |
45 |
use URI::Escape; |
45 |
use URI::Escape; |
|
|
46 |
use MIME::Base64 qw(decode_base64url encode_base64url); |
46 |
|
47 |
|
47 |
our $dbh = C4::Context->dbh; |
48 |
our $dbh = C4::Context->dbh; |
48 |
|
49 |
|
Lines 430-436
my $cookieitemrecord;
Link Here
|
430 |
if ($prefillitem) { |
431 |
if ($prefillitem) { |
431 |
my $lastitemcookie = $input->cookie('LastCreatedItem'); |
432 |
my $lastitemcookie = $input->cookie('LastCreatedItem'); |
432 |
if ($lastitemcookie) { |
433 |
if ($lastitemcookie) { |
433 |
$lastitemcookie = uri_unescape($lastitemcookie); |
434 |
$lastitemcookie = decode_base64url($lastitemcookie); |
434 |
eval { |
435 |
eval { |
435 |
if ( thaw($lastitemcookie) ) { |
436 |
if ( thaw($lastitemcookie) ) { |
436 |
$cookieitemrecord = thaw($lastitemcookie); |
437 |
$cookieitemrecord = thaw($lastitemcookie); |
Lines 439-445
if ($prefillitem) {
Link Here
|
439 |
}; |
440 |
}; |
440 |
if ($@) { |
441 |
if ($@) { |
441 |
$lastitemcookie = 'undef' unless $lastitemcookie; |
442 |
$lastitemcookie = 'undef' unless $lastitemcookie; |
442 |
warn "Storable::thaw failed to thaw LastCreatedItem-cookie. Cookie value '$lastitemcookie'. Caught error follows: '$@'"; |
443 |
warn "Storable::thaw failed to thaw LastCreatedItem-cookie. Cookie value '".encode_base64url($lastitemcookie)."'. Caught error follows: '$@'"; |
443 |
} |
444 |
} |
444 |
} |
445 |
} |
445 |
} |
446 |
} |
Lines 495-502
if ($op eq "additem") {
Link Here
|
495 |
if ($prefillitem && defined $record) { |
496 |
if ($prefillitem && defined $record) { |
496 |
my $itemcookie = $input->cookie( |
497 |
my $itemcookie = $input->cookie( |
497 |
-name => 'LastCreatedItem', |
498 |
-name => 'LastCreatedItem', |
498 |
# We uri_escape the whole freezed structure so we're sure we won't have any encoding problems |
499 |
# We encode_base64url the whole freezed structure so we're sure we won't have any encoding problems |
499 |
-value => uri_escape_utf8( freeze( $record ) ), |
500 |
-value => encode_base64url( freeze( $record ) ), |
500 |
-HttpOnly => 1, |
501 |
-HttpOnly => 1, |
501 |
-expires => '' |
502 |
-expires => '' |
502 |
); |
503 |
); |
503 |
- |
|
|