File:  [LON-CAPA] / loncom / interface / Attic / lonremote.pm
Revision 1.34: download - view: text, annotated - select for diffs
Thu Oct 1 23:02:11 2009 UTC (14 years, 7 months ago) by raeburn
Branches: MAIN
CVS tags: version_2_9_99_0, version_2_11_X, version_2_11_4_uiuc, version_2_11_4_msu, version_2_11_4, version_2_11_3_uiuc, version_2_11_3_msu, version_2_11_3, version_2_11_2_uiuc, version_2_11_2_msu, version_2_11_2_educog, version_2_11_2, version_2_11_1, version_2_11_0_RC3, version_2_11_0_RC2, version_2_11_0_RC1, version_2_11_0, version_2_10_X, version_2_10_1, version_2_10_0_RC2, version_2_10_0_RC1, version_2_10_0, loncapaMITrelate_1, bz6209-base, bz6209, HEAD, GCI_3
- Correct CSS class.

    1: # The LearningOnline Network
    2: # User Authentication Module
    3: #
    4: # $Id: lonremote.pm,v 1.34 2009/10/01 23:02:11 raeburn Exp $
    5: #
    6: # Copyright Michigan State University Board of Trustees
    7: #
    8: # This file is part of the LearningOnline Network with CAPA (LON-CAPA).
    9: #
   10: # LON-CAPA is free software; you can redistribute it and/or modify
   11: # it under the terms of the GNU General Public License as published by
   12: # the Free Software Foundation; either version 2 of the License, or
   13: # (at your option) any later version.
   14: #
   15: # LON-CAPA is distributed in the hope that it will be useful,
   16: # but WITHOUT ANY WARRANTY; without even the implied warranty of
   17: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   18: # GNU General Public License for more details.
   19: #
   20: # You should have received a copy of the GNU General Public License
   21: # along with LON-CAPA; if not, write to the Free Software
   22: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   23: #
   24: # /home/httpd/html/adm/gpl.txt
   25: #
   26: # http://www.lon-capa.org/
   27: #
   28: ###
   29: 
   30: package Apache::lonremote;
   31: 
   32: use strict;
   33: use Apache::Constants qw(:common);
   34: use Apache::loncommon();
   35: use Apache::lonnet;
   36: use Apache::lonmenu();
   37: use Apache::lonlocal;
   38: 
   39: sub launchremote {
   40:     my ($r,$lowerurl)=@_;
   41:     &Apache::lonnet::put('environment',{'remote' => 'on'});
   42:     &Apache::lonnet::appenv({'environment.remote' => 'on'});
   43: # -------------------------------------------------------- Menu script and info
   44:     my $brcrum = [{href=>"/adm/preferences",text=>"Set User Preferences"},
   45:                   {href=>"/adm/remote?url=/adm/preferences&action=launch",text=>"Launch Remote Control"}];
   46:     my $windowinfo=&Apache::lonmenu::open($env{'browser.os'});
   47:     my $startupremote=&Apache::lonmenu::startupremote($lowerurl);
   48:     my $start_page = &Apache::loncommon::start_page('Launch Remote Control',
   49:                                                     $startupremote,
   50:                                                     {'bread_crumbs' => $brcrum,});
   51:     my $end_page   = &Apache::loncommon::end_page();
   52:     my $remoteinfo=&Apache::lonmenu::load_remote_msg($lowerurl);
   53:     my $setflags=&Apache::lonmenu::setflags();
   54:     my $maincall=&Apache::lonmenu::maincall();
   55:     my $message='<p class="LC_info">'
   56:                .&mt('Launching of the Remote Control menu will fail if pop-up window filters are active.'
   57:                    .' To use the Remote Control, disable the filter for this site.')
   58:                .'</p>';
   59:     $r->print(<<ENDLAUNCH);
   60: $start_page
   61: $setflags
   62: $windowinfo
   63: $message
   64: $remoteinfo
   65: $maincall
   66: $end_page
   67: ENDLAUNCH
   68: }
   69: 
   70: sub collapseremote {
   71:     my ($r,$lowerurl)=@_;
   72: # -------------------------------------------------------- Menu script and info
   73:     my $brcrum = [{href=>"/adm/preferences",text=>"Set User Preferences"},
   74:                   {href=>"/adm/remote?url=/adm/preferences&action=collapse",text=>"Collapse Remote Control"}];
   75:     my $start_page = 
   76:         &Apache::loncommon::start_page('Collapse Remote Control',
   77:                                        undef,
   78:                                        {'bread_crumbs' => $brcrum,
   79:                                         'no_inline_link' => 1,});
   80:     my $end_page  =  &Apache::loncommon::end_page();
   81:     my $windowinfo=&Apache::lonmenu::close();
   82: #    my $switch='<meta HTTP-EQUIV="Refresh" CONTENT="0.5; url='.$lowerurl.'" />';
   83:     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".
   84:                 '<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".
   85:                 &mt('To use the Remote Control, disable the filter for this site, and re-launch the Remote Control.').'</p>'."\n".
   86:                 '<table><tr><td><fieldset><legend>'.&mt('Actions').'</legend><table><tr>'."\n".
   87:                 '<td class="LC_menubuttons_text" align="left">'.
   88:                 '<a class="LC_menubuttons_link" href="/adm/remote?action=launch"><img alt="Launch Remote Control" src="/res/adm/pages/remotecontrol.png" class="LC_noBorder" />'.
   89:                 &mt('Re-launch Remote Control').'</a></td><td>'.('&nbsp;'x3).'</td>'.
   90:                 '<td class="LC_menubuttons_text" align="right">'.
   91:                 '<a class="LC_menubuttons_link" href="'.$lowerurl.'"><img alt="Launch Remote Control" src="/res/adm/pages/forw.png" class="LC_noBorder" />'.
   92:                 &mt('Continue without Remote Control').'</a></td></tr></table>'.
   93:                 '</fieldset></td></tr></table>'."\n".
   94:                 '<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>';
   95:     $r->print(<<ENDCOLLAPSE);
   96: $start_page
   97: $windowinfo
   98: $message
   99: $end_page
  100: ENDCOLLAPSE
  101:     &Apache::lonnet::put('environment',{'remote' => 'off'});
  102:     &Apache::lonnet::appenv({'environment.remote' => 'off'});
  103: }
  104: 
  105: sub handler {
  106:     my $r = shift;
  107:     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
  108:                                             ['action','url']);
  109:     unless ($env{'form.action'}) {
  110: 	if ($env{'environment.remote'} ne 'off') {
  111: 	    $env{'form.action'}='collapse';
  112:         } else {
  113: 	    $env{'form.action'}='launch';
  114:         }
  115:     }
  116: 
  117:     my $lowerurl=$env{'form.url'};
  118:     unless ($lowerurl) { $lowerurl='/adm/menu'; }
  119: 
  120:     &Apache::loncommon::content_type($r,'text/html');
  121:     $r->send_http_header;
  122:     return OK if $r->header_only;
  123: 
  124:     if ($env{'form.action'} eq 'launch') {
  125: 	&launchremote($r,$lowerurl);
  126:     } else {
  127:         &collapseremote($r,$lowerurl);
  128:     }
  129:     return OK;
  130: }
  131: 
  132: 1;
  133: __END__
  134: 
  135: 

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