X-Git-Url: http://wagnertech.de/git?p=kivitendo-erp.git;a=blobdiff_plain;f=sql%2FPg-upgrade2%2Fconvert_columns_to_html_for_sending_html_emails.pl;fp=sql%2FPg-upgrade2%2Fconvert_columns_to_html_for_sending_html_emails.pl;h=168ea459f1081f7fa01035aa284066af15a8691f;hp=0000000000000000000000000000000000000000;hb=53593baa211863fbf66540cf1bcc36c8fb37257f;hpb=deb4d2dbb676d7d6f69dfe7815d6e0cb09bd4a44 diff --git a/sql/Pg-upgrade2/convert_columns_to_html_for_sending_html_emails.pl b/sql/Pg-upgrade2/convert_columns_to_html_for_sending_html_emails.pl new file mode 100644 index 000000000..168ea459f --- /dev/null +++ b/sql/Pg-upgrade2/convert_columns_to_html_for_sending_html_emails.pl @@ -0,0 +1,62 @@ +# @tag: convert_columns_to_html_for_sending_html_emails +# @description: Versand von E-Mails in HTML: mehrere Text-Spalten nach HTML umwandeln +# @depends: release_3_5_8 +package SL::DBUpgrade2::convert_columns_to_html_for_sending_html_emails; + +use strict; +use utf8; + +use parent qw(SL::DBUpgrade2::Base); + +use SL::HTML::Util; + +sub convert_column { + my ($self, $table, $id_column, $column_to_convert, $condition) = @_; + + $condition = $condition ? "WHERE $condition" : ""; + + my $q_fetch = <dbh->prepare($q_fetch); + $h_fetch->execute || $::form->dberror($q_fetch); + + my $h_update = $self->dbh->prepare($q_update); + + while (my $entry = $h_fetch->fetchrow_hashref) { + $entry->{$column_to_convert} //= ''; + my $new_value = SL::HTML::Util->plain_text_to_html($entry->{$column_to_convert}); + + next if $entry->{$column_to_convert} eq $new_value; + + $h_update->execute($new_value, $entry->{id}) || $::form->dberror($q_update); + } +} + +sub run { + my ($self) = @_; + + $self->convert_column('defaults', 'id', 'signature'); + $self->convert_column('employee', 'id', 'deleted_signature'); + $self->convert_column('periodic_invoices_configs', 'id', 'email_body'); + $self->convert_column('generic_translations', 'id', 'translation', <