Diff for /loncom/interface/lonmenu.pm between versions 1.64 and 1.73

version 1.64, 2003/04/18 01:20:25 version 1.73, 2003/05/27 19:57:51
Line 143  $navmaps Line 143  $navmaps
 <td bgcolor="$tabbg">  <td bgcolor="$tabbg">
 <a href="/adm/remote?action=launch&url=$escurl" target="_top">  <a href="/adm/remote?action=launch&url=$escurl" target="_top">
 <font color="$font">Launch Remote Control</font></a></td>  <font color="$font">Launch Remote Control</font></a></td>
   <td bgcolor="$tabbg">
   <img align="right" src="/adm/lonIcons/minilogo.gif" />
   <b>LON-CAPA</b></td>
 </tr>  </tr>
 </table>  </table>
 <script>  <script>
Line 155  ENDINLINEMENU Line 158  ENDINLINEMENU
     }      }
 }  }
   
   # ===== Early call to LONCAPAreg for long-running pages, preferably used right 
   # ===== before $r->rflush()
   
   sub regflush {
       return '<script type="text/javascript">'.&loadevents.'</script>';
   }
   
 # ====================================== This gets called in the header section  # ====================================== This gets called in the header section
   
 sub registerurl {  sub registerurl {
     my $forcereg=shift;      my $forcereg=shift;
     my $target = shift;      my $target = shift;
     my $result = '';      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') {      if ($target eq 'edit') {
         $result .="<script type=\"text/javascript\">\n".          $result .="<script type=\"text/javascript\">\n".
             "if (typeof swmenu != 'undefined') {swmenu.currentURL=null;}\n".              "if (typeof swmenu != 'undefined') {swmenu.currentURL=null;}\n".
Line 173  sub registerurl { Line 187  sub registerurl {
         ((($ENV{'request.publicaccess'}) ||           ((($ENV{'request.publicaccess'}) || 
          (!&Apache::lonnet::is_on_map($ENV{'REQUEST_URI'}))) &&           (!&Apache::lonnet::is_on_map($ENV{'REQUEST_URI'}))) &&
         (!$forcereg))) {          (!$forcereg))) {
  return $result.          my $loadfunction='';
          '<script type="text/javascript">function LONCAPAreg(){;} function LONCAPAstale(){}</script>';          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);';
               $inlineloadfunction=&regflush();
        $unloadfunction='swmenu='.$reopen.'swmenu.windowunloaded(self.name);';
           } 
    return $result.(<<ENDFUNCTIONS);
   <script type="text/javascript">
   function LONCAPAreg() {
      $loadfunction
   } 
   
   function LONCAPAstale() {
      $unloadfunction
   }
   </script>
   $inlineloadfunction
   $force_title
   ENDFUNCTIONS
     }      }
 # Graphical display after login only  # Graphical display after login only
     if ($Apache::lonxml::registered && !$forcereg) { return ''; }      if ($Apache::lonxml::registered && !$forcereg) { return ''; }
     $result.=&innerregister($forcereg,$target);      $result.=&innerregister($forcereg,$target);
     return $result;      return $result.$force_title;
 }  }
   
 # =========== This gets called in order to register a URL, both with the Remote  # =========== This gets called in order to register a URL, both with the Remote
