--- loncom/interface/lonpreferences.pm 2004/07/09 21:05:14 1.46
+++ loncom/interface/lonpreferences.pm 2005/02/17 08:29:43 1.53
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Preferences
#
-# $Id: lonpreferences.pm,v 1.46 2004/07/09 21:05:14 raeburn Exp $
+# $Id: lonpreferences.pm,v 1.53 2005/02/17 08:29:43 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -177,6 +177,83 @@ $message
ENDVCSCREEN
}
+################################################################
+# Roles Page Preference Change Subroutines #
+################################################################
+sub rolesprefchanger {
+ my $r = shift;
+ my $user = $ENV{'user.name'};
+ my $domain = $ENV{'user.domain'};
+ my %userenv = &Apache::lonnet::get
+ ('environment',['recentroles','recentrolesn']);
+ my $hotlist_flag=$userenv{'recentroles'};
+ my $hotlist_n=$userenv{'recentrolesn'};
+ my $checked;
+ if ($hotlist_flag) {
+ $checked = 'checked="checked"';
+ }
+
+ if (!$hotlist_n) { $hotlist_n=3; }
+ my $options;
+ for (my $i=1; $i<10; $i++) {
+ my $select;
+ if ($hotlist_n == $i) { $select = 'selected="selected"'; }
+ $options .= "\n";
+ }
+
+ $r->print(<Some LON-CAPA users have a long list of roles. The Recent Roles Hotlist
+feature keeps track of the last N roles which have been
+visited and places a table of these at the top of the roles page.
+People with very few roles should leave this feature disabled.
+
+
+
+ENDSCREEN
+}
+
+sub verify_and_change_rolespref {
+ my $r = shift;
+ my $user = $ENV{'user.name'};
+ my $domain = $ENV{'user.domain'};
+# Recent Roles Hotlist Flag
+ my $hotlist_flag = $ENV{'form.recentroles'};
+ my $hotlist_n = $ENV{'form.recentrolesn'};
+ my $message='';
+ if ($hotlist_flag) {
+ &Apache::lonnet::put('environment',{'recentroles' => $hotlist_flag});
+ &Apache::lonnet::appenv('environment.recentroles' => $hotlist_flag);
+ $message='Recent Roles Hotlist is Enabled';
+ } else {
+ &Apache::lonnet::del('environment',['recentroles']);
+ &Apache::lonnet::delenv('environment\.recentroles');
+ $message='Recent Roles Hotlist is Disabled';
+ }
+ if ($hotlist_n) {
+ &Apache::lonnet::put('environment',{'recentrolesn' => $hotlist_n});
+ &Apache::lonnet::appenv('environment.recentrolesn' => $hotlist_n);
+ if ($hotlist_flag) {
+ $message.=" Display $hotlist_n Most Recent Roles\n";
+ }
+ }
+
+ $r->print(<
+$message
+ENDRPSCREEN
+}
+
+
################################################################
# Anonymous Discussion Name Change Subroutines #
@@ -490,7 +567,8 @@ sub passwordchanger {
$lkey_npass2= hex($lkey_npass2);
# Output javascript to deal with passwords
# Output DES javascript
- $r->print("");
+ my $html=&Apache::lonxml::xmlbegin();
+ $r->print($html."");
{
my $include = $r->dir_config('lonIncludes');
my $jsh=Apache::File->new($include."/londes.js");
@@ -504,22 +582,22 @@ sub passwordchanger {
lextkey=this.document.client.elements.lkey_cpass.value;
initkeys();
- this.document.server.elements.currentpass.value
+ this.document.pserver.elements.currentpass.value
=crypted(this.document.client.elements.currentpass.value);
uextkey=this.document.client.elements.ukey_npass1.value;
lextkey=this.document.client.elements.lkey_npass1.value;
initkeys();
- this.document.server.elements.newpass_1.value
+ this.document.pserver.elements.newpass_1.value
=crypted(this.document.client.elements.newpass_1.value);
uextkey=this.document.client.elements.ukey_npass2.value;
lextkey=this.document.client.elements.lkey_npass2.value;
initkeys();
- this.document.server.elements.newpass_2.value
+ this.document.pserver.elements.newpass_2.value
=crypted(this.document.client.elements.newpass_2.value);
- this.document.server.submit();
+ this.document.pserver.submit();
}
@@ -530,7 +608,7 @@ $errormessage
ensure that unencrypted passwords will not be sent out by a
crappy browser -->
-