--- loncom/interface/lonmsg.pm 2008/09/13 02:37:26 1.213
+++ loncom/interface/lonmsg.pm 2008/12/23 19:27:33 1.214.2.3
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Routines for messaging
#
-# $Id: lonmsg.pm,v 1.213 2008/09/13 02:37:26 raeburn Exp $
+# $Id: lonmsg.pm,v 1.214.2.3 2008/12/23 19:27:33 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -83,10 +83,10 @@ sub packagemsg {
$citation=&HTML::Entities::encode($citation,'<>&"');
$subject =&HTML::Entities::encode($subject,'<>&"');
#remove machine specification
- $baseurl =~ s|^http://[^/]+/|/|;
+ $baseurl =~ s|^https?\://[^/]+/|/|;
$baseurl =&HTML::Entities::encode($baseurl,'<>&"');
#remove machine specification
- $attachmenturl =~ s|^http://[^/]+/|/|;
+ $attachmenturl =~ s|^https\://[^/]+/|/|;
$attachmenturl =&HTML::Entities::encode($attachmenturl,'<>&"');
my $course_context = &get_course_context();
my $now=time;
@@ -120,6 +120,9 @@ sub packagemsg {
''.$env{'request.role'}.''.
''.$env{'request.filename'}.''.
''.$msgid.'';
+ if (defined($env{'form.group'})) {
+ $result .= ''.$env{'form.group'}.'';
+ }
if (ref($recuser) eq 'ARRAY') {
for (my $i=0; $i<@{$recuser}; $i++) {
if ($type eq 'dcmail') {
@@ -313,9 +316,11 @@ sub sendnotification {
$text=~s/\<\;/\/gs;
- my $url='http://'.
- &Apache::lonnet::hostname(&Apache::lonnet::homeserver($touname,$toudom)).
- '/adm/email?username='.$touname.'&domain='.$toudom;
+ my $homeserver = &Apache::lonnet::homeserver($touname,$toudom);
+ my $protocol = $Apache::lonnet::protocol{$homeserver};
+ $protocol = 'http' if ($protocol ne 'https');
+ my $url = $protocol.'://'.&Apache::lonnet::hostname($homeserver).
+ '/adm/email?username='.$touname.'&domain='.$toudom;
my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$fromcid,
$symb,$error) = &Apache::lonmsg::unpackmsgid($msgid);
my ($coursetext,$body,$bodybegin,$bodysubj,$bodyend);
@@ -688,8 +693,10 @@ sub user_normal_msg_raw {
$text,$msgid);
}
if ($toperm && $userenv{'permanentemail'}) {
- &sendnotification($userenv{'permanentemail'},$user,$domain,$subject,0,
- $text,$msgid);
+ if ((!$userenv{'notification'}) || ($userenv{'notification'} ne $userenv{'permanentemail'})) {
+ &sendnotification($userenv{'permanentemail'},$user,$domain,$subject,0,
+ $text,$msgid);
+ }
}
&Apache::lonnet::log($env{'user.domain'},$env{'user.name'},
$env{'user.home'},
@@ -748,7 +755,7 @@ sub user_normal_msg {
}
sub process_sent_mail {
- my ($msgsubj,$subj_prefix,$numsent,$stamp,$msgname,$msgdom,$msgcount,$context,$pid,$savemsg,$recusers,$recudoms,$baseurl,$attachmenturl,$symb,$error,$senderuname,$senderdom) = @_;
+ my ($msgsubj,$subj_prefix,$numsent,$stamp,$msgname,$msgdom,$msgcount,$context,$pid,$savemsg,$recusers,$recudoms,$baseurl,$attachmenturl,$symb,$error,$senderuname,$senderdom,$recipid) = @_;
my $sentsubj;
if ($numsent > 1) {
$sentsubj = $subj_prefix.' ('.$numsent.' sent) '.$msgsubj;
@@ -763,7 +770,7 @@ sub process_sent_mail {
&buildmsgid($stamp,$sentsubj,$msgname,$msgdom,$msgcount,$context,$pid);
(undef,my $sentmessage) =
&packagemsg($msgsubj,$savemsg,undef,$baseurl,$attachmenturl,$recusers,
- $recudoms,$sentmsgid,undef,undef,$symb,$error);
+ $recudoms,$sentmsgid,undef,undef,$symb,$error,$recipid);
my $status = &store_sent_mail($sentmsgid,$sentmessage,$senderuname,
$senderdom);
return $status;
@@ -931,7 +938,7 @@ sub user_lang {
@userlangs=(@userlangs,split(/\s*(\,|\;|\:)\s*/,
$env{'course.'.$fromcid.'.languages'}));
} else {
- my %langhash = &Apache::lonnet::get('environment',['languages'],$toudom,$touname);
+ my %langhash = &Apache::loncommon::getlangs($toudom,$touname);
if ($langhash{'languages'} ne '') {
@userlangs = split(/\s*(\,|\;|\:)\s*/,$langhash{'languages'});
} else {
@@ -941,7 +948,7 @@ sub user_lang {
}
}
}
- my @languages=&Apache::loncommon::get_genlanguages(@userlangs);
+ my @languages=&Apache::lonlocal::get_genlanguages(@userlangs);
my $user_lh = Apache::localize->get_handle(@languages);
return $user_lh;
}