From 0bf85c808337f4c0a52a4ca2f7e8447e4e666fad Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 29 May 2019 16:43:59 -0500 Subject: [PATCH] Bug 22990: Code cleaning - Remove indentation level - Remove csrf_token params (can be picked from GGI->param directly) - Fix the $cookie param's value --- C4/Output.pm | 37 ++++++++++++++++++------------------- acqui/basketheader.pl | 3 ++- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/C4/Output.pm b/C4/Output.pm index a33598dd40..7193ee36cf 100644 --- a/C4/Output.pm +++ b/C4/Output.pm @@ -329,27 +329,26 @@ Others will be added here depending on the needs (for instance biblio does not e sub output_and_exit_if_error { my ( $query, $cookie, $template, $params ) = @_; my $error; - if ($params->{module} eq 'CSRF_TOKEN_CHECK') { - my $csrfcheck = Koha::Token->new->check_csrf( { - session_id => scalar $cookie, - token => scalar $params->{csrf_token}, - }); - unless ($csrfcheck) { - $error = 'wrong_csrf_token'; + if ( $params and exists $params->{module} ) { + if ( $params->{module} eq 'members' ) { + my $logged_in_user = $params->{logged_in_user}; + my $current_patron = $params->{current_patron}; + if ( not $current_patron ) { + $error = 'unknown_patron'; + } + elsif ( not $logged_in_user->can_see_patron_infos($current_patron) ) + { + $error = 'cannot_see_patron_infos'; + } } - - } else { - if ( $params and exists $params->{module} ) { - if ( $params->{module} eq 'members' ) { - my $logged_in_user = $params->{logged_in_user}; - my $current_patron = $params->{current_patron}; - if ( not $current_patron ) { - $error = 'unknown_patron'; - } - elsif( not $logged_in_user->can_see_patron_infos( $current_patron ) ) { - $error = 'cannot_see_patron_infos'; + elsif ( $params->{module} eq 'CSRF_TOKEN_CHECK' ) { + $error = 'wrong_csrf_token' + unless Koha::Token->new->check_csrf( + { + session_id => scalar $query->cookie('CGISESSID'), + token => scalar $query->param('csrf_token'), } - } + ); } } output_and_exit( $query, $cookie, $template, $error ) if $error; diff --git a/acqui/basketheader.pl b/acqui/basketheader.pl index 2d17b079eb..2cb3584823 100755 --- a/acqui/basketheader.pl +++ b/acqui/basketheader.pl @@ -143,7 +143,8 @@ if ( $op eq 'add_form' ) { } elsif ( $op eq 'add_validate' ) { #we are confirming the changes, save the basket #we are checking CSRF Token. Module CSRF_TOKEN_CHECK indicate for CSRF token checking, - output_and_exit_if_error( $input, $input->cookie('CGISESSID'), $template, { module => 'CSRF_TOKEN_CHECK', csrf_token => $input->param('csrf_token') } ); + output_and_exit_if_error($input, $cookie, $template, { module => 'CSRF_TOKEN_CHECK' }); + if ( $is_an_edit ) { ModBasketHeader( $basketno, -- 2.11.0