--- loncom/interface/lonmenu.pm 2007/07/16 03:19:10 1.221 +++ loncom/interface/lonmenu.pm 2007/10/11 22:49:49 1.228 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines to control the menu # -# $Id: lonmenu.pm,v 1.221 2007/07/16 03:19:10 albertel Exp $ +# $Id: lonmenu.pm,v 1.228 2007/10/11 22:49:49 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -121,9 +121,7 @@ sub menubuttons { $navmaps=(<<ENDNAV); <a href="/adm/navmaps?postdata=$escurl&postsymb=$escsymb" target="_top">$lt{'nav'}</a> ENDNAV - if (($env{'request.noversionuri'}=~/^\/adm\//) && - ($env{'request.noversionuri'}!~/^\/adm\/wrapper\//) && - ($env{'request.noversionuri'}!~/^\/adm\/.*\/(smppg|bulletinboard|aboutme)(\?|$)/)) { + if (&show_return_link()) { my $escreload=&escape('return:'); $reloadlink=(<<ENDRELOAD); <a href="/adm/flip?postdata=$escreload" target="_top">$lt{'ret'}</a> @@ -196,7 +194,7 @@ ENDINLINEMENU $navmaps=(<<ENDNAV); <td><a href="$link" target="_top">$lt{'nav'}</a></td> ENDNAV -my $is_group = (&Apache::loncommon::course_type() eq 'Group'); + my $is_group = (&Apache::loncommon::course_type() eq 'Group'); if (&Apache::lonnet::allowed('mdc',$env{'request.course.id'})) { my $text = ($is_group) ? $lt{'gdoc'} : $lt{'docs'}; $docs=(<<ENDDOCS); @@ -208,16 +206,11 @@ ENDDOCS <td><a href="/adm/coursegroups" target="_top">$lt{'groups'}</a></td> ENDGROUPS } - if ( - ($env{'request.noversionuri'}=~m[^/(res|public)/] && - $env{'request.symb'} eq '') - || - (($env{'request.noversionuri'}=~/^\/adm\//) && - ($env{'request.noversionuri'}!~/^\/adm\/wrapper\//) && - ($env{'request.noversionuri'}!~ - m[^/adm/.*/(smppg|bulletinboard|aboutme)($|\?)]) - ) - ) { + foreach my $key (sort(keys(%env))) { + next if ($key !~ /^request/); + &Apache::lonnet::logthis("$key =>".$env{$key}); + } + if (&show_return_link()) { my $escreload=&escape('return:'); $reloadlink=(<<ENDRELOAD); <td><a href="/adm/flip?postdata=$escreload" target="_top">$lt{'ret'}</a></td> @@ -274,6 +267,19 @@ ENDINLINEMENU } } +sub show_return_link { + return (($env{'request.noversionuri'}=~m{^/(res|public)/} && + $env{'request.symb'} eq '') + || + ($env{'request.noversionuri'}=~ m{^/cgi-bin/printout.pl}) + || + (($env{'request.noversionuri'}=~/^\/adm\//) && + ($env{'request.noversionuri'}!~/^\/adm\/wrapper\//) && + ($env{'request.noversionuri'}!~ + m[^/adm/.*/(smppg|bulletinboard|aboutme)($|\?)]) + )); +} + # ====================================== This gets called in the header section sub registerurl { @@ -547,29 +553,34 @@ $inlineremote[91] $inlineremote[92] $inl ENDINLINEICONS } } else { - $inlinebuttons=(<<ENDFIRSTLINE); + if ($inlineremote[21] ne '' || $inlineremote[23] ne '') { + $inlinebuttons=(<<ENDFIRSTLINE); <tr><td>$inlineremote[21]</td><td> </td><td>$inlineremote[23]</td></tr> ENDFIRSTLINE - if (&hidden_button_check() ne 'yes') { - $inlinebuttons .= (<<ENDINLINE); -<tr><td>$inlineremote[61]</td><td>$inlineremote[62]</td><td>$inlineremote[63]</td></tr> -<tr><td>$inlineremote[71]</td><td>$inlineremote[72]</td><td>$inlineremote[73]</td></tr> -<tr><td>$inlineremote[81]</td><td>$inlineremote[82]</td><td>$inlineremote[83]</td></tr> -<tr><td>$inlineremote[91]</td><td>$inlineremote[92]</td><td>$inlineremote[93]</td></tr> -ENDINLINE } - } - } + if (&hidden_button_check() ne 'yes') { + foreach my $row (6..9) { + if ($inlineremote[${row}.'1'] ne '' + || $inlineremote[$row.'2'] ne '' + || $inlineremote[$row.'3'] ne '') { + $inlinebuttons .= <<"ENDLINE"; +<tr><td>$inlineremote["${row}1"]</td><td>$inlineremote["${row}2"]</td><td>$inlineremote["${row}3"]</td></tr> +ENDLINE + } + } + } + } + } } $result =(<<ENDREGTEXT); <script type="text/javascript"> // BEGIN LON-CAPA Internal </script> $timesync -$newmail $tablestart $inlinebuttons $tableend +$newmail <script type="text/javascript"> // END LON-CAPA Internal </script> @@ -807,15 +818,16 @@ sub open { return '<script type="text/javascript">self.name="loncapaclient";</script>'; } my $menuname='LCmenu'.$Apache::lonnet::perlvar{'lonHostID'}; - unless (shift eq 'unix') { + +# unless (shift eq 'unix') { # resizing does not work on linux because of virtual desktop sizes - $returnval.=(<<ENDRESIZE); -if (window.screen) { - self.resizeTo(screen.availWidth-215,screen.availHeight-55); - self.moveTo(190,15); -} -ENDRESIZE - } +# $returnval.=(<<ENDRESIZE); +#if (window.screen) { +# self.resizeTo(screen.availWidth-215,screen.availHeight-55); +# self.moveTo(190,15); +#} +#ENDRESIZE +# } $returnval.=(<<ENDOPEN); window.status='Opening LON-CAPA Remote Control'; var menu=window.open("/res/adm/pages/menu.html","$menuname", @@ -881,12 +893,10 @@ sub switch { my $text=$top.' '.$bot; $text=~s/\s*\-\s*//gs; - my $lonhttpdPort=$Apache::lonnet::perlvar{'lonhttpdPort'}; - if (!defined($lonhttpdPort)) { $lonhttpdPort='8080'; } my $pic= - '<img alt="'.$text.'" src="http://'.$ENV{'HTTP_HOST'}. - ':'.$lonhttpdPort.'/res/adm/pages/'.$img.'" align="'. - ($nobreak==3?'right':'left').'" />'; + '<img alt="'.$text.'" src="'. + &Apache::loncommon::lonhttpdurl('/res/adm/pages/'.$img). + '" align="'.($nobreak==3?'right':'left').'" />'; if ($env{'browser.interface'} eq 'faketextual') { # Accessibility if ($nobreak==3) {