]> git.p6c8.net - selfforum.git/commitdiff
added version checks, fixed some issues ;)
authorndparker <>
Sun, 17 Jun 2001 00:58:48 +0000 (00:58 +0000)
committerndparker <>
Sun, 17 Jun 2001 00:58:48 +0000 (00:58 +0000)
selfforum-cgi/shared/Encode/Plain.pm
selfforum-cgi/shared/Encode/Posting.pm

index 17c749c1e6b6f1419ed1836b69669b5a43a1e0ce..3deb755c7e3e83c7630188477517d5ac5f0df615 100644 (file)
@@ -17,8 +17,15 @@ use vars qw(
   %unimap
   $utf8
   $v56
   %unimap
   $utf8
   $v56
+  $VERSION
 );
 
 );
 
+################################################################################
+#
+# Version check
+#
+$VERSION = do { my @r =(q$Revision$ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
+
 $v56 = eval {local $SIG{__DIE__}; require 5.6.0;};
 
 ################################################################################
 $v56 = eval {local $SIG{__DIE__}; require 5.6.0;};
 
 ################################################################################
@@ -129,7 +136,6 @@ sub plain ($;$) {
   if ($except) {
     $new =~ s/($exreg)|</defined($1)?$1:'&lt;'/eg;
     $new =~ s/($exreg)|>/defined($1)?$1:'&gt;'/eg;
   if ($except) {
     $new =~ s/($exreg)|</defined($1)?$1:'&lt;'/eg;
     $new =~ s/($exreg)|>/defined($1)?$1:'&gt;'/eg;
-    $new =~ s/($exreg)|\|/defined($1)?$1:'&#124;'/eg;
     $new =~ s/($exreg)|"/defined($1)?$1:'&quot;'/eg;
 
     # the big hash
     $new =~ s/($exreg)|"/defined($1)?$1:'&quot;'/eg;
 
     # the big hash
@@ -164,7 +170,6 @@ sub plain ($;$) {
     #
     $new =~ s/</&lt;/g;
     $new =~ s/>/&gt;/g;
     #
     $new =~ s/</&lt;/g;
     $new =~ s/>/&gt;/g;
-    $new =~ s/\|/&#124;/g;
     $new =~ s/"/&quot;/g;
 
     # the big hash
     $new =~ s/"/&quot;/g;
 
     # the big hash
@@ -225,7 +230,7 @@ sub multiline ($) {
 
   # turn \n into <br>
   #
 
   # turn \n into <br>
   #
-  $string=~s/\n/<br>/g;
+  $string=~s!\n!<br />!g;
 
   # more than 1 space => &nbsp;
   #
 
   # more than 1 space => &nbsp;
   #
@@ -234,7 +239,7 @@ sub multiline ($) {
   # Single Spaces after <br> => &nbsp;
   # (save ascii arts ;)
   #
   # Single Spaces after <br> => &nbsp;
   # (save ascii arts ;)
   #
-  $string=~s/(?:^|(<br>))\s/($1?$1:'').'&nbsp;'/eg;
+  $string=~s!(?:^|(<br(?:\s*/)?>))\s!($1?$1:'').'&nbsp;'!eg;
 
   # return
   #
 
   # return
   #
@@ -255,17 +260,11 @@ sub toUTF8 ($) {
     ? $$ref
     : $ref;
 
     ? $$ref
     : $ref;
 
-# if ($v56) {
-#   no warnings 'utf8';
-#   $string =~ tr/\x80-\xff//CU;
-# }
-# else {
-    $string =~ s
-      {([\x80-\xff])}
-      { chr((ord ($1) >> 6) | 192)
-       .chr((ord ($1) & 191))
-      }eg;
-# }
+  $string =~ s
+    {([\x80-\xff])}
+    { chr((ord ($1) >> 6) | 192)
+     .chr((ord ($1) & 191))
+    }eg;
 
   ref($ref)
     ? \$string
 
   ref($ref)
     ? \$string
@@ -531,4 +530,4 @@ BEGIN {
 
 #
 #
 
 #
 #
-### end of Encode::Plain #######################################################
+### end of Encode::Plain #######################################################
\ No newline at end of file
index 395f71fdea37cbeae9e557460482238d53576a7e..4ff9410304f8044b4c8f186b9e99e28d7590d81c 100644 (file)
@@ -11,16 +11,26 @@ package Encode::Posting;
 ################################################################################
 
 use strict;
 ################################################################################
 
 use strict;
+use vars qw(
+  @EXPORT
+  $VERSION
+);
 
 use Encode::Plain; $Encode::Plain::utf8 = 1;
 use CheckRFC;
 
 
 use Encode::Plain; $Encode::Plain::utf8 = 1;
 use CheckRFC;
 
+################################################################################
+#
+# Version check
+#
+$VERSION = do { my @r =(q$Revision$ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
+
 ################################################################################
 #
 # Export
 #
 use base qw(Exporter);
 ################################################################################
 #
 # Export
 #
 use base qw(Exporter);
-@Encode::Posting::EXPORT = qw(
+@EXPORT = qw(
   encoded_body
   answer_field
   message_field
   encoded_body
   answer_field
   message_field
@@ -71,7 +81,7 @@ sub encoded_body ($;$) {
   my @rawlinks;
   push @rawlinks => [$1 => $2] while ($posting =~ /\[([Ll][Ii][Nn][Kk]):\s*([^\]\s]+)\s*\]/g);
   my @links = grep {
   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'))
     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 +168,7 @@ sub answer_field ($$) {
   my $area = $$posting;
   my $qchar = $params -> {quoteChars};
 
   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
   $area =~ s/&(?:#160|nbsp);/ /g;   # nbsp => ' '
 
   $area =~ s/^(.)/\177$1/gm if ($params -> {quoteArea}); # shift a quoting character
@@ -213,7 +223,7 @@ sub message_field ($$) {
   if ($params -> {quoting}) {       # quotes are displayed as special?
     my @array = [0 => []];
 
   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]} => $_;
       my $l = length ((/^(\177*)/)[0]);
       if ($array[-1][0] == $l) {
         push @{$array[-1][-1]} => $_;
@@ -248,4 +258,4 @@ sub message_field ($$) {
 
 #
 #
 
 #
 #
-### end of Encode::Posting #####################################################
+### end of Encode::Posting #####################################################
\ No newline at end of file

patrick-canterino.de