--- loncom/interface/lonmenu.pm 2009/08/23 13:22:16 1.244.2.7 +++ loncom/interface/lonmenu.pm 2010/01/18 20:59:58 1.244.2.10 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines to control the menu # -# $Id: lonmenu.pm,v 1.244.2.7 2009/08/23 13:22:16 raeburn Exp $ +# $Id: lonmenu.pm,v 1.244.2.10 2010/01/18 20:59:58 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -144,6 +144,7 @@ use Apache::loncommon(); use Apache::lonenc(); use Apache::lonlocal; use LONCAPA qw(:DEFAULT :match); +use HTML::Entities(); use vars qw(@desklines %category_names %category_members %category_positions $readdesk); @@ -178,7 +179,7 @@ sub initlittle { 'login' => 'Log In', 'launch' => 'Launch Remote Control', 'groups' => 'Groups', - 'gdoc' => 'Group Documents', + 'gdoc' => 'Community Documents', ); } @@ -246,9 +247,12 @@ ENDNAV $lt{'ret'} ENDRELOAD } - if (&Apache::lonnet::allowed('mdc',$env{'request.course.id'})) { - $docs=(<$lt{'docs'} + my $is_community = + (&Apache::loncommon::course_type() eq 'Community'); + if (&Apache::lonnet::allowed('mdc',$env{'request.course.id'})) { + my $text = ($is_community) ? $lt{'gdoc'} : $lt{'docs'}; + $docs=(<$text ENDDOCS } if ($showgroups) { @@ -313,9 +317,10 @@ ENDINLINEMENU $navmaps=(<$lt{'nav'} ENDNAV - my $is_group = (&Apache::loncommon::course_type() eq 'Group'); + my $is_community = + (&Apache::loncommon::course_type() eq 'Community'); if (&Apache::lonnet::allowed('mdc',$env{'request.course.id'})) { - my $text = ($is_group) ? $lt{'gdoc'} : $lt{'docs'}; + my $text = ($is_community) ? $lt{'gdoc'} : $lt{'docs'}; $docs=(<$text ENDDOCS @@ -1424,6 +1429,11 @@ sub utilityfunctions { unless (($env{'browser.interface'} eq 'textual') || ($env{'environment.remote'} eq 'off') || ($caller eq '/adm/menu')) { return ''; } my $currenturl=&Apache::lonnet::clutter(&Apache::lonnet::fixversion((split(/\?/,$env{'request.noversionuri'}))[0])); + if ($currenturl =~ m{^/adm/wrapper/ext/}) { + if ($env{'request.external.querystring'}) { + $currenturl .= ($currenturl=~/\?/)?'&':'?'.$env{'request.external.querystring'}; + } + } $currenturl=&Apache::lonenc::check_encrypt(&unescape($currenturl)); my $currentsymb=&Apache::lonenc::check_encrypt($env{'request.symb'}); @@ -1662,13 +1672,18 @@ sub hidden_button_check { sub roles_selector { my ($cdom,$cnum) = @_; + my $crstype = &Apache::loncommon::course_type(); my $now = time; my (%courseroles,%seccount); my $is_cc; my $role_selector; - if ($env{'user.role.cc./'.$cdom.'/'.$cnum}) { - my ($start,$end) = split(/\./,$env{'user.role.cc./'.$cdom.'/'.$cnum}); - + if ($crstype eq 'Community') { + $ccrole = 'co'; + } else { + $ccrole = 'cc'; + } + if ($env{'user.role.'.$ccrole.'./'.$cdom.'/'.$cnum}) { + my ($start,$end) = split(/\./,$env{'user.role.'.$ccrole.'./'.$cdom.'/'.$cnum}); if ((($start) && ($start<0)) || (($end) && ($end<$now)) || (($start) && ($now<$start))) { @@ -1711,15 +1726,22 @@ sub roles_selector { } } } - my @roles_order = ('cc','in','ta','ep','ad','st'); + my $switchtext; + if ($crstype eq 'Community') { + $switchtext = &mt('Switch community role to...') + } else { + $switchtext = &mt('Switch course role to...') + } + + my @roles_order = ($ccrole,'in','ta','ep','ad','st'); if (keys(%courseroles) > 1) { $role_selector = &jump_to_role($cdom,$cnum,\%seccount,\%courseroles); $role_selector .= '
'."\n". ''."\n". + &HTML::Entities::encode($ENV{'REQUEST_URI'},'"<>&').'" />'."\n". ''."\n". ''."\n". ''."\n".