View | Details | Raw Unified | Return to bug 30524
Collapse All | Expand All

(-)a/xt/find-missing-csrf.t (-11 / +10 lines)
Lines 1-5 Link Here
1
#!/usr/bin/perl
1
#!/usr/bin/perl
2
2
3
# Copyright 2021 Koha development team
4
#
3
# This file is part of Koha.
5
# This file is part of Koha.
4
#
6
#
5
# Koha is free software; you can redistribute it and/or modify it
7
# Koha is free software; you can redistribute it and/or modify it
Lines 63-81 sub check_csrf_in_forms { Link Here
63
    my @lines = read_file($file);
65
    my @lines = read_file($file);
64
    my @errors;
66
    my @errors;
65
    return @errors unless grep { $_ =~ m|<form| } @lines;
67
    return @errors unless grep { $_ =~ m|<form| } @lines;
66
    my ( $open, $found, $closed ) = ( 0, 0, 0 );
68
    my ( $open, $found ) = ( 0, 0 );
67
    my $line = 0 ;
69
    my $line = 0 ;
68
    for my $l (@lines) {
70
    for my $l (@lines) {
69
        $line++;
71
        $line++;
70
        $open = $line if ( $l =~ m{<form} && !($l =~ m{method=('|")get('|")}));
72
        $open = $line if ( $l =~ m{<form} && !( $l =~ m{method=('|")get('|")} ) );
71
        $found++  if ($l =~ m|csrf\-token\.inc| && $open);
73
        $found++  if ( $l =~ m|csrf\-token\.inc| && $open );
72
        $closed++ if ($l =~ m|</form| && $open);
74
        if ( $open && $l =~ m|</form| ) {
73
        if ( $open && $closed ) {
75
            push @errors,
74
            push @errors, "The <form> starting on line $open is missing it's corresponding csrf_token include (see bug 22990)"
76
                "The <form> starting on line $open is missing it's corresponding csrf_token include (see bug 22990)"
75
              if !$found;
77
                if !$found;
76
78
            $found = 0;
77
            # reset
78
            ( $open, $found, $closed ) = ( 0, 0, 0 );
79
        }
79
        }
80
    }
80
    }
81
    return @errors;
81
    return @errors;
82
- 

Return to bug 30524