--- loncom/interface/lonmenu.pm 2003/05/23 23:18:37 1.69 +++ 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.69 2003/05/23 23:18:37 www Exp $ +# $Id: lonmenu.pm,v 1.75 2003/06/05 00:01:45 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -158,13 +158,20 @@ ENDINLINEMENU } } +# ===== Early call to LONCAPAreg for long-running pages, preferably used right +# ===== before $r->rflush() + +sub regflush { + return ''; +} + # ====================================== 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(); @@ -181,14 +188,15 @@ sub registerurl { (!&Apache::lonnet::is_on_map($ENV{'REQUEST_URI'}))) && (!$forcereg))) { my $loadfunction=''; + my $inlineloadfunction=''; my $unloadfunction=''; unless (($ENV{'browser.interface'} eq 'textual') || ($ENV{'environment.remote'} eq 'off') || - ($ENV{'request.publicaccess'}) || - ($ENV{'REQUEST_URI'} eq '/res/adm/pages/menu.html')) { + ($ENV{'request.publicaccess'})) { my $reopen=&Apache::lonmenu::reopenmenu(); - $loadfunction='swmenu='.$reopen.'swmenu.noclient=0;'; - $unloadfunction='swmenu='.$reopen.'swmenu.noclient=1;'; + $loadfunction='swmenu='.$reopen.'swmenu.windowloaded(self.name);window.focus();'; + $inlineloadfunction=®flush(); + $unloadfunction='swmenu='.$reopen.'swmenu.windowunloaded(self.name);'; } return $result.(< @@ -200,6 +208,7 @@ function LONCAPAstale() { $unloadfunction } +$inlineloadfunction $force_title ENDFUNCTIONS } @@ -216,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; @@ -388,10 +398,12 @@ ENDREGTEXT '; }