]> git.p6c8.net - selfforum.git/blobdiff - selfforum-cgi/shared/Encode/Posting.pm
improved the behavior of get_all_threads and create_forum_xml_string
[selfforum.git] / selfforum-cgi / shared / Encode / Posting.pm
index 395f71fdea37cbeae9e557460482238d53576a7e..ff7b65c14c1f7bccf36698b049465503538ccf83 100644 (file)
@@ -4,23 +4,36 @@ package Encode::Posting;
 #                                                                              #
 # File:        shared/Encode/Posting.pm                                        #
 #                                                                              #
-# Authors:     AndrĂ© Malo <nd@o3media.de>, 2001-04-10                          #
+# Authors:     AndrĂ© Malo <nd@o3media.de>                                      #
 #                                                                              #
 # Description: prepare a Posting text for saving and visual (HTML) output      #
 #                                                                              #
 ################################################################################
 
 use strict;
+use vars qw(
+  @EXPORT
+);
 
 use Encode::Plain; $Encode::Plain::utf8 = 1;
 use CheckRFC;
 
+################################################################################
+#
+# Version check
+#
+# last modified:
+#    $Date$ (GMT)
+# by $Author$
+#
+sub VERSION {(q$Revision$ =~ /([\d.]+)\s*$/)[0] or '0.0'}
+
 ################################################################################
 #
 # Export
 #
 use base qw(Exporter);
-@Encode::Posting::EXPORT = qw(
+@EXPORT = qw(
   encoded_body
   answer_field
   message_field
@@ -71,7 +84,7 @@ sub encoded_body ($;$) {
   my @rawlinks;
   push @rawlinks => [$1 => $2] while ($posting =~ /\[([Ll][Ii][Nn][Kk]):\s*([^\]\s]+)\s*\]/g);
   my @links = grep {
-       is_URL ( $_ -> [1] => ':ALL')
+       is_URL ( $_ -> [1] => qw(http ftp news nntp telnet gopher mailto))
     or is_URL (($_ -> [1] =~ /^[Vv][Ii][Ee][Ww]-[Ss][Oo][Uu][Rr][Cc][Ee]:(.+)/)[0] || '' => 'http')
     or (  $_ -> [1] =~ m<^(?:\.?\.?/(?!/)|\?)>
       and is_URL (rel_uri ($_ -> [1], $base) => 'http'))
@@ -158,7 +171,7 @@ sub answer_field ($$) {
   my $area = $$posting;
   my $qchar = $params -> {quoteChars};
 
-  $area =~ s/<br(?:\/| \/)?>/\n/g;  # <br> => \n
+  $area =~ s/<br(?:\s*\/)?>/\n/g;  # <br> => \n
   $area =~ s/&(?:#160|nbsp);/ /g;   # nbsp => ' '
 
   $area =~ s/^(.)/\177$1/gm if ($params -> {quoteArea}); # shift a quoting character
@@ -213,7 +226,7 @@ sub message_field ($$) {
   if ($params -> {quoting}) {       # quotes are displayed as special?
     my @array = [0 => []];
 
-    for (split /<br(?:\/| \/)?>/ => $posting) {
+    for (split /<br(?:\s*\/)?>/ => $posting) {
       my $l = length ((/^(\177*)/)[0]);
       if ($array[-1][0] == $l) {
         push @{$array[-1][-1]} => $_;
@@ -243,9 +256,9 @@ sub message_field ($$) {
   \$posting;
 }
 
-# keeping 'require' happy
+# keep 'require' happy
 1;
 
 #
 #
-### end of Encode::Posting #####################################################
+### end of Encode::Posting #####################################################
\ No newline at end of file

patrick-canterino.de