--- loncom/interface/lonmenu.pm 2006/07/14 19:49:46 1.196 +++ loncom/interface/lonmenu.pm 2006/08/14 09:11:55 1.203 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines to control the menu # -# $Id: lonmenu.pm,v 1.196 2006/07/14 19:49:46 www Exp $ +# $Id: lonmenu.pm,v 1.203 2006/08/14 09:11:55 foxr Exp $ # # Copyright Michigan State University Board of Trustees # @@ -52,6 +52,8 @@ use vars qw(@desklines $readdesk); my @inlineremote; + + # ================================================================ Little texts sub initlittle { @@ -62,10 +64,10 @@ sub initlittle { 'Roles':'Courses'), 'docs' => 'Course Documents', 'exit' => 'Exit', + 'login' => 'Log In', 'launch' => 'Launch Remote Control', 'groups' => 'Groups', 'gdoc' => 'Group Documents', - 'teams' => 'Teams', ); } @@ -91,6 +93,10 @@ sub menubuttons { my $escurl=&escape(&Apache::lonenc::check_encrypt($env{'request.noversionuri'})); my $escsymb=&escape(&Apache::lonenc::check_encrypt($env{'request.symb'})); + my $logo=&Apache::loncommon::lonhttpdurl("/adm/lonIcons/minilogo.gif"); + $logo = '<td class="LC_top_nav_logo"><a href="/adm/about.html"><img src="'. + $logo.'" alt="LON-CAPA Logo" /></a></td>'; + if ($env{'request.state'} eq 'construct') { if (($env{'request.noversionuri'} eq '') || (!defined($env{'request.noversionuri'}))) { my $returnurl = $env{'request.filename'}; @@ -101,7 +107,7 @@ sub menubuttons { if ($env{'request.course.id'}) { my %coursegroups; my $viewgrps_permission = - &Apache::lonnet::allowed('vcg',$env{'request.course.id'}); + &Apache::lonnet::allowed('vcg',$env{'request.course.id'}.($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:'')); if (!$viewgrps_permission) { %coursegroups = &Apache::lonnet::get_active_groups($env{'user.domain'},$env{'user.name'},$env{'course.'.$env{'request.course.id'}.'.domain'}, $env{'course.'.$env{'request.course.id'}.'.num'}); } @@ -129,11 +135,11 @@ ENDRELOAD <a href="/adm/coursedocs" target="_top">$lt{'docs'}</a> ENDDOCS } -# if ($showgroups) { -# $groups =(<<ENDGROUPS); -#<a href="/adm/coursegroups" target="_top">$lt{'groups'}</a> -#ENDGROUPS -# } + if ($showgroups) { + $groups =(<<ENDGROUPS); +<a href="/adm/coursegroups" target="_top">$lt{'groups'}</a> +ENDGROUPS + } } my $form=&serverform(); my $utility=&utilityfunctions(); @@ -168,14 +174,14 @@ ENDMAINMENU my $vlink=&Apache::loncommon::designparm($function.'.vlink',$domain); my $sidebg=&Apache::loncommon::designparm($function.'.sidebg',$domain); if ($env{'user.name'} eq 'public' && $env{'user.domain'} eq 'public') { - my $logo=&Apache::loncommon::lonhttpdurl("/adm/lonIcons/minilogo.gif"); return (<<ENDINLINEMENU); <table id="LC_top_nav"> <tr> - <td> - <a href="/adm/logout" target="_top">$lt{'exit'}</a> + $logo + <td></td> + <td class="LC_top_nav_login"> + <a href="/adm/roles" target="_top">$lt{'login'}</a> </td> - <td class="LC_top_nav_logo">LON-CAPA<img src="$logo" alt="Logo" /></td> </tr> </table> </font> @@ -198,12 +204,11 @@ my $is_group = (&Apache::loncommon::cour <td><a href="/adm/coursedocs" target="_top">$text</a></td> ENDDOCS } -# if ($showgroups) { -# my $text = ($is_group) ? $lt{'teams'} : $lt{'groups'}; -# $groups =(<<ENDGROUPS); -#<td><a href="/adm/coursegroups" target="_top">$text</a></td> -#ENDGROUPS -# } + if ($showgroups) { + $groups =(<<ENDGROUPS); +<td><a href="/adm/coursegroups" target="_top">$lt{'groups'}</a></td> +ENDGROUPS + } if ( ($env{'request.noversionuri'}=~m[^/(res|public)/] && $env{'request.symb'} eq '') @@ -232,18 +237,12 @@ ENDCRELOAD } my $form=&serverform(); my $utility=&utilityfunctions(); - my $logo=&Apache::loncommon::lonhttpdurl("/adm/lonIcons/minilogo.gif"); my $remote; if ($env{'user.adv'}) { $remote = '<td><a href="/adm/remote?action=launch&url='.$escurl.'" target="_top">'.$lt{'launch'}.'</a></td>' } - my $helptopic='Student_Intro'; - if ($env{'request.role'}=~/^(ca|au)/) { - $helptopic='Authoring_Intro'; - } elsif ($env{'request.role'}=~/^cc/) { - $helptopic='Course_Coordination_Intro'; - } - my $helplink=&Apache::loncommon::help_open_topic($helptopic,'Help'); + + my $helplink=&Apache::loncommon::top_nav_help('Help'); return (<<ENDINLINEMENU); <script type="text/javascript"> // BEGIN LON-CAPA Internal @@ -253,8 +252,7 @@ $utility </script> <table id="LC_top_nav"> <tr> -<td class="LC_top_nav_logo"> -<a href="/adm/about.html"><img src="$logo" alt="LON-CAPA Logo" align="left" border="0" /></a></td> +$logo <td><a href="/adm/menu" target="_top">$lt{'main'}</a></td> $reloadlink $navmaps @@ -262,8 +260,8 @@ $docs $groups $remote <td><a href="/adm/roles" target="_top">$lt{'roles'}</a></td> -<td>$helplink</td> -<td class="LC_top_logout"><a href="/adm/logout" target="_top">$lt{'exit'}</a></td> +<td class="LC_top_nav_help">$helplink</td> +<td class="LC_top_nav_exit"><a href="/adm/logout" target="_top">$lt{'exit'}</a></td> </tr> </table> $form @@ -466,16 +464,17 @@ sub innerregister { $is_const_dir = 1; } else { $currdir =~ s#[^/]+$##; + my $cleandisfn = &Apache::loncommon::escape_single($thisdisfn); $menuitems=(<<ENDMENUITEMS); s&6&1&list.gif&list[_1]&dir[_1]&golist('$currdir')&List current directory -s&6&2&rtrv.gif&retrieve[_1]&version[_1]&gocstr('/adm/retrieve','/~$uname/$thisdisfn')&Retrieve old version -s&6&3&pub.gif&publish[_1]&resource[_1]&gocstr('/adm/publish','/~$uname/$thisdisfn')&Publish this resource -s&7&1&del.gif&delete[_1]&resource[_2]&gocstr('/adm/cfile?action=delete','/~$uname/$thisdisfn')&Delete this resource -s&7&2&prt.gif&prepare[_1]&printout[_1]&gocstr('/adm/printout','/~$uname/$thisdisfn')&Prepare a printable document +s&6&2&rtrv.gif&retrieve[_1]&version[_1]&gocstr('/adm/retrieve','/~$uname/$cleandisfn')&Retrieve old version +s&6&3&pub.gif&publish[_1]&resource[_1]&gocstr('/adm/publish','/~$uname/$cleandisfn')&Publish this resource +s&7&1&del.gif&delete[_1]&resource[_2]&gocstr('/adm/cfile?action=delete','/~$uname/$cleandisfn')&Delete this resource +s&7&2&prt.gif&prepare[_1]&printout[_1]&gocstr('/adm/printout','/~$uname/$cleandisfn')&Prepare a printable document ENDMENUITEMS } - } elsif (defined($env{'request.course.id'}) && - $env{'request.symb'} ne '') { + } elsif ( defined($env{'request.course.id'}) && + $env{'request.symb'} ne '' ) { $menuitems=(<<ENDMENUITEMS); c&3&1 s&2&1&back.gif&backward[_1]&&gopost('/adm/flip','back:'+currentURL)&Go to the previous resource in the course sequence&1 @@ -495,6 +494,12 @@ s&8&2&fdbk.gif&feedback[_1]&discuss[_1]& ENDREALRES } } + if ($env{'request.uri'} =~ /^\/res/) { + $menuitems .= (<<ENDMENUITEMS); +s&8&3&prt.gif&prepare[_1]&printout[_1]&gopost('/adm/printout',currentURL)&Prepare a printable document +ENDMENUITEMS + } + &Apache::lonnet::logthis("Menu items:\n$menuitems\n"); my $buttons=''; foreach (split(/\n/,$menuitems)) { my ($command,@rest)=split(/\&/,$_); @@ -504,6 +509,7 @@ ENDREALRES $buttons.=&clear(@rest); } } + &Apache::lonnet::logthis("buttons = $buttons"); if ($textual) { my $addremote=0; @@ -525,6 +531,7 @@ ENDREALRES ENDINLINE } } + &Apache::lonnet::logthis("Inline:\n $inlinebuttons \n"); $result =(<<ENDREGTEXT); <script type="text/javascript"> // BEGIN LON-CAPA Internal