Revision dc3cd296
Von Moritz Bunkus vor mehr als 16 Jahren hinzugefügt
SL/ReportGenerator.pm | ||
---|---|---|
60 | 60 |
|
61 | 61 |
$self->set_options(@_) if (@_); |
62 | 62 |
|
63 |
$self->_init_escaped_strings_map(); |
|
64 |
|
|
65 | 63 |
return $self; |
66 | 64 |
} |
67 | 65 |
|
68 |
sub _init_escaped_strings_map { |
|
69 |
my $self = shift; |
|
70 |
|
|
71 |
$self->{escaped_strings_map} = { |
|
72 |
'ä' => '?', |
|
73 |
'ö' => '?', |
|
74 |
'ü' => '?', |
|
75 |
'Ä' => '?', |
|
76 |
'Ö' => '?', |
|
77 |
'Ü' => '?', |
|
78 |
'ß' => '?', |
|
79 |
'>' => '>', |
|
80 |
'<' => '<', |
|
81 |
'"' => '"', |
|
82 |
}; |
|
83 |
|
|
84 |
my $iconv = $main::locale->{iconv_iso8859}; |
|
85 |
|
|
86 |
if ($iconv) { |
|
87 |
map { $self->{escaped_strings_map}->{$_} = $iconv->convert($self->{escaped_strings_map}->{$_}) } keys %{ $self->{escaped_strings_map} }; |
|
88 |
} |
|
89 |
} |
|
90 |
|
|
91 | 66 |
sub set_columns { |
92 | 67 |
my $self = shift; |
93 | 68 |
my %columns = @_; |
... | ... | |
277 | 252 |
my $self = shift; |
278 | 253 |
my $value = shift; |
279 | 254 |
|
280 |
$value = $self->{form}->quote_html($value);
|
|
255 |
$value = $main::locale->quote_special_chars('HTML', $value);
|
|
281 | 256 |
$value =~ s/\r//g; |
282 | 257 |
$value =~ s/\n/<br>/g; |
283 | 258 |
|
... | ... | |
767 | 742 |
} |
768 | 743 |
|
769 | 744 |
sub unescape_string { |
770 |
my $self = shift; |
|
771 |
my $text = shift; |
|
772 |
|
|
773 |
foreach my $key (keys %{ $self->{escaped_strings_map} }) { |
|
774 |
$text =~ s/\Q$key\E/$self->{escaped_strings_map}->{$key}/g; |
|
775 |
} |
|
745 |
my $self = shift; |
|
746 |
my $text = shift; |
|
747 |
my $iconv = $main::locale->{iconv}; |
|
776 | 748 |
|
777 |
$text =~ s/\Q&\E/&/g; |
|
749 |
$text = $main::locale->unquote_special_chars('HTML', $text); |
|
750 |
$text = $main::locale->{iconv}->convert($text) if ($main::locale->{iconv}); |
|
778 | 751 |
|
779 | 752 |
return $text; |
780 | 753 |
} |
Auch abrufbar als: Unified diff
Das Quoten/Unquoten von speziellen Zeichen in zentrale Hilfsfunktionen in Locale verlagert.