@@ -, +, @@ <> [%opac_news.content %] << opac_news.content>> [% opac_news.content %] --- installer/data/mysql/db_revs/210600016.pl | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) --- a/installer/data/mysql/db_revs/210600016.pl +++ a/installer/data/mysql/db_revs/210600016.pl @@ -38,14 +38,18 @@ return { |); } - $dbh->do(q| - UPDATE letter - SET content = REGEXP_REPLACE(content, '<<\\\\s*opac_news\.', '<do(q| - UPDATE letter - SET content = REGEXP_REPLACE(content, '\\\\[%\\\\s*opac_news\.', '[% additional_contents.') + my $contents = $dbh->selectall_arrayref(q|SELECT * FROM additional_contents|, { Slice => {} }); + my $sth_update = $dbh->prepare(q| + UPDATE additional_contents + SET content=? + WHERE idnew=? |); + for my $c ( @$contents ) { + my $content = $c->{content}; + $content =~ s|<<\s*opac_news\.|<execute($content, $c->{idnew}); + } $dbh->do(q| UPDATE systempreferences @@ -82,7 +86,7 @@ return { |); } - my $contents = $dbh->selectall_arrayref(q|SELECT * FROM additional_contents|, { Slice => {} }); + $contents = $dbh->selectall_arrayref(q|SELECT * FROM additional_contents|, { Slice => {} }); for my $c ( @$contents ) { my ( $category, $location, $new_lang ); if ( $c->{lang} eq '' ) { --