--- loncom/interface/lonmenu.pm	2006/07/01 00:39:54	1.191
+++ loncom/interface/lonmenu.pm	2006/09/05 17:35:10	1.205
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Routines to control the menu
 #
-# $Id: lonmenu.pm,v 1.191 2006/07/01 00:39:54 www Exp $
+# $Id: lonmenu.pm,v 1.205 2006/09/05 17:35:10 albertel 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'});
 	}
@@ -118,7 +124,7 @@ sub menubuttons {
 ENDNAV
             if (($env{'request.noversionuri'}=~/^\/adm\//) &&
          ($env{'request.noversionuri'}!~/^\/adm\/wrapper\//) &&
-         ($env{'request.noversionuri'}!~/^\/adm\/.*\/(smppg|grppg|bulletinboard|aboutme)(\?|$)/)) {
+         ($env{'request.noversionuri'}!~/^\/adm\/.*\/(smppg|bulletinboard|aboutme)(\?|$)/)) {
                 my $escreload=&escape('return:');
                 $reloadlink=(<<ENDRELOAD);
 <a href="/adm/flip?postdata=$escreload" target="_top">$lt{'ret'}</a>
@@ -131,7 +137,7 @@ ENDDOCS
             }
             if ($showgroups) {
                 $groups =(<<ENDGROUPS);
-<a href="/adm/coursegroups" target="_top">$lt{'groups'}</a></td>
+<a href="/adm/coursegroups" target="_top">$lt{'groups'}</a>
 ENDGROUPS
             }
 	}
@@ -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>
@@ -199,9 +205,8 @@ my $is_group = (&Apache::loncommon::cour
 ENDDOCS
             }
             if ($showgroups) {
-                my $text = ($is_group) ? $lt{'teams'} : $lt{'groups'};
                 $groups =(<<ENDGROUPS);
-<td><a href="/adm/coursegroups" target="_top">$text</a></td>
+<td><a href="/adm/coursegroups" target="_top">$lt{'groups'}</a></td>
 ENDGROUPS
             }
 	    if (
@@ -211,7 +216,7 @@ ENDGROUPS
 		(($env{'request.noversionuri'}=~/^\/adm\//) &&
 		 ($env{'request.noversionuri'}!~/^\/adm\/wrapper\//) &&
 		 ($env{'request.noversionuri'}!~
-		        m[^/adm/.*/(smppg|grppg|bulletinboard|aboutme)($|\?)])
+		        m[^/adm/.*/(smppg|bulletinboard|aboutme)($|\?)])
 		  )
 		 ) {
                 my $escreload=&escape('return:');
@@ -232,11 +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&amp;url='.$escurl.'" target="_top">'.$lt{'launch'}.'</a></td>'
 	}
+
+        my $helplink=&Apache::loncommon::top_nav_help('Help');
 	return (<<ENDINLINEMENU);
 <script type="text/javascript">
 // BEGIN LON-CAPA Internal
@@ -246,6 +252,7 @@ $utility
 </script>
 <table id="LC_top_nav">
 <tr>
+$logo
 <td><a href="/adm/menu" target="_top">$lt{'main'}</a></td>
 $reloadlink
 $navmaps
@@ -253,8 +260,8 @@ $docs
 $groups
 $remote
 <td><a href="/adm/roles" target="_top">$lt{'roles'}</a></td>
-<td><a href="/adm/logout" target="_top">$lt{'exit'}</a></td>
-<td class="LC_top_nav_logo">LON-CAPA<img src="$logo" alt="Logo" /></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
@@ -383,7 +390,7 @@ sub innerregister {
 	    &Apache::lonnet::allowed('opa',$crs)) {
 	    $hwkadd.=&switch('','',7,3,'pparm.gif','problem[_2]','parms[_2]',
 			     "gocmd('/adm/parmset','set')",
-			     'Modify deadlines, etc, for this resource');
+			     'Modify parameter settings for this resource');
 	}
 # -- End Homework
         ###
@@ -457,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
@@ -478,7 +486,7 @@ s&8&3&prt.gif&prepare[_1]&printout[_1]&g
 s&9&1&sbkm.gif&set[_1]&bookmark[_2]&set_bookmark()&Set a bookmark for this resource&1
 s&9&3&anot.gif&anno-[_1]&tations[_1]&annotate()&Make notes and annotations about this resource&1
 ENDMENUITEMS
-            unless ($env{'request.noversionuri'}=~/\/(bulletinboard|smppg|grppg|navmaps|syllabus|aboutme)(\?|$)/) {
+            unless ($env{'request.noversionuri'}=~/\/(bulletinboard|smppg|navmaps|syllabus|aboutme)(\?|$)/) {
 	        $menuitems.=(<<ENDREALRES);
 s&6&3&catalog.gif&catalog[_1]&info[_1]&catalog_info()&Show catalog information
 s&8&1&eval.gif&evaluate[_1]&this[_1]&gopost('/adm/evaluate',currentURL,1)&Provide my evaluation of this resource
@@ -486,6 +494,11 @@ 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
+	}
         my $buttons='';
         foreach (split(/\n/,$menuitems)) {
 	    my ($command,@rest)=split(/\&/,$_);
@@ -1064,13 +1077,16 @@ sub utilityfunctions {
 					'add_entries' => {
 					    'onload' => 'javascript:document.goannotate.submit();'}});
 
+    my $end_page_annotate = 
+        &Apache::loncommon::end_page({'js_ready' => 1});
+
     my $start_page_bookmark = 
         &Apache::loncommon::start_page('Bookmarks',undef,
 				       {'only_body' => 1,
 					'js_ready'  => 1,
 					'bgcolor'   => '#BBBBBB',});
 
-    my $end_page = 
+    my $end_page_bookmark = 
         &Apache::loncommon::end_page({'js_ready' => 1});
 
 return (<<ENDUTILITY)
@@ -1190,7 +1206,7 @@ function annotate() {
   +"action='/adm/annotations'>"
   +"<input type='hidden' name='urlnew' value='"+currentURL+"' />"
   +"<\\/form>"
-  +'$end_page');
+  +'$end_page_annotate');
    annotator.document.close();
 }
 
@@ -1212,7 +1228,7 @@ function set_bookmark() {
    +"value='Save' /> <input type='button' value='Close (no save)' "
    +"onclick='javascript:window.close();' /><\\/center><\\/td>"
    +"<\\/tr><\\/table><\\/form><\\/center>"
-   +'$end_page' );
+   +'$end_page_bookmark' );
    bmquery.document.close();
 }