X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FSEPA%2FXML.pm;h=54df4eda61b410c66654a777bdf4a15b28fc2030;hb=fec48603264c8adad06fbc212358633778322b56;hp=e4bf360d676102af6a08826cd8518b9341a70b91;hpb=c21b3764b068d8b895f66ebd953cfb7fa28c8ca9;p=kivitendo-erp.git diff --git a/SL/SEPA/XML.pm b/SL/SEPA/XML.pm index e4bf360d6..54df4eda6 100644 --- a/SL/SEPA/XML.pm +++ b/SL/SEPA/XML.pm @@ -12,6 +12,7 @@ use XML::Writer; use SL::Iconv; use SL::SEPA::XML::Transaction; +use SL::DB::Helper::ReplaceSpecialChars qw(replace_special_chars); sub new { my $class = shift; @@ -40,7 +41,7 @@ sub _init { croak "Missing parameter: $missing_parameter" if ($missing_parameter); croak "Missing parameter: creditor_id" if !$self->{creditor_id} && $self->{collection}; - map { $self->{$_} = $self->_replace_special_chars($self->{iconv}->convert($self->{$_})) } qw(company message_id creditor_id); + map { $self->{$_} = replace_special_chars($self->{iconv}->convert($self->{$_})) } qw(company message_id creditor_id); } sub add_transaction { @@ -54,31 +55,6 @@ sub add_transaction { return 1; } -sub _replace_special_chars { - my $self = shift; - my $text = shift; - - my %special_chars = ( - 'ä' => 'ae', - 'ö' => 'oe', - 'ü' => 'ue', - 'Ä' => 'Ae', - 'Ö' => 'Oe', - 'Ü' => 'Ue', - 'ß' => 'ss', - '&' => '+', - '`' => '\'', - ); - - map { $text =~ s/$_/$special_chars{$_}/g; } keys %special_chars; - - # for all other non ascii chars 'OLÉ S.L.' and 'Årdberg AB'! - use Text::Unidecode qw(unidecode); - $text = unidecode($text); - - return $text; -} - sub _format_amount { my $self = shift; my $amount = shift;