Line 189  sub innerregister { Line 225  sub innerregister {
     my $forcereg=shift;      my $forcereg=shift;
     my $target = shift;      my $target = shift;
     my $result = '';      my $result = '';
       if ($ENV{'REQUEST_URI'} eq '/res/adm/pages/menu.html') { return ''; }
   
     $Apache::lonxml::registered=1;      $Apache::lonxml::registered=1;
   
Line 203  sub innerregister { Line 240  sub innerregister {
     my $reopen=&Apache::lonmenu::reopenmenu();      my $reopen=&Apache::lonmenu::reopenmenu();
   
     my $newmail='';      my $newmail='';
       if ($noremote) {
    $newmail='<table bgcolor="'.$pgbg.'" border="0" cellspacing="3" cellpadding="3" width="100%"><tr><td bgcolor="'.$tabbg.'">';
       }
     if (($textual) && ($ENV{'request.symb'}) && ($ENV{'request.course.id'})) {      if (($textual) && ($ENV{'request.symb'}) && ($ENV{'request.course.id'})) {
  my ($mapurl,$rid,$resurl)=split(/\_\_\_/,$ENV{'request.symb'});   my ($mapurl,$rid,$resurl)=split(/\_\_\_/,$ENV{'request.symb'});
         $newmail=$ENV{'course.'.$ENV{'request.course.id'}.'.description'};          $newmail.=$ENV{'course.'.$ENV{'request.course.id'}.'.description'};
         my $maptitle=&Apache::lonnet::gettitle($mapurl);          my $maptitle=&Apache::lonnet::gettitle($mapurl);
  my $restitle=&Apache::lonnet::gettitle($resurl);   my $restitle=&Apache::lonnet::gettitle($resurl);
         if ($maptitle) {          if ($maptitle) {
Line 221  sub innerregister { Line 261  sub innerregister {
  '<b><a href="/adm/communicate">You have new messages</a></b><br />':   '<b><a href="/adm/communicate">You have new messages</a></b><br />':
                           'swmenu.setstatus("you have","messages");');                            'swmenu.setstatus("you have","messages");');
     }      }
       if ($noremote) {
    $newmail.='</td></tr></table>';
       }
     my $timesync=($textual?'':'swmenu.syncclock(1000*'.time.');');      my $timesync=($textual?'':'swmenu.syncclock(1000*'.time.');');
     my $tablestart=($noremote?'<table bgcolor="'.$pgbg.'" border="0" cellspacing="3" cellpadding="3" width="100%">':'');      my $tablestart=($noremote?'<table bgcolor="'.$pgbg.'" border="0" cellspacing="3" cellpadding="3" width="100%">':'');
     my $tableend=($noremote?'</table>':'');      my $tableend=($noremote?'</table>':'');
Line 358  var swmenu=null; Line 401  var swmenu=null;
   
     function LONCAPAreg() {      function LONCAPAreg() {
   swmenu=$reopen;    swmenu=$reopen;
             swmenu.windowloaded(self.name);
           swmenu.clearTimeout(swmenu.menucltim);            swmenu.clearTimeout(swmenu.menucltim);
           $timesync            $timesync
           $newmail            $newmail
Line 385  var swmenu=null; Line 429  var swmenu=null;
  'clearbut(2,1);clearbut(2,3);clearbut(8,1);clearbut(8,2);clearbut(8,3);'+   'clearbut(2,1);clearbut(2,3);clearbut(8,1);clearbut(8,2);clearbut(8,3);'+
  'clearbut(9,1);clearbut(9,2);clearbut(9,3);clearbut(6,3);clearbut(6,1)',   'clearbut(9,1);clearbut(9,2);clearbut(9,3);clearbut(6,3);clearbut(6,1)',
   2000);    2000);
             swmenu.windowunloaded(self.name);
       }        }
   
 // END LON-CAPA Internal  // END LON-CAPA Internal
Line 409  var swmenu=null; Line 453  var swmenu=null;
   
     function LONCAPAreg() {      function LONCAPAreg() {
   swmenu=$reopen    swmenu=$reopen
     swmenu.windowloaded(self.name);
           $timesync            $timesync
           swmenu.currentStale=1;            swmenu.currentStale=1;
           swmenu.clearbut(2,1);            swmenu.clearbut(2,1);
Line 425  var swmenu=null; Line 470  var swmenu=null;
     }      }
   
     function LONCAPAstale() {      function LONCAPAstale() {
      swmenu=$reopen
     swmenu.windowunloaded(self.name);  
     }      }
   
 // END LON-CAPA Internal  // END LON-CAPA Internal
Line 437  ENDDONOTREGTHIS Line 484  ENDDONOTREGTHIS
 }  }
   
 sub loadevents() {  sub loadevents() {
       if ($ENV{'REQUEST_URI'} eq '/res/adm/pages/menu.html') { return ''; }
     return 'LONCAPAreg();';      return 'LONCAPAreg();';
 }  }
   
 sub unloadevents() {  sub unloadevents() {
       if ($ENV{'REQUEST_URI'} eq '/res/adm/pages/menu.html') { return ''; }
     return 'LONCAPAstale();';      return 'LONCAPAstale();';
 }  }
   
Line 553  ENDRESIZE Line 602  ENDRESIZE
 window.status='Opening LON-CAPA Remote Control';  window.status='Opening LON-CAPA Remote Control';
 var menu=window.open("/res/adm/pages/menu.html","$menuname",  var menu=window.open("/res/adm/pages/menu.html","$menuname",
 "height=350,width=150,scrollbars=no,menubar=no,top=5,left=5,screenX=5,screenY=5");  "height=350,width=150,scrollbars=no,menubar=no,top=5,left=5,screenX=5,screenY=5");
   self.name='loncapaclient';
 ENDOPEN  ENDOPEN
     return '<script>'.$returnval.'</script>';      return '<script>'.$returnval.'</script>';
 }  }

Removed from v.1.64  
changed lines
  Added in v.1.73


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