Changeset 2918 for trunk/gsdl


Ignore:
Timestamp:
2002-01-24T15:28:47+13:00 (22 years ago)
Author:
jrm21
Message:

Add [Title] metadata so that the default format strings will show something
other than "Untitled". These titles currently have html tags in them, which
might possibly cause problems (eg this becomes the title for the browser
window).

File:
1 edited

Legend:

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

    r2886 r2918  
    4848#   $DateText     Date: header
    4949#   $Date         Date: header in GSDL format (eg: 19990924)
     50#
     51#   $Title    made up of Subject, Date and Sender (for default formatting)
    5052#
    5153#
     
    242244    $doc_obj->add_utf8_metadata ($cursection, "FromName", $fromnamemeta);
    243245
    244     # Escape < and > in the whole From field;
    245246    $raw{"From"}=$frommeta;
    246247
     
    319320    $doc_obj->add_utf8_metadata ($cursection, "Headers", $Headers);
    320321
     322
     323    # Add Title metadata
     324    my $Title = text_into_html($raw{'Subject'});
     325    $Title .= "<br>From: " . text_into_html($raw{'From'});
     326    $Title .= "<br>Date: " . text_into_html($raw{'DateText'});
     327
     328    $doc_obj->add_utf8_metadata ($cursection, "Title", $Title);
     329   
     330
    321331    # Add text to document object
    322332    if ($mimetype eq "text/plain") {
     
    355365#    $text =~ s/([\w\d\.\-]+@[\w\d\.\-]+)/<a href=\"mailto:$1\">$1<\/a>/g;
    356366
     367    # try to munge email addresses a little bit...
     368    $text =~ s/@/&#64;/;
    357369    # assume hostnames are \.\w\- only, then might have a trailing '/.*'
    358370    # assume URI doesn't finish with a '.'
     
    569581    }
    570582    } # end of ($mimetype !~ multipart)
    571     else {
     583    elsif ($mimetype =~ m@message/rfc822@) {
     584    my $msg_header = $text;
     585    $msg_header =~ s/\r?\n\r?\n(.*)$//s;
     586    $text = $1;
     587
     588    if ($msg_header =~ /^content\-type:\s*([\w\/\-]+)\s*\;?\s*(.+?)\s*$/mi)
     589    {
     590        $mimetype=$1;
     591        $mimetype =~ tr/[A-Z]/[a-z]/;
     592        $mimeinfo=$2;
     593        if ($mimeinfo =~ /charset=\"([^\"]+)\"/) {
     594        $charset = $1;
     595        }
     596        my $msg_text;
     597        if ($mimetype =~ m@multipart/@) {
     598        $msg_text = text_from_mime_message($self, $mimetype, $mimeinfo,
     599                           $text, $outhandle);
     600        } else {$msg_text=$text;}
     601
     602        my $brief_header="";
     603        if ($msg_header =~ /^(From:.*)$/im) {$brief_header.="$1<br>";}
     604        if ($msg_header =~ /^(To:.*)$/im) {$brief_header.="$1<br>";}
     605        if ($msg_header =~ /^(Cc:.*)$/im) {$brief_header.="$1<br>";}
     606        if ($msg_header =~ /^(Subject:.*)$/im) {$brief_header.="$1<br>";}
     607        if ($msg_header =~ /^(Date:.*)$/im) {$brief_header.="$1<br>";}
     608        $text= "\n<b>&lt;&lt;attached message&gt;&gt;</b><br>";
     609        $text.= "<table><tr><td width=\"5%\"> </td>\n";
     610        $text.="<td>" . $brief_header . "\n</p>" . $msg_text
     611        . "</td></tr></table>";
     612    }
     613    } else {
    572614    # we don't do any processing of the content.
    573615    }
Note: See TracChangeset for help on using the changeset viewer.