diff --git a/installer/data/mysql/atomicupdate/bug_36244.pl b/installer/data/mysql/atomicupdate/bug_36244.pl new file mode 100755 index 0000000000..5fd40ecb2d --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_36244.pl @@ -0,0 +1,27 @@ +use Modern::Perl; + +return { + bug_number => "36244", + description => "Template Toolkit syntax not escaped in letter templates", + up => sub { + my ($args) = @_; + my ( $dbh, $out ) = @$args{qw(dbh out)}; + + my $query = q{SELECT * FROM letter WHERE content LIKE "[|%%SET%<<%|%]" ESCAPE '|'}; + my $sth = $dbh->prepare($query); + $sth->execute(); + if ( $sth->rows ) { + say $out "You have one or more templates that have been affected by bug 36244."; + say $out "These templates assign template toolkit variables values"; + say $out "using the double arrows syntax. E.g. [% SET name = '<>' %]"; + say $out + "This will no longer function correctly as Template Toolkit is now rendered before the double arrow syntax."; + say $out "The following notices will need to be updated:"; + + while ( my $row = $sth->fetchrow_hashref() ) { + say $out + "ID: $row->{id} / MODULE: $row->{module} / CODE: $row->{code} / BRANCHCODE: $row->{branchcode} / NAME: $row->{name}"; + } + } + }, +};