--- 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 .= "

\n";