# č
use CGI qw ( -utf8 );
-use Digest::MD5 qw(md5_base64);
-use Encode qw( encode );
my (@errors, @feedback);
my $extended = C4::Context->preference('ExtendedPatronAttributes');
if ( $uploadborrowers && length($uploadborrowers) > 0 ) {
die "Wrong CSRF token"
unless Koha::Token->new->check_csrf({
- id => Encode::encode( 'UTF-8', C4::Context->userenv->{id} ),
- secret => md5_base64( Encode::encode( 'UTF-8', C4::Context->config('pass') ) ),
+ session_id => scalar $input->cookie('CGISESSID'),
token => scalar $input->param('csrf_token'),
});
my $borrowernumber;
my $member;
if ( ($matchpoint eq 'cardnumber') && ($borrower{'cardnumber'}) ) {
- $member = GetMember( 'cardnumber' => $borrower{'cardnumber'} );
- if ($member) {
- $borrowernumber = $member->{'borrowernumber'};
- }
+ $member = Koha::Patrons->find( { cardnumber => $borrower{'cardnumber'} } );
} elsif ( ($matchpoint eq 'userid') && ($borrower{'userid'}) ) {
- $member = GetMember( 'userid' => $borrower{'userid'} );
- if ($member) {
- $borrowernumber = $member->{'borrowernumber'};
- }
+ $member = Koha::Patrons->find( { userid => $borrower{'userid'} } )->unblessed;
} elsif ($extended) {
if (defined($matchpoint_attr_type)) {
foreach my $attr (@$patron_attributes) {
}
}
+ if ($member) {
+ $member = $member->unblessed;
+ $borrowernumber = $member->{'borrowernumber'};
+ } else {
+ $member = {};
+ }
+
if ( C4::Members::checkcardnumber( $borrower{cardnumber}, $borrowernumber ) ) {
push @errors, {
invalid_cardnumber => 1,
$template->param(
csrf_token => Koha::Token->new->generate_csrf(
- { id => Encode::encode( 'UTF-8', C4::Context->userenv->{id} ),
- secret => md5_base64( Encode::encode( 'UTF-8', C4::Context->config('pass') ) ),
- }
+ { session_id => scalar $input->cookie('CGISESSID'), }
),
);