--- loncom/interface/Attic/lonremote.pm	2003/08/23 08:29:01	1.9
+++ loncom/interface/Attic/lonremote.pm	2009/10/01 23:13:34	1.31.2.2
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # User Authentication Module
 #
-# $Id: lonremote.pm,v 1.9 2003/08/23 08:29:01 albertel Exp $
+# $Id: lonremote.pm,v 1.31.2.2 2009/10/01 23:13:34 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -25,88 +25,103 @@
 #
 # 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,$lowerurl)=@_;
     &Apache::lonnet::put('environment',{'remote' => 'on'});
-    &Apache::lonnet::appenv('environment.remote' => 'on');
+    &Apache::lonnet::appenv({'environment.remote' => 'on'});
 # -------------------------------------------------------- Menu script and info
-    my $windowinfo=&Apache::lonmenu::open($ENV{'browser.os'});
+    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('Launch Remote Control');
+    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);
-<html>
-<head>
-<title>The LearningOnline Network with CAPA</title>
-$startupremote
-</head>
-$bodytag
+$start_page
 $setflags
 $windowinfo
+$message
+$remoteinfo
 $maincall
-</body>
-</html>
+$end_page
 ENDLAUNCH
 }
 
 sub collapseremote {
     my ($r,$lowerurl)=@_;
 # -------------------------------------------------------- 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 $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><b>'.&mt('Actions').'</b></legend><table><tr>'."\n".
+                '<td align="left">'.
+                '<a class="LC_menubuttons_link" href="/adm/remote?action=launch"><img alt="Launch Remote Control" src="/res/adm/pages/remotecontrol.png" border="0" />'.
+                &mt('Re-launch Remote Control').'</a></td><td>'.('&nbsp;'x3).'</td>'.
+                '<td align="right">'.
+                '<a class="LC_menubuttons_link" href="'.$lowerurl.'"><img alt="Launch Remote Control" src="/res/adm/pages/forw.png" border="0" />'.
+                &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);
-<html>
-<head>
-<title>The LearningOnline Network with CAPA</title>
-$switch
-</head>
-$bodytag
+$start_page
 $windowinfo
-</body>
-</html>
+$message
+$end_page
 ENDCOLLAPSE
-   &Apache::lonnet::put('environment',{'remote' => 'off'});
-   &Apache::lonnet::appenv('environment.remote' => 'off');
+    &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';
+    unless ($env{'form.action'}) {
+	if ($env{'environment.remote'} ne 'off') {
+	    $env{'form.action'}='collapse';
         } else {
-	    $ENV{'form.action'}='launch';
+	    $env{'form.action'}='launch';
         }
     }
 
-    my $lowerurl=$ENV{'form.url'};
+    my $lowerurl=$env{'form.url'};
     unless ($lowerurl) { $lowerurl='/adm/menu'; }
 
-    $r->content_type('text/html');
+    &Apache::loncommon::content_type($r,'text/html');
     $r->send_http_header;
     return OK if $r->header_only;
 
-    if ($ENV{'form.action'} eq 'launch') {
+    if ($env{'form.action'} eq 'launch') {
 	&launchremote($r,$lowerurl);
     } else {
         &collapseremote($r,$lowerurl);