--- loncom/interface/lonpreferences.pm 2006/06/14 19:13:11 1.90 +++ loncom/interface/lonpreferences.pm 2007/05/13 22:04:06 1.104 @@ -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.104 2007/05/13 22:04:06 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -42,6 +42,7 @@ use Apache::loncommon(); use Apache::lonhtmlcommon(); use Apache::lonlocal; use Apache::lonnet; +use LONCAPA(); # # Write lonnet::passwd to do the call below. @@ -279,6 +280,8 @@ ENDVCSCREEN ################################################################ sub rolesprefchanger { my $r = shift; + my $role = ($env{'user.adv'} ? 'Role' : 'Course'); + my $lc_role = ($env{'user.adv'} ? 'role' : 'course'); my $user = $env{'user.name'}; my $domain = $env{'user.domain'}; my %userenv = &Apache::lonnet::get @@ -304,40 +307,26 @@ 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'}); + my %role_text = &rolespref_get_role_text([keys(%recent_roles)]); + my @sorted_roles = sort {$role_text{$a} cmp $role_text{$b}} keys(%role_text); + $roles_check_list .= &Apache::loncommon::start_data_table(). &Apache::loncommon::start_data_table_header_row(). - "".&mt('Freeze Role')."". - "".&mt('Role')."". + "".&mt('Freeze '.$role)."". + "".&mt($role)."". &Apache::loncommon::end_data_table_header_row(). "\n"; my $count; - foreach $role_key (sort(keys(%recent_roles))) { + foreach $role_key (@sorted_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 - my ($role,$rest) = split(/\./, $role_key); - my $trole = &Apache::lonnet::plaintext($role); - my ($tdomain,$other,$tsection)= - split(/\//,Apache::lonnet::declutter($rest)); - my $tother = '-'; - if ($role =~ /cc|st|in|ta/ ) { - my %newhash=&Apache::lonnet::coursedescription($tdomain."_".$other); - $tother = " - ".$newhash{'description'}; - } elsif ($role =~ /dc/) { - $tother = ""; - } else { - $tother = " - $other"; - } - - my $section=""; - if ($tsection) { - $section = " - Section/Group: $tsection"; - } $count++; $roles_check_list .= &Apache::loncommon::start_data_table_row(). @@ -345,24 +334,24 @@ sub rolesprefchanger { "". "". + "$role_text{$role_key}". &Apache::loncommon::end_data_table_row(). "\n"; } $roles_check_list .= "\n"; } $r->print(' -

'.&mt('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.').' +

'.&mt('Some LON-CAPA users have a long list of '.$lc_role.'s. The Recent '.$role.'s Hotlist feature keeps track of the last N '.$lc_role.'s which have been visited and places a table of these at the top of the '.$lc_role.'s page. People with very few '.$lc_role.'s should leave this feature disabled.').'

-