[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
}
################################################################