# The LearningOnline Network # User Authentication Module # # $Id: lonremote.pm,v 1.10 2003/09/22 00:48:32 www Exp $ # # Copyright Michigan State University Board of Trustees # # This file is part of the LearningOnline Network with CAPA (LON-CAPA). # # LON-CAPA is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # LON-CAPA is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with LON-CAPA; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # /home/httpd/html/adm/gpl.txt # # 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::lonmenu(); sub launchremote { my ($r,$lowerurl)=@_; &Apache::lonnet::put('environment',{'remote' => 'on'}); &Apache::lonnet::appenv('environment.remote' => 'on'); # -------------------------------------------------------- Menu script and info my $windowinfo=&Apache::lonmenu::open($ENV{'browser.os'}); my $startupremote=&Apache::lonmenu::startupremote($lowerurl); my $setflags=&Apache::lonmenu::setflags(); my $maincall=&Apache::lonmenu::maincall(); my $bodytag=&Apache::loncommon::bodytag('Launch Remote Control'); $r->print(< The LearningOnline Network with CAPA $startupremote $bodytag $setflags $windowinfo $maincall ENDLAUNCH } sub collapseremote { my ($r,$lowerurl)=@_; # -------------------------------------------------------- Menu script and info my $bodytag=&Apache::loncommon::bodytag('Collapse Remote Control'); my $windowinfo=&Apache::lonmenu::close(); my $switch=''; $r->print(< The LearningOnline Network with CAPA $switch $bodytag $windowinfo ENDCOLLAPSE &Apache::lonnet::put('environment',{'remote' => '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'} eq 'on') { $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; } 1; __END__