[LON-CAPA-cvs] cvs: loncom /interface lonmsg.pm

www lon-capa-cvs@mail.lon-capa.org
Sat, 07 Sep 2002 13:57:26 -0000


www		Sat Sep  7 09:57:26 2002 EDT

  Modified files:              
    /loncom/interface	lonmsg.pm 
  Log:
  Bug 707
  Renamed old sending function xxx_raw, and made same-name new functions that
  look at user's environment "msgforward".
  
  
Index: loncom/interface/lonmsg.pm
diff -u loncom/interface/lonmsg.pm:1.37 loncom/interface/lonmsg.pm:1.38
--- loncom/interface/lonmsg.pm:1.37	Wed Aug 28 10:11:27 2002
+++ loncom/interface/lonmsg.pm	Sat Sep  7 09:57:26 2002
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Routines for messaging
 #
-# $Id: lonmsg.pm,v 1.37 2002/08/28 14:11:27 www Exp $
+# $Id: lonmsg.pm,v 1.38 2002/09/07 13:57:26 www Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -141,7 +141,7 @@
 
 # ================================================== Critical message to a user
 
-sub user_crit_msg {
+sub user_crit_msg_raw {
     my ($user,$domain,$subject,$message,$sendback)=@_;
 # Check if allowed missing
     my $status='';
@@ -168,6 +168,27 @@
     return $status;
 }
 
+# New routine that respects "forward" and calls old routine
+
+sub user_crit_msg {
+    my ($user,$domain,$subject,$message,$sendback)=@_;
+    my $status='';
+    my %userenv = &Apache::lonnet::get('environment',['msgforward'],
+                                       $domain,$user);
+    my $msgforward=$userenv{'msgforward'};
+    if ($msgforward) {
+       foreach (split(/\,/,$msgforward)) {
+	 my ($forwuser,$forwdomain)=split(/\:/,$_);
+         $status.=
+	   &user_crit_msg_raw($forwuser,$forwdomain,$subject,$message,
+                $sendback).' ';
+       }
+    } else { 
+	$status=&user_crit_msg_raw($user,$domain,$subject,$message,$sendback);
+    }
+    return $status;
+}
+
 # =================================================== Critical message received
 
 sub user_crit_received {
@@ -195,7 +216,7 @@
 
 # ======================================================== Normal communication
 
-sub user_normal_msg {
+sub user_normal_msg_raw {
     my ($user,$domain,$subject,$message,$citation)=@_;
 # Check if allowed missing
     my $status='';
@@ -216,6 +237,29 @@
       'Sending '.$msgid.' to '.$user.' at '.$domain.' with status: '.$status);
     return $status;
 }
+
+# New routine that respects "forward" and calls old routine
+
+sub user_normal_msg {
+    my ($user,$domain,$subject,$message,$citation)=@_;
+    my $status='';
+    my %userenv = &Apache::lonnet::get('environment',['msgforward'],
+                                       $domain,$user);
+    my $msgforward=$userenv{'msgforward'};
+    if ($msgforward) {
+       foreach (split(/\,/,$msgforward)) {
+	 my ($forwuser,$forwdomain)=split(/\:/,$_);
+         $status.=
+	  &user_normal_msg_raw($forwuser,$forwdomain,$subject,$message,
+                                                             $citation).' ';
+       }
+    } else { 
+	$status=
+          &user_normal_msg_raw($user,$domain,$subject,$message,$citation);
+    }
+    return $status;
+}
+
 
 # =============================================================== Status Change