--- loncom/interface/Attic/lonremote.pm 2003/04/02 20:28:27 1.1 +++ loncom/interface/Attic/lonremote.pm 2009/10/01 22:41:55 1.33 @@ -1,7 +1,7 @@ # The LearningOnline Network # User Authentication Module # -# $Id: lonremote.pm,v 1.1 2003/04/02 20:28:27 www Exp $ +# $Id: lonremote.pm,v 1.33 2009/10/01 22:41:55 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -25,53 +25,107 @@ # # 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; use strict; use Apache::Constants qw(:common); use Apache::loncommon(); -use Apache::lonnet(); +use Apache::lonnet; use Apache::lonmenu(); +use Apache::lonlocal; sub launchremote { - my ($r,$clientos,$lowerurl)=@_; + my ($r,$lowerurl)=@_; + &Apache::lonnet::put('environment',{'remote' => 'on'}); + &Apache::lonnet::appenv({'environment.remote' => 'on'}); # -------------------------------------------------------- Menu script and info - my $windowinfo=&Apache::lonmenu::open($clientos); + my $brcrum = [{href=>"/adm/preferences",text=>"Set User Preferences"}, + {href=>"/adm/remote?url=/adm/preferences&action=launch",text=>"Launch Remote Control"}]; + my $windowinfo=&Apache::lonmenu::open($env{'browser.os'}); my $startupremote=&Apache::lonmenu::startupremote($lowerurl); + 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 $bodytag=&Apache::loncommon::bodytag('Successful Login'); -# ------------------------------------------------- Output for successful login - $r->print(< - -Successful Login to the LearningOnline Network with CAPA -$startupremote - -$bodytag + my $message='

' + .&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.') + .'

'; + $r->print(<Welcome! -Welcome to the LearningOnline Network with CAPA. -Please wait while your session -is being set up.

-Problems?

+$message +$remoteinfo $maincall - - -ENDSUCCESS +$end_page +ENDLAUNCH +} + +sub collapseremote { + my ($r,$lowerurl)=@_; +# -------------------------------------------------------- Menu script and info + 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=''; + my $message='
'.&mt('The external menu (Remote Control) has been disabled, and you will be working with the smaller inline menu.').'
'."\n". + '

'.&mt('You may have either closed the Remote Control window, or it was blocked by a pop-up window filter in your browser.').'
'."\n". + &mt('To use the Remote Control, disable the filter for this site, and re-launch the Remote Control.').'

'."\n". + '
'.&mt('Actions').''."\n". + ''. + '
'. + 'Launch Remote Control'. + &mt('Re-launch Remote Control').''.(' 'x3).'
'. + '
'."\n". + '

'.&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].','','','').'

'; + $r->print(< 'off'}); + &Apache::lonnet::appenv({'environment.remote' => 'off'}); } sub handler { my $r = shift; + &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, + ['action','url']); + unless ($env{'form.action'}) { + if ($env{'environment.remote'} ne 'off') { + $env{'form.action'}='collapse'; + } else { + $env{'form.action'}='launch'; + } + } + + 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') { + &launchremote($r,$lowerurl); + } else { + &collapseremote($r,$lowerurl); + } return OK; }