Changeset 2886


Ignore:
Timestamp:
2001-12-04T16:02:17+13:00 (22 years ago)
Author:
jrm21
Message:

Fixed some encoding issues - need to convert to utf-8 after un-base64ing
or un-quoted-printabling.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/perllib/plugins/EMAILPlug.pm

    r2847 r2886  
    266266    if ($value) {
    267267        # assume subject, etc headers have no special HTML meaning.
    268         $value =~ s@&@&amp\;@g;
    269         $value =~ s/</&lt;/g; $value =~ s/>/&gt;/g;
    270268        $value = &text_into_html($value);
    271269        # escape [] so it isn't re-interpreted as metadata
     
    295293    $transfer_encoding=$1;
    296294    }
    297     if ($mimetype ne "text/plain") {
     295    if ($mimetype eq "text/html") {
     296    $$textref= $self->text_from_part("$Headers\n$$textref");
     297    } elsif ($mimetype ne "text/plain") {
    298298    $$textref= $self->text_from_mime_message($mimetype,$mimeinfo,$$textref,
    299299                         $outhandle);
    300300    } elsif ($transfer_encoding =~ /quoted\-printable/) {
    301301    $$textref=qp_decode($$textref);
     302    $self->convert2unicode($charset, $textref);
    302303    } elsif ($transfer_encoding =~ /base64/) {
    303304    $$textref=base64_decode($$textref);
     305    $self->convert2unicode($charset, $textref);
    304306    } else {
    305       $self->convert2unicode($charset, $textref);
     307    $self->convert2unicode($charset, $textref);
    306308    }
    307309   
     
    309311    # Add "All headers" metadata
    310312    $Headers = &text_into_html($Headers);
    311     $Headers =~ s/&([lg])t\;/&amp\;$1t\;/g;
    312313
    313314    $Headers = "No headers" unless ($Headers =~ /\w/);
     
    567568        # the RFC also mentions "parallel".
    568569    }
    569     } # end of multipart
     570    } # end of ($mimetype !~ multipart)
     571    else {
     572    # we don't do any processing of the content.
     573    }
     574
    570575    return $text;
    571576}
     
    637642    # keep in any newline characters.
    638643    foreach my $line (@lines) {
    639     if ($line =~ s/=\s*$//) {}
    640     else {$line.="\n";}
     644    if ($line !~ s/=\s*$//) {$line.="\n";}
    641645
    642646    if ($line =~ /=[0-9A-Fa-f]{2}/) { # it contains an escaped char
Note: See TracChangeset for help on using the changeset viewer.