Diff for /loncom/interface/Attic/lonremote.pm between versions 1.2 and 1.34.4.1

version 1.2, 2003/04/02 21:23:04 version 1.34.4.1, 2022/01/16 17:32:44
Line 25 Line 25
 #  #
 # http://www.lon-capa.org/  # http://www.lon-capa.org/
 #  #
 # 5/21/99,5/22,5/25,5/26,5/27,5/29,6/2,6/11,6/14,6/15  ###
 # 16/11,12/16,  
 # 1/14,2/24,2/28,2/29,3/7,5/29,5/30,5/31,6/1,6/5,6/29,  
 # 7/1,7/10,10/2,10/5,10/9,10/26,10/30,11/10,  
 # 05/28,05/29 Gerd Kortemeyer  
 # 07/28,08/03 Gerd Kortemeyer  
 # 8/20 Gerd Kortemeyer  
   
 package Apache::lonremote;  package Apache::lonremote;
   
 use strict;  use strict;
 use Apache::Constants qw(:common);  use Apache::Constants qw(:common);
 use Apache::loncommon();  use Apache::loncommon();
 use Apache::lonnet();  use Apache::lonnet;
 use Apache::lonmenu();  use Apache::lonmenu();
   use Apache::lonlocal;
   
 sub launchremote {  sub launchremote {
     my ($r,$lowerurl)=@_;      my ($r,$lowerurl)=@_;
       &Apache::lonnet::put('environment',{'remote' => 'on'});
       &Apache::lonnet::appenv({'environment.remote' => 'on'});
 # -------------------------------------------------------- Menu script and info  # -------------------------------------------------------- Menu script and info
 #    my $windowinfo=&Apache::lonmenu::open($clientos);      my $brcrum = [{href=>"/adm/preferences",text=>"Set User Preferences"},
 #    my $startupremote=&Apache::lonmenu::startupremote($lowerurl);                    {href=>"/adm/remote?url=/adm/preferences&action=launch",text=>"Launch Remote Control"}];
 #    my $setflags=&Apache::lonmenu::setflags();      my $windowinfo=&Apache::lonmenu::open($env{'browser.os'});
 #    my $maincall=&Apache::lonmenu::maincall();      my $startupremote=&Apache::lonmenu::startupremote($lowerurl);
     my $bodytag=&Apache::loncommon::bodytag('Launch Remote Control');      my $start_page = &Apache::loncommon::start_page('Launch Remote Control',
                                                       $startupremote,
                                                       {'bread_crumbs' => $brcrum,});
       my $end_page   = &Apache::loncommon::end_page();
       my $remoteinfo=&Apache::lonmenu::load_remote_msg($lowerurl);
       my $setflags=&Apache::lonmenu::setflags();
       my $maincall=&Apache::lonmenu::maincall();
       my $message='<p class="LC_info">'
                  .&mt('Launching of the Remote Control menu will fail if pop-up window filters are active.'
                      .' To use the Remote Control, disable the filter for this site.')
                  .'</p>';
     $r->print(<<ENDLAUNCH);      $r->print(<<ENDLAUNCH);
 <html>  $start_page
 <head>  $setflags
 <title>The LearningOnline Network with CAPA</title>  $windowinfo
 </head>  $message
 $bodytag  $remoteinfo
 </body>  $maincall
 </html>  $end_page
 ENDLAUNCH  ENDLAUNCH
    &Apache::lonnet::put('environment',{'remote' => 'on'});  
    &Apache::lonnet::appenv('environment.remote' => 'on');  
 }  }
   
 sub collapseremote {  sub collapseremote {
     my ($r,$lowerurl)=@_;      my ($r,$lowerurl)=@_;
 # -------------------------------------------------------- Menu script and info  # -------------------------------------------------------- Menu script and info
     my $bodytag=&Apache::loncommon::bodytag('Collapse Remote Control');      my $brcrum = [{href=>"/adm/preferences",text=>"Set User Preferences"},
                     {href=>"/adm/remote?url=/adm/preferences&action=collapse",text=>"Collapse Remote Control"}];
       my $start_page = 
           &Apache::loncommon::start_page('Collapse Remote Control',
                                          undef,
                                          {'bread_crumbs' => $brcrum,
                                           'no_inline_link' => 1,});
       my $end_page  =  &Apache::loncommon::end_page();
       my $windowinfo=&Apache::lonmenu::close();
   #    my $switch='<meta HTTP-EQUIV="Refresh" CONTENT="0.5; url='.$lowerurl.'" />';
       my $message='<div class="LC_warning"><b>'.&mt('The external menu (Remote Control) has been disabled, and you will be working with the smaller inline menu.').'</b></div>'."\n".
                   '<p>'.&mt('You may have either closed the Remote Control window, or it was blocked by a pop-up window filter in your browser.').'<br />'."\n".
                   &mt('To use the Remote Control, disable the filter for this site, and re-launch the Remote Control.').'</p>'."\n".
                   '<table><tr><td><fieldset><legend>'.&mt('Actions').'</legend><table><tr>'."\n".
                   '<td class="LC_menubuttons_text" align="left">'.
                   '<a class="LC_menubuttons_link" href="/adm/remote?action=launch"><img alt="Launch Remote Control" src="/res/adm/pages/remotecontrol.png" class="LC_noBorder" />'.
                   &mt('Re-launch Remote Control').'</a></td><td>'.('&nbsp;'x3).'</td>'.
                   '<td class="LC_menubuttons_text" align="right">'.
                   '<a class="LC_menubuttons_link" href="'.$lowerurl.'"><img alt="Launch Remote Control" src="/res/adm/pages/forw.png" class="LC_noBorder" />'.
                   &mt('Continue without Remote Control').'</a></td></tr></table>'.
                   '</fieldset></td></tr></table>'."\n".
                   '<p>'.&mt('Assuming no pop-up blocking, the Remote Control can be launched at any time from the [_1]Set User Preferences[_2] page, linked to in the [_3]Main Menu[_2].','<a href="/adm/preferences">','</a>','<a href="/adm/menu">').'</span></p>';
     $r->print(<<ENDCOLLAPSE);      $r->print(<<ENDCOLLAPSE);
 <html>  $start_page
 <head>  $windowinfo
 <title>The LearningOnline Network with CAPA</title>  $message
 </head>  $end_page
 $bodytag  
 </body>  
 </html>  
 ENDCOLLAPSE  ENDCOLLAPSE
    &Apache::lonnet::put('environment',{'remote' => 'off'});      &Apache::lonnet::put('environment',{'remote' => 'off'});
    &Apache::lonnet::appenv('environment.remote' => 'off');      &Apache::lonnet::appenv({'environment.remote' => 'off'});
   }
   
   sub no_remote_launch {
       my ($r)=@_;
       my $brcrum = [{href=>"/adm/preferences",text=>"Set User Preferences"},
                     {href=>"/adm/remote?url=/adm/preferences&action=launch",text=>"Launch Remote Control"}];
       my $start_page = &Apache::loncommon::start_page('Remote Control Unavailable','',
                                                       {'bread_crumbs' => $brcrum,});
       my $end_page = &Apache::loncommon::end_page();
       my $message='<p class="LC_info">'
                  .&mt('Launching of the Remote Control menu is unavailable in courses with customized menu collections.')
                  .'</p>';
       $r->print(<<ENDLAUNCH);
   $start_page
   $message
   $end_page
   ENDLAUNCH
       return;
 }  }
   
 sub handler {  sub handler {
     my $r = shift;      my $r = shift;
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['action']);      &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
     unless ($ENV{'form.action'}) {                                              ['action','url']);
  if ($ENV{'environment.remote'} eq 'on') {      unless ($env{'form.action'}) {
     $ENV{'form.action'}='collapse';   if ($env{'environment.remote'} ne 'off') {
       $env{'form.action'}='collapse';
         } else {          } else {
     $ENV{'form.action'}='launch';      $env{'form.action'}='launch';
         }          }
     }      }
     if ($ENV{'form.action'} eq 'launch') {  
  &launchremote($r);      my $lowerurl=$env{'form.url'};
       unless ($lowerurl) { $lowerurl='/adm/menu'; }
   
       &Apache::loncommon::content_type($r,'text/html');
       $r->send_http_header;
       return OK if $r->header_only;
   
       if ($env{'form.action'} eq 'launch') {
           my $nolaunch;
           if ($env{'request.course.id'}) {
               my ($menucoll,$deeplinkmenu,$menuref) = &Apache::loncommon::menucoll_in_effect();
               if ($menucoll) {
                   $nolaunch = 1;
               }
           }
           if ($nolaunch) {
               &no_remote_launch($r);
           } else {
       &launchremote($r,$lowerurl);
           }
     } else {      } else {
         &collapseremote($r);          &collapseremote($r,$lowerurl);
     }      }
     return OK;      return OK;
 }  }

Removed from v.1.2  
changed lines
  Added in v.1.34.4.1


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