Diff for /loncom/interface/lonmenu.pm between versions 1.164 and 1.171

version 1.164, 2005/12/01 19:00:46 version 1.171, 2006/04/07 22:28:40
Line 40  package Apache::lonmenu; Line 40  package Apache::lonmenu;
   
 use strict;  use strict;
 use Apache::lonnet;  use Apache::lonnet;
 use Apache::Constants qw(:common);  
 use Apache::lonhtmlcommon();  use Apache::lonhtmlcommon();
 use Apache::loncommon();  use Apache::loncommon();
 use Apache::lonenc();  use Apache::lonenc();
Line 64  sub initlittle { Line 63  sub initlittle {
                                                     'Roles':'Courses'),                                                      'Roles':'Courses'),
                                        'docs' => 'Course Documents',                                         'docs' => 'Course Documents',
                                        'exit' => 'Exit',                                         'exit' => 'Exit',
        'launch' => 'Launch Remote Control');         'launch' => 'Launch Remote Control',
                                          'groups' => 'Groups');
 }  }
   
 # ============================= This gets called at the top of the body section  # ============================= This gets called at the top of the body section
Line 82  sub menubuttons { Line 82  sub menubuttons {
     my $navmaps='';      my $navmaps='';
     my $reloadlink='';      my $reloadlink='';
     my $docs='';      my $docs='';
       my $groups='';
       my $showgroups=0;
     my $escurl=&Apache::lonnet::escape(&Apache::lonenc::check_encrypt($env{'request.noversionuri'}));      my $escurl=&Apache::lonnet::escape(&Apache::lonenc::check_encrypt($env{'request.noversionuri'}));
     my $escsymb=&Apache::lonnet::escape(&Apache::lonenc::check_encrypt($env{'request.symb'}));      my $escsymb=&Apache::lonnet::escape(&Apache::lonenc::check_encrypt($env{'request.symb'}));
     my $face= 'face="Arial,Helvetica,sans-serif"';      my $face= 'face="Arial,Helvetica,sans-serif"';
Line 92  sub menubuttons { Line 94  sub menubuttons {
             $escurl = &Apache::lonnet::escape($returnurl);              $escurl = &Apache::lonnet::escape($returnurl);
         }          }
     }      }
       if ($env{'request.course.id'}) {
           my %coursegroups;
           my $viewgrps_permission =                                                
                        &Apache::lonnet::allowed('vcg',$env{'request.course.id'});
           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'});
           }
           if ((keys(%coursegroups) > 0) || ($viewgrps_permission)) {
               $showgroups = 1;
           }
       }
   
     if ($env{'browser.interface'} eq 'textual') {      if ($env{'browser.interface'} eq 'textual') {
 # Textual display only  # Textual display only
         $pgbg='#FFFFFF';          $pgbg='#FFFFFF';
Line 114  ENDRELOAD Line 128  ENDRELOAD
 <a href="/adm/coursedocs" target="_top"><font $face color="$font">$lt{'docs'}</font></a>  <a href="/adm/coursedocs" target="_top"><font $face color="$font">$lt{'docs'}</font></a>
 ENDDOCS  ENDDOCS
             }              }
               if ($showgroups) {
                   $groups =(<<ENDGROUPS);
   <td bgcolor="$tabbg">
   <a href="/adm/coursegroups" target="_top"><font $face color="$font">$lt{'groups'}</font></a></td>
   ENDGROUPS
               }
  }   }
         my $form=&serverform();          my $form=&serverform();
         my $utility=&utilityfunctions();          my $utility=&utilityfunctions();
Line 123  ENDDOCS Line 143  ENDDOCS
 $utility  $utility
 </script>  </script>
 <a href="/adm/menu" target="_top">$lt{'main'}</a>  <a href="/adm/menu" target="_top">$lt{'main'}</a>
 $reloadlink $navmaps $docs  $reloadlink $navmaps $docs $groups
 <a href="/adm/roles" target="_top"><font $face color="$font">$lt{'roles'}</font></a>  <a href="/adm/roles" target="_top"><font $face color="$font">$lt{'roles'}</font></a>
 <a href="/adm/logout" target="_top"><font $face color="$font">$lt{'exit'}</font></a>  <a href="/adm/logout" target="_top"><font $face color="$font">$lt{'exit'}</font></a>
 <br />  <br />
