Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision dc3cd296

Von Moritz Bunkus vor mehr als 16 Jahren hinzugefügt

  • ID dc3cd296e62eb09a16fa694d9b3a7158e4cf63bf
  • Vorgänger 0aea1ede
  • Nachfolger 0c75bd00

Das Quoten/Unquoten von speziellen Zeichen in zentrale Hilfsfunktionen in Locale verlagert.

Unterschiede anzeigen:

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
     '&lt;'    => '<',
81
    '&quot;'  => '"',
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&amp;\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