--- loncom/interface/lonmsg.pm 2003/03/30 21:58:17 1.51 +++ loncom/interface/lonmsg.pm 2003/03/31 16:34:08 1.52 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines for messaging # -# $Id: lonmsg.pm,v 1.51 2003/03/30 21:58:17 www Exp $ +# $Id: lonmsg.pm,v 1.52 2003/03/31 16:34:08 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -65,7 +65,7 @@ sub packagemsg { $baseurl =&HTML::Entities::encode($baseurl); #remove machine specification $attachmenturl =~ s|^http://[^/]+/|/|; - $attachmenturl =&HTML::Entities::encode($baseurl); + $attachmenturl =&HTML::Entities::encode($attachmenturl); my $now=time; $msgcount++; @@ -98,7 +98,7 @@ sub packagemsg { $result.= ''.$baseurl.''; } if (defined($attachmenturl)) { - $result.= ''.$baseurl.''; + $result.= ''.$attachmenturl.''; } return $msgid,$result; } @@ -106,7 +106,7 @@ sub packagemsg { # ================================================== Unpack message into a hash sub unpackagemsg { - my $message=shift; + my ($message,$notoken)=@_; my %content=(); my $parser=HTML::TokeParser->new(\$message); my $token; @@ -117,6 +117,16 @@ sub unpackagemsg { $content{$entry}=$value; } } + if ($content{'attachmenturl'}) { + my ($fname,$ft)=($content{'attachmenturl'}=~/\/(\w+)\.(\w+)$/); + if ($notoken) { + $content{'message'}.='

Attachment: '.$fname.'.'.$ft.''; + } else { + $content{'message'}.='

Attachment: '.$fname.'.'.$ft.''; + } + } return %content; } @@ -225,7 +235,7 @@ sub user_crit_msg { sub user_crit_received { my $msgid=shift; my %message=&Apache::lonnet::get('critical',[$msgid]); - my %contents=&unpackagemsg($message{$msgid}); + my %contents=&unpackagemsg($message{$msgid},1); my $status='rec: '.($contents{'sendback'}? &user_normal_msg($contents{'sendername'},$contents{'senderdomain'}, 'Receipt: '.$ENV{'user.name'}.' at '.$ENV{'user.domain'}, @@ -276,7 +286,7 @@ sub user_normal_msg_raw { # New routine that respects "forward" and calls old routine sub user_normal_msg { - my ($user,$domain,$subject,$message,$citation,$baseurl)=@_; + my ($user,$domain,$subject,$message,$citation,$baseurl,$attachmenturl)=@_; my $status=''; my %userenv = &Apache::lonnet::get('environment',['msgforward'], $domain,$user); @@ -286,11 +296,11 @@ sub user_normal_msg { my ($forwuser,$forwdomain)=split(/\:/,$_); $status.= &user_normal_msg_raw($forwuser,$forwdomain,$subject,$message, - $citation,$baseurl).' '; + $citation,$baseurl,$attachmenturl).' '; } } else { $status=&user_normal_msg_raw($user,$domain,$subject,$message, - $citation,$baseurl); + $citation,$baseurl,$attachmenturl); } return $status; } @@ -421,7 +431,7 @@ $content{'sendername'}.'@'. sub comprep { my ($r,$msgid)=@_; my %message=&Apache::lonnet::get('nohist_email',[$msgid]); - my %content=&unpackagemsg($message{$msgid}); + my %content=&unpackagemsg($message{$msgid},1); my $quotemsg='> '.$content{'message'}; $quotemsg=~s/\r/\n/g; $quotemsg=~s/\f/\n/g; @@ -770,7 +780,7 @@ $content{'sendername'},$content{'senderd } elsif ($ENV{'form.sendreply'}) { my $msgid=$ENV{'form.sendreply'}; my %message=&Apache::lonnet::get('nohist_email',[$msgid]); - my %content=&unpackagemsg($message{$msgid}); + my %content=&unpackagemsg($message{$msgid},1); &statuschange($msgid,'replied'); if ((($ENV{'form.critmsg'}) || ($ENV{'form.sendbck'})) && (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'}))) { @@ -836,7 +846,7 @@ $content{'sendername'},$content{'senderd if ($ENV{'form.forwid'}) { my $msgid=$ENV{'form.forwid'}; my %message=&Apache::lonnet::get('nohist_email',[$msgid]); - %content=&unpackagemsg($message{$msgid}); + %content=&unpackagemsg($message{$msgid},1); &statuschange($msgid,'forwarded'); $ENV{'form.message'}.="\n\n-- Forwarded message --\n\n". $content{'message'};