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

www lon-capa-cvs@mail.lon-capa.org
Sat, 19 Apr 2003 01:42:34 -0000


www		Fri Apr 18 21:42:34 2003 EDT

  Modified files:              
    /loncom/interface	lonpreferences.pm 
  Log:
  Oops, had trashed other settings routine.
  
  
Index: loncom/interface/lonpreferences.pm
diff -u loncom/interface/lonpreferences.pm:1.19 loncom/interface/lonpreferences.pm:1.20
--- loncom/interface/lonpreferences.pm:1.19	Fri Apr 18 21:34:22 2003
+++ loncom/interface/lonpreferences.pm	Fri Apr 18 21:42:34 2003
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Preferences
 #
-# $Id: lonpreferences.pm,v 1.19 2003/04/19 01:34:22 www Exp $
+# $Id: lonpreferences.pm,v 1.20 2003/04/19 01:42:34 www Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -169,6 +169,100 @@
 $message
 </body></html>
 ENDVCSCREEN
+}
+
+################################################################
+#         Message Forward                                      #
+################################################################
+
+sub msgforwardchanger {
+    my $r = shift;
+    my $user       = $ENV{'user.name'};
+    my $domain     = $ENV{'user.domain'};
+    my %userenv = &Apache::lonnet::get('environment',['msgforward']);
+    my $msgforward=$userenv{'msgforward'};
+    my $notification=$userenv{'notification'};
+    my $critnotification=$userenv{'critnotification'};
+    my $bodytag=&Apache::loncommon::bodytag(
+                    'Change Your Message Forwarding and Notification');
+    $r->print(<<ENDMSG);
+<html>
+$bodytag
+
+<form name="server" action="/adm/preferences" method="post">
+<input type="hidden" name="action" value="verify_and_change_msgforward" />
+New Forwarding Address(es) (<tt>user:domain,user:domain,...</tt>):
+<input type="text" size="40" value="$msgforward" name="msgforward" /><hr />
+New Message Notification Email Address(es) (<tt>joe\@doe.com,jane\@doe.edu,...</tt>):
+<input type="text" size="40" value="$notification" name="notification" /><hr />
+New Critical Message Notification Email Address(es) (<tt>joe\@doe.com,jane\@doe.edu,...</tt>):
+<input type="text" size="40" value="$critnotification" name="critnotification" /><hr />
+<input type="submit" value="Change" />
+</form>
+</body>
+</html>
+ENDMSG
+}
+
+sub verify_and_change_msgforward {
+    my $r = shift;
+    my $user       = $ENV{'user.name'};
+    my $domain     = $ENV{'user.domain'};
+    my $newscreen  = '';
+    my $message='';
+    foreach (split(/\,/,$ENV{'form.msgforward'})) {
+	my ($msuser,$msdomain)=split(/[\@\:]/,$_);
+        $msuser=~s/\W//g;
+        $msdomain=~s/\W//g;
+        if (($msuser) && ($msdomain)) {
+	    if (&Apache::lonnet::homeserver($msuser,$msdomain) ne 'no_host') {
+               $newscreen.=$msuser.':'.$msdomain.',';
+	   } else {
+               $message.='No such user: '.$msuser.':'.$msdomain.'<br>';
+           }
+        }
+    }
+    $newscreen=~s/\,$//;
+    if ($newscreen) {
+        &Apache::lonnet::put('environment',{'msgforward' => $newscreen});
+        &Apache::lonnet::appenv('environment.msgforward' => $newscreen);
+        $message.='Set new message forwarding to '.$newscreen.'<br />';
+    } else {
+        &Apache::lonnet::del('environment',['msgforward']);
+        &Apache::lonnet::delenv('environment\.msgforward');
+        $message.='Reset message forwarding<br />';
+    }
+    my $notification=$ENV{'form.notification'};
+    $notification=~s/\s//gs;
+    if ($notification) {
+        &Apache::lonnet::put('environment',{'notification' => $notification});
+        &Apache::lonnet::appenv('environment.notification' => $notification);
+        $message.='Set message notification address to '.$notification.'<br />';
+    } else {
+        &Apache::lonnet::del('environment',['notification']);
+        &Apache::lonnet::delenv('environment\.notification');
+        $message.='Reset message notification<br />';
+    }
+    my $critnotification=$ENV{'form.critnotification'};
+    $critnotification=~s/\s//gs;
+    if ($critnotification) {
+        &Apache::lonnet::put('environment',{'critnotification' => $critnotification});
+        &Apache::lonnet::appenv('environment.critnotification' => $critnotification);
+        $message.='Set critical message notification address to '.$critnotification;
+    } else {
+        &Apache::lonnet::del('environment',['critnotification']);
+        &Apache::lonnet::delenv('environment\.critnotification');
+        $message.='Reset critical message notification<br />';
+    }
+    my $bodytag=&Apache::loncommon::bodytag(
+                           'Change Your Message Forwarding and Notifications');
+    $r->print(<<ENDVCMSG);
+<html>
+$bodytag
+</p>
+$message
+</body></html>
+ENDVCMSG
 }
 
 ################################################################