diff options
| author | Andreas Brachold <vdr07@deltab.de> | 2008-11-28 18:47:12 +0000 |
|---|---|---|
| committer | Andreas Brachold <vdr07@deltab.de> | 2008-11-28 18:47:12 +0000 |
| commit | b7b4c1c32dbbf02bc52f8aa568c9bfbbfc3acabc (patch) | |
| tree | 0c9a2e0d05ecd3ef9cccea3dadc5bfed6403a1d3 /lib/XXV/OUTPUT/NEWS/RSS.pm | |
| parent | 8c42985fd234e2a993b3f01416941f4b371d1a92 (diff) | |
| download | xxv-b7b4c1c32dbbf02bc52f8aa568c9bfbbfc3acabc.tar.gz xxv-b7b4c1c32dbbf02bc52f8aa568c9bfbbfc3acabc.tar.bz2 | |
* USER: Fix warn message
* STATUS: Add option to define warning level, if volume filled more then this level
* RSS: Better encode with UTF-8
* MAIL: Mail::SendEasy, failed with standard eval { use _$ } (Bug #14843)
Diffstat (limited to 'lib/XXV/OUTPUT/NEWS/RSS.pm')
| -rw-r--r-- | lib/XXV/OUTPUT/NEWS/RSS.pm | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/lib/XXV/OUTPUT/NEWS/RSS.pm b/lib/XXV/OUTPUT/NEWS/RSS.pm index 7ede3f3..c796db9 100644 --- a/lib/XXV/OUTPUT/NEWS/RSS.pm +++ b/lib/XXV/OUTPUT/NEWS/RSS.pm @@ -82,6 +82,11 @@ sub new { my $self = {}; bless($self, $class); + $self->{charset} = delete $attr{'-charset'} || 'ISO-8859-1'; + if($self->{charset} eq 'UTF-8'){ + eval 'use utf8'; + } + # read the DB Handle $self->{dbh} = delete $attr{'-dbh'}; @@ -145,6 +150,8 @@ sub createRSS { if($ver == 1) { $rss = XML::RSS->new( version => '1.0', + 'encoding' => $self->{charset}, + 'encode_output' => 1 ) || return error("Can't create rss 1.0 object"); @@ -169,6 +176,8 @@ sub createRSS { $rss = XML::RSS->new( version => '2.0', + 'encoding' => $self->{charset}, + 'encode_output' => 1 ) || return error("Can't create rss 2.0 object"); $rss->channel( @@ -225,13 +234,17 @@ sub req { if($cmd && $data); my $category = $emod->translate_scala($level); + if($self->{charset} eq 'UTF-8') { + utf8::decode( $title ) unless utf8::is_utf8( $title ); + utf8::decode( $message ) unless utf8::is_utf8( $message ); + } $message =~ s/\r\n/<br \/>/g; if($ver == 1) { $rss->add_item( title => $title, link => $link, - description => entities($message), + description => $message, dc => { date => datum($addtime, 'rss'), subject => $category, @@ -241,7 +254,7 @@ sub req { $rss->add_item( title => $title, link => $link, - description => entities($message), + description => $message, pubDate => datum($addtime, 'rss'), category => $category, guid => $id, |
