--- loncom/interface/lonmenu.pm 2003/04/05 22:14:40 1.58 +++ loncom/interface/lonmenu.pm 2003/06/05 00:01:45 1.75 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines to control the menu # -# $Id: lonmenu.pm,v 1.58 2003/04/05 22:14:40 www Exp $ +# $Id: lonmenu.pm,v 1.75 2003/06/05 00:01:45 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -57,6 +57,7 @@ sub menubuttons { my $target =shift; my $registration=shift; my $navmaps=''; + my $reloadlink=''; my $escurl=&Apache::lonnet::escape($ENV{'REQUEST_URI'}); my $escsymb=&Apache::lonnet::escape($ENV{'request.symb'}); if ($ENV{'browser.interface'} eq 'textual') { @@ -65,13 +66,21 @@ sub menubuttons { $navmaps=(<Navigate Contents ENDNAV + if (($ENV{'REQUEST_URI'}=~/^\/adm\//) && + ($ENV{'REQUEST_URI'}!~/^\/adm\/wrapper\//) && + ($ENV{'REQUEST_URI'}!~/^\/adm\/.*\/(smppg|bulletinboard|aboutme)(\?|$)/)) { + my $escreload=&Apache::lonnet::escape('return:'); + $reloadlink=(<Return to Last Location +ENDRELOAD + } } my $output=(< // BEGIN LON-CAPA Internal Main Menu -$navmaps
+$reloadlink $navmaps
@@ -106,6 +115,15 @@ ENDMAINMENU Navigate Contents ENDNAVREM + if (($ENV{'REQUEST_URI'}=~/^\/adm\//) && + ($ENV{'REQUEST_URI'}!~/^\/adm\/wrapper\//) && + ($ENV{'REQUEST_URI'}!~/^\/adm\/.*\/(smppg|bulletinboard|aboutme)(\?|$)/)) { + my $escreload=&Apache::lonnet::escape('return:'); + $reloadlink=(< +Return to Last Location +ENDRELOAD + } } my $reg=''; if ($registration) { @@ -120,10 +138,14 @@ ENDNAVREM Main Menu +$reloadlink $navmaps Launch Remote Control + + +LON-CAPA '; +} + # ====================================== This gets called in the header section sub registerurl { my $forcereg=shift; my $target = shift; my $result = ''; - + if ($ENV{'REQUEST_URI'} eq '/res/adm/pages/menu.html') { return ''; } + my $force_title=''; + if ($ENV{'request.state'} eq 'construct') { + $force_title=&Apache::lonxml::display_title(); + } if ($target eq 'edit') { $result .="'; + my $loadfunction=''; + my $inlineloadfunction=''; + my $unloadfunction=''; + unless (($ENV{'browser.interface'} eq 'textual') || + ($ENV{'environment.remote'} eq 'off') || + ($ENV{'request.publicaccess'})) { + my $reopen=&Apache::lonmenu::reopenmenu(); + $loadfunction='swmenu='.$reopen.'swmenu.windowloaded(self.name);window.focus();'; + $inlineloadfunction=®flush(); + $unloadfunction='swmenu='.$reopen.'swmenu.windowunloaded(self.name);'; + } + return $result.(< +function LONCAPAreg() { + $loadfunction +} + +function LONCAPAstale() { + $unloadfunction +} + +$inlineloadfunction +$force_title +ENDFUNCTIONS } # Graphical display after login only if ($Apache::lonxml::registered && !$forcereg) { return ''; } $result.=&innerregister($forcereg,$target); - return $result; + return $result.$force_title; } # =========== This gets called in order to register a URL, both with the Remote @@ -170,6 +225,7 @@ sub innerregister { my $forcereg=shift; my $target = shift; my $result = ''; + if ($ENV{'REQUEST_URI'} eq '/res/adm/pages/menu.html') { return ''; } $Apache::lonxml::registered=1; @@ -184,11 +240,30 @@ sub innerregister { my $reopen=&Apache::lonmenu::reopenmenu(); my $newmail=''; + if ($noremote) { + $newmail='
'; + } + if (($textual) && ($ENV{'request.symb'}) && ($ENV{'request.course.id'})) { + my ($mapurl,$rid,$resurl)=split(/\_\_\_/,$ENV{'request.symb'}); + $newmail.=$ENV{'course.'.$ENV{'request.course.id'}.'.description'}; + my $maptitle=&Apache::lonnet::gettitle($mapurl); + my $restitle=&Apache::lonnet::gettitle($resurl); + if ($maptitle) { + $newmail.=', '.$maptitle; + } + if ($restitle) { + $newmail.=': '.$restitle; + } + $newmail.='   '; + } if (&Apache::lonmsg::newmail()) { $newmail=($textual? 'You have new messages
': 'swmenu.setstatus("you have","messages");'); } + if ($noremote) { + $newmail.='
'; + } my $timesync=($textual?'':'swmenu.syncclock(1000*'.time.');'); my $tablestart=($noremote?'':''); my $tableend=($noremote?'
':''); @@ -312,7 +387,7 @@ $inlinebuttons $tableend $form ENDREGTEXT @@ -323,9 +398,12 @@ ENDREGTEXT '; } @@ -558,7 +642,7 @@ sub switch { my $text=$top.' '.$bot; $text=~s/\- //; $inlineremote[10*$row+$col]="\n".($nobreak?' ':'
'). - ''.$text.' '. + ''.$text.' '. ($nobreak?'':$desc); } else { # Inline Remote @@ -568,7 +652,7 @@ sub switch { $inlineremote[10*$row+$col]="\n". ($nobreak==3?''.$text.''. ($nobreak?'':''.$desc.'').($nobreak!=1?'':''); @@ -758,7 +842,7 @@ function gocmd(url,cmd) { } function catalog_info() { - loncatinfo=window.open(window.location.pathname+'.meta',"LONcatInfo",'height=320,width=280,resizeable=yes,location=no,menubar=no,toolbar=no'); + loncatinfo=window.open(window.location.pathname+'.meta',"LONcatInfo",'height=320,width=280,resizeable=yes,scrollbars=yes,location=no,menubar=no,toolbar=no'); } function chat_win() { @@ -770,7 +854,7 @@ ENDUTILITY sub serverform { return(< +