f8ffbe63f4f8c3a91d067fcacecd4467f102a1c6
[kivitendo-erp.git] / sql / Pg-upgrade2-auth / convert_columns_to_html_for_sending_html_emails.pl
1 # @tag: convert_columns_to_html_for_sending_html_emails
2 # @description: Versand von E-Mails in HTML: mehrere Text-Spalten nach HTML umwandeln
3 # @depends: release_3_5_8
4 package SL::DBUpgrade2::Auth::convert_columns_to_html_for_sending_html_emails;
5
6 use strict;
7 use utf8;
8
9 use parent qw(SL::DBUpgrade2::Base);
10
11 use SL::HTML::Util;
12
13 sub run {
14   my ($self) = @_;
15
16   my $q_fetch = <<SQL;
17     SELECT user_id, cfg_key, cfg_value
18     FROM auth.user_config
19     WHERE (cfg_key = 'signature')
20 SQL
21
22   my $q_update = <<SQL;
23     UPDATE auth.user_config
24     SET cfg_value = ?
25     WHERE (user_id = ?)
26       AND (cfg_key = 'signature')
27 SQL
28
29   my $h_fetch = $self->dbh->prepare($q_fetch);
30   $h_fetch->execute || $::form->dberror($q_fetch);
31
32   my $h_update = $self->dbh->prepare($q_update);
33
34   while (my $entry = $h_fetch->fetchrow_hashref) {
35     $entry->{cfg_value} //= '';
36     my $new_value = SL::HTML::Util->plain_text_to_html($entry->{cfg_value});
37
38     next if $entry->{cfg_value} eq $new_value;
39
40     $h_update->execute($new_value, $entry->{user_id}) || $::form->dberror($q_update);
41   }
42
43   return 1;
44 }
45
46 1;