Line 192  ENDNAV Line 212  ENDNAV
 <a href="/adm/coursedocs" target="_top"><font $face color="$font">$lt{'docs'}</font></a></td>  <a href="/adm/coursedocs" target="_top"><font $face color="$font">$lt{'docs'}</font></a></td>
 ENDDOCS  ENDDOCS
             }              }
               if ($showgroups) {
                   $groups =(<<ENDGROUPS);
   <td bgcolor="$tabbg">
   <a href="/adm/coursegroups" target="_top"><font $face color="$font">$lt{'groups'}</font></a></td>
   ENDGROUPS
               }
     if (      if (
  ($env{'request.noversionuri'}=~m[^/(res|public)/] &&   ($env{'request.noversionuri'}=~m[^/(res|public)/] &&
  $env{'request.symb'} eq '')   $env{'request.symb'} eq '')
Line 239  $utility Line 265  $utility
 $reloadlink  $reloadlink
 $navmaps  $navmaps
 $docs  $docs
   $groups
 <td bgcolor="$tabbg">  <td bgcolor="$tabbg">
 <a href="/adm/remote?action=launch&amp;url=$escurl" target="_top">  <a href="/adm/remote?action=launch&amp;url=$escurl" target="_top">
 <font $face color="$font">$lt{'launch'}</font></a></td>  <font $face color="$font">$lt{'launch'}</font></a></td>
Line 251  $docs Line 278  $docs
 <td bgcolor="$tabbg">  <td bgcolor="$tabbg">
 <img align="right" src="$logo" alt="Logo" />  <img align="right" src="$logo" alt="Logo" />
 <b>LON-CAPA</b></td>  <b>LON-CAPA</b></td>
 $form  
 </tr>  </tr>
 </table>  </table>
   $form
 <script type="text/javascript">  <script type="text/javascript">
 // END LON-CAPA Internal  // END LON-CAPA Internal
 </script>  </script>
Line 1149  function catalog_info() { Line 1176  function catalog_info() {
 function chat_win() {  function chat_win() {
    lonchat=window.open('/res/adm/pages/chatroom.html',"LONchat",'height=320,width=280,resizable=yes,location=no,menubar=no,toolbar=no');     lonchat=window.open('/res/adm/pages/chatroom.html',"LONchat",'height=320,width=280,resizable=yes,location=no,menubar=no,toolbar=no');
 }  }
   
   function group_chat(group) {
      var url = '/adm/groupchat?group='+group;
      var winName = 'LONchat_'+group;
      grpchat=window.open(url,winName,'height=320,width=280,resizable=yes,location=no,menubar=no,toolbar=no');
   }
 ENDUTILITY  ENDUTILITY
 }  }
   
 sub serverform {  sub serverform {
     return(<<ENDSERVERFORM);      return(<<ENDSERVERFORM);
 <form name="server" action="/adm/logout" method="post" target="_top">  <form name="server" action="/adm/logout" method="POST" target="_top">
 <input type="hidden" name="postdata" value="none" />  <input type="hidden" name="postdata" value="none" />
 <input type="hidden" name="command" value="none" />  <input type="hidden" name="command" value="none" />
 <input type="hidden" name="url" value="none" />  <input type="hidden" name="url" value="none" />
Line 1165  ENDSERVERFORM Line 1198  ENDSERVERFORM
   
 sub constspaceform {  sub constspaceform {
     return(<<ENDCONSTSPACEFORM);      return(<<ENDCONSTSPACEFORM);
 <form name="constspace" action="/adm/logout" method="post" target="_top">  <form name="constspace" action="/adm/logout" method="POST" target="_top">
 <input type="hidden" name="filename" value="" />  <input type="hidden" name="filename" value="" />
 </form>  </form>
 <form name="cstrdelete" action="/adm/cfile" method="post" target="_top">  <form name="cstrdelete" action="/adm/cfile" method="POST" target="_top">
 <input type="hidden" name="action" value="delete" />   <input type="hidden" name="action" value="delete" /> 
 <input type="hidden" name="filename" value="" />  <input type="hidden" name="filename" value="" />
 </form>  </form>
 <form name="cstrprint" action="/adm/printout" target="_parent" method="post">  <form name="cstrprint" action="/adm/printout" target="_parent" method="POST">
 <input type="hidden" name="postdata" value="" />  <input type="hidden" name="postdata" value="" />
 <input type="hidden" name="curseed" value="" />  <input type="hidden" name="curseed" value="" />
 <input type="hidden" name="problemtype" value="" />  <input type="hidden" name="problemtype" value="" />
Line 1192  sub get_nav_status { Line 1225  sub get_nav_status {
     return $navstatus;      return $navstatus;
 }  }
   
 # ================================================ Handler when called directly  
   
   
 sub handler {  
     my $r = shift;  
     &Apache::loncommon::no_cache($r);  
     &Apache::loncommon::content_type($r,'text/html');  
     $r->send_http_header;  
     return OK if $r->header_only;  
   
     my $form;  
     if ($env{'environment.remote'} ne 'off' &&  
  $env{'browser.interface'} ne 'textual') {  
  $form=&serverform();  
     }  
     my $bodytag=&Apache::loncommon::bodytag('Main Menu');  
     my $function='student';  
     if ($env{'request.role'}=~/^(cc|in|ta|ep)/) {  
  $function='coordinator';  
     }  
     if ($env{'request.role'}=~/^(su|dc|ad|li)/) {  
  $function='admin';  
     }  
     if (($env{'request.role'}=~/^(au|ca)/) ||  
  ($env{'request.noversionuri'}=~/^(\/priv|\~)/)) {  
  $function='author';  
     }  
     my $domain=&Apache::loncommon::determinedomain();  
     $pgbg=&Apache::loncommon::designparm($function.'.pgbg',$domain);  
     $tabbg=&Apache::loncommon::designparm($function.'.tabbg',$domain);  
     $font=&Apache::loncommon::designparm($function.'.font',$domain);  
     my $script_tag;  
     if ($env{'environment.remote'} ne 'off') {  
         my $utility=&utilityfunctions('/adm/menu');  
         $script_tag=(<<ENDSCRIPT);  
 <script type="text/javascript">  
 $utility  
 </script>  
 ENDSCRIPT  
     }  
 # ---- Print the screen, pretend to be in text mode to generate text-based menu  
     unless ($env{'browser.interface'} eq 'textual') {  
  $env{'browser.interface'}='faketextual';  
  $env{'environment.remote'}='off';  
     }  
     my $html=&Apache::lonxml::xmlbegin();  
     $r->print(<<ENDHEADER);  
 $html  
 <head>  
 <title>LON-CAPA Main Menu</title>  
 $script_tag  
 </head>  
 $bodytag  
 ENDHEADER  
     $r->print('<table>'.&inlinemenu().'</table>'.$form);  
     $r->print('</body></html>');  
     return OK;  
 }  
   
 # ================================================================ Main Program  # ================================================================ Main Program
   
 BEGIN {  BEGIN {
   if (! defined($readdesk)) {      if (! defined($readdesk)) {
    {   {
     my $tabfile = $Apache::lonnet::perlvar{'lonTabDir'}.'/mydesk.tab';      my $tabfile = $Apache::lonnet::perlvar{'lonTabDir'}.'/mydesk.tab';
     if ( CORE::open( my $config,"<$tabfile") ) {      if ( CORE::open( my $config,"<$tabfile") ) {
         while (my $configline=<$config>) {   while (my $configline=<$config>) {
             $configline=(split(/\#/,$configline))[0];      $configline=(split(/\#/,$configline))[0];
             $configline=~s/^\s+//;      $configline=~s/^\s+//;
             chomp($configline);      chomp($configline);
             if ($configline) {      if ($configline) {
                 $desklines[$#desklines+1]=$configline;   push(@desklines,$configline);
             }      }
         }   }
         CORE::close($config);   CORE::close($config);
       }
    }
    $readdesk='done';
     }      }
    }  
    $readdesk='done';  
   }  
 }  }
   
 1;  1;

Removed from v.1.164  
changed lines
  Added in v.1.171


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