Diff for /loncom/interface/lonmenu.pm between versions 1.42 and 1.48

version 1.42, 2003/02/17 22:59:37 version 1.48, 2003/04/02 22:02:19
Line 25 Line 25
 #  #
 # http://www.lon-capa.org/  # http://www.lon-capa.org/
 #  #
 # (TeX Conversion Module  
 #  #
 # 05/29/00,05/30 Gerd Kortemeyer)  # There are two parameters controlling the action of this module:
   #
   # browser.interface - if this is 'textual', it overrides the second parameter
   # and goes to screen reader PDA mode
   #
   # environment.remote - if this is 'on', the routines controll the remote
   # control, otherwise they render the main window controls; ignored it
   # browser.interface is 'textual'
 #  #
 # 10/05,05/28,05/30,06/01,06/08,06/09,07/04,08/07 Gerd Kortemeyer  
 # 02/15/02 Matthew Hall  
   
 package Apache::lonmenu;  package Apache::lonmenu;
   
 use strict;  use strict;
 use Apache::lonnet;  use Apache::lonnet;
 use Apache::Constants qw(:common);  use Apache::Constants qw(:common);
   use Apache::lonhtmlcommon();
 use Apache::loncommon;  use Apache::loncommon;
 use Apache::File;  use Apache::File;
 use vars qw(@desklines $readdesk);  use vars qw(@desklines $readdesk);
Line 47  sub menubuttons { Line 52  sub menubuttons {
     my $forcereg=shift;      my $forcereg=shift;
     my $target  =shift;      my $target  =shift;
     my $registration=shift;      my $registration=shift;
     unless ($ENV{'browser.interface'} eq 'textual') { return ''; }      if ($ENV{'browser.interface'} eq 'textual') {
 # Textual display only  # Textual display only
     my $output='<a href="/adm/menu">Main Menu</a><br />';   my $output=(<<ENDMAINMENU);
     if ($registration) { $output.=&innerregister($forcereg,$target); }  <script>
     return $output."<hr />";  // BEGIN LON-CAPA Internal
   </script>
   <a href="/adm/menu" target="_top">Main Menu</a><br />
   <script>
   // END LON-CAPA Internal
   </script>
   ENDMAINMENU
           if ($registration) { $output.=&innerregister($forcereg,$target); }
    return $output."<hr />";
       } elsif ($ENV{'environment.remote'} eq 'off') {
   # Remote Control is switched off
    my $output=(<<ENDINLINEMENU);
   <script>
   // BEGIN LON-CAPA Internal
   </script>
   <a href="/adm/menu" target="_top">Main Menu</a>
   <a href="/adm/remote?action=launch" target="_top">Launch Remote Control</a>
   <script>
   // END LON-CAPA Internal
   </script>
   ENDINLINEMENU
           if ($registration) { $output.=&innerregister($forcereg,$target); }
    return $output."<hr />";
       } else {
    return '';
       }
 }  }
   
 # ====================================== This gets called in the header section  # ====================================== This gets called in the header section
Line 62  sub registerurl { Line 92  sub registerurl {
     my $result = '';      my $result = '';
           
     if ($target eq 'edit') {      if ($target eq 'edit') {
         $result .="<script type=\"text/javascrtipt\">\n".          $result .="<script type=\"text/javascript\">\n".
             "if (typeof swmenu != 'undefined') {swmenu.currentURL=null;}\n".              "if (typeof swmenu != 'undefined') {swmenu.currentURL=null;}\n".
             &Apache::loncommon::browser_and_searcher_javascript().              &Apache::loncommon::browser_and_searcher_javascript().
                 "\n</script>\n";                  "\n</script>\n";
Line 237  var swmenu=null; Line 267  var swmenu=null;
           $newmail            $newmail
           $buttons            $buttons
   swmenu.currentURL=window.location.pathname;    swmenu.currentURL=window.location.pathname;
           swmenu.reloadURL=window.location.pathname;            swmenu.reloadURL=window.location.pathname+window.location.search;
           swmenu.currentSymb="$ENV{'request.symb'}";            swmenu.currentSymb="$ENV{'request.symb'}";
           swmenu.reloadSymb="$ENV{'request.symb'}";            swmenu.reloadSymb="$ENV{'request.symb'}";
           swmenu.currentStale=0;            swmenu.currentStale=0;
Line 393  ENDMAINCALL Line 423  ENDMAINCALL
 # ================================================================= Reopen menu  # ================================================================= Reopen menu
   
 sub reopenmenu {  sub reopenmenu {
    my $nothing='';  
    if ($ENV{'browser.interface'} eq 'textual') { return ''; }     if ($ENV{'browser.interface'} eq 'textual') { return ''; }
    my $menuname='LCmenu'.$Apache::lonnet::perlvar{'lonHostID'};     my $menuname='LCmenu'.$Apache::lonnet::perlvar{'lonHostID'};
    if ($ENV{'browser.type'} eq 'explorer') { $nothing='javascript:void(0);'; }     my $nothing = &Apache::lonhtmlcommon::javascript_nothing();
    return('window.open("'.$nothing.'","'.$menuname.'","",false);');     return('window.open('.$nothing.',"'.$menuname.'","",false);');
 }   } 
   
 # =============================================================== Open the menu  # =============================================================== Open the menu
Line 449  sub switch { Line 478  sub switch {
        my $text=$top.' '.$bot;         my $text=$top.' '.$bot;
        $text=~s/\- //;         $text=~s/\- //;
        return "\n".($nobreak?' ':'<br />').         return "\n".($nobreak?' ':'<br />').
         '<a href="javascript:'.$act.';">'.$text.'</a> '.($nobreak?'':$desc);          '<a href="javascript:'.$act.';" target="_top">'.$text.'</a> '.
           ($nobreak?'':$desc);
    }     }
 }  }
   
Line 470  sub secondlevel { Line 500  sub secondlevel {
 sub openmenu {  sub openmenu {
     my $menuname='LCmenu'.$Apache::lonnet::perlvar{'lonHostID'};      my $menuname='LCmenu'.$Apache::lonnet::perlvar{'lonHostID'};
     if ($ENV{'browser.interface'} eq 'textual') { return ''; }      if ($ENV{'browser.interface'} eq 'textual') { return ''; }
     if ($ENV{'browser.type'} eq 'explorer') {      my $nothing = &Apache::lonhtmlcommon::javascript_nothing();
        return "window.open('javascript:void(0);','".$menuname."');";      return "window.open(".$nothing.",'".$menuname."');";
    } else {  
        return "window.open('','".$menuname."');";  
    }  
 }  }
   
 sub rawconfig {  sub rawconfig {

Removed from v.1.42  
changed lines
  Added in v.1.48


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>