--- loncom/interface/lonpreferences.pm 2006/06/14 19:13:11 1.90
+++ loncom/interface/lonpreferences.pm 2006/06/22 23:22:41 1.91
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Preferences
#
-# $Id: lonpreferences.pm,v 1.90 2006/06/14 19:13:11 albertel Exp $
+# $Id: lonpreferences.pm,v 1.91 2006/06/22 23:22:41 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -304,6 +304,8 @@ sub rolesprefchanger {
if ($env{'environment.recentroles'}) {
my %recent_roles =
&Apache::lonhtmlcommon::get_recent('roles',$env{'environment.recentrolesn'});
+ my %frozen_roles =
+ &Apache::lonhtmlcommon::get_recent_frozen('roles',$env{'environment.recentrolesn'});
$roles_check_list .=
&Apache::loncommon::start_data_table().
@@ -316,7 +318,7 @@ sub rolesprefchanger {
foreach $role_key (sort(keys(%recent_roles))) {
my $checked = "";
my $value = $recent_roles{$role_key};
- if ($value eq 'role_frozen') {
+ if ($frozen_roles{$role_key}) {
$checked = "checked=\"checked\"";
}
# get course information
@@ -400,28 +402,29 @@ sub verify_and_change_rolespref {
my @freeze_list = &Apache::loncommon::get_env_multiple('form.freezeroles');
my %freeze = ();
foreach my $key (@freeze_list) {
- $freeze{$key}='role_frozen';
+ $freeze{$key}='1';
}
my %recent_roles =
&Apache::lonhtmlcommon::get_recent('roles',$env{'environment.recentrolesn'});
+ my %frozen_roles =
+ &Apache::lonhtmlcommon::get_recent_frozen('roles',$env{'environment.recentrolesn'});
# Unset any roles that were previously frozen but aren't in list
foreach my $role_key (sort(keys(%recent_roles))) {
- if (($recent_roles{$role_key} eq 'role_frozen') &&
- (!exists($freeze{$role_key}))) {
+ if (($frozen_roles{$role_key}) && (!exists($freeze{$role_key}))) {
$message .= "
".&mt('Unfreezing Role: [_1]',$role_key)."\n";
- &Apache::lonhtmlcommon::store_recent('roles',$role_key,' ');
+ &Apache::lonhtmlcommon::store_recent('roles',$role_key,' ',0);
}
}
# Freeze selected roles
foreach my $role_key (@freeze_list) {
- $message .= "
".&mt('Freezing Role: [_1]',$role_key)."\n";
- if ($recent_roles{$role_key} ne 'role_frozen') {
+ if (!$frozen_roles{$role_key}) {
+ $message .= "
".&mt('Freezing Role: [_1]',$role_key)."\n";
&Apache::lonhtmlcommon::store_recent('roles',
- $role_key,'role_frozen');
+ $role_key,' ',1);
}
}
$message .